diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/COMMIT_EDITMSG ./wordpress-3.4/.git/COMMIT_EDITMSG
*** ./wordpress-3.3.2/.git/COMMIT_EDITMSG	2012-05-22 15:07:28.000000000 -0500
--- ./wordpress-3.4/.git/COMMIT_EDITMSG	2012-06-13 17:00:00.000000000 -0500
***************
*** 1 ****
! Issue #2573 RPM REBUILD
--- 1 ----
! Initial
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/HEAD ./wordpress-3.4/.git/HEAD
*** ./wordpress-3.3.2/.git/HEAD	2012-04-23 16:24:02.000000000 -0500
--- ./wordpress-3.4/.git/HEAD	2012-06-13 16:59:53.000000000 -0500
***************
*** 1 ****
! ref: refs/heads/3.3.2
--- 1 ----
! ref: refs/heads/3.4
Binary files ./wordpress-3.3.2/.git/index and ./wordpress-3.4/.git/index differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/logs/HEAD ./wordpress-3.4/.git/logs/HEAD
*** ./wordpress-3.3.2/.git/logs/HEAD	2012-05-22 15:07:28.000000000 -0500
--- ./wordpress-3.4/.git/logs/HEAD	2012-06-13 17:00:00.000000000 -0500
***************
*** 1,2 ****
! 0000000000000000000000000000000000000000 7c80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a John Rummel <jrummel@madisonk.org> 1335216430 -0500	commit (initial): Initial
! 7c80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a df4e1d853b9934ba61c62c7282104b741e2b18e5 John Rummel <jrummel@madisonk.org> 1337717248 -0500	commit: Issue #2573 RPM REBUILD
--- 1 ----
! 0000000000000000000000000000000000000000 ed5bf76e45912ac97b2bcd2616610e03cdda406d John Rummel <jrummel@madisonk.org> 1339624800 -0500	commit (initial): Initial
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/logs/refs/heads/3.3.2 ./wordpress-3.4/.git/logs/refs/heads/3.3.2
*** ./wordpress-3.3.2/.git/logs/refs/heads/3.3.2	2012-05-22 15:07:28.000000000 -0500
--- ./wordpress-3.4/.git/logs/refs/heads/3.3.2	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- 0000000000000000000000000000000000000000 7c80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a John Rummel <jrummel@madisonk.org> 1335216430 -0500	commit (initial): Initial
- 7c80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a df4e1d853b9934ba61c62c7282104b741e2b18e5 John Rummel <jrummel@madisonk.org> 1337717248 -0500	commit: Issue #2573 RPM REBUILD
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/logs/refs/heads/3.4 ./wordpress-3.4/.git/logs/refs/heads/3.4
*** ./wordpress-3.3.2/.git/logs/refs/heads/3.4	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/logs/refs/heads/3.4	2012-06-13 17:00:00.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ 0000000000000000000000000000000000000000 ed5bf76e45912ac97b2bcd2616610e03cdda406d John Rummel <jrummel@madisonk.org> 1339624800 -0500	commit (initial): Initial
Binary files ./wordpress-3.3.2/.git/objects/00/278c85cf9b6d08485500a02d6fcf37f3e96fed and ./wordpress-3.4/.git/objects/00/278c85cf9b6d08485500a02d6fcf37f3e96fed differ
Binary files ./wordpress-3.3.2/.git/objects/00/3d1ab03d6bc06b87b95ad2a7c7fb89bb5c2461 and ./wordpress-3.4/.git/objects/00/3d1ab03d6bc06b87b95ad2a7c7fb89bb5c2461 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/00/502c915ae2a5e5df0bf31b00e3b53849996ef1 ./wordpress-3.4/.git/objects/00/502c915ae2a5e5df0bf31b00e3b53849996ef1
*** ./wordpress-3.3.2/.git/objects/00/502c915ae2a5e5df0bf31b00e3b53849996ef1	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/00/502c915ae2a5e5df0bf31b00e3b53849996ef1	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ x=Ž½Â0„™óÞú3¤E‚@bcŒÒÖ‹�'Qy|Ò XNòÝ'ß�Æ�°í÷›ÃÑß½èÚV@çd"Š«Ðó“,…È:’³àµE#3¸²'¯§‡¾!\ÏÆŠÒøþß¾Ù	a'{Ùç»‚ñ•ˆQ¹ì×PÉ®´É<§‚fbñŠqÎÄk°ÇU•ØÔU™XðfåñMq÷:E
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/00/6580752e264c08ab186df5590e4085a71c89be and ./wordpress-3.4/.git/objects/00/6580752e264c08ab186df5590e4085a71c89be differ
Binary files ./wordpress-3.3.2/.git/objects/00/6b1971c93d8ffe9bc4279791ca67d46f867398 and ./wordpress-3.4/.git/objects/00/6b1971c93d8ffe9bc4279791ca67d46f867398 differ
Binary files ./wordpress-3.3.2/.git/objects/00/8892b6c46a31afb13fdf22a6bb6a2e73e2b5eb and ./wordpress-3.4/.git/objects/00/8892b6c46a31afb13fdf22a6bb6a2e73e2b5eb differ
Binary files ./wordpress-3.3.2/.git/objects/00/8a4fddb72b80b6e1af7b603ed617bc35985878 and ./wordpress-3.4/.git/objects/00/8a4fddb72b80b6e1af7b603ed617bc35985878 differ
Binary files ./wordpress-3.3.2/.git/objects/00/8e8ad3e6581d196b6794e6f139353f0f93cfaa and ./wordpress-3.4/.git/objects/00/8e8ad3e6581d196b6794e6f139353f0f93cfaa differ
Binary files ./wordpress-3.3.2/.git/objects/00/b404a3d05c99c9f530996949282ab70f1705d9 and ./wordpress-3.4/.git/objects/00/b404a3d05c99c9f530996949282ab70f1705d9 differ
Binary files ./wordpress-3.3.2/.git/objects/01/5ced3013a14a49aecc0fd2fb8d9ff21c2a1190 and ./wordpress-3.4/.git/objects/01/5ced3013a14a49aecc0fd2fb8d9ff21c2a1190 differ
Binary files ./wordpress-3.3.2/.git/objects/01/7f676acfb88c55ff48c0baad5b04da79cd34a5 and ./wordpress-3.4/.git/objects/01/7f676acfb88c55ff48c0baad5b04da79cd34a5 differ
Binary files ./wordpress-3.3.2/.git/objects/01/cec6aca3108c22c9fbbc90c449f4d916357d80 and ./wordpress-3.4/.git/objects/01/cec6aca3108c22c9fbbc90c449f4d916357d80 differ
Binary files ./wordpress-3.3.2/.git/objects/01/e6ea70c987e75390d28ad671bf6bcc4ad9d661 and ./wordpress-3.4/.git/objects/01/e6ea70c987e75390d28ad671bf6bcc4ad9d661 differ
Binary files ./wordpress-3.3.2/.git/objects/02/b8750847730782d9e0c35a9c938b7c67f05da8 and ./wordpress-3.4/.git/objects/02/b8750847730782d9e0c35a9c938b7c67f05da8 differ
Binary files ./wordpress-3.3.2/.git/objects/02/e081f9f416681e4b11e3a412d3c7d5d5adadc0 and ./wordpress-3.4/.git/objects/02/e081f9f416681e4b11e3a412d3c7d5d5adadc0 differ
Binary files ./wordpress-3.3.2/.git/objects/02/f0d9a7216e8c35157d4db91bc47ae4989fa4d6 and ./wordpress-3.4/.git/objects/02/f0d9a7216e8c35157d4db91bc47ae4989fa4d6 differ
Binary files ./wordpress-3.3.2/.git/objects/03/5a185540a119ad5afef3e5d40a3c2797a27294 and ./wordpress-3.4/.git/objects/03/5a185540a119ad5afef3e5d40a3c2797a27294 differ
Binary files ./wordpress-3.3.2/.git/objects/03/834425abb397a74410908242b6276b371aa0ea and ./wordpress-3.4/.git/objects/03/834425abb397a74410908242b6276b371aa0ea differ
Binary files ./wordpress-3.3.2/.git/objects/03/8ab97f9a4328f4529725180963a21b50973c2d and ./wordpress-3.4/.git/objects/03/8ab97f9a4328f4529725180963a21b50973c2d differ
Binary files ./wordpress-3.3.2/.git/objects/03/dadce8c35e7c06d7f806c841a6b31517802dd6 and ./wordpress-3.4/.git/objects/03/dadce8c35e7c06d7f806c841a6b31517802dd6 differ
Binary files ./wordpress-3.3.2/.git/objects/04/0710bfbf77af952efdf76f3b7c314610606689 and ./wordpress-3.4/.git/objects/04/0710bfbf77af952efdf76f3b7c314610606689 differ
Binary files ./wordpress-3.3.2/.git/objects/04/0b2b4dc5663c2691038de7598fbe4e2b49f188 and ./wordpress-3.4/.git/objects/04/0b2b4dc5663c2691038de7598fbe4e2b49f188 differ
Binary files ./wordpress-3.3.2/.git/objects/04/5f2b260a200222721d5bb85cbbbf30c3623976 and ./wordpress-3.4/.git/objects/04/5f2b260a200222721d5bb85cbbbf30c3623976 differ
Binary files ./wordpress-3.3.2/.git/objects/04/79c56cd41e5d460a9c5827280bca7e2c2cb443 and ./wordpress-3.4/.git/objects/04/79c56cd41e5d460a9c5827280bca7e2c2cb443 differ
Binary files ./wordpress-3.3.2/.git/objects/04/a7917fcc987bf79b78589a0afb5e2df921c586 and ./wordpress-3.4/.git/objects/04/a7917fcc987bf79b78589a0afb5e2df921c586 differ
Binary files ./wordpress-3.3.2/.git/objects/04/bb7c91a58886ea4edf42da6324f1ce73ad360e and ./wordpress-3.4/.git/objects/04/bb7c91a58886ea4edf42da6324f1ce73ad360e differ
Binary files ./wordpress-3.3.2/.git/objects/04/d80de7f733f3771f0c0449f114e59b993031af and ./wordpress-3.4/.git/objects/04/d80de7f733f3771f0c0449f114e59b993031af differ
Binary files ./wordpress-3.3.2/.git/objects/04/dfa0f596804575ebf5e94fba0a1c275e670961 and ./wordpress-3.4/.git/objects/04/dfa0f596804575ebf5e94fba0a1c275e670961 differ
Binary files ./wordpress-3.3.2/.git/objects/04/ff488b06bd5d4adcb0b5ad3a46edc267a72c94 and ./wordpress-3.4/.git/objects/04/ff488b06bd5d4adcb0b5ad3a46edc267a72c94 differ
Binary files ./wordpress-3.3.2/.git/objects/05/0bbd1666a929e919a244e2af13cbc7f1f7eb49 and ./wordpress-3.4/.git/objects/05/0bbd1666a929e919a244e2af13cbc7f1f7eb49 differ
Binary files ./wordpress-3.3.2/.git/objects/05/2bf133458f5c662fe760e1494ec05f75db88cd and ./wordpress-3.4/.git/objects/05/2bf133458f5c662fe760e1494ec05f75db88cd differ
Binary files ./wordpress-3.3.2/.git/objects/05/3f5a83a42c05702372c731fef338cb4bef550e and ./wordpress-3.4/.git/objects/05/3f5a83a42c05702372c731fef338cb4bef550e differ
Binary files ./wordpress-3.3.2/.git/objects/06/5a00457cfe526a159777aa70076be10a7c03b5 and ./wordpress-3.4/.git/objects/06/5a00457cfe526a159777aa70076be10a7c03b5 differ
Binary files ./wordpress-3.3.2/.git/objects/06/5ea9c9acd13f45cb2e18a5edbf886e37bd309a and ./wordpress-3.4/.git/objects/06/5ea9c9acd13f45cb2e18a5edbf886e37bd309a differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/06/6caafbbe47b20c770c214bed445e544305119b ./wordpress-3.4/.git/objects/06/6caafbbe47b20c770c214bed445e544305119b
*** ./wordpress-3.3.2/.git/objects/06/6caafbbe47b20c770c214bed445e544305119b	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/06/6caafbbe47b20c770c214bed445e544305119b	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,5 ----
+ xuQÁJAÍÕþŠ:{fYvÉ!`¢¢‚&
+ ‚¢	9ˆ45ÛålÇÙéNU�ËüwkÇ`Ä[w½ªWï½ªšXÁç�/öÒ2™ùdb`¿"ûK&¸H9ÄVà”ÐÏìñ+ÊÈ«†ä+X\ô�v
+ V2¶›Ø’þô	6$®æØ%¼�Áq�ÔàFz².yÌäa¥û°¦)„»—Ú¸‚@BÎï /	~^�ÃŸŽx3*:L¸¸×éÒ{êCéª8ò«ÐÉŒ½PEçÆ¬“S—”�î‘™qS¼çä�‹²Ü5Fµ*N9
+ øè¾Ÿü¸±Ï~ì-”°½ý˜Tã€”ð×lÍçð-2Tª}�ìq•0Ã:ä%¤¦«ƒFŸ—Zñšm†Nh°M9‡¶8º<"þÝI1·ÿ	B;´2ùÀ´Èf½wÚ2:bŽ\ØšZbl†³�Ð¨
+ Îöe•àù™-õÂc‡ðhÌkN)´úÁ~Æ‚
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/06/d5a3f9a2671dd4c03d278d8302ac4660608838 and ./wordpress-3.4/.git/objects/06/d5a3f9a2671dd4c03d278d8302ac4660608838 differ
Binary files ./wordpress-3.3.2/.git/objects/06/e47507be221d742765f0463ce7f3fc9cd9f945 and ./wordpress-3.4/.git/objects/06/e47507be221d742765f0463ce7f3fc9cd9f945 differ
Binary files ./wordpress-3.3.2/.git/objects/06/f53c796062152924d6ce4127fc9d35f1b86e57 and ./wordpress-3.4/.git/objects/06/f53c796062152924d6ce4127fc9d35f1b86e57 differ
Binary files ./wordpress-3.3.2/.git/objects/07/c83968e8a424458bd510318e25af7a4e4d6308 and ./wordpress-3.4/.git/objects/07/c83968e8a424458bd510318e25af7a4e4d6308 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/07/d919c6d44541cc2e992a2bc1bd3e0a72743602 ./wordpress-3.4/.git/objects/07/d919c6d44541cc2e992a2bc1bd3e0a72743602
*** ./wordpress-3.3.2/.git/objects/07/d919c6d44541cc2e992a2bc1bd3e0a72743602	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/07/d919c6d44541cc2e992a2bc1bd3e0a72743602	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- xU�±
- Â0�óß–¶”–â  XÁñ'i~ÛbLBSßßv\�;N[¯Q­Ö‹mº Ê,Èpà0p£F6®Ö»–8f3‘I˜�}PÍKµŒ‡Ìmà'Z
- 2¿–ž½åZEvêÍ	Ñé|9¥9ä²¨d÷±6Qyïúˆ9€ûFŒšÑ»Æ~æ½DŠt#êÝá½9V
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/08/0d74d7c5a3aa64d0a6e71951c57d6762f80a7a ./wordpress-3.4/.git/objects/08/0d74d7c5a3aa64d0a6e71951c57d6762f80a7a
*** ./wordpress-3.3.2/.git/objects/08/0d74d7c5a3aa64d0a6e71951c57d6762f80a7a	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/08/0d74d7c5a3aa64d0a6e71951c57d6762f80a7a	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x…ŽMK1†=çWÌm·KÍ‚¥^tK‚•C>ÆÜMÒL‚ß¤¥ô¦§�wÞ�G�^Ábq{uÿ¾ë»ŽA;Í6"|„}”a•�NÖ;âð:ø´#ÎaÊ”Àù
+ !§Çl°vü„ki&ëz{Ò¨Ï§.^†À:J(
/Îj~4"j™ÐÀ
_¥ õ·Üãæ¨RVçÇPë-¥(+YùöŒ‰K‘¨�-(Ièä„­«ÍË³³94e£)çOÆfw,â!ÛˆÂ;�íðô¶Þ×ÀÿK–à/ÙÎq,
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/08/315122d3acaf933bb28b490eedf943957156bc and ./wordpress-3.4/.git/objects/08/315122d3acaf933bb28b490eedf943957156bc differ
Binary files ./wordpress-3.3.2/.git/objects/08/f21720299cdd39dbe340e99bb37195645a7da8 and ./wordpress-3.4/.git/objects/08/f21720299cdd39dbe340e99bb37195645a7da8 differ
Binary files ./wordpress-3.3.2/.git/objects/09/097fdccf3b071dc762e306872e6be16123504c and ./wordpress-3.4/.git/objects/09/097fdccf3b071dc762e306872e6be16123504c differ
Binary files ./wordpress-3.3.2/.git/objects/09/4e741ca8d5bd5f74a94542411cec6de9e91a92 and ./wordpress-3.4/.git/objects/09/4e741ca8d5bd5f74a94542411cec6de9e91a92 differ
Binary files ./wordpress-3.3.2/.git/objects/09/cb2156cc85bf455c698d7fcb9ec471cdb83bd8 and ./wordpress-3.4/.git/objects/09/cb2156cc85bf455c698d7fcb9ec471cdb83bd8 differ
Binary files ./wordpress-3.3.2/.git/objects/09/ebeaad7db39ace4df1976c937055bfcbfa715f and ./wordpress-3.4/.git/objects/09/ebeaad7db39ace4df1976c937055bfcbfa715f differ
Binary files ./wordpress-3.3.2/.git/objects/09/ff3948d7b06ee1f597fa1ea5e258289ae71a04 and ./wordpress-3.4/.git/objects/09/ff3948d7b06ee1f597fa1ea5e258289ae71a04 differ
Binary files ./wordpress-3.3.2/.git/objects/0a/1dbf32adac2b9882996d3b04481c347fde31bb and ./wordpress-3.4/.git/objects/0a/1dbf32adac2b9882996d3b04481c347fde31bb differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/0a/4ea56ab1018989090b694720674586eca2d958 ./wordpress-3.4/.git/objects/0a/4ea56ab1018989090b694720674586eca2d958
*** ./wordpress-3.3.2/.git/objects/0a/4ea56ab1018989090b694720674586eca2d958	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/0a/4ea56ab1018989090b694720674586eca2d958	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x=ŽÁÂ D=ó{kí�¶zÔXÀÄ›GBË¦’"à©Ÿ/¶êqgÞÌNo\»¶Ý;÷¬®*\’‰:èˆ�üHR!HõÐV‡H2jgÁK‹†gôCŸ½&9"Ü©+a‹Rÿ3þ}«¡í€°ç
oò]3FøLšP¸¬—ÅòŠç5ÅöÀØì¡ÊîK°gG“X‘È”ÅwàÊCNàKÇœëNì
RåF„
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/0a/631d61dddc8998aba660d8e30b37005dcaecf7 and ./wordpress-3.4/.git/objects/0a/631d61dddc8998aba660d8e30b37005dcaecf7 differ
Binary files ./wordpress-3.3.2/.git/objects/0b/1a769764f54a10b837935c00ed190b049d6b3d and ./wordpress-3.4/.git/objects/0b/1a769764f54a10b837935c00ed190b049d6b3d differ
Binary files ./wordpress-3.3.2/.git/objects/0b/1df6078178d444bda0ec798d6760cd74bfada2 and ./wordpress-3.4/.git/objects/0b/1df6078178d444bda0ec798d6760cd74bfada2 differ
Binary files ./wordpress-3.3.2/.git/objects/0b/718c43540b7c92f95b3f81754e4cf0f950bc71 and ./wordpress-3.4/.git/objects/0b/718c43540b7c92f95b3f81754e4cf0f950bc71 differ
Binary files ./wordpress-3.3.2/.git/objects/0b/cfada4ba0ea30ab8a5bb39ae70e01ee34d5b37 and ./wordpress-3.4/.git/objects/0b/cfada4ba0ea30ab8a5bb39ae70e01ee34d5b37 differ
Binary files ./wordpress-3.3.2/.git/objects/0b/d1536a020e49635f08004b9b15015e28c302e8 and ./wordpress-3.4/.git/objects/0b/d1536a020e49635f08004b9b15015e28c302e8 differ
Binary files ./wordpress-3.3.2/.git/objects/0b/d6a92b858a1973bc7080dfb5a65f4f6746dd97 and ./wordpress-3.4/.git/objects/0b/d6a92b858a1973bc7080dfb5a65f4f6746dd97 differ
Binary files ./wordpress-3.3.2/.git/objects/0c/2824ac746db7c55bb1e8f2ca6297bcf953c758 and ./wordpress-3.4/.git/objects/0c/2824ac746db7c55bb1e8f2ca6297bcf953c758 differ
Binary files ./wordpress-3.3.2/.git/objects/0c/5928c6a9658db8120b67736e510af5555379c5 and ./wordpress-3.4/.git/objects/0c/5928c6a9658db8120b67736e510af5555379c5 differ
Binary files ./wordpress-3.3.2/.git/objects/0c/9eccdb85c1d3f580be819694294d21687b32d8 and ./wordpress-3.4/.git/objects/0c/9eccdb85c1d3f580be819694294d21687b32d8 differ
Binary files ./wordpress-3.3.2/.git/objects/0c/b111bbb9db6db6def7b0947ea4ccd5f52bd5b9 and ./wordpress-3.4/.git/objects/0c/b111bbb9db6db6def7b0947ea4ccd5f52bd5b9 differ
Binary files ./wordpress-3.3.2/.git/objects/0d/5cae01e9317debd027b912c7ffc44822c8bd66 and ./wordpress-3.4/.git/objects/0d/5cae01e9317debd027b912c7ffc44822c8bd66 differ
Binary files ./wordpress-3.3.2/.git/objects/0d/6209e2583e7d29e69ae42b8d250af7b5860b2c and ./wordpress-3.4/.git/objects/0d/6209e2583e7d29e69ae42b8d250af7b5860b2c differ
Binary files ./wordpress-3.3.2/.git/objects/0d/6beb1ad070298ff26e30c115d85fd60ca79160 and ./wordpress-3.4/.git/objects/0d/6beb1ad070298ff26e30c115d85fd60ca79160 differ
Binary files ./wordpress-3.3.2/.git/objects/0d/7cc6eb97d114e3030494c36019d291e8ad5b7f and ./wordpress-3.4/.git/objects/0d/7cc6eb97d114e3030494c36019d291e8ad5b7f differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/0d/91e084f08f7d23371e6f118418a11273bb3e64 ./wordpress-3.4/.git/objects/0d/91e084f08f7d23371e6f118418a11273bb3e64
*** ./wordpress-3.3.2/.git/objects/0d/91e084f08f7d23371e6f118418a11273bb3e64	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/0d/91e084f08f7d23371e6f118418a11273bb3e64	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xMŽÁJ1†Wô”£g#xÓ´I¬°fÙ“¶¥‡âRªxÍnG�ÄdI¢èƒøz^ú"Î*h?æƒæ˜Ö…TyQ||ÄyDž�ûä9P’[ò’247|…o6ÙàùµÉ¨A	©¸˜P�RZJ=9?[.–S~‡qÈj�#Á®‚Ïè3_ôt˜ñ=�{g¬¯ {21a®o×3^þç¢ñé#Ÿú.l¬ÔP¶6³Æ½Fãø,Ä—¤Á÷?cªU¿míá¸Y±{>G�Ñä5Ì]ÈMÄ”Æb$YÃ3v™/6»?*ÚßÁ¼M‘
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/0d/94937685907c0a010989f29f1feedbbe0058e8 and ./wordpress-3.4/.git/objects/0d/94937685907c0a010989f29f1feedbbe0058e8 differ
Binary files ./wordpress-3.3.2/.git/objects/0d/94f07a6cb423d346eca57de017a9f2b51001c2 and ./wordpress-3.4/.git/objects/0d/94f07a6cb423d346eca57de017a9f2b51001c2 differ
Binary files ./wordpress-3.3.2/.git/objects/0d/abf63b7ec1fd28e5cba3a7bbee98c75be42bde and ./wordpress-3.4/.git/objects/0d/abf63b7ec1fd28e5cba3a7bbee98c75be42bde differ
Binary files ./wordpress-3.3.2/.git/objects/0d/b27183f4ec5d4badb1747bf404c6e98455f5e9 and ./wordpress-3.4/.git/objects/0d/b27183f4ec5d4badb1747bf404c6e98455f5e9 differ
Binary files ./wordpress-3.3.2/.git/objects/0e/1a86a0825c581362cb852f238960fdf8bf9a82 and ./wordpress-3.4/.git/objects/0e/1a86a0825c581362cb852f238960fdf8bf9a82 differ
Binary files ./wordpress-3.3.2/.git/objects/0e/2027a1eac7106a566b3559116f41ab651599b8 and ./wordpress-3.4/.git/objects/0e/2027a1eac7106a566b3559116f41ab651599b8 differ
Binary files ./wordpress-3.3.2/.git/objects/0e/d560c1913986eed2f7506625e7b1d5f6f49478 and ./wordpress-3.4/.git/objects/0e/d560c1913986eed2f7506625e7b1d5f6f49478 differ
Binary files ./wordpress-3.3.2/.git/objects/0f/7118f3c1642b1692fe118176b475a1f68cd3f9 and ./wordpress-3.4/.git/objects/0f/7118f3c1642b1692fe118176b475a1f68cd3f9 differ
Binary files ./wordpress-3.3.2/.git/objects/0f/cbf94cb51e6b5819d86816581a1da59d5f873e and ./wordpress-3.4/.git/objects/0f/cbf94cb51e6b5819d86816581a1da59d5f873e differ
Binary files ./wordpress-3.3.2/.git/objects/0f/d55721290569ecf3efbab33664b4df9baeec1e and ./wordpress-3.4/.git/objects/0f/d55721290569ecf3efbab33664b4df9baeec1e differ
Binary files ./wordpress-3.3.2/.git/objects/0f/f479acb7947d2390ebef9861b19c37c177928e and ./wordpress-3.4/.git/objects/0f/f479acb7947d2390ebef9861b19c37c177928e differ
Binary files ./wordpress-3.3.2/.git/objects/10/0ba2c6d19b14cf3eaae92aa4a667942c59034f and ./wordpress-3.4/.git/objects/10/0ba2c6d19b14cf3eaae92aa4a667942c59034f differ
Binary files ./wordpress-3.3.2/.git/objects/10/0d02302583664abff924259a2a94095b8ff5b6 and ./wordpress-3.4/.git/objects/10/0d02302583664abff924259a2a94095b8ff5b6 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/10/22b71a1fe39713b4564b9961574bfaf84898f7 ./wordpress-3.4/.git/objects/10/22b71a1fe39713b4564b9961574bfaf84898f7
*** ./wordpress-3.3.2/.git/objects/10/22b71a1fe39713b4564b9961574bfaf84898f7	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/10/22b71a1fe39713b4564b9961574bfaf84898f7	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,4 ****
- x�R_Oƒ0÷•~Š{ÔÅ–¨sìÓ(Ð¬ãÈµŒãw—Â€QÔ Çõ÷ï.Ñ˜ÀþíðÀx.(±ÂX•Â'¨Ñ(«°Š�¤V]ä‘}±EÛÆk‰AÝØ® mÈ Å�S
- EþíçoK)u�×ªÌ–1ì¯õÕ!•R¥�
- žž¢FòÀð"I‹�ÎbÃË~ÀÒ2ï�ÆÓÈí<¦¡à3Í‘ž
- Â¦ÊbhH?rª³(¤	û^WÅT¸%YKa�‰‘êŸ¦î
üNvæ´âòUŸ�$-’½…1{;w�…êæ½}¯¯u�ûpâ�š\cC©²LV®ö—*Gø“.n`Þ²-Y
›�q÷¾ß¾i¤«s,Á0ÉèÈÖcªs¿º6E,,Ž>ûÍdß¯÷”
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/10/d767cdbc9b98907ebdad5aae054ebdabd3d771 ./wordpress-3.4/.git/objects/10/d767cdbc9b98907ebdad5aae054ebdabd3d771
*** ./wordpress-3.3.2/.git/objects/10/d767cdbc9b98907ebdad5aae054ebdabd3d771	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/10/d767cdbc9b98907ebdad5aae054ebdabd3d771	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xMŽÁJ1†Wô”£g#xÓ´IXaÍ²'mKÅ¥TñšÝŽ‰É’DÑñõ¼ø"Î*X?æƒæ˜Î…Tu^||ÄyDž�ûä9R‘_ä9fþh¯ù_m²Áó+“QƒRqQR�RZJ]–§‚`«åjÆo1ŽY
r"Øeð}æ›÷�3¾åéàŒõ5ô�&&ÌÍÍfÎ«].Ÿî1ò™ïÃÖú
Ug3kÝK4ŽÏC|Nüð3¦FÕðÛ6Ž�5»ãôMQÃÂ…ÜFLi*&’µ1<aŸùrûÿGE›âÂ|M’
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/11/16ff434119bca48c354e851b2619da8ab3d00b and ./wordpress-3.4/.git/objects/11/16ff434119bca48c354e851b2619da8ab3d00b differ
Binary files ./wordpress-3.3.2/.git/objects/11/3e5a0e8f33b5396e361d7440448ae091c640d2 and ./wordpress-3.4/.git/objects/11/3e5a0e8f33b5396e361d7440448ae091c640d2 differ
Binary files ./wordpress-3.3.2/.git/objects/11/5ab71506fa63ef9d64f34aa4fb30c0becbdbcc and ./wordpress-3.4/.git/objects/11/5ab71506fa63ef9d64f34aa4fb30c0becbdbcc differ
Binary files ./wordpress-3.3.2/.git/objects/11/e456fe406f04d977636fba0571fcbd6fbaf841 and ./wordpress-3.4/.git/objects/11/e456fe406f04d977636fba0571fcbd6fbaf841 differ
Binary files ./wordpress-3.3.2/.git/objects/12/280304721c792c4eb9888d981f2d21ccaf3437 and ./wordpress-3.4/.git/objects/12/280304721c792c4eb9888d981f2d21ccaf3437 differ
Binary files ./wordpress-3.3.2/.git/objects/12/4156206a0fc2c5c5e10ddb73b020a0e0e3908d and ./wordpress-3.4/.git/objects/12/4156206a0fc2c5c5e10ddb73b020a0e0e3908d differ
Binary files ./wordpress-3.3.2/.git/objects/12/dc661a37b550e1f3906a311d7f6b203cadb827 and ./wordpress-3.4/.git/objects/12/dc661a37b550e1f3906a311d7f6b203cadb827 differ
Binary files ./wordpress-3.3.2/.git/objects/12/e231a8179a4f2e8c62efc83c4fd0fbc1336e60 and ./wordpress-3.4/.git/objects/12/e231a8179a4f2e8c62efc83c4fd0fbc1336e60 differ
Binary files ./wordpress-3.3.2/.git/objects/13/430d395349493e2333d79a67e7c8039e114393 and ./wordpress-3.4/.git/objects/13/430d395349493e2333d79a67e7c8039e114393 differ
Binary files ./wordpress-3.3.2/.git/objects/13/808d14eee1530df62375385f21d32c197e79ad and ./wordpress-3.4/.git/objects/13/808d14eee1530df62375385f21d32c197e79ad differ
Binary files ./wordpress-3.3.2/.git/objects/13/9fd9e3eed216df1959d484f743642ab56ce09b and ./wordpress-3.4/.git/objects/13/9fd9e3eed216df1959d484f743642ab56ce09b differ
Binary files ./wordpress-3.3.2/.git/objects/14/20d3d4ba7c3a67505667e687b5dd911903451f and ./wordpress-3.4/.git/objects/14/20d3d4ba7c3a67505667e687b5dd911903451f differ
Binary files ./wordpress-3.3.2/.git/objects/14/cadfa6f7afe8064537be69a3fdf0fb640a4cfe and ./wordpress-3.4/.git/objects/14/cadfa6f7afe8064537be69a3fdf0fb640a4cfe differ
Binary files ./wordpress-3.3.2/.git/objects/14/da4b8236a60b63b92b982d04ccb637e8df22aa and ./wordpress-3.4/.git/objects/14/da4b8236a60b63b92b982d04ccb637e8df22aa differ
Binary files ./wordpress-3.3.2/.git/objects/14/da9a23d883d8f2b2acbde2027580aeb4c7aa16 and ./wordpress-3.4/.git/objects/14/da9a23d883d8f2b2acbde2027580aeb4c7aa16 differ
Binary files ./wordpress-3.3.2/.git/objects/14/f94fbed7c863d98df9c59e0ceec408607b917e and ./wordpress-3.4/.git/objects/14/f94fbed7c863d98df9c59e0ceec408607b917e differ
Binary files ./wordpress-3.3.2/.git/objects/15/76592de003088fff484b95c30c906c062fa1a5 and ./wordpress-3.4/.git/objects/15/76592de003088fff484b95c30c906c062fa1a5 differ
Binary files ./wordpress-3.3.2/.git/objects/15/7cc33448107bb637cc264980f25d84cfcaf32c and ./wordpress-3.4/.git/objects/15/7cc33448107bb637cc264980f25d84cfcaf32c differ
Binary files ./wordpress-3.3.2/.git/objects/15/d4323876a0b351ca664591564b260d2220c828 and ./wordpress-3.4/.git/objects/15/d4323876a0b351ca664591564b260d2220c828 differ
Binary files ./wordpress-3.3.2/.git/objects/15/fd1d1115fe742675f419f64efde24ff52e6510 and ./wordpress-3.4/.git/objects/15/fd1d1115fe742675f419f64efde24ff52e6510 differ
Binary files ./wordpress-3.3.2/.git/objects/16/357de52242423234ed418d4e53a394c23640ee and ./wordpress-3.4/.git/objects/16/357de52242423234ed418d4e53a394c23640ee differ
Binary files ./wordpress-3.3.2/.git/objects/16/57f7fbc4bdfe274713a6027a7acb46c286fb4c and ./wordpress-3.4/.git/objects/16/57f7fbc4bdfe274713a6027a7acb46c286fb4c differ
Binary files ./wordpress-3.3.2/.git/objects/16/8c65e33f5fe6c36978f937d3e5acf89eb7cb57 and ./wordpress-3.4/.git/objects/16/8c65e33f5fe6c36978f937d3e5acf89eb7cb57 differ
Binary files ./wordpress-3.3.2/.git/objects/16/952d03c86125ab7e54bcd6a26bc41fa21f874b and ./wordpress-3.4/.git/objects/16/952d03c86125ab7e54bcd6a26bc41fa21f874b differ
Binary files ./wordpress-3.3.2/.git/objects/17/283d01a9186b587bce76b76e7fb25d992a5a50 and ./wordpress-3.4/.git/objects/17/283d01a9186b587bce76b76e7fb25d992a5a50 differ
Binary files ./wordpress-3.3.2/.git/objects/17/9bfb8fc597cb1ff52b5466b017a36629ffe2b7 and ./wordpress-3.4/.git/objects/17/9bfb8fc597cb1ff52b5466b017a36629ffe2b7 differ
Binary files ./wordpress-3.3.2/.git/objects/17/a8229aa65897086cca43c10a9dac5fb0384a00 and ./wordpress-3.4/.git/objects/17/a8229aa65897086cca43c10a9dac5fb0384a00 differ
Binary files ./wordpress-3.3.2/.git/objects/17/ead786845a3e5ff71bc0ccf8d08ad60c1d3010 and ./wordpress-3.4/.git/objects/17/ead786845a3e5ff71bc0ccf8d08ad60c1d3010 differ
Binary files ./wordpress-3.3.2/.git/objects/17/f8e8dd5dd61f117ad91cff396ad324d772f477 and ./wordpress-3.4/.git/objects/17/f8e8dd5dd61f117ad91cff396ad324d772f477 differ
Binary files ./wordpress-3.3.2/.git/objects/18/38d2f02eba35c093670062d6dac77e3684cabe and ./wordpress-3.4/.git/objects/18/38d2f02eba35c093670062d6dac77e3684cabe differ
Binary files ./wordpress-3.3.2/.git/objects/18/4969b07c028619f052771e6d6b4ddd9b884fd6 and ./wordpress-3.4/.git/objects/18/4969b07c028619f052771e6d6b4ddd9b884fd6 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/18/52fd91a4cfaaa8a2f6606698a7628ec36d6a22 ./wordpress-3.4/.git/objects/18/52fd91a4cfaaa8a2f6606698a7628ec36d6a22
*** ./wordpress-3.3.2/.git/objects/18/52fd91a4cfaaa8a2f6606698a7628ec36d6a22	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/18/52fd91a4cfaaa8a2f6606698a7628ec36d6a22	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ x�”As›0…{5¿B“Ü2ÁmÒ™2í¥·zëô „€ÄHË7“ÿ^I §9˜1bßã{«E™TÙÜßm>Å\5¨•¤FpÕ�˜wU
EX¢(yŽV…­¥«AîSò‹Uªfkò¤�É51¬1V¡¡xˆ^¢%—”(´óÒPV˜Ö¡zˆVRöæsÒöN]!*Ár¡)ót†ÄY‡¨Új¨™Þ{*©˜;‹b¨Ë™`emJhèÈ“X˜qe`º‘&‰Æ–M¬¼Ø¿|^F5ËAhÚ×ÓÆ„ÎóJðm¦ú¡Ä¹^@º‘no"rC¾kÕæj×{s;õ?ìh>V\ž	¨C
Î…¯QXú¶ùê×èNd[@š)í¶Ñõ¢3)IÈ—¶÷?×ð·Úi˜÷”Ä!eZ«�<7PÖüàÎ•T:%×œóã+
î¥H‰Qòãêr¬R²±ˆ‰¿ÚöéB—$-BÐ“‡ïÊòö'ÆqØûo.ù	|+ôëí?Œ—¯94ì?ækÒ÷0~Šã¾�W(z¼úcË@[Ï@+ÑŸŸñ¢`:Cf8m%ã¢RÒNÅ|¼l£†€?jVŠ…€�i‚2ƒ—ÅáÐxŽV–2	e39)–•2m�—³YNÍOJ.#�Æ¤“Jø˜pù[~‰þüt
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/18/5e0258a887158635943f8ace45fe88790439b1 and ./wordpress-3.4/.git/objects/18/5e0258a887158635943f8ace45fe88790439b1 differ
Binary files ./wordpress-3.3.2/.git/objects/18/7bfff74a53ed2a85f440e0d806d9dcfbacb0a0 and ./wordpress-3.4/.git/objects/18/7bfff74a53ed2a85f440e0d806d9dcfbacb0a0 differ
Binary files ./wordpress-3.3.2/.git/objects/18/e781179f62ccbf3b30d07b2b057a472f3a9863 and ./wordpress-3.4/.git/objects/18/e781179f62ccbf3b30d07b2b057a472f3a9863 differ
Binary files ./wordpress-3.3.2/.git/objects/19/4e00f54489aac29b19661e83c258ca2c0ffdba and ./wordpress-3.4/.git/objects/19/4e00f54489aac29b19661e83c258ca2c0ffdba differ
Binary files ./wordpress-3.3.2/.git/objects/19/726961e7b6f6a7cdfb1e02f20e7fc4a38ebcc1 and ./wordpress-3.4/.git/objects/19/726961e7b6f6a7cdfb1e02f20e7fc4a38ebcc1 differ
Binary files ./wordpress-3.3.2/.git/objects/19/bdaa48a06803a036f9942d2e5128ded42bb2ab and ./wordpress-3.4/.git/objects/19/bdaa48a06803a036f9942d2e5128ded42bb2ab differ
Binary files ./wordpress-3.3.2/.git/objects/19/f8838e22132bc6b7af356dbc96a7f9193b2733 and ./wordpress-3.4/.git/objects/19/f8838e22132bc6b7af356dbc96a7f9193b2733 differ
Binary files ./wordpress-3.3.2/.git/objects/1a/0b34bf2801bc79ce9009c7bcb8308d31683e0b and ./wordpress-3.4/.git/objects/1a/0b34bf2801bc79ce9009c7bcb8308d31683e0b differ
Binary files ./wordpress-3.3.2/.git/objects/1a/901667d3de0dd2c9ad1496d8533dd4c7aab365 and ./wordpress-3.4/.git/objects/1a/901667d3de0dd2c9ad1496d8533dd4c7aab365 differ
Binary files ./wordpress-3.3.2/.git/objects/1a/933edf59ddc5cd72a4f0cfd092260146740ab5 and ./wordpress-3.4/.git/objects/1a/933edf59ddc5cd72a4f0cfd092260146740ab5 differ
Binary files ./wordpress-3.3.2/.git/objects/1a/cad9cf4de9f37f68a8c921807ec3dcd315c61d and ./wordpress-3.4/.git/objects/1a/cad9cf4de9f37f68a8c921807ec3dcd315c61d differ
Binary files ./wordpress-3.3.2/.git/objects/1a/e3e870ebf4243745d12235373d27ff311b07c7 and ./wordpress-3.4/.git/objects/1a/e3e870ebf4243745d12235373d27ff311b07c7 differ
Binary files ./wordpress-3.3.2/.git/objects/1b/1830f41f8b03a941875c47876a30f975acb1de and ./wordpress-3.4/.git/objects/1b/1830f41f8b03a941875c47876a30f975acb1de differ
Binary files ./wordpress-3.3.2/.git/objects/1b/23dad80f0cfb129599fe99b259cb67c3670368 and ./wordpress-3.4/.git/objects/1b/23dad80f0cfb129599fe99b259cb67c3670368 differ
Binary files ./wordpress-3.3.2/.git/objects/1b/529bae23eb9ccd82acd8dda1c7ceb4b42c0e37 and ./wordpress-3.4/.git/objects/1b/529bae23eb9ccd82acd8dda1c7ceb4b42c0e37 differ
Binary files ./wordpress-3.3.2/.git/objects/1b/74a5da12a8a4307f3387dc6289f4b343ddd5fa and ./wordpress-3.4/.git/objects/1b/74a5da12a8a4307f3387dc6289f4b343ddd5fa differ
Binary files ./wordpress-3.3.2/.git/objects/1b/750d585a7218919f16d8c1b10fbbfeb7d96400 and ./wordpress-3.4/.git/objects/1b/750d585a7218919f16d8c1b10fbbfeb7d96400 differ
Binary files ./wordpress-3.3.2/.git/objects/1b/860d2766df8cca052a2c816279be6cd20af7d3 and ./wordpress-3.4/.git/objects/1b/860d2766df8cca052a2c816279be6cd20af7d3 differ
Binary files ./wordpress-3.3.2/.git/objects/1b/8f8b33911ead2aa5bfb242ad21d92c89d9e702 and ./wordpress-3.4/.git/objects/1b/8f8b33911ead2aa5bfb242ad21d92c89d9e702 differ
Binary files ./wordpress-3.3.2/.git/objects/1b/d267fa52b81c5585d4a945e48c29eba61ea5d1 and ./wordpress-3.4/.git/objects/1b/d267fa52b81c5585d4a945e48c29eba61ea5d1 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/1b/d68c3735b61e6354272293a2169108c4d26632 ./wordpress-3.4/.git/objects/1b/d68c3735b61e6354272293a2169108c4d26632
*** ./wordpress-3.3.2/.git/objects/1b/d68c3735b61e6354272293a2169108c4d26632	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/1b/d68c3735b61e6354272293a2169108c4d26632	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xeÎ=Â0ÆqWùçZ,uª£/›“‚sÒ„ô°¹+é-âw· “]Ÿ<ümÃÖ›í¬È´:`'ÉT‚LpJÞÃ-¡ ˆì<\‘†óþßi•ZiUKl–ZYv¼´š[SÝCâž\	ãu­Ižd7Ò�Ô%˜^[Nb¾Í3ÿ)1ù‰¦€TÂêoo�scÝ"R^{µLì­Õ¼SM
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/1b/dd3a63dd0eeb096578f6decaaa805fe76e5a41 and ./wordpress-3.4/.git/objects/1b/dd3a63dd0eeb096578f6decaaa805fe76e5a41 differ
Binary files ./wordpress-3.3.2/.git/objects/1c/014d9c7ca72fbfe6a21efd9851ce0a85a787cb and ./wordpress-3.4/.git/objects/1c/014d9c7ca72fbfe6a21efd9851ce0a85a787cb differ
Binary files ./wordpress-3.3.2/.git/objects/1c/5f8e14f34d62c8d01ebb2c87d9bdac8b24916f and ./wordpress-3.4/.git/objects/1c/5f8e14f34d62c8d01ebb2c87d9bdac8b24916f differ
Binary files ./wordpress-3.3.2/.git/objects/1c/b361377972bf27e58c4408f813fc417341cbfb and ./wordpress-3.4/.git/objects/1c/b361377972bf27e58c4408f813fc417341cbfb differ
Binary files ./wordpress-3.3.2/.git/objects/1c/cddba3497b4b4eb8c962fc1080a2e5e94f1140 and ./wordpress-3.4/.git/objects/1c/cddba3497b4b4eb8c962fc1080a2e5e94f1140 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/1d/de4aa3efae976df4686246a2ce873c08e1dbed ./wordpress-3.4/.git/objects/1d/de4aa3efae976df4686246a2ce873c08e1dbed
*** ./wordpress-3.3.2/.git/objects/1d/de4aa3efae976df4686246a2ce873c08e1dbed	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/1d/de4aa3efae976df4686246a2ce873c08e1dbed	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,5 ----
+ xíVÁnÛ8íÕþŠY©� ’š
+ 4qÜè,6h�%QQšHÚŽ÷ëw†¤,9ŽÑ^zÛ\b‘Ãá›7��,¤.àöÃ‡÷oÛ¦gWWc¸‚§†ƒÔº×0•°­d{¬P+É¡ÕÖ¥x{s¸š"p�ª0Eø‚R+Ç•KáÎiaã\{—e¥®øsºÓ¦j
·6Õf•áþù_~
Uqc¥Ž2þl-_#ZÇó'¶²à†	h%Áq4³±3*LÚW",”LAÁAo¹1¢ª8((!}%kna'\ãÙI)×¥øÔ²ò[qøŽõ|¥zhÏOvStO;ä`Ÿ?qf„*9„AÀA¸Ioq"\ŽÇ¾' j˜CÃ¶<÷¤Î/ávˆŸßQy>l~y”b„‹JlATÅ¶	+°´	”’YëGÄŠ9¡ÕdécCp?›`S¶BoìdÐtß~—\
+ õc³ú?»†ÙÂ¶È_\¾æŽ%¸çd9ƒòg|+™1÷‰äø¼^)Ð­wž”É‹L1_F	—pá„“©ªE†��«ø³ë Òï×a†tðS´¦Cû7¦ú%¤§ÚÅIÓC I^6‡š›Ž©‰�_B'yÇéÜÆ»ú››ŽnÔ•Ù'ž¨ŽJäÂšEÖÜÄm�úVR»:Œ"�®žF^åZEa‘®FƒÒÒ>G_Û+›Dx¹âŒ3ÃüÅ®õ:Ë[<XvØ¶G-¼Ö5ñ°D��Ä£ì(,!AEÝåû•–Þ‘î†
+ ÃOV;nb/+^8;gJŒ8C•�&BWÜåÄ7Û¸F›œØÄ�+nK#Z:a>3ÜA–Ác�^Šdð\[¨…”èEzãèø
+ ƒE×`½ÃèBhÐ*Ù­ˆŽx€ÙñÐ†€!ªÖ=Ó]Hœd[æ˜9LG®yÙh RÂôÜÿ>-‹°ç|Í„Äª®�µ­ÜçX’‰êIîØ@ô1cnÅ¿ñþÝ1ÑC1M� z¦}•½“Å€QƒBšÛƒW	åê9ä$�Ï|aOEpÜ9ò×à2˜'°‹J§ÛÑ›kØùõözË
HO AvùF�áõÃ$dîiêñNŸoŒ<×€Ç/¡NÀpù0	Àz:Ð­�ðMp“”ñ~.öHÈ9|ëÝ/:ð¯²Ö˜±ž=²‚ÆÎ#2ÁØØÓˆAo{gz"uùT•¨ûð#Ú8!…ÛøŠ~ixâÈðºCR‰£‹ÅëëO<eéøFäÓYÝ–ávÃNöÊT=5"=�0ˆ˜úKc:õsžÊ£»¾àRïþ¿ëéépNäýËäwÜõ¾ƒæx)õz�Úµ¹‹/U4'Ž3…~\Uþ�wOW~€®É‚üÛ3%ëÿ/ùŠw
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/1d/fa18585118d0b9b614df856dbaa613b4205a4e and ./wordpress-3.4/.git/objects/1d/fa18585118d0b9b614df856dbaa613b4205a4e differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/1e/3364ad1b39db3a83b85a2b1227f0301bb69cc8 ./wordpress-3.4/.git/objects/1e/3364ad1b39db3a83b85a2b1227f0301bb69cc8
*** ./wordpress-3.3.2/.git/objects/1e/3364ad1b39db3a83b85a2b1227f0301bb69cc8	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/1e/3364ad1b39db3a83b85a2b1227f0301bb69cc8	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ x}�AK1…=ï¯˜ÛêÒîÄƒXÐË
+ …®ôX²›é&4›Äd¶Åï$ O�ÀûÞ7¯7®‡Ûû»«Õ£W¾hªª€
+ ÖÁYr@
+ aç‚ÜŒ„÷F‚´³5tJG8hƒ F[¿ ì)mÇô3�qBÆÄ;ûeoÜ¸T($†š›à¬ô r”C�‰UÜ�ÒY€%&¬™“PO^G1^hñoS|™wÿp~ÉÄÜëfòlªé›zçLÆJ<h‹×ån³Û¶ûî¹}m·å(Ìxó�[á%]ùk©Öž4o8!Ï˜ÎëpòF&Õ€ï³­›¿»”LýD÷ƒ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/1e/35e745317a2452e815ff2b9f50830f16c92c6a and ./wordpress-3.4/.git/objects/1e/35e745317a2452e815ff2b9f50830f16c92c6a differ
Binary files ./wordpress-3.3.2/.git/objects/1e/ae8576c721b53f111115330b8e6da0849bbff3 and ./wordpress-3.4/.git/objects/1e/ae8576c721b53f111115330b8e6da0849bbff3 differ
Binary files ./wordpress-3.3.2/.git/objects/1e/bc0f0da5290d702868a908c1581f0375c16e8e and ./wordpress-3.4/.git/objects/1e/bc0f0da5290d702868a908c1581f0375c16e8e differ
Binary files ./wordpress-3.3.2/.git/objects/1f/1aeeadcfaf1e8955aa2df319e506924218634f and ./wordpress-3.4/.git/objects/1f/1aeeadcfaf1e8955aa2df319e506924218634f differ
Binary files ./wordpress-3.3.2/.git/objects/1f/22f24182de3b0a3cc5696c594aa121197c39ce and ./wordpress-3.4/.git/objects/1f/22f24182de3b0a3cc5696c594aa121197c39ce differ
Binary files ./wordpress-3.3.2/.git/objects/1f/2e056c509fe437b91222b5c683935b77de385d and ./wordpress-3.4/.git/objects/1f/2e056c509fe437b91222b5c683935b77de385d differ
Binary files ./wordpress-3.3.2/.git/objects/1f/80e26a538c884d42d56a00cd577355358ce2e8 and ./wordpress-3.4/.git/objects/1f/80e26a538c884d42d56a00cd577355358ce2e8 differ
Binary files ./wordpress-3.3.2/.git/objects/1f/dafec831cf01c33d65edbf70c58dd54d4a3ff2 and ./wordpress-3.4/.git/objects/1f/dafec831cf01c33d65edbf70c58dd54d4a3ff2 differ
Binary files ./wordpress-3.3.2/.git/objects/20/24d66d3535d583ceb321ac8342a103562d2fae and ./wordpress-3.4/.git/objects/20/24d66d3535d583ceb321ac8342a103562d2fae differ
Binary files ./wordpress-3.3.2/.git/objects/20/4491451276797bd98f72a6060db02c30606839 and ./wordpress-3.4/.git/objects/20/4491451276797bd98f72a6060db02c30606839 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/20/5d02cd2fdc02cddcb028ef0d5819eb9656899a ./wordpress-3.4/.git/objects/20/5d02cd2fdc02cddcb028ef0d5819eb9656899a
*** ./wordpress-3.3.2/.git/objects/20/5d02cd2fdc02cddcb028ef0d5819eb9656899a	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/20/5d02cd2fdc02cddcb028ef0d5819eb9656899a	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,6 ----
+ xÍUQoÚ0ÞkøW^Ú(i§½”ª-�¦ItBí…øÜ&6²V4ñßw¶H)ëú2i<ßçÏç»ï>/J¹€‹ËËOÒÓÓœ2n¤š¯Êºàb®Už<jZ·¡‘\m/–>žŸ_Æp/Ÿ9æ’!|ßhƒ•†›[‹›b‰™Fµ`¨`üe2†1ÏQhLªæsKcVÃ45\lª“ª¥LrY¥¥ßäÏFñEMÀâ/»r¹‡ÒÖ´×‹j‘.E4€_½ =,W˜ŒÂöÛßY'w\¡ƒg%7›0¶{.¸�!ì˜�ÅP«ÒÁ:S`àÌ’ë«Á“øJÒ"2¿„,ÉÉªÊ‹Bºïî¤ñlJçìÈVG‹Ž!a²J
+ 4“L¡0Qiª²ËÒ.£.Dƒ˜Žr@®oK™?
ü¹€[Nÿåq´óÆØºFCŸqÕÀÉ5ôKCÿì-è×PêWPÚápWˆ¥ÆwléSR–vëªdÙå>Zf¢@ùà¶Iœ‚*Øt6þŸ
+ ¦Lù®‚9Ü¿.Ømmi=¤îXñnJ$é†ÔßŽ®
+ Ïêœ0yÅ,àP‘¶^Ô†–•®ð+…ß`µmëtW
+ +\ß|ÛêÈ$ó½b0.�mlµBZý*dwI+4µnJƒ ”¢Yå.¼¯f��ð²Ú,¥²×=æ_aÜÑ|[Ü[Õà9eöý“?ñ;ãd‡ÏÉj¹Jgdw÷£ÏÃ‰sY�¾ìLÃ¹F¥É³(ƒÖ ªìQªÍòô“>œíƒ\ì‚ö[Û;_º4…‰âk2;¨�nÏ´-h§ÒÝ¢ZcË«DÇÚÈ|v.eë�EÐâK_%£Úû%bÝç¤eòŠœËÜq�-JøF¤^i¯¢^lmÔ7ÚiÒÛe²O¡q2JÁ*=ôŒþ¸2Ê59½Ÿ·«u9Çv<©óc>£–‚¾C;¤ð8O±í^ôÔˆ)œKþµÙ¿F^÷™È
+ Tn–¦®Âñ—ŠÒÝÈBê¿Y$
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/20/8848db747e465acf6200536711497b6ec72da4 and ./wordpress-3.4/.git/objects/20/8848db747e465acf6200536711497b6ec72da4 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/20/d9e7128d5168e33be5b8e0f39efdfdcde79517 ./wordpress-3.4/.git/objects/20/d9e7128d5168e33be5b8e0f39efdfdcde79517
*** ./wordpress-3.3.2/.git/objects/20/d9e7128d5168e33be5b8e0f39efdfdcde79517	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/20/d9e7128d5168e33be5b8e0f39efdfdcde79517	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xKÊÉOR041ap÷t³°LagXÄÀpÆ˜áÿÿÿ�=zÿþý·oßž={ä200(þdadg`cÐ²@j˜C%vi5ÏðäÝÝØ£®ý¯Å â>{`jeÔKu�·æ"95¢-½¼Íu‚¬l	*I,‡’>Îá›¹�Õ`×ƒ@iËWkžUæjË˜\Ì=ñTdCÃêq>�ãs¬ì¬<
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/20/fcf405872ae508097fd4a2650719d50a93cf7d and ./wordpress-3.4/.git/objects/20/fcf405872ae508097fd4a2650719d50a93cf7d differ
Binary files ./wordpress-3.3.2/.git/objects/21/7ee7b6a56bd74cd4073555bf5841ca466e4a6d and ./wordpress-3.4/.git/objects/21/7ee7b6a56bd74cd4073555bf5841ca466e4a6d differ
Binary files ./wordpress-3.3.2/.git/objects/21/881628d221ad6e82820a1545eb9eab0e8273db and ./wordpress-3.4/.git/objects/21/881628d221ad6e82820a1545eb9eab0e8273db differ
Binary files ./wordpress-3.3.2/.git/objects/22/039fd4271a2cf5054e55779b4d142b45f15b15 and ./wordpress-3.4/.git/objects/22/039fd4271a2cf5054e55779b4d142b45f15b15 differ
Binary files ./wordpress-3.3.2/.git/objects/22/25a5fe1a5ae76fb165238debf311b1d4f94b7b and ./wordpress-3.4/.git/objects/22/25a5fe1a5ae76fb165238debf311b1d4f94b7b differ
Binary files ./wordpress-3.3.2/.git/objects/22/36549fc7e17e1800ab343588bb2a359369e862 and ./wordpress-3.4/.git/objects/22/36549fc7e17e1800ab343588bb2a359369e862 differ
Binary files ./wordpress-3.3.2/.git/objects/22/4d36741c8e67fb2c741fcb03c84603cb99cb32 and ./wordpress-3.4/.git/objects/22/4d36741c8e67fb2c741fcb03c84603cb99cb32 differ
Binary files ./wordpress-3.3.2/.git/objects/22/7fad959f9e4cc8cec1ebcdca359dc6fee66ec1 and ./wordpress-3.4/.git/objects/22/7fad959f9e4cc8cec1ebcdca359dc6fee66ec1 differ
Binary files ./wordpress-3.3.2/.git/objects/22/8a3bfe1b69f8f491000ff39c14fe890ad5e1c4 and ./wordpress-3.4/.git/objects/22/8a3bfe1b69f8f491000ff39c14fe890ad5e1c4 differ
Binary files ./wordpress-3.3.2/.git/objects/22/dc606613407a1e5a92001d8e3d542c8e8284c9 and ./wordpress-3.4/.git/objects/22/dc606613407a1e5a92001d8e3d542c8e8284c9 differ
Binary files ./wordpress-3.3.2/.git/objects/23/40baf4f3b6fea7103b9aeaa6a8769269577915 and ./wordpress-3.4/.git/objects/23/40baf4f3b6fea7103b9aeaa6a8769269577915 differ
Binary files ./wordpress-3.3.2/.git/objects/23/b0e43dfe293bbd2a14fb58539bd62e2f309b68 and ./wordpress-3.4/.git/objects/23/b0e43dfe293bbd2a14fb58539bd62e2f309b68 differ
Binary files ./wordpress-3.3.2/.git/objects/23/fef64c9a4326f02a3e4953120f451b098ea5fa and ./wordpress-3.4/.git/objects/23/fef64c9a4326f02a3e4953120f451b098ea5fa differ
Binary files ./wordpress-3.3.2/.git/objects/24/403d3136bcfceb728a0db7600c0f58125571a8 and ./wordpress-3.4/.git/objects/24/403d3136bcfceb728a0db7600c0f58125571a8 differ
Binary files ./wordpress-3.3.2/.git/objects/24/69821f538bb1a9b31053a821fcdba7e64f2f4d and ./wordpress-3.4/.git/objects/24/69821f538bb1a9b31053a821fcdba7e64f2f4d differ
Binary files ./wordpress-3.3.2/.git/objects/24/807cd2abba071da640689e017d336af0f624e5 and ./wordpress-3.4/.git/objects/24/807cd2abba071da640689e017d336af0f624e5 differ
Binary files ./wordpress-3.3.2/.git/objects/24/8897c9877233ba4e4f1e6f0e3278050bf746c8 and ./wordpress-3.4/.git/objects/24/8897c9877233ba4e4f1e6f0e3278050bf746c8 differ
Binary files ./wordpress-3.3.2/.git/objects/24/b163eba9af2b9ffe65b81999f695da05b4fb96 and ./wordpress-3.4/.git/objects/24/b163eba9af2b9ffe65b81999f695da05b4fb96 differ
Binary files ./wordpress-3.3.2/.git/objects/24/e1a29c8314ecf750a2efbe8cbc1d11a34b4d2a and ./wordpress-3.4/.git/objects/24/e1a29c8314ecf750a2efbe8cbc1d11a34b4d2a differ
Binary files ./wordpress-3.3.2/.git/objects/24/e5b4838acb098970ebf0532baec44aa7c3185c and ./wordpress-3.4/.git/objects/24/e5b4838acb098970ebf0532baec44aa7c3185c differ
Binary files ./wordpress-3.3.2/.git/objects/24/efd82f88a30f11f21eb1c17ed43a469a4d6857 and ./wordpress-3.4/.git/objects/24/efd82f88a30f11f21eb1c17ed43a469a4d6857 differ
Binary files ./wordpress-3.3.2/.git/objects/25/2a1d0e63f4d8a3bbc682c3a26e0662e5ac5cf6 and ./wordpress-3.4/.git/objects/25/2a1d0e63f4d8a3bbc682c3a26e0662e5ac5cf6 differ
Binary files ./wordpress-3.3.2/.git/objects/25/30876647096709bfe91f4e14ce1f48e0236d12 and ./wordpress-3.4/.git/objects/25/30876647096709bfe91f4e14ce1f48e0236d12 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/25/691c866a609aa066366cecf782ea00c69fd990 ./wordpress-3.4/.git/objects/25/691c866a609aa066366cecf782ea00c69fd990
*** ./wordpress-3.3.2/.git/objects/25/691c866a609aa066366cecf782ea00c69fd990	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/25/691c866a609aa066366cecf782ea00c69fd990	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ x…P]KÃ0õuùw0h:´sˆ¾Ô©'T†2öÒön¶IÌ*ÎÿnÚ1§LæS¸÷|äÜ“•*ƒ³ÓþÁù¥^jÒëv	ta¦L11h-L-•�Â:Ã�P®•rõ µf_iž?óneÍÖúlü6X£Bæ'I?9s��çB"�f6}=²áÍýø!:g<Æ)!_¼0ÈTÐQ(„‘¼Bºy»ß�‹cH êñ:q.Šj©˜…6Ë*_:a…CC¤õª™Á`‚¹£Ð¨˜7e�¦¤…oÂ¥ä“�Î†Ã|èƒ­yu ´ÁœB'÷Æ t,+Õâè¢PÚƒ-Pû
Ä°Zíª4wË?4Íº‰ôO®uùÎæ¢th,…hOìÐì^³pSÛ~ÒN…?úÙíÑK‹¡æý–)ùFÞ1
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/25/d853d9f0be930fea064c3b0088ce3d777ab5a7 and ./wordpress-3.4/.git/objects/25/d853d9f0be930fea064c3b0088ce3d777ab5a7 differ
Binary files ./wordpress-3.3.2/.git/objects/25/e040592cf87c170b44c65b3d5ec5c5827fa095 and ./wordpress-3.4/.git/objects/25/e040592cf87c170b44c65b3d5ec5c5827fa095 differ
Binary files ./wordpress-3.3.2/.git/objects/25/f73c3d9004920ee7627e6dd3be5e70aa6937d6 and ./wordpress-3.4/.git/objects/25/f73c3d9004920ee7627e6dd3be5e70aa6937d6 differ
Binary files ./wordpress-3.3.2/.git/objects/26/41a077afedd437640deda61a39defbafacf938 and ./wordpress-3.4/.git/objects/26/41a077afedd437640deda61a39defbafacf938 differ
Binary files ./wordpress-3.3.2/.git/objects/26/422edc5d7edaafc17e2093ca1dde3fbb176d5c and ./wordpress-3.4/.git/objects/26/422edc5d7edaafc17e2093ca1dde3fbb176d5c differ
Binary files ./wordpress-3.3.2/.git/objects/26/577bb98d42234801cd3bb5bef6625df3147ba0 and ./wordpress-3.4/.git/objects/26/577bb98d42234801cd3bb5bef6625df3147ba0 differ
Binary files ./wordpress-3.3.2/.git/objects/26/6d0a3ed4c577f496539710a93e1b3b5e4f635b and ./wordpress-3.4/.git/objects/26/6d0a3ed4c577f496539710a93e1b3b5e4f635b differ
Binary files ./wordpress-3.3.2/.git/objects/26/7f4674950032bbbb27aed8bebee8921e329b39 and ./wordpress-3.4/.git/objects/26/7f4674950032bbbb27aed8bebee8921e329b39 differ
Binary files ./wordpress-3.3.2/.git/objects/26/c96975bf6383df9de265f69e2472e21900ee53 and ./wordpress-3.4/.git/objects/26/c96975bf6383df9de265f69e2472e21900ee53 differ
Binary files ./wordpress-3.3.2/.git/objects/27/2ce3b254d6abc2f7dbd5faee2c63c0dd40c7fb and ./wordpress-3.4/.git/objects/27/2ce3b254d6abc2f7dbd5faee2c63c0dd40c7fb differ
Binary files ./wordpress-3.3.2/.git/objects/27/4306d2234046d3ea932077c20b67232ea80f50 and ./wordpress-3.4/.git/objects/27/4306d2234046d3ea932077c20b67232ea80f50 differ
Binary files ./wordpress-3.3.2/.git/objects/27/5033a822919fd101de6426664ba48671e4c59c and ./wordpress-3.4/.git/objects/27/5033a822919fd101de6426664ba48671e4c59c differ
Binary files ./wordpress-3.3.2/.git/objects/27/51148de6879ad340006208eb28250474bba8d0 and ./wordpress-3.4/.git/objects/27/51148de6879ad340006208eb28250474bba8d0 differ
Binary files ./wordpress-3.3.2/.git/objects/27/58773b1e5c87d17f236aade62cf06990e68fd2 and ./wordpress-3.4/.git/objects/27/58773b1e5c87d17f236aade62cf06990e68fd2 differ
Binary files ./wordpress-3.3.2/.git/objects/27/9456936822d7834453475639f5efbaa9fc0b94 and ./wordpress-3.4/.git/objects/27/9456936822d7834453475639f5efbaa9fc0b94 differ
Binary files ./wordpress-3.3.2/.git/objects/27/d92edefaeb019ebc6f615c9333d7d97ae95246 and ./wordpress-3.4/.git/objects/27/d92edefaeb019ebc6f615c9333d7d97ae95246 differ
Binary files ./wordpress-3.3.2/.git/objects/27/f29711a5bc803bb49d4e4902e614a357936caf and ./wordpress-3.4/.git/objects/27/f29711a5bc803bb49d4e4902e614a357936caf differ
Binary files ./wordpress-3.3.2/.git/objects/28/34a7edc28686b525612e12086f00b595ef1002 and ./wordpress-3.4/.git/objects/28/34a7edc28686b525612e12086f00b595ef1002 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/28/3be6f7ad66d94b0700b5fe46449c294ba411cc ./wordpress-3.4/.git/objects/28/3be6f7ad66d94b0700b5fe46449c294ba411cc
*** ./wordpress-3.3.2/.git/objects/28/3be6f7ad66d94b0700b5fe46449c294ba411cc	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/28/3be6f7ad66d94b0700b5fe46449c294ba411cc	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- x�TÛŽÛ6í«õ³é²]ë²^'ÙÚ«5òPòÔ yq¶E�-v)R!);êÚÿžÑÅ{q^"À–HÎœ3<sÈTê®f³«_n—e^zÑxìÁ¶Zo%ÂNd¨AX0XJÆ1ƒ´†ZW®Jqiå@8X¤˜YØ)¡4:e©¬�kå„ªöÚ<µ¡2Ü%Ê:l8VIË‘äÎ•ó(ja·r]DÝ'‘×hB»ß,3ÍÿÊ’à]¿‹ofñôíìæúæýtzýþè!àÈó6•âNhÕï£E]Û\Çu†C¸dŽêÁ£7Â…°]?¿Šïiiä
]eøþÂó—ÖpH@:#ŠçÈ	ø‰£…GÔVIÖ™R[Š£,ŠùÙíTWV_Wip».˜ãùüÃ¿=Ì°ÝÐ—^§/áŠÿß?N'×Çár~GËQtð'm	z8ÀÅk¸pLbŠ,®âà÷àþ·Q8>ˆ>�ÒZÚ>QØµª
- 4‚Ó–Ú…ÕÕI¥'™n/‚àÏÎ8Ÿ[ãüaŒ6sHYÿüýP94˜Á]+èIÑŸ§ï½ás
op¤æD�»X%Ù0s9P³+IvE˜Å1TJ¢µàrl~ú¶õ'Ô‡“ÅmÁ¤DCL5Îlép0	—�—)vÝBãeÏÕM�)„r;&ÉGX”®&‰^e�†K(„:ŸŸ´µ�`Þ½àÅ6w/ãðfú–Ë%î$Z¾&;›Îk�½SGÞÜÚ’6c]-1ñ~s“b«æ¼mÅ"¶9YóTjþ°ðïnuúò^“Ä|Mzô¡+¯Yé¾hÊÕ%a³²”‚³æÌEßŸ?ìÙƒ�d6÷!cŽ5YtŽDS2Ã
- P¬h2¥ÔûOÜˆÒ}àœºäIYÑŠÂ¢×ñ…Þ	|Šiý³ˆ¯mÒÕO1)Zw“n¹–šÐ{®_7íó›åL>³)ý©Ÿ1îºUž°tÉ¾V4¤ ¨”>šFÜ½YxG�eÙË«ÈqÒÙ{9|ko˜ï žÙ
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/28/897c18d0a73785ec815cedd94d1407600ab46b and ./wordpress-3.4/.git/objects/28/897c18d0a73785ec815cedd94d1407600ab46b differ
Binary files ./wordpress-3.3.2/.git/objects/28/af66b8dd29a990d2140668bee5d4fa8dd8d496 and ./wordpress-3.4/.git/objects/28/af66b8dd29a990d2140668bee5d4fa8dd8d496 differ
Binary files ./wordpress-3.3.2/.git/objects/29/0939c23f76b723b850218ffc7e3f44e17dd322 and ./wordpress-3.4/.git/objects/29/0939c23f76b723b850218ffc7e3f44e17dd322 differ
Binary files ./wordpress-3.3.2/.git/objects/29/262975f9be33d1bd50d4e774109dbdfc2dc870 and ./wordpress-3.4/.git/objects/29/262975f9be33d1bd50d4e774109dbdfc2dc870 differ
Binary files ./wordpress-3.3.2/.git/objects/29/31cbbc82a9dfbdfc210a6de3dba4de33c6f76a and ./wordpress-3.4/.git/objects/29/31cbbc82a9dfbdfc210a6de3dba4de33c6f76a differ
Binary files ./wordpress-3.3.2/.git/objects/29/70b7cba09864bf9e8cb3a0babc3709dc066ed3 and ./wordpress-3.4/.git/objects/29/70b7cba09864bf9e8cb3a0babc3709dc066ed3 differ
Binary files ./wordpress-3.3.2/.git/objects/29/98f9f3a433c0548ce12116d08c86771765bc6f and ./wordpress-3.4/.git/objects/29/98f9f3a433c0548ce12116d08c86771765bc6f differ
Binary files ./wordpress-3.3.2/.git/objects/2a/040358df0d1f8eb784d2ec0919626198d6eb47 and ./wordpress-3.4/.git/objects/2a/040358df0d1f8eb784d2ec0919626198d6eb47 differ
Binary files ./wordpress-3.3.2/.git/objects/2a/6f3ad2997a337691aa0df2d55a1c968d2fa6b5 and ./wordpress-3.4/.git/objects/2a/6f3ad2997a337691aa0df2d55a1c968d2fa6b5 differ
Binary files ./wordpress-3.3.2/.git/objects/2a/bd79952ffa5788c2412f56482ddae1f475a0a2 and ./wordpress-3.4/.git/objects/2a/bd79952ffa5788c2412f56482ddae1f475a0a2 differ
Binary files ./wordpress-3.3.2/.git/objects/2a/e22339b73b55d89536a965ce7691863c13d42b and ./wordpress-3.4/.git/objects/2a/e22339b73b55d89536a965ce7691863c13d42b differ
Binary files ./wordpress-3.3.2/.git/objects/2a/e6f510769aacccedc9ac2bf9364727dbc017c9 and ./wordpress-3.4/.git/objects/2a/e6f510769aacccedc9ac2bf9364727dbc017c9 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/2b/5319267147220ebd7bd9437ec34af19e001ef3 ./wordpress-3.4/.git/objects/2b/5319267147220ebd7bd9437ec34af19e001ef3
*** ./wordpress-3.3.2/.git/objects/2b/5319267147220ebd7bd9437ec34af19e001ef3	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/2b/5319267147220ebd7bd9437ec34af19e001ef3	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ x¥RÁNÃ0åÚ~…¹,©2Ä	iÚ$��ø€)k�.Ð¦Uš &´'iÚMC;qIüb¿Ø~öºn×p{}sA¥Ó…U­¦Ùwš(	ì¶ÃV‚UzûrÿøjðI+ËåˆÓ%J¥±$�¥IbÐ:£iš|
+ >æ‰ÁZôèL<<Øa>Z�cpS +Œêìs+J4|ò3¨…®¢AÉp¢BæÓÚ
6ŸÏ€tµ«”î÷„3è�”êkx�f¨wÊB§
+ s2)ú9ÉÃ�þÞû&§C‡œ!v0<Ke[³²Øtµ°Hò˜ê¯ßü§„cîª¬«©…4	³J£(6t’Š÷]­,%ŒdökuË·!b˜ÍF/6ÂÜYz�Á¥ßˆ+/„à“’ŽCðBEë TÄ't:û£ã~§^Ï/ä˜ÐË÷²K“�ý.£þüŽ�E
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/2b/e9eed7934b096057b5940c48f958e920ead5d4 and ./wordpress-3.4/.git/objects/2b/e9eed7934b096057b5940c48f958e920ead5d4 differ
Binary files ./wordpress-3.3.2/.git/objects/2b/f974a26502353772db308819bac9dabe093020 and ./wordpress-3.4/.git/objects/2b/f974a26502353772db308819bac9dabe093020 differ
Binary files ./wordpress-3.3.2/.git/objects/2c/275dfca301568267454359679a85b9b2275245 and ./wordpress-3.4/.git/objects/2c/275dfca301568267454359679a85b9b2275245 differ
Binary files ./wordpress-3.3.2/.git/objects/2c/5fe99f977126efa4984690171e089cf9ab3237 and ./wordpress-3.4/.git/objects/2c/5fe99f977126efa4984690171e089cf9ab3237 differ
Binary files ./wordpress-3.3.2/.git/objects/2c/83b7a4f3164ed57ab3d3247bcddd3475212893 and ./wordpress-3.4/.git/objects/2c/83b7a4f3164ed57ab3d3247bcddd3475212893 differ
Binary files ./wordpress-3.3.2/.git/objects/2c/d93c82100311e785ec7a94299eba3f511e56a7 and ./wordpress-3.4/.git/objects/2c/d93c82100311e785ec7a94299eba3f511e56a7 differ
Binary files ./wordpress-3.3.2/.git/objects/2d/3822ca511b8513400c0dc73a122c332d4b7593 and ./wordpress-3.4/.git/objects/2d/3822ca511b8513400c0dc73a122c332d4b7593 differ
Binary files ./wordpress-3.3.2/.git/objects/2d/7e38e49aaf062af424ce1425771772f6ab2b6b and ./wordpress-3.4/.git/objects/2d/7e38e49aaf062af424ce1425771772f6ab2b6b differ
Binary files ./wordpress-3.3.2/.git/objects/2d/8a7f0d9d28ce42ab1da212c30d80f85d5a5ff7 and ./wordpress-3.4/.git/objects/2d/8a7f0d9d28ce42ab1da212c30d80f85d5a5ff7 differ
Binary files ./wordpress-3.3.2/.git/objects/2d/b0345d3738e23db34630b74c1b645327a47b84 and ./wordpress-3.4/.git/objects/2d/b0345d3738e23db34630b74c1b645327a47b84 differ
Binary files ./wordpress-3.3.2/.git/objects/2d/c5b7b2e3e3f030e10faf419f3d81732519938b and ./wordpress-3.4/.git/objects/2d/c5b7b2e3e3f030e10faf419f3d81732519938b differ
Binary files ./wordpress-3.3.2/.git/objects/2d/fafcb5da4bc65c26bc876d3fc4b3efb13d8fc7 and ./wordpress-3.4/.git/objects/2d/fafcb5da4bc65c26bc876d3fc4b3efb13d8fc7 differ
Binary files ./wordpress-3.3.2/.git/objects/2d/ff578e0db2bf85a5cf67471d6102fe85721dc0 and ./wordpress-3.4/.git/objects/2d/ff578e0db2bf85a5cf67471d6102fe85721dc0 differ
Binary files ./wordpress-3.3.2/.git/objects/2e/23f8a3feabb751dad6caa78cc8347b97df16e8 and ./wordpress-3.4/.git/objects/2e/23f8a3feabb751dad6caa78cc8347b97df16e8 differ
Binary files ./wordpress-3.3.2/.git/objects/2e/6c93384596bacb78cfa74b1672275b22fae544 and ./wordpress-3.4/.git/objects/2e/6c93384596bacb78cfa74b1672275b22fae544 differ
Binary files ./wordpress-3.3.2/.git/objects/2e/9fbd69970f5f0ed1500ed7880b1a06477db887 and ./wordpress-3.4/.git/objects/2e/9fbd69970f5f0ed1500ed7880b1a06477db887 differ
Binary files ./wordpress-3.3.2/.git/objects/2e/f4ca77e81b0966e4b7a6ba501a52888b56ca44 and ./wordpress-3.4/.git/objects/2e/f4ca77e81b0966e4b7a6ba501a52888b56ca44 differ
Binary files ./wordpress-3.3.2/.git/objects/2f/ae4c6d9e08f0fa08b8a9e18ec435d78b90adb3 and ./wordpress-3.4/.git/objects/2f/ae4c6d9e08f0fa08b8a9e18ec435d78b90adb3 differ
Binary files ./wordpress-3.3.2/.git/objects/2f/e318d9a6305702a7555859acedcec549371534 and ./wordpress-3.4/.git/objects/2f/e318d9a6305702a7555859acedcec549371534 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/2f/e5c0f9c7ca304f0e32c40df8c3d0ca17d3fa51 ./wordpress-3.4/.git/objects/2f/e5c0f9c7ca304f0e32c40df8c3d0ca17d3fa51
*** ./wordpress-3.3.2/.git/objects/2f/e5c0f9c7ca304f0e32c40df8c3d0ca17d3fa51	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/2f/e5c0f9c7ca304f0e32c40df8c3d0ca17d3fa51	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ x…U]o›0ÝO‰\­µWâ¦íºI¤tš´½MZ·õ­J#c.�†`d›&å¿ïBHÒvSöý<÷œK˜©ppþéãå»'¡qšG·ÊX3¦q™K›ªœ
+ Vm�ƒJ�ûÛ»È“¬rŽa)Y. ·¼{øžAón¤VYv§ŠçgA»KÆ·Ç”�Ó˜FÇÇJPr$â¤…ˆ0.¬Õ”äbÄ‹•¬vF®¢aá*E3“¨%e<Òb6a´JDeàïÚ
©—ÆÐÊªÂO¯F§¤X/ƒØúäjôžx¡giþ£9^\�ðºfãý”Ã4/J‹‰cìÙ`æ9¬Ë¢G,fvóe’Ê$.>ï Èe¦PVcT
¶Ôù ™�Úk.zh[0ú>‡L¡r˜7±‹ŒrXÞô�ŒÕjíÌÓÈeôäÑn‚vpUaü7ús€3O4<ð‰«eÚbîMÅ£XMs•KhœwÞ1aëçL§v]8‹“²{7Ê 	Ôo¸L„%_& ç�l\ë±à.ÎÉ¹“ÛŸîˆWêÌw§øïEÂ
+ ?ôL)%Ó7…Ú’µåÆ­•~Ã¨¹s´ªBÈ¤Þ.læèJP1
YD4Íg„U6I
o]«n0w°²~¸�kíà•Á²øŠ5óBhîé÷fŒÐñ^¶QÌ?Bn"„ZÍ!Ç*e y—ÓÜ�&‡ììî:¢HîÐz	¶×–rc…-�kÀÕnÃ»VÉ`ÿ¯‹LH g×üþáúfòáËÍÙÌCBÖ®£ÿ2×��#ÞYµ¹îô"‚)ÃEê'³TÎ{ÃvB„Áƒ1`¬
+ y¡á	7Ô7ˆE™ÙVƒû~Þ.T«¡¡e2ð;­£ÆÑwÇvùµÉÏ/„§‘ú÷Pk¸Ùö$þr‘´Iú¾ºõË�Tå=l6Ä+ÆÍyk©V­Þà¨{¼è=º•Ž•£$
d¸hM>¤õ#Ô ™ôm6"Ô1~#Onf4"¯¡:îè>
ÌÈZüÑÇ_%è5ÿ}Gï
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/30/2e16f57c286f116d8ed33a830f20e54e58dde4 and ./wordpress-3.4/.git/objects/30/2e16f57c286f116d8ed33a830f20e54e58dde4 differ
Binary files ./wordpress-3.3.2/.git/objects/30/446c1debdeafe486ee387d697d3027bbe55d6c and ./wordpress-3.4/.git/objects/30/446c1debdeafe486ee387d697d3027bbe55d6c differ
Binary files ./wordpress-3.3.2/.git/objects/31/19eb5720edcc316aea37279a38bea940ac1214 and ./wordpress-3.4/.git/objects/31/19eb5720edcc316aea37279a38bea940ac1214 differ
Binary files ./wordpress-3.3.2/.git/objects/31/4c532c9ea1051c217a1245cfca7630707b9fdd and ./wordpress-3.4/.git/objects/31/4c532c9ea1051c217a1245cfca7630707b9fdd differ
Binary files ./wordpress-3.3.2/.git/objects/31/583e3f4b6d044dd9f05c5be1537f67f27a7ac3 and ./wordpress-3.4/.git/objects/31/583e3f4b6d044dd9f05c5be1537f67f27a7ac3 differ
Binary files ./wordpress-3.3.2/.git/objects/31/8cf3f64df46ae8b366c601d880c7226d1533ec and ./wordpress-3.4/.git/objects/31/8cf3f64df46ae8b366c601d880c7226d1533ec differ
Binary files ./wordpress-3.3.2/.git/objects/31/a13ea6d1ae040aaef4ceb86fa34c0876b884a4 and ./wordpress-3.4/.git/objects/31/a13ea6d1ae040aaef4ceb86fa34c0876b884a4 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/31/ba3b4a0253ca4d2c79b8983206bb502222bc90 ./wordpress-3.4/.git/objects/31/ba3b4a0253ca4d2c79b8983206bb502222bc90
*** ./wordpress-3.3.2/.git/objects/31/ba3b4a0253ca4d2c79b8983206bb502222bc90	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/31/ba3b4a0253ca4d2c79b8983206bb502222bc90	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- xMŽÁJ1†GôÔ£g¼ivÛâÂØaNº»ìaq�U¼vf£ŽÔvh«èƒøz^|3
- êG>HÈHëBºœû{ï³Ã°Gì.{ÂŽ”ì'{ÆŽ™_šK¼¢—>õÁã…Íd@K¥Qžr�ÖF)3“Ç’ëÕzŽ7Ç¬5‘â<øL>ãæmàÃL¯y:8Ûû
- ºåúz³Àò/­Owqî»°íý½�²í³hÜs´!>%~øS­+øik‡5¨JÜâ’<E›C4°t!7‘RšÊ‰M�Ôe\mÿÿ¨yS|À=M�
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/32/3591d91d956bdd60cdc47294284d43b8d1ba61 and ./wordpress-3.4/.git/objects/32/3591d91d956bdd60cdc47294284d43b8d1ba61 differ
Binary files ./wordpress-3.3.2/.git/objects/32/362074490f3f016f29c7ef4862a728c8848732 and ./wordpress-3.4/.git/objects/32/362074490f3f016f29c7ef4862a728c8848732 differ
Binary files ./wordpress-3.3.2/.git/objects/32/3f832a8ba1d48e00f83f606cdc126d99abc56e and ./wordpress-3.4/.git/objects/32/3f832a8ba1d48e00f83f606cdc126d99abc56e differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/32/5e2b172fa47ef7eba968c470ecc85ecf2671ac ./wordpress-3.4/.git/objects/32/5e2b172fa47ef7eba968c470ecc85ecf2671ac
*** ./wordpress-3.3.2/.git/objects/32/5e2b172fa47ef7eba968c470ecc85ecf2671ac	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/32/5e2b172fa47ef7eba968c470ecc85ecf2671ac	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x•’Mnƒ0…»�O1R6I$D©@]ô=�¬SU¹{¨úë¤Ô;kž¾÷<~©ÆN÷§»Ý†ÁTU<ÁŸ„™^«Š[‘CŠ&ZÛkA²c>)9)ÛQéM‚^Ù"åÙsa°«ó:£WÓÈXÞ‹_(¹#Á­×ƒÒ‚Å&a—+È=!�Î-jù�zžA=Ì þÌjTQþ6š�u†MÑZ¬®o!Ü‚sáû­û#WôCÀ6<S¶�!ð�É¸\©´&®›’¯ÞçÇ`íJTò:×â×K½5c)¥L¨ccbhQ«ÂæË hðÅ=¢«Û:r[cG1‡'|¶áÃÖEŠó/ƒ©Í
- k2¹°7u•	+
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/33/3ac44f01081c36fa2af3f4546100a4633e23da and ./wordpress-3.4/.git/objects/33/3ac44f01081c36fa2af3f4546100a4633e23da differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/33/3bf6bae3a5f5416ba15c2451504552783ce578 ./wordpress-3.4/.git/objects/33/3bf6bae3a5f5416ba15c2451504552783ce578
*** ./wordpress-3.3.2/.git/objects/33/3bf6bae3a5f5416ba15c2451504552783ce578	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/33/3bf6bae3a5f5416ba15c2451504552783ce578	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,9 ****
- x•VÁnÛHÝ«ó³�QI°­&-Ü
zØî!Àb-r+Š`lQö$²FÕŒí¸©ÿ}9²¤Ä	�^lË>>’�äÌ
- ;SïÎÞ¾ÿí$Î×åÜ[ÆÃDÝŸ˜²0%ý�¥ïÔþ9˜Òx5UíA>7lt­<Nø¥qcUÛ-~ãè4 LQòæŸú]EÍk¿¤IaÞ¥Úû:Žæ…vOn=sxþ6l²]jF�N£Q°E“Hàà$eôà–…Ùã˜ùm4îÑd– ßHìbf,^5ùu]ª\ŽØí>~óFU5Uº&DGŠ�q€8€Ïô–vëªK!Êä1�²™/ÕÅ…zû>Q
ôC÷5m¨öqòA5ž‹NçºœSê@OR‰£ƒgô`
åô†~ˆmšœ-�2eµöcå¨ ¹? "òÌnËŽÜ±Ÿ¿{&öÇn�M–Ke�w“Üžj%^¿²Z.^A+ã_}C�Wvíè±g©®OÛ”6åìÇÐœ·‹EA}ÑRq,[.ù0ZƒÊä/³Qçâ(3®*ô.J¸¦QiKŠÔGÕ¹¼Š‚
°Ä³ˆ¥×,&;ö;I}±[&Ðá‰ºM®bÅ°yÌ¶ìÚÎn¸
- *Áñ�É¸é²8!VìxOµ æ±¯×”ˆÄ>i¯¼ŽF‚#ñªÝÀµ-jWé/¸÷¶&£\ûinjç¹At†ÏéÆ83+ˆû‘Ê…_bN›c¸I—ÚýÅ-åsÍKíaBÆ�ã,;>Õ´S0—4s µÆ‡)1
r*õ
- râOˆ©ÛF±Ä¯‚Ä95Iêé=ª¸¤,Ñ0®X/ž�áWOÃNšŒ=ÃyŽøÏ‰¤?ÕmÄ½	jkžŒK»ÅÌlÒÊ�4÷¡ïñY’æv¾v|çÍ5&÷_¿!�¾vŽcÔé¦xn¨Èðíeö#ö~ñ§-íj'-ÉÉKÔÏŸ*
- CðªÅà}$\øð²9¨J¥½è'Â9Ýjö‹^&b ßãa e…Mó¸Ã	Gc~‹×ÜRèWfÀ?Ûÿ/?M•É� Žé;Øí%—!'MÃ´õE*è‚YQmta~@‰\¤–Yc9RÑëH�Ô0•7qx
- …M³Ò·¤ô
2^Ó÷59ÅXD‡d+SNøeZ-+Ô<Ø
- Ûv×¡Ža#c…ŒUIÛk“1—ÐÒ/OðRúIâÆ¤Á(jÁåIMÎÕïªF‘2ºû/�£?=ªØÝÃ�Çkœ§æôÊbÏH†˜Wà(i­s=ÒÒ?mÓ�¤3ÊmMàs„„�Óà}”;H4
- �	ÿ£�ž°ÒCØi®3º,[Ž{E¸H%�Tÿ	�R]K¿.ýª`¢]ßBK=,hþ— ºŒþs~V¦âæú%±Oõ}X�ýÎïú^vÉQz®¯´ç_B
- Wµ¶>2ÕaÜÔý¡oÔÄ�qâ~w$¡e²Ã•ý™bcøËƒè&�ÜH�‡	Íœ»ºUZ—öýs³P6}?%öQNlêõâ_ìÙ¿W_xñÛ¼XO6áN¦Òc‡±ü›‹,gG:Ô;è‘éW…Aƒ-k­©
,½û*ŸÍ¢Tuþ
'ö'<p†q†A¾:+]g»î¶•ÜwJ¸ÂHà{9ÄÊWÉ}ß|^S½Ãïÿ®¤„Ÿ
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/33/563ef0b03cf67f721aa95cac77226b05193862 and ./wordpress-3.4/.git/objects/33/563ef0b03cf67f721aa95cac77226b05193862 differ
Binary files ./wordpress-3.3.2/.git/objects/33/7cc9123dfd4bd85827d0af9e0e1b74e0e01d26 and ./wordpress-3.4/.git/objects/33/7cc9123dfd4bd85827d0af9e0e1b74e0e01d26 differ
Binary files ./wordpress-3.3.2/.git/objects/33/897b60994930b9b7216162d5dd3436deb45a13 and ./wordpress-3.4/.git/objects/33/897b60994930b9b7216162d5dd3436deb45a13 differ
Binary files ./wordpress-3.3.2/.git/objects/33/fb7175a04f7600a70d10eaa6472c45fed8fd80 and ./wordpress-3.4/.git/objects/33/fb7175a04f7600a70d10eaa6472c45fed8fd80 differ
Binary files ./wordpress-3.3.2/.git/objects/34/273977358352fea0575c2fbc4310fc5205f588 and ./wordpress-3.4/.git/objects/34/273977358352fea0575c2fbc4310fc5205f588 differ
Binary files ./wordpress-3.3.2/.git/objects/34/82a69e4f3d2c1efc9ef81cd018144fd4f3ffea and ./wordpress-3.4/.git/objects/34/82a69e4f3d2c1efc9ef81cd018144fd4f3ffea differ
Binary files ./wordpress-3.3.2/.git/objects/34/d8652b20d4a80f464d4c9dfd109054cfccfb8d and ./wordpress-3.4/.git/objects/34/d8652b20d4a80f464d4c9dfd109054cfccfb8d differ
Binary files ./wordpress-3.3.2/.git/objects/36/0b67f09e7e3097d01f9f41b9914a78672d0a8b and ./wordpress-3.4/.git/objects/36/0b67f09e7e3097d01f9f41b9914a78672d0a8b differ
Binary files ./wordpress-3.3.2/.git/objects/36/0bb91adb8273b55b96eda3639b80e1f996cae1 and ./wordpress-3.4/.git/objects/36/0bb91adb8273b55b96eda3639b80e1f996cae1 differ
Binary files ./wordpress-3.3.2/.git/objects/36/1a8de60027d2224aeeeae3731b78b7bbb089bc and ./wordpress-3.4/.git/objects/36/1a8de60027d2224aeeeae3731b78b7bbb089bc differ
Binary files ./wordpress-3.3.2/.git/objects/36/6ddc5496765e3fee7a6015f9adf45b94eb1611 and ./wordpress-3.4/.git/objects/36/6ddc5496765e3fee7a6015f9adf45b94eb1611 differ
Binary files ./wordpress-3.3.2/.git/objects/36/79011ebaea3da32f0146561570f86ef355e45b and ./wordpress-3.4/.git/objects/36/79011ebaea3da32f0146561570f86ef355e45b differ
Binary files ./wordpress-3.3.2/.git/objects/36/97f421cf82ec696504a93ef070057111a6b3f8 and ./wordpress-3.4/.git/objects/36/97f421cf82ec696504a93ef070057111a6b3f8 differ
Binary files ./wordpress-3.3.2/.git/objects/36/fe63369d5c73cb3f81cebca369af8e50d1a60a and ./wordpress-3.4/.git/objects/36/fe63369d5c73cb3f81cebca369af8e50d1a60a differ
Binary files ./wordpress-3.3.2/.git/objects/37/13f18b401103b8307b5642d273897587787293 and ./wordpress-3.4/.git/objects/37/13f18b401103b8307b5642d273897587787293 differ
Binary files ./wordpress-3.3.2/.git/objects/37/1a28438d3d0e9319629d5c7301d213e3feae8b and ./wordpress-3.4/.git/objects/37/1a28438d3d0e9319629d5c7301d213e3feae8b differ
Binary files ./wordpress-3.3.2/.git/objects/37/59c90c19a3ee280cd9e54add1d51720ff59d3d and ./wordpress-3.4/.git/objects/37/59c90c19a3ee280cd9e54add1d51720ff59d3d differ
Binary files ./wordpress-3.3.2/.git/objects/37/772e3ca7a6b64942ad4424f0c319f005d77dfb and ./wordpress-3.4/.git/objects/37/772e3ca7a6b64942ad4424f0c319f005d77dfb differ
Binary files ./wordpress-3.3.2/.git/objects/37/b4320bd9faaafecacd72709810bff010f4e9e4 and ./wordpress-3.4/.git/objects/37/b4320bd9faaafecacd72709810bff010f4e9e4 differ
Binary files ./wordpress-3.3.2/.git/objects/37/c792788f443e89fceb5c5fffc8cca06849a5a5 and ./wordpress-3.4/.git/objects/37/c792788f443e89fceb5c5fffc8cca06849a5a5 differ
Binary files ./wordpress-3.3.2/.git/objects/38/069d1974b794bd79235a45d86814cff98aae0c and ./wordpress-3.4/.git/objects/38/069d1974b794bd79235a45d86814cff98aae0c differ
Binary files ./wordpress-3.3.2/.git/objects/38/3487458a9bd63b0f10fe323967f87fb50546fd and ./wordpress-3.4/.git/objects/38/3487458a9bd63b0f10fe323967f87fb50546fd differ
Binary files ./wordpress-3.3.2/.git/objects/38/361bb4c02e628f387aa1546d4662061800de98 and ./wordpress-3.4/.git/objects/38/361bb4c02e628f387aa1546d4662061800de98 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/38/e4f7b481999af4af717af529b79e5574953a05 ./wordpress-3.4/.git/objects/38/e4f7b481999af4af717af529b79e5574953a05
*** ./wordpress-3.3.2/.git/objects/38/e4f7b481999af4af717af529b79e5574953a05	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/38/e4f7b481999af4af717af529b79e5574953a05	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x•RQKÃ0öµûaépÍ“ L|ý>�1®Í­�K›’¤›S÷ß½k;'ˆ‚””ärwßwß—Üº\Ü\ß^¼<wèé¦kŠh\“^ÎÞ'Ée*dîôAŠ™ÊM£éXXSlÕ¾ÍJ°–*ä\|Õ ×$;ð"‚/1Š{AP�§Ù\M«.×Á¼áÝ„’ÍF¤c¶ª <Z�P¨À˜U=¡ÓÇ­“Tì‰†Û+mÀºòÁ—]�MâãC¸ô¼kÁS�wÑµDÝºx(UyÜ©��Ò�°N·sÇ¨Z�;jð„èlLûðQ 
(þæ›C±-½ëý�³Ñ? !F(*fžNíqOºªIÓ´]\6Pãýôœ–R\‘Œô“«¥©¡ÄŒÅ\MW‹¢Âb‹ZÎÔ,³æi_UëBLá^;oçƒ–	ôN/„d©ÏÔ³¾«œsurF^½`ÿú0CÒit’CÇoï ÃC »hž›Ö’P™ŠùÚcív8Ø�ôÁ“eÊ£u Ç«ã8ò/NNàõ	
+ §ëß
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/39/07082ebe240a275113b3f5ba701c30ef5236ab and ./wordpress-3.4/.git/objects/39/07082ebe240a275113b3f5ba701c30ef5236ab differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/39/089351e264a6cb2324d8a70a3eb2a57ae931c8 ./wordpress-3.4/.git/objects/39/089351e264a6cb2324d8a70a3eb2a57ae931c8
*** ./wordpress-3.3.2/.git/objects/39/089351e264a6cb2324d8a70a3eb2a57ae931c8	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/39/089351e264a6cb2324d8a70a3eb2a57ae931c8	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- xµOÍJÄ0öÚ}ŠIXAñàÑ£àd“©‰Ûf–ÉdeßÝ†¶Å£‡aæû=Œt€Û›»«÷—Š|Ñ�|�0‹±Œ.\ôP³—D´�Ï]·¢”uÇT&”¾ˆ“Z”±è|ü‰îÎŽAb*Ïaå¶ÛX'ÂZyššY
- Ê<ìºM}AœO˜Ã+iu½âzûMo
- ¬§±N¹_ßÒù~H\¤÷1�‹èWSþ»ä�6ïšå?*¤<ÛÈÓ 8wý³„«‰¡S~[òÏaJ¤Ý²·m¾6æŒ	
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/39/15d85a727e0281143e23572fe6902eb81e45e2 and ./wordpress-3.4/.git/objects/39/15d85a727e0281143e23572fe6902eb81e45e2 differ
Binary files ./wordpress-3.3.2/.git/objects/3a/368b600fbf7b9fd56cab8f1ceb294ffe77eb09 and ./wordpress-3.4/.git/objects/3a/368b600fbf7b9fd56cab8f1ceb294ffe77eb09 differ
Binary files ./wordpress-3.3.2/.git/objects/3a/36b5343ca78d29bf8589cb4e055dcf8493649d and ./wordpress-3.4/.git/objects/3a/36b5343ca78d29bf8589cb4e055dcf8493649d differ
Binary files ./wordpress-3.3.2/.git/objects/3a/69a680c27bd0c3ce88844c0721b6449a1d79aa and ./wordpress-3.4/.git/objects/3a/69a680c27bd0c3ce88844c0721b6449a1d79aa differ
Binary files ./wordpress-3.3.2/.git/objects/3a/bcca1a4b21f390db88d30269c35ae7b4789475 and ./wordpress-3.4/.git/objects/3a/bcca1a4b21f390db88d30269c35ae7b4789475 differ
Binary files ./wordpress-3.3.2/.git/objects/3b/2e6a85254f81d0a95eaec24f2b6f071bc717db and ./wordpress-3.4/.git/objects/3b/2e6a85254f81d0a95eaec24f2b6f071bc717db differ
Binary files ./wordpress-3.3.2/.git/objects/3b/322a66e91455fbd9dcbf8f0f2b980dac05b0fc and ./wordpress-3.4/.git/objects/3b/322a66e91455fbd9dcbf8f0f2b980dac05b0fc differ
Binary files ./wordpress-3.3.2/.git/objects/3b/7e1566edc458bc2f225e77feb6e18fb0010a87 and ./wordpress-3.4/.git/objects/3b/7e1566edc458bc2f225e77feb6e18fb0010a87 differ
Binary files ./wordpress-3.3.2/.git/objects/3b/824a959ab23881468d76c74c2676915df3e136 and ./wordpress-3.4/.git/objects/3b/824a959ab23881468d76c74c2676915df3e136 differ
Binary files ./wordpress-3.3.2/.git/objects/3b/a7c387d71c317885b637dfd78184552ca2c681 and ./wordpress-3.4/.git/objects/3b/a7c387d71c317885b637dfd78184552ca2c681 differ
Binary files ./wordpress-3.3.2/.git/objects/3b/f4c0fb5fc5f98618971eb1b5717e480af03539 and ./wordpress-3.4/.git/objects/3b/f4c0fb5fc5f98618971eb1b5717e480af03539 differ
Binary files ./wordpress-3.3.2/.git/objects/3b/f4e701f2cfcca0a12b6c96a8d411a62df02372 and ./wordpress-3.4/.git/objects/3b/f4e701f2cfcca0a12b6c96a8d411a62df02372 differ
Binary files ./wordpress-3.3.2/.git/objects/3b/fea5741fa3a241707b3487e493c754870b0eed and ./wordpress-3.4/.git/objects/3b/fea5741fa3a241707b3487e493c754870b0eed differ
Binary files ./wordpress-3.3.2/.git/objects/3c/221b35debfcf94ccd6ddb684c6c0223ce4340a and ./wordpress-3.4/.git/objects/3c/221b35debfcf94ccd6ddb684c6c0223ce4340a differ
Binary files ./wordpress-3.3.2/.git/objects/3c/2f66aa62d9b7be7bcaf25170613475757638da and ./wordpress-3.4/.git/objects/3c/2f66aa62d9b7be7bcaf25170613475757638da differ
Binary files ./wordpress-3.3.2/.git/objects/3c/41a559c7eaea866c27945621bcf27325b21fe8 and ./wordpress-3.4/.git/objects/3c/41a559c7eaea866c27945621bcf27325b21fe8 differ
Binary files ./wordpress-3.3.2/.git/objects/3c/600af0a5eee41f95da26addae5ca5708760dd1 and ./wordpress-3.4/.git/objects/3c/600af0a5eee41f95da26addae5ca5708760dd1 differ
Binary files ./wordpress-3.3.2/.git/objects/3c/60a4593df93660554bb0366fa0e893dee0d823 and ./wordpress-3.4/.git/objects/3c/60a4593df93660554bb0366fa0e893dee0d823 differ
Binary files ./wordpress-3.3.2/.git/objects/3c/71473c960e285f8cf8748a72e02ec9e955018b and ./wordpress-3.4/.git/objects/3c/71473c960e285f8cf8748a72e02ec9e955018b differ
Binary files ./wordpress-3.3.2/.git/objects/3c/bf32c4f2fcff1ab7b7463dd20b732fa7213d62 and ./wordpress-3.4/.git/objects/3c/bf32c4f2fcff1ab7b7463dd20b732fa7213d62 differ
Binary files ./wordpress-3.3.2/.git/objects/3c/ccb7b46759ecda9cbcf3bf4171a1ebb2a13b03 and ./wordpress-3.4/.git/objects/3c/ccb7b46759ecda9cbcf3bf4171a1ebb2a13b03 differ
Binary files ./wordpress-3.3.2/.git/objects/3d/04407ade0b08a86c1497c962faa8d5b23e1cdf and ./wordpress-3.4/.git/objects/3d/04407ade0b08a86c1497c962faa8d5b23e1cdf differ
Binary files ./wordpress-3.3.2/.git/objects/3d/0c1162cd5e63b2dcc557258ca0cd0a2c4ba541 and ./wordpress-3.4/.git/objects/3d/0c1162cd5e63b2dcc557258ca0cd0a2c4ba541 differ
Binary files ./wordpress-3.3.2/.git/objects/3d/3016acd701d78bbdb966f0dea26003ea03c9f5 and ./wordpress-3.4/.git/objects/3d/3016acd701d78bbdb966f0dea26003ea03c9f5 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/3d/36a2cc59f31d78cf757e58e244e281da501f27 ./wordpress-3.4/.git/objects/3d/36a2cc59f31d78cf757e58e244e281da501f27
*** ./wordpress-3.3.2/.git/objects/3d/36a2cc59f31d78cf757e58e244e281da501f27	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/3d/36a2cc59f31d78cf757e58e244e281da501f27	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ x=Ž1Â0E™s
+ o-Ò
+ †"Á�Ø£´±ŠÕ’'Q9>¡Fÿ÷lÿnrìšÃæxòw/êªPÁ%M‘E„äÖA›Y
+ ‘u$gÁk‹“ÌêÇ>{Ý�z@¸96WÆ–4¤îþ÷V@¶GØËF6y®…`|&bT.çe±¼’¹M±m…˜½b4™ö±‹qv<ªEQ‰§²ø\}Èø¢ØŠ7=³Eø
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/3d/3f13d63b95168376145d0db38d21b633e551d0 and ./wordpress-3.4/.git/objects/3d/3f13d63b95168376145d0db38d21b633e551d0 differ
Binary files ./wordpress-3.3.2/.git/objects/3d/72381c7d60024d3e2afa7d8460da25c96a4032 and ./wordpress-3.4/.git/objects/3d/72381c7d60024d3e2afa7d8460da25c96a4032 differ
Binary files ./wordpress-3.3.2/.git/objects/3d/cff261f60ef642177abd6fa806a1a5a1ec9ed1 and ./wordpress-3.4/.git/objects/3d/cff261f60ef642177abd6fa806a1a5a1ec9ed1 differ
Binary files ./wordpress-3.3.2/.git/objects/3d/e77c1d802d937c53875adb3bcba32d53458e1d and ./wordpress-3.4/.git/objects/3d/e77c1d802d937c53875adb3bcba32d53458e1d differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/3e/1b8ef56013cdcd11f4a23c7859ba32ab3b5af2 ./wordpress-3.4/.git/objects/3e/1b8ef56013cdcd11f4a23c7859ba32ab3b5af2
*** ./wordpress-3.3.2/.git/objects/3e/1b8ef56013cdcd11f4a23c7859ba32ab3b5af2	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/3e/1b8ef56013cdcd11f4a23c7859ba32ab3b5af2	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xUÏAK1`¯æW¼‚ÐìBwÑ‹­¢X(² ÐcH›Ñ
î&q’ºñ¿7]�ÚÓÀ¾ÇÌºók\\žŸ\ß†6ˆº,J,½6©%¬<›†)F�û¶ì]O.A;ƒD}èt¢*ƒ½¹zó©?þ‘œÖBØwHLlŒ”äÙ”±Fµ¤
q�?Bœ§¸Aâ-]åÓ×Ö2)ï6$a,;Ý“Têi±|Tª@…i=„Y—¯­òõS{59Îc=¿mæoÏÙ¬šÅËÃhÿ^ˆ¿b§åU…
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/3e/22fe2477f9c2d3bfc1c2985de16048fb52a4fe and ./wordpress-3.4/.git/objects/3e/22fe2477f9c2d3bfc1c2985de16048fb52a4fe differ
Binary files ./wordpress-3.3.2/.git/objects/3e/6a67508a00cc5e884922d0b553e06e7dfed01d and ./wordpress-3.4/.git/objects/3e/6a67508a00cc5e884922d0b553e06e7dfed01d differ
Binary files ./wordpress-3.3.2/.git/objects/3f/5718876d92fba8cccd9b75d8cfb982392844c7 and ./wordpress-3.4/.git/objects/3f/5718876d92fba8cccd9b75d8cfb982392844c7 differ
Binary files ./wordpress-3.3.2/.git/objects/3f/a52e7912d0294e7b8f0af57deba3d7f75dadbd and ./wordpress-3.4/.git/objects/3f/a52e7912d0294e7b8f0af57deba3d7f75dadbd differ
Binary files ./wordpress-3.3.2/.git/objects/40/979239a80b88189c8c1e5ec2c251320146d51b and ./wordpress-3.4/.git/objects/40/979239a80b88189c8c1e5ec2c251320146d51b differ
Binary files ./wordpress-3.3.2/.git/objects/40/d978ff48040a251a81fcd1fd25d7e53879693e and ./wordpress-3.4/.git/objects/40/d978ff48040a251a81fcd1fd25d7e53879693e differ
Binary files ./wordpress-3.3.2/.git/objects/41/82718cb5549a1ba031f044d72a8982cfa2e6f7 and ./wordpress-3.4/.git/objects/41/82718cb5549a1ba031f044d72a8982cfa2e6f7 differ
Binary files ./wordpress-3.3.2/.git/objects/41/e07ba648c4b7b4b7deb7f23e52cc78627485cb and ./wordpress-3.4/.git/objects/41/e07ba648c4b7b4b7deb7f23e52cc78627485cb differ
Binary files ./wordpress-3.3.2/.git/objects/41/f6019ecd8887e0632bbe5a0db0bcd25802c154 and ./wordpress-3.4/.git/objects/41/f6019ecd8887e0632bbe5a0db0bcd25802c154 differ
Binary files ./wordpress-3.3.2/.git/objects/42/1de55d16af49aa1d3276eb9e5d4f89510c045b and ./wordpress-3.4/.git/objects/42/1de55d16af49aa1d3276eb9e5d4f89510c045b differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/42/75a59bfe5d4b1a0f29388e574355d2447fdf17 ./wordpress-3.4/.git/objects/42/75a59bfe5d4b1a0f29388e574355d2447fdf17
*** ./wordpress-3.3.2/.git/objects/42/75a59bfe5d4b1a0f29388e574355d2447fdf17	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/42/75a59bfe5d4b1a0f29388e574355d2447fdf17	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ xUSßOÛ0Þ3…ñCƒã6¤-UTM{HÀ~�x@<8Î%q—Æ™íPÚÿ}ç´´T‘œË}wç»ï»dµÉÈ—‹‹ã“c2ÿÕ�}%÷W$&Ë3ñYœOÐ:Ÿœ�Ç“OñÇÉÑ	©¼o]2—ÚW]&”YŒçÿBÖöw£®Uw9¸„l@EÊ;áj�ƒ˜;ŒùfÚW«ËÊ“H±áòõþîòÇï?Â¿ø)¹Ö
+ 9¹¹ºãäûÏkr2>ŠŠ®Q^›&’<c½<,œîPÄ,øÎ6ÄWÚ	ì°ƒ}.ë—Ò•Ê( Œçé#m�Ó¡0åÔ›ÏÌxohÔPx|
½Ò'é»[Áß˜"Å3aÚ�îÄ«u•y¦ŒéÉµE0á¡èô]%¹erÆ•©ã{PY�¬l[°È–PÎE½Y‚-jóœÐJç94tÍ¦a®2-Ò”v-]­‚‘›ç†Î†¡’í,ÕaÄÐË,0@Ú@I¹>èÚyÙ(œ)*±\ g¦„é<ØKúEýBÚR7ÉñdÍ’-ô s_ l
+ ˜>Ð2©a„’Wè
+ ÷Î´»•·‘f3ÓS�Ä:Ñ›iæi¿žÎË§4ÚåÏviô4Åžc<ö®ðüìT#™²Ñ$/šó~Ø‚äøŒç�•A‡$o&étS¢çMÇ�ƒã†·5xHv»ÅúÐr4Œµ,8oìVÍ½ˆ¨Ø^D\%ë:“êïh´·Š\¿‹É‘Ön�ÇU"‡Í³õšá³fÑæweÓÿüBÊ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/42/75acac5b7b27d70e6ec29fe4c7dc8549a056b1 and ./wordpress-3.4/.git/objects/42/75acac5b7b27d70e6ec29fe4c7dc8549a056b1 differ
Binary files ./wordpress-3.3.2/.git/objects/42/af070ae9803e9a3a941695c5698d4bafed7646 and ./wordpress-3.4/.git/objects/42/af070ae9803e9a3a941695c5698d4bafed7646 differ
Binary files ./wordpress-3.3.2/.git/objects/42/cd217dce616413d9c8f45936f5adea36840ca9 and ./wordpress-3.4/.git/objects/42/cd217dce616413d9c8f45936f5adea36840ca9 differ
Binary files ./wordpress-3.3.2/.git/objects/42/d93654dea863e02945b30ffec62131de99a4a3 and ./wordpress-3.4/.git/objects/42/d93654dea863e02945b30ffec62131de99a4a3 differ
Binary files ./wordpress-3.3.2/.git/objects/42/df103d41bef47ad422a65ec46fe812de0a0000 and ./wordpress-3.4/.git/objects/42/df103d41bef47ad422a65ec46fe812de0a0000 differ
Binary files ./wordpress-3.3.2/.git/objects/43/1a146a67bc59b67b65cd66439bf48923b0ee49 and ./wordpress-3.4/.git/objects/43/1a146a67bc59b67b65cd66439bf48923b0ee49 differ
Binary files ./wordpress-3.3.2/.git/objects/43/523ca6980d58a8d8f517fae6157700b8e710d2 and ./wordpress-3.4/.git/objects/43/523ca6980d58a8d8f517fae6157700b8e710d2 differ
Binary files ./wordpress-3.3.2/.git/objects/43/82a11ca43c7a7fc581b061672df11f977de5a2 and ./wordpress-3.4/.git/objects/43/82a11ca43c7a7fc581b061672df11f977de5a2 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/43/9fcdb81e19b63837a6ae2bd356cb56423f656b ./wordpress-3.4/.git/objects/43/9fcdb81e19b63837a6ae2bd356cb56423f656b
*** ./wordpress-3.3.2/.git/objects/43/9fcdb81e19b63837a6ae2bd356cb56423f656b	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/43/9fcdb81e19b63837a6ae2bd356cb56423f656b	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,6 ----
+ x­–MoÚ@†{Å¿bz2D¤6·VjIQ[¤¡†*Gkí`Å~Õ»nRUùï�]C”@V
+ r/y=Ï;_žq)M	ï..Þ¿ùøÉnl6>;Ëàfº’
GLJ0+ð„[SóE�ÎÁ„+¡…ó5óÂh˜,f°ÝˆLƒõgËª-[?1‰w]Sîžètœeb}xWB#ïç·‹b2�Ï®óàoÖ�a¹.J]Kz
¢õ”Ãª6
+ X{jÈßšœfîì�wÇñwD1žƒ3‘æŒBpèwÌ�Û
+ k‘�`Î¶t¿©1†í@QÜ!¢Šy&
É:�†qäàÈŒ¼p£ ÷Y#}áñÞs£˜ÐýÜ	J£66ì77šø†\'UF‡§GY/žXB¾Ãåç@é¸š\+¦³0‚¼�g˜Óÿ5úBšŠI$):)“ÃàCö�…r>©Û¥1[ÅêíK¤
+ Ôø«5†êO.o“å÷À{Lá.×n\î@!�9)è|1J¡ö�eª–“PyÞCð•:0¶âI‘„¾Mðg*ü@%ôúI"P
+ sä‚uVP�’P˜)kêî…“Ð˜Wu‚ 	þB6kzUºÂFLJÃ¸îY²Iðœ¿©jÄvpžÔL.Ú%4–ìÞh£þtÎ”ß�R:¨¬d¾û«áw „ÎmX²2¼ÖÇ‡i%s4‘%£•tR£É�Æš$‰¡{^?�m¦àrƒ´_^pý$_i“©Gï~:Úr]‚ì£?ä[þ?êÜDLBcŠ¶FÚª´I»FÂQ	­9-fáµ®kl;Ûq?=„+ÔþZ¤ñ›ãõí Ü^´wŠÑðØé‡ìŠ¸/`
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/43/c37033e0ec42dba47c09a99efa2d9fd28a7da5 and ./wordpress-3.4/.git/objects/43/c37033e0ec42dba47c09a99efa2d9fd28a7da5 differ
Binary files ./wordpress-3.3.2/.git/objects/43/c37ab65b418437b82604051987fe864c5bbec9 and ./wordpress-3.4/.git/objects/43/c37ab65b418437b82604051987fe864c5bbec9 differ
Binary files ./wordpress-3.3.2/.git/objects/43/e82f8a6bfe97d79e91d2e2644f9665b68773eb and ./wordpress-3.4/.git/objects/43/e82f8a6bfe97d79e91d2e2644f9665b68773eb differ
Binary files ./wordpress-3.3.2/.git/objects/43/e9ac409938e6fa19d813a445ff5d707d416d69 and ./wordpress-3.4/.git/objects/43/e9ac409938e6fa19d813a445ff5d707d416d69 differ
Binary files ./wordpress-3.3.2/.git/objects/44/6174d4dea6409f8a2ef7381caa485b3f05732a and ./wordpress-3.4/.git/objects/44/6174d4dea6409f8a2ef7381caa485b3f05732a differ
Binary files ./wordpress-3.3.2/.git/objects/44/9e1b37a860e01f4a8e5189ddae0a446747462d and ./wordpress-3.4/.git/objects/44/9e1b37a860e01f4a8e5189ddae0a446747462d differ
Binary files ./wordpress-3.3.2/.git/objects/44/b2aa57e9bd5291018af026ca4ae14dbfcb1c7b and ./wordpress-3.4/.git/objects/44/b2aa57e9bd5291018af026ca4ae14dbfcb1c7b differ
Binary files ./wordpress-3.3.2/.git/objects/44/d8294ac5e81e2d77a3d7211564db7f4fde3b16 and ./wordpress-3.4/.git/objects/44/d8294ac5e81e2d77a3d7211564db7f4fde3b16 differ
Binary files ./wordpress-3.3.2/.git/objects/44/d96a0426f50503b73355d834a5ef70b72c8c7a and ./wordpress-3.4/.git/objects/44/d96a0426f50503b73355d834a5ef70b72c8c7a differ
Binary files ./wordpress-3.3.2/.git/objects/45/43e55b8bef3e4f7be591801854c60f7213c12d and ./wordpress-3.4/.git/objects/45/43e55b8bef3e4f7be591801854c60f7213c12d differ
Binary files ./wordpress-3.3.2/.git/objects/45/7aed02951192e34a1ca5f159baaa5abac299fe and ./wordpress-3.4/.git/objects/45/7aed02951192e34a1ca5f159baaa5abac299fe differ
Binary files ./wordpress-3.3.2/.git/objects/45/7f199c3db445e2323585de93a0313e75b6d1e0 and ./wordpress-3.4/.git/objects/45/7f199c3db445e2323585de93a0313e75b6d1e0 differ
Binary files ./wordpress-3.3.2/.git/objects/45/8ab30b6a07beefe0153c3a6f3da20e4030826d and ./wordpress-3.4/.git/objects/45/8ab30b6a07beefe0153c3a6f3da20e4030826d differ
Binary files ./wordpress-3.3.2/.git/objects/45/ddd2f6c856506599e377ed381dbe5ba976acb9 and ./wordpress-3.4/.git/objects/45/ddd2f6c856506599e377ed381dbe5ba976acb9 differ
Binary files ./wordpress-3.3.2/.git/objects/45/f7f79cfd430ade84bbf937f5e4d95d1c41055b and ./wordpress-3.4/.git/objects/45/f7f79cfd430ade84bbf937f5e4d95d1c41055b differ
Binary files ./wordpress-3.3.2/.git/objects/46/007b04267cfe985e53cb46de90f3a36fc8d45b and ./wordpress-3.4/.git/objects/46/007b04267cfe985e53cb46de90f3a36fc8d45b differ
Binary files ./wordpress-3.3.2/.git/objects/46/50ffe1e42433279277a5f2cfb67904ceb5f02a and ./wordpress-3.4/.git/objects/46/50ffe1e42433279277a5f2cfb67904ceb5f02a differ
Binary files ./wordpress-3.3.2/.git/objects/46/d95b97849ce4cb08f3256f936a9018e3f4d923 and ./wordpress-3.4/.git/objects/46/d95b97849ce4cb08f3256f936a9018e3f4d923 differ
Binary files ./wordpress-3.3.2/.git/objects/46/e3e16b590ef69a3ac96f01f4e6303f75887e93 and ./wordpress-3.4/.git/objects/46/e3e16b590ef69a3ac96f01f4e6303f75887e93 differ
Binary files ./wordpress-3.3.2/.git/objects/46/e45e34d837f89d2896c41fa0a056bd301ee48a and ./wordpress-3.4/.git/objects/46/e45e34d837f89d2896c41fa0a056bd301ee48a differ
Binary files ./wordpress-3.3.2/.git/objects/47/175243585e68a1e2df3bf737d50f7cf62b6490 and ./wordpress-3.4/.git/objects/47/175243585e68a1e2df3bf737d50f7cf62b6490 differ
Binary files ./wordpress-3.3.2/.git/objects/47/2cb133d6bf3ae821c06972059004f496629c24 and ./wordpress-3.4/.git/objects/47/2cb133d6bf3ae821c06972059004f496629c24 differ
Binary files ./wordpress-3.3.2/.git/objects/47/338c99fa84241ff4f5694863bf4c763e639b16 and ./wordpress-3.4/.git/objects/47/338c99fa84241ff4f5694863bf4c763e639b16 differ
Binary files ./wordpress-3.3.2/.git/objects/47/76a52f81bcb82c38db24fe23528655317f75cb and ./wordpress-3.4/.git/objects/47/76a52f81bcb82c38db24fe23528655317f75cb differ
Binary files ./wordpress-3.3.2/.git/objects/47/a39255a120184362db8b8cf835e81ac5132c84 and ./wordpress-3.4/.git/objects/47/a39255a120184362db8b8cf835e81ac5132c84 differ
Binary files ./wordpress-3.3.2/.git/objects/47/a999e1f613af1eb0fb2f295a26505ad561c588 and ./wordpress-3.4/.git/objects/47/a999e1f613af1eb0fb2f295a26505ad561c588 differ
Binary files ./wordpress-3.3.2/.git/objects/47/dd4e5bd88e8238aec83f18f863ac6e231ece24 and ./wordpress-3.4/.git/objects/47/dd4e5bd88e8238aec83f18f863ac6e231ece24 differ
Binary files ./wordpress-3.3.2/.git/objects/47/e4009e787c059f639469aca5607bcd253417c7 and ./wordpress-3.4/.git/objects/47/e4009e787c059f639469aca5607bcd253417c7 differ
Binary files ./wordpress-3.3.2/.git/objects/48/39b504e27938e4ec612d4c4727f9edfd6dbac7 and ./wordpress-3.4/.git/objects/48/39b504e27938e4ec612d4c4727f9edfd6dbac7 differ
Binary files ./wordpress-3.3.2/.git/objects/48/69b6bcc8cd36b55cf8bb4da02f11836d6c18db and ./wordpress-3.4/.git/objects/48/69b6bcc8cd36b55cf8bb4da02f11836d6c18db differ
Binary files ./wordpress-3.3.2/.git/objects/48/744fab7c46dd89f3c30c68018e467939c9be5e and ./wordpress-3.4/.git/objects/48/744fab7c46dd89f3c30c68018e467939c9be5e differ
Binary files ./wordpress-3.3.2/.git/objects/48/812635017e38456dc9dc3f2c493de6de4e74f1 and ./wordpress-3.4/.git/objects/48/812635017e38456dc9dc3f2c493de6de4e74f1 differ
Binary files ./wordpress-3.3.2/.git/objects/48/8e3a01f21c48a67126560fe2f9fed7065a39eb and ./wordpress-3.4/.git/objects/48/8e3a01f21c48a67126560fe2f9fed7065a39eb differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/48/a8d67afe194f62886da0497c8ea2525475d4ca ./wordpress-3.4/.git/objects/48/a8d67afe194f62886da0497c8ea2525475d4ca
*** ./wordpress-3.3.2/.git/objects/48/a8d67afe194f62886da0497c8ea2525475d4ca	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/48/a8d67afe194f62886da0497c8ea2525475d4ca	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- xm’ÍnÂ0„{�Ÿb•
- …C+…J½$ªþH¥R�–‰7à’Ø‘íPÅ»×N @á˜ÝÙÝ™Ï™çjƒû›Ç§rY’~·K oŠW9Â;+0�ñÆj3ÁqÎ4|¾@kNTÏhR-J+”tbfD¾Æ9ˆ‚-Ðôàk-¬E
UÉ™õ&9lU¥Á‹¡�ÏÙr!W¬jv‰…ï˜æhì¯Í”¶ð¡9ê†w¾2ÚX˜J«�Ýyƒxè}B²J¦Þü -Yº¢¹bœ®ïQ~I�)�,]B/�&Iu"àBK>J'Ó×1¥Ð�Âþ~Cè>™�ÛL8Jõ¶@È4¯86µ	vdGˆÃ@Ym$‚ð`¥¨ášÚò°wìì·:Ð]Ir.j²´	P²yŽ´9AS%3±¨´¯�FqöÚ‰ÿRO­6p¸â°ÝÜÊ’‘�|Aþà÷r¤ñ¾.©aR�:¦6r?O!$­tî í§c÷*º»àFX* ¢ç�;"ÔÝõb
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/48/bb1a3182a7da35f9b7342f884e17de437c5f5d and ./wordpress-3.4/.git/objects/48/bb1a3182a7da35f9b7342f884e17de437c5f5d differ
Binary files ./wordpress-3.3.2/.git/objects/48/e8f7ef1d8f4f452f32aa51fa48b14b7b98b049 and ./wordpress-3.4/.git/objects/48/e8f7ef1d8f4f452f32aa51fa48b14b7b98b049 differ
Binary files ./wordpress-3.3.2/.git/objects/49/18f1f77bda71c06e8cfdeef6d7f8322243a807 and ./wordpress-3.4/.git/objects/49/18f1f77bda71c06e8cfdeef6d7f8322243a807 differ
Binary files ./wordpress-3.3.2/.git/objects/49/33202819949ec3c9c0f38a529c3be7a05459da and ./wordpress-3.4/.git/objects/49/33202819949ec3c9c0f38a529c3be7a05459da differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/49/403ecc2d8a343da95ad8d354b4f16a73f094d9 ./wordpress-3.4/.git/objects/49/403ecc2d8a343da95ad8d354b4f16a73f094d9
*** ./wordpress-3.3.2/.git/objects/49/403ecc2d8a343da95ad8d354b4f16a73f094d9	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/49/403ecc2d8a343da95ad8d354b4f16a73f094d9	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x}�AKÄ0…=÷WÌ­ZvÛƒÅõRñ °°•=.i3ÛÓ$&Ó]ü÷Nê¢°§@à}ï›××ÃõíÍÅýÊ+_4UU@OÁYr@
- aë‚\Œ„÷F‚´³5tJGØkƒ F[¿ ì')mÇô3�qBÆÄ;úeoÜ¸T($†š›à¨ô r”C�‰'UÜ�ÒY€%&¬™“P�^ïb<Ñâß¦ø6ïÎp~ÉÄÜëfòlªé‡zçLÆJÜk‹—åv½{Û´»î¹}m7å(Ìxu—[á%]ùg©Ö4o8!Ï˜ÎëpòF&Õ€³­›ÿ»”L]=|Oƒ™
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/49/406f61c7d03597b94ccf80e86cc6451dfbb316 and ./wordpress-3.4/.git/objects/49/406f61c7d03597b94ccf80e86cc6451dfbb316 differ
Binary files ./wordpress-3.3.2/.git/objects/49/65c7270b2001ab6e5ba476a0b9ba4f7030fc17 and ./wordpress-3.4/.git/objects/49/65c7270b2001ab6e5ba476a0b9ba4f7030fc17 differ
Binary files ./wordpress-3.3.2/.git/objects/49/7f683cf239c7f52f09d8270352bca2f84a4aea and ./wordpress-3.4/.git/objects/49/7f683cf239c7f52f09d8270352bca2f84a4aea differ
Binary files ./wordpress-3.3.2/.git/objects/4a/2a0f42589ddf58e609ce884974bce99c6ce2cf and ./wordpress-3.4/.git/objects/4a/2a0f42589ddf58e609ce884974bce99c6ce2cf differ
Binary files ./wordpress-3.3.2/.git/objects/4a/dc3677fb6c6805bedc7db72ae2ac6047ddc3ec and ./wordpress-3.4/.git/objects/4a/dc3677fb6c6805bedc7db72ae2ac6047ddc3ec differ
Binary files ./wordpress-3.3.2/.git/objects/4a/e317b8985b8c7190d591f15951ef11a9625657 and ./wordpress-3.4/.git/objects/4a/e317b8985b8c7190d591f15951ef11a9625657 differ
Binary files ./wordpress-3.3.2/.git/objects/4b/0eb2eeb3a7036e87d9e68f3b7b2aa711cba683 and ./wordpress-3.4/.git/objects/4b/0eb2eeb3a7036e87d9e68f3b7b2aa711cba683 differ
Binary files ./wordpress-3.3.2/.git/objects/4b/21e446e34502f5afc3d3eb4d36706ed9fcb3f2 and ./wordpress-3.4/.git/objects/4b/21e446e34502f5afc3d3eb4d36706ed9fcb3f2 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/4b/4f622d95289adfe612c7e346297ea880952a6c ./wordpress-3.4/.git/objects/4b/4f622d95289adfe612c7e346297ea880952a6c
*** ./wordpress-3.3.2/.git/objects/4b/4f622d95289adfe612c7e346297ea880952a6c	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/4b/4f622d95289adfe612c7e346297ea880952a6c	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ xe�Ë
+ Â0E]ç+f!D¶ àFE]ˆ[AÅ…HIšAƒm&æ�¿oSèBÝÎ¹—{FÖ$a:›–kû°¬È2œmMB�Á74¨´€­j´Ñ>848VÑäm4¥7VTOqG¸�S‡ÞwWe¾ë--–ûÝéÊµ©µA~ƒðà"òE’ø”D!­ÛTuøŠÚaI¦ÂÏ‘äòVŸ�°óŸÄî¡>ó`ïOS
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/4b/9293b1d1307c9e4b5e53b4d12bc1cdc2589617 and ./wordpress-3.4/.git/objects/4b/9293b1d1307c9e4b5e53b4d12bc1cdc2589617 differ
Binary files ./wordpress-3.3.2/.git/objects/4b/a5d145dbb9528830bf5c2abfc9866d085fd706 and ./wordpress-3.4/.git/objects/4b/a5d145dbb9528830bf5c2abfc9866d085fd706 differ
Binary files ./wordpress-3.3.2/.git/objects/4b/bf71b4b488278111f271f009b2ed320fb42811 and ./wordpress-3.4/.git/objects/4b/bf71b4b488278111f271f009b2ed320fb42811 differ
Binary files ./wordpress-3.3.2/.git/objects/4b/ee9e1afdb0ff0eccdf070d4252dcc69a0e0fd4 and ./wordpress-3.4/.git/objects/4b/ee9e1afdb0ff0eccdf070d4252dcc69a0e0fd4 differ
Binary files ./wordpress-3.3.2/.git/objects/4c/7e0853b5d95022837b754c3fbf87668170cd66 and ./wordpress-3.4/.git/objects/4c/7e0853b5d95022837b754c3fbf87668170cd66 differ
Binary files ./wordpress-3.3.2/.git/objects/4c/87a877fada057be4035999f1267b2d12f35680 and ./wordpress-3.4/.git/objects/4c/87a877fada057be4035999f1267b2d12f35680 differ
Binary files ./wordpress-3.3.2/.git/objects/4c/a526143840ced37df04eb8c9997d98562ca74a and ./wordpress-3.4/.git/objects/4c/a526143840ced37df04eb8c9997d98562ca74a differ
Binary files ./wordpress-3.3.2/.git/objects/4c/d26adc41a81552da3699d5b9746b19c396d135 and ./wordpress-3.4/.git/objects/4c/d26adc41a81552da3699d5b9746b19c396d135 differ
Binary files ./wordpress-3.3.2/.git/objects/4c/e2f6ebea40117f29bebd66991499d0c3f95924 and ./wordpress-3.4/.git/objects/4c/e2f6ebea40117f29bebd66991499d0c3f95924 differ
Binary files ./wordpress-3.3.2/.git/objects/4d/022774178209526d4fccf5f0c5e692c2ca9d6c and ./wordpress-3.4/.git/objects/4d/022774178209526d4fccf5f0c5e692c2ca9d6c differ
Binary files ./wordpress-3.3.2/.git/objects/4d/4d8c487d365d6831a49100552121b423da2334 and ./wordpress-3.4/.git/objects/4d/4d8c487d365d6831a49100552121b423da2334 differ
Binary files ./wordpress-3.3.2/.git/objects/4d/525d69c041ef1437f8252eb50630936bbe2e99 and ./wordpress-3.4/.git/objects/4d/525d69c041ef1437f8252eb50630936bbe2e99 differ
Binary files ./wordpress-3.3.2/.git/objects/4d/63ca98103e7273001bab311fa45e08bf753bae and ./wordpress-3.4/.git/objects/4d/63ca98103e7273001bab311fa45e08bf753bae differ
Binary files ./wordpress-3.3.2/.git/objects/4d/89a6a0dc60077e71f9bbad407fad8bef7f9d39 and ./wordpress-3.4/.git/objects/4d/89a6a0dc60077e71f9bbad407fad8bef7f9d39 differ
Binary files ./wordpress-3.3.2/.git/objects/4d/e97103a0d267e4815ac2006d6d4e68bd59a8d1 and ./wordpress-3.4/.git/objects/4d/e97103a0d267e4815ac2006d6d4e68bd59a8d1 differ
Binary files ./wordpress-3.3.2/.git/objects/4e/50b9383312dc4c26c6bd95da098b911b664cc5 and ./wordpress-3.4/.git/objects/4e/50b9383312dc4c26c6bd95da098b911b664cc5 differ
Binary files ./wordpress-3.3.2/.git/objects/4e/5daabd4d2f2f07ed8a98e6d21ba7035b28b4ba and ./wordpress-3.4/.git/objects/4e/5daabd4d2f2f07ed8a98e6d21ba7035b28b4ba differ
Binary files ./wordpress-3.3.2/.git/objects/4e/bec5e74b0f3619ce0b2c66b32987750873cb45 and ./wordpress-3.4/.git/objects/4e/bec5e74b0f3619ce0b2c66b32987750873cb45 differ
Binary files ./wordpress-3.3.2/.git/objects/4e/cc9548ef9b22321c6fdaac03fdfa7ea7588ba0 and ./wordpress-3.4/.git/objects/4e/cc9548ef9b22321c6fdaac03fdfa7ea7588ba0 differ
Binary files ./wordpress-3.3.2/.git/objects/4e/ffe52fc88cb5b10a52eb144b2b7dcacdec1a37 and ./wordpress-3.4/.git/objects/4e/ffe52fc88cb5b10a52eb144b2b7dcacdec1a37 differ
Binary files ./wordpress-3.3.2/.git/objects/4f/30c6779e7edaaa6a6697213f60d4aa9d9f6d94 and ./wordpress-3.4/.git/objects/4f/30c6779e7edaaa6a6697213f60d4aa9d9f6d94 differ
Binary files ./wordpress-3.3.2/.git/objects/4f/3722c187b43eaa22f2fb5a32bce4d8356ffdbf and ./wordpress-3.4/.git/objects/4f/3722c187b43eaa22f2fb5a32bce4d8356ffdbf differ
Binary files ./wordpress-3.3.2/.git/objects/4f/40f96a61c2892ab173eca57cb3ab602be169aa and ./wordpress-3.4/.git/objects/4f/40f96a61c2892ab173eca57cb3ab602be169aa differ
Binary files ./wordpress-3.3.2/.git/objects/4f/52758aa3fbbcb8db418f3cb0e70f26be6f78e4 and ./wordpress-3.4/.git/objects/4f/52758aa3fbbcb8db418f3cb0e70f26be6f78e4 differ
Binary files ./wordpress-3.3.2/.git/objects/4f/69099240352c36ae14183e424dfe00ef2b3461 and ./wordpress-3.4/.git/objects/4f/69099240352c36ae14183e424dfe00ef2b3461 differ
Binary files ./wordpress-3.3.2/.git/objects/4f/72070943ecaeb68faed0def9697aa8db29fc1d and ./wordpress-3.4/.git/objects/4f/72070943ecaeb68faed0def9697aa8db29fc1d differ
Binary files ./wordpress-3.3.2/.git/objects/4f/8bc3582593ddb8c5a0b43e6731407f0adb4c38 and ./wordpress-3.4/.git/objects/4f/8bc3582593ddb8c5a0b43e6731407f0adb4c38 differ
Binary files ./wordpress-3.3.2/.git/objects/4f/df2064c79441181fb4580f1d04339562ce2a37 and ./wordpress-3.4/.git/objects/4f/df2064c79441181fb4580f1d04339562ce2a37 differ
Binary files ./wordpress-3.3.2/.git/objects/50/0c8a89a05f87aef5ca5d63713e2aad5f9d0290 and ./wordpress-3.4/.git/objects/50/0c8a89a05f87aef5ca5d63713e2aad5f9d0290 differ
Binary files ./wordpress-3.3.2/.git/objects/50/62ebf067c29e18070cf8bb8258ced7f336480e and ./wordpress-3.4/.git/objects/50/62ebf067c29e18070cf8bb8258ced7f336480e differ
Binary files ./wordpress-3.3.2/.git/objects/50/cb37589dc806432f5c03efe79aaaad3b22567e and ./wordpress-3.4/.git/objects/50/cb37589dc806432f5c03efe79aaaad3b22567e differ
Binary files ./wordpress-3.3.2/.git/objects/50/ceee84de689ae530fcf55d646e331ac96d507d and ./wordpress-3.4/.git/objects/50/ceee84de689ae530fcf55d646e331ac96d507d differ
Binary files ./wordpress-3.3.2/.git/objects/51/b741d2ac974eec7cafe2df28ce46a7ba782781 and ./wordpress-3.4/.git/objects/51/b741d2ac974eec7cafe2df28ce46a7ba782781 differ
Binary files ./wordpress-3.3.2/.git/objects/52/1b0dd01c0137dcd36128914c2591a56fe41155 and ./wordpress-3.4/.git/objects/52/1b0dd01c0137dcd36128914c2591a56fe41155 differ
Binary files ./wordpress-3.3.2/.git/objects/52/1f28b56ca7f88dfc477603e2b05f628807f487 and ./wordpress-3.4/.git/objects/52/1f28b56ca7f88dfc477603e2b05f628807f487 differ
Binary files ./wordpress-3.3.2/.git/objects/53/1b308d247037cea68234ead01f89be4656f296 and ./wordpress-3.4/.git/objects/53/1b308d247037cea68234ead01f89be4656f296 differ
Binary files ./wordpress-3.3.2/.git/objects/53/d784a28a4fcafaf2eae96b0040a0342ee33047 and ./wordpress-3.4/.git/objects/53/d784a28a4fcafaf2eae96b0040a0342ee33047 differ
Binary files ./wordpress-3.3.2/.git/objects/54/78da90d8a7f67bd7de69c722a7b3fdbc1070cf and ./wordpress-3.4/.git/objects/54/78da90d8a7f67bd7de69c722a7b3fdbc1070cf differ
Binary files ./wordpress-3.3.2/.git/objects/54/971c930f5370c964d8378baf34c53f5bbfde32 and ./wordpress-3.4/.git/objects/54/971c930f5370c964d8378baf34c53f5bbfde32 differ
Binary files ./wordpress-3.3.2/.git/objects/54/d75f32cd1b64057086c884a95f027aca1b0b0c and ./wordpress-3.4/.git/objects/54/d75f32cd1b64057086c884a95f027aca1b0b0c differ
Binary files ./wordpress-3.3.2/.git/objects/55/06266479185a17aee35d560943bf9c7ba7d346 and ./wordpress-3.4/.git/objects/55/06266479185a17aee35d560943bf9c7ba7d346 differ
Binary files ./wordpress-3.3.2/.git/objects/55/559a312f454acdf3aee5d5a6c59db497469cb7 and ./wordpress-3.4/.git/objects/55/559a312f454acdf3aee5d5a6c59db497469cb7 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/55/6deab9c64cfb4e694fbd349b1aa65e383ba7c0 ./wordpress-3.4/.git/objects/55/6deab9c64cfb4e694fbd349b1aa65e383ba7c0
*** ./wordpress-3.3.2/.git/objects/55/6deab9c64cfb4e694fbd349b1aa65e383ba7c0	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/55/6deab9c64cfb4e694fbd349b1aa65e383ba7c0	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,4 ****
- x=�MOÂ@†=÷WÌÁ¤-b["1&‘D
$�x0f3¥Ý€Ýug±úï�Eô¸³Ï¼SîM	ýÞÕÙíÐÖ6Ê;�:0v„ž|M`‘¹5®‚µ1;M€MŽ*íhíJ\ïÀhkrø°þ©Y{ã Ehce2?÷VxÜ¼ˆâÂ³Ló(øÂ3îøp”Aôþ§ 4Æ³wh¡QwhNÂ’ªñº9èf›%G‰–€lð�¥fO¥RÈ Î[{¹7XeÒ5Nâ›C¯€
- ¿9bò¿
“X(kØ‡æ*–½ñ|þ8›LGËi$„¶¼G®‰8W‹ùrõ\ý]*~ƒ´^‹{
- psÝ/Š¢{RYŒVÓàÜZÅ¸!õwÊD[òòÞÈ%]’
- D_Ú¢á]ôž‡ê
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/55/80e87be8c9d439dd933f53bfc60df3802c70ed and ./wordpress-3.4/.git/objects/55/80e87be8c9d439dd933f53bfc60df3802c70ed differ
Binary files ./wordpress-3.3.2/.git/objects/55/a2056f11623ff4e9b56f2321385bd9c2264efe and ./wordpress-3.4/.git/objects/55/a2056f11623ff4e9b56f2321385bd9c2264efe differ
Binary files ./wordpress-3.3.2/.git/objects/56/ce4f42db3344a1d2713ff2445d3fc0a7c5892f and ./wordpress-3.4/.git/objects/56/ce4f42db3344a1d2713ff2445d3fc0a7c5892f differ
Binary files ./wordpress-3.3.2/.git/objects/56/fdf6bcaf73b9894794a8e42fe7afc6e11af69a and ./wordpress-3.4/.git/objects/56/fdf6bcaf73b9894794a8e42fe7afc6e11af69a differ
Binary files ./wordpress-3.3.2/.git/objects/57/0444350d6b2e3a9b6dcb637f7531cfd4887d72 and ./wordpress-3.4/.git/objects/57/0444350d6b2e3a9b6dcb637f7531cfd4887d72 differ
Binary files ./wordpress-3.3.2/.git/objects/57/7750c98e2f05207ddb280d90a08ff474592bd0 and ./wordpress-3.4/.git/objects/57/7750c98e2f05207ddb280d90a08ff474592bd0 differ
Binary files ./wordpress-3.3.2/.git/objects/57/c3ed5443d7701a499a49037843db9b75684f5e and ./wordpress-3.4/.git/objects/57/c3ed5443d7701a499a49037843db9b75684f5e differ
Binary files ./wordpress-3.3.2/.git/objects/57/f4a854b1857cbd34d3083117740478aaa8d0f0 and ./wordpress-3.4/.git/objects/57/f4a854b1857cbd34d3083117740478aaa8d0f0 differ
Binary files ./wordpress-3.3.2/.git/objects/58/5d772d6d3c23626fddfa58c4220b056783e148 and ./wordpress-3.4/.git/objects/58/5d772d6d3c23626fddfa58c4220b056783e148 differ
Binary files ./wordpress-3.3.2/.git/objects/58/796b258d36157a217abbe969cc15e593d048c5 and ./wordpress-3.4/.git/objects/58/796b258d36157a217abbe969cc15e593d048c5 differ
Binary files ./wordpress-3.3.2/.git/objects/58/826e7804e2bbc4db836b46607281203f301f00 and ./wordpress-3.4/.git/objects/58/826e7804e2bbc4db836b46607281203f301f00 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/58/8399e262d1296954488d83b18f2771402bf438 ./wordpress-3.4/.git/objects/58/8399e262d1296954488d83b18f2771402bf438
*** ./wordpress-3.3.2/.git/objects/58/8399e262d1296954488d83b18f2771402bf438	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/58/8399e262d1296954488d83b18f2771402bf438	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xMŽÁJ1†Wô”£g#xÓ´I¨°Í²'mKÅ¥TñšÝŽ‰É’DÑñõ¼ø"�UÐ~Ì3Ì?0­-¨ò²ø:>ú,ˆò„<#Ér $¿É)9dþhnøßl²Áók“QƒRq1¡¥´”z2=[-W3~‡qÈj�#Á®‚Ïè3ß|ôt˜ñ=�{g¬¯ {21a®o7s^þç¢ñé#Ÿù.l­ÔP¶6³Æ½Fãø<Ä—¤Á÷?cªU¿míá´Y±{¾@�Ñä5,\ÈMÄ”Æb$YÃ3v™/·û?*Ú;Æ<M—
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/58/c1d8e2b6b43e4409c79253efeaa965de2ec561 and ./wordpress-3.4/.git/objects/58/c1d8e2b6b43e4409c79253efeaa965de2ec561 differ
Binary files ./wordpress-3.3.2/.git/objects/58/c75d26a42d534b7a3f7fc0d01e2f3d2918f2ca and ./wordpress-3.4/.git/objects/58/c75d26a42d534b7a3f7fc0d01e2f3d2918f2ca differ
Binary files ./wordpress-3.3.2/.git/objects/58/f6f7de2863ade31832939646d5ae2f83e163ad and ./wordpress-3.4/.git/objects/58/f6f7de2863ade31832939646d5ae2f83e163ad differ
Binary files ./wordpress-3.3.2/.git/objects/59/1f017363e15842a68ef2f94e4126c7cfef9c34 and ./wordpress-3.4/.git/objects/59/1f017363e15842a68ef2f94e4126c7cfef9c34 differ
Binary files ./wordpress-3.3.2/.git/objects/59/3dfb964f929f560927a160ad59945ad0935824 and ./wordpress-3.4/.git/objects/59/3dfb964f929f560927a160ad59945ad0935824 differ
Binary files ./wordpress-3.3.2/.git/objects/59/4ec7a7fd547d5e251993ff6fd477c53bb36412 and ./wordpress-3.4/.git/objects/59/4ec7a7fd547d5e251993ff6fd477c53bb36412 differ
Binary files ./wordpress-3.3.2/.git/objects/59/8c2db37d49f864c6d92bbc88c20404ab1a121a and ./wordpress-3.4/.git/objects/59/8c2db37d49f864c6d92bbc88c20404ab1a121a differ
Binary files ./wordpress-3.3.2/.git/objects/59/b6d3b1402d6cf722061b9b0980b74e08c98a3a and ./wordpress-3.4/.git/objects/59/b6d3b1402d6cf722061b9b0980b74e08c98a3a differ
Binary files ./wordpress-3.3.2/.git/objects/59/d3d34709a432aba24ee329a0ca8155814909a3 and ./wordpress-3.4/.git/objects/59/d3d34709a432aba24ee329a0ca8155814909a3 differ
Binary files ./wordpress-3.3.2/.git/objects/59/d7bb29fbd4c37336a272ba09860e6ee75cb9ab and ./wordpress-3.4/.git/objects/59/d7bb29fbd4c37336a272ba09860e6ee75cb9ab differ
Binary files ./wordpress-3.3.2/.git/objects/5a/414eaf5af82df55a1eb3a278b19b529a866ef0 and ./wordpress-3.4/.git/objects/5a/414eaf5af82df55a1eb3a278b19b529a866ef0 differ
Binary files ./wordpress-3.3.2/.git/objects/5a/5aeb6ee733bac02eb737c59d1cee585f381576 and ./wordpress-3.4/.git/objects/5a/5aeb6ee733bac02eb737c59d1cee585f381576 differ
Binary files ./wordpress-3.3.2/.git/objects/5a/71c0346650e9e58ec27600af253a0fb82d4e0b and ./wordpress-3.4/.git/objects/5a/71c0346650e9e58ec27600af253a0fb82d4e0b differ
Binary files ./wordpress-3.3.2/.git/objects/5b/3e54ac274860fd363251671a91f090939c6b7c and ./wordpress-3.4/.git/objects/5b/3e54ac274860fd363251671a91f090939c6b7c differ
Binary files ./wordpress-3.3.2/.git/objects/5b/4f1c52b24ed188cce3c6a8a85df06f54889279 and ./wordpress-3.4/.git/objects/5b/4f1c52b24ed188cce3c6a8a85df06f54889279 differ
Binary files ./wordpress-3.3.2/.git/objects/5b/83396f1780b9949ee923d8f983d60ed364e152 and ./wordpress-3.4/.git/objects/5b/83396f1780b9949ee923d8f983d60ed364e152 differ
Binary files ./wordpress-3.3.2/.git/objects/5b/acda18d3857a4d1e02263905067c1addafff06 and ./wordpress-3.4/.git/objects/5b/acda18d3857a4d1e02263905067c1addafff06 differ
Binary files ./wordpress-3.3.2/.git/objects/5b/bfe15790ba633d1f008463d3ad6ae6e73b6520 and ./wordpress-3.4/.git/objects/5b/bfe15790ba633d1f008463d3ad6ae6e73b6520 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/5b/f085da2fa001efd49571267d6cfa4a46e3cea8 ./wordpress-3.4/.git/objects/5b/f085da2fa001efd49571267d6cfa4a46e3cea8
*** ./wordpress-3.3.2/.git/objects/5b/f085da2fa001efd49571267d6cfa4a46e3cea8	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/5b/f085da2fa001efd49571267d6cfa4a46e3cea8	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,6 ----
+ x­UKOÛ@îÕùÃCØŽC+$„PT©'Ú3¢Õf=Ž·qlk½Nˆ€ÿÎÌnÛIE{¨|ÉÎ|óþf2ËË|¾º¾ü´R¡gFÔFÉ*%we^ê›Ñ(H›BUÁi/£‘ÇàSÑäÆb`
+ ¾O@ogE’�‘d7lèy]„¸Fg8õ
iOÿd&äb®Ë¦HÆVá‡ñJä{ ÙÔ¦\Ž{Xµs$¬¬ëÀïÉ��º “	|Ka��‰‚hëpˆD‘€ÉpKadñï‚Ñ")JÈT‚,ÿÞ5À‡\‹˜Ò'Ï¤ÑkUcd#ì°w9
+ í�°f�Ê€ª—•Ù°©J! oÐÓ³3—L§Ó¡&„×WB
¥„hnËe”Ò„@…³�–œSÛc.+y˜×øGH�•ky£AŸI)›%&Œ5ŠdÓqÄQÄÔ2žíVÔÆä¹RH
+ ÆJ¦N«‘9=†Û¤™KßI‹ú^­hà»¬<O£itA,¦
+ ¸’·ÎyW+f‰õß1;;úî�Â6ÆÃ¸Ò¸¢’·“wýêE9à]/pÓT•ðþüÊð™¶äÎ‡8C¹ GzÄ2úÖ!ÑêÑŒíT=ç÷9›Z'c#�U.$“ÇŸ'bœÞŽ¿^Œ¯ŸÎ'±ÆUhiÈäÕæçÜ~�#�‡¦qŽÅÜdÄB¸dràNtµMtw'[¢uÑ5RUc±Äéq¯§UY+¾Bãçã'b&Š9ô–“ý÷ûÐúô#š„ÉTíÎMH
ôiÝ+×˜¿¦F­Eaþ_ZÎß~Rý6u—”IwO.¸$QGt«9 »“¶+ãõÖàƒÉ‡”�]Ýî,Ë¦Æ¤\½¡¼0oíL†I…1
+ ™íÝ?‹ª‰¨»n$öª'N¼¥ªÛ…­ŒÙæÏòR.ÚM �Î4	>4&øâhÊ“t—Á�‡·0øý£A½	oÞ	mý
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/5b/f67f2f7c450f3f4ebe4c957ab8c0cf4cb2af80 and ./wordpress-3.4/.git/objects/5b/f67f2f7c450f3f4ebe4c957ab8c0cf4cb2af80 differ
Binary files ./wordpress-3.3.2/.git/objects/5c/565b10d6c59f8608fb1f8f0637d57d25288c52 and ./wordpress-3.4/.git/objects/5c/565b10d6c59f8608fb1f8f0637d57d25288c52 differ
Binary files ./wordpress-3.3.2/.git/objects/5c/bf9782b2002983645e4eed2e432fd589ee6ae9 and ./wordpress-3.4/.git/objects/5c/bf9782b2002983645e4eed2e432fd589ee6ae9 differ
Binary files ./wordpress-3.3.2/.git/objects/5c/cba2a0c7c8303a4dcc0805c796f44b93c9a533 and ./wordpress-3.4/.git/objects/5c/cba2a0c7c8303a4dcc0805c796f44b93c9a533 differ
Binary files ./wordpress-3.3.2/.git/objects/5c/ed90166f595bb433386a2214967fa258705b28 and ./wordpress-3.4/.git/objects/5c/ed90166f595bb433386a2214967fa258705b28 differ
Binary files ./wordpress-3.3.2/.git/objects/5c/ee055307244c75e3fc6e194071f28839bd6366 and ./wordpress-3.4/.git/objects/5c/ee055307244c75e3fc6e194071f28839bd6366 differ
Binary files ./wordpress-3.3.2/.git/objects/5d/51ce3468153133e908e91f05e04998af9cab56 and ./wordpress-3.4/.git/objects/5d/51ce3468153133e908e91f05e04998af9cab56 differ
Binary files ./wordpress-3.3.2/.git/objects/5d/7766d915cc91787fd5dcba063bf8433f889c64 and ./wordpress-3.4/.git/objects/5d/7766d915cc91787fd5dcba063bf8433f889c64 differ
Binary files ./wordpress-3.3.2/.git/objects/5d/905efc4743758f5acbfc85d14a0e4cb46ef373 and ./wordpress-3.4/.git/objects/5d/905efc4743758f5acbfc85d14a0e4cb46ef373 differ
Binary files ./wordpress-3.3.2/.git/objects/5d/af9bb21a7b61eac59379531370b418a7b2f2fb and ./wordpress-3.4/.git/objects/5d/af9bb21a7b61eac59379531370b418a7b2f2fb differ
Binary files ./wordpress-3.3.2/.git/objects/5d/b28c2bf49e50b31a07cdf1220f473d2eeefdda and ./wordpress-3.4/.git/objects/5d/b28c2bf49e50b31a07cdf1220f473d2eeefdda differ
Binary files ./wordpress-3.3.2/.git/objects/5d/c56a3d1c46c87b330d166c52a7f8eccc8093f6 and ./wordpress-3.4/.git/objects/5d/c56a3d1c46c87b330d166c52a7f8eccc8093f6 differ
Binary files ./wordpress-3.3.2/.git/objects/5d/d460e301ad57298a007ec044a10ca9cd9670b6 and ./wordpress-3.4/.git/objects/5d/d460e301ad57298a007ec044a10ca9cd9670b6 differ
Binary files ./wordpress-3.3.2/.git/objects/5d/ed24ca16ee4cdc759272dcdada91006028d892 and ./wordpress-3.4/.git/objects/5d/ed24ca16ee4cdc759272dcdada91006028d892 differ
Binary files ./wordpress-3.3.2/.git/objects/5e/35f59fe54d8c68d3f7ac681e68d67dfeb089a8 and ./wordpress-3.4/.git/objects/5e/35f59fe54d8c68d3f7ac681e68d67dfeb089a8 differ
Binary files ./wordpress-3.3.2/.git/objects/5e/bac84ac485b7a95d074bfba0beadef3dd0cdd3 and ./wordpress-3.4/.git/objects/5e/bac84ac485b7a95d074bfba0beadef3dd0cdd3 differ
Binary files ./wordpress-3.3.2/.git/objects/5e/bb14c24b8c5092f7491db9a8b1b354951ee3c0 and ./wordpress-3.4/.git/objects/5e/bb14c24b8c5092f7491db9a8b1b354951ee3c0 differ
Binary files ./wordpress-3.3.2/.git/objects/5e/c0338fcb55d7cf8253c19149705228874f16ea and ./wordpress-3.4/.git/objects/5e/c0338fcb55d7cf8253c19149705228874f16ea differ
Binary files ./wordpress-3.3.2/.git/objects/5f/17b528d1b94f28fceed34cc723693ee3f65888 and ./wordpress-3.4/.git/objects/5f/17b528d1b94f28fceed34cc723693ee3f65888 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/3d07e0ff90b2fa361f2c30ffc97d9c592ec8fa and ./wordpress-3.4/.git/objects/5f/3d07e0ff90b2fa361f2c30ffc97d9c592ec8fa differ
Binary files ./wordpress-3.3.2/.git/objects/5f/5190d8d1bad115fddf18a0ff11c7a9003742a2 and ./wordpress-3.4/.git/objects/5f/5190d8d1bad115fddf18a0ff11c7a9003742a2 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/51b606b5fb8eb4cc512e88897ec6e877535a76 and ./wordpress-3.4/.git/objects/5f/51b606b5fb8eb4cc512e88897ec6e877535a76 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/6ccddfb8a10a1b0e302f5ac74b561f03cff199 and ./wordpress-3.4/.git/objects/5f/6ccddfb8a10a1b0e302f5ac74b561f03cff199 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/6d15f7cfb75d6273d9dad06fce76e445a49001 and ./wordpress-3.4/.git/objects/5f/6d15f7cfb75d6273d9dad06fce76e445a49001 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/741f691caa89c8b7f9d18773ed263c2640fef0 and ./wordpress-3.4/.git/objects/5f/741f691caa89c8b7f9d18773ed263c2640fef0 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/9c165e861c8718e4f2d3537d05300452ee216d and ./wordpress-3.4/.git/objects/5f/9c165e861c8718e4f2d3537d05300452ee216d differ
Binary files ./wordpress-3.3.2/.git/objects/5f/9e4f6482b4f6689bf970b931dbd488d79f217d and ./wordpress-3.4/.git/objects/5f/9e4f6482b4f6689bf970b931dbd488d79f217d differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/5f/9eccb542e4176fbffb5dc99f5c8f8b4aa70827 ./wordpress-3.4/.git/objects/5f/9eccb542e4176fbffb5dc99f5c8f8b4aa70827
*** ./wordpress-3.3.2/.git/objects/5f/9eccb542e4176fbffb5dc99f5c8f8b4aa70827	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/5f/9eccb542e4176fbffb5dc99f5c8f8b4aa70827	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,4 ****
- x}�_OÂ0Å}µŸâš�tÝŒÆ?8#Ô)ŒiJ{q
£�íñÛÛÛsçž{¦…™ÂÙùéÁe¿ÌK’ôzz01Vf�ƒT.”V®²¼RFÃ=j´J@ö<Ã�kY �= ›’‹9ÿÄ-ÝüºzÚ
- »f^MHØn
- #x…”ÞZì	‹¨]@%Î”ÆˆN2–Þ=><Ñc¨l�ÝBÔ"Xë2¢éí(KÇCÚ….9´øU+‹Ìh�ÑF�èª<)—±o�z,î
Ó8Nö¦È?n<4—(-ŠZ¢KšgëN´?UäÈrä­‹Bhi¡åˆ6ÃÌ_…,¤³þ‡+Ø(¥qmï<Z•lÉ%}yŒ×UÎ„1s…QsoËÆfÚ”V-·$.Êê;ê°×ÁËÛ`4~§ëEôã7J}IîäÞì
- ‘û×?œ½�
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/5f/c41c7b57ab66de3ec19dfc251fd5cbcd6bb9aa and ./wordpress-3.4/.git/objects/5f/c41c7b57ab66de3ec19dfc251fd5cbcd6bb9aa differ
Binary files ./wordpress-3.3.2/.git/objects/5f/c73fcbbf8c65df2b8383f3d2e23aa57bcbffac and ./wordpress-3.4/.git/objects/5f/c73fcbbf8c65df2b8383f3d2e23aa57bcbffac differ
Binary files ./wordpress-3.3.2/.git/objects/5f/d5d3ef39732b5ea258194cf6522d7b94a86935 and ./wordpress-3.4/.git/objects/5f/d5d3ef39732b5ea258194cf6522d7b94a86935 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/efb4276ef3526e90b46d79a908307c27daf3c9 and ./wordpress-3.4/.git/objects/5f/efb4276ef3526e90b46d79a908307c27daf3c9 differ
Binary files ./wordpress-3.3.2/.git/objects/5f/f0526fdf59411506a87b021b81536cee6eea90 and ./wordpress-3.4/.git/objects/5f/f0526fdf59411506a87b021b81536cee6eea90 differ
Binary files ./wordpress-3.3.2/.git/objects/60/0805a2d14019a5041f63db4765273e02b6726e and ./wordpress-3.4/.git/objects/60/0805a2d14019a5041f63db4765273e02b6726e differ
Binary files ./wordpress-3.3.2/.git/objects/60/57cc3a690e6aa30c579c0954fadf0de6ffd5fb and ./wordpress-3.4/.git/objects/60/57cc3a690e6aa30c579c0954fadf0de6ffd5fb differ
Binary files ./wordpress-3.3.2/.git/objects/60/f164056fcfa591d2804595f783a819866d5617 and ./wordpress-3.4/.git/objects/60/f164056fcfa591d2804595f783a819866d5617 differ
Binary files ./wordpress-3.3.2/.git/objects/60/ff7cda955b8a54ed567a8f3bd404ea10da6134 and ./wordpress-3.4/.git/objects/60/ff7cda955b8a54ed567a8f3bd404ea10da6134 differ
Binary files ./wordpress-3.3.2/.git/objects/61/1c0957f462ea8da68c99d2c156841b1adbe091 and ./wordpress-3.4/.git/objects/61/1c0957f462ea8da68c99d2c156841b1adbe091 differ
Binary files ./wordpress-3.3.2/.git/objects/61/28495d88c08007cc799d0c71f59ff83e310330 and ./wordpress-3.4/.git/objects/61/28495d88c08007cc799d0c71f59ff83e310330 differ
Binary files ./wordpress-3.3.2/.git/objects/61/3cff8236016fcd1c00c579356a3962e271e3dc and ./wordpress-3.4/.git/objects/61/3cff8236016fcd1c00c579356a3962e271e3dc differ
Binary files ./wordpress-3.3.2/.git/objects/61/71510f8f46d1ad17e17bc9a74553308aa2cbc1 and ./wordpress-3.4/.git/objects/61/71510f8f46d1ad17e17bc9a74553308aa2cbc1 differ
Binary files ./wordpress-3.3.2/.git/objects/61/8d92b3700dae05ddae5e0b63c01114bcc7bc9c and ./wordpress-3.4/.git/objects/61/8d92b3700dae05ddae5e0b63c01114bcc7bc9c differ
Binary files ./wordpress-3.3.2/.git/objects/61/d9f48c3d845b065c9afc729a1bdff5a6b3af69 and ./wordpress-3.4/.git/objects/61/d9f48c3d845b065c9afc729a1bdff5a6b3af69 differ
Binary files ./wordpress-3.3.2/.git/objects/62/01b00451c1d8b447973809cd9b8ad5a1f25a39 and ./wordpress-3.4/.git/objects/62/01b00451c1d8b447973809cd9b8ad5a1f25a39 differ
Binary files ./wordpress-3.3.2/.git/objects/62/200328fddc2de0805db758fb758bcb4d65d8e2 and ./wordpress-3.4/.git/objects/62/200328fddc2de0805db758fb758bcb4d65d8e2 differ
Binary files ./wordpress-3.3.2/.git/objects/62/46176b88399343f469276f4e8242223526f74d and ./wordpress-3.4/.git/objects/62/46176b88399343f469276f4e8242223526f74d differ
Binary files ./wordpress-3.3.2/.git/objects/62/67a9980d8c69adaf9ff2dc191a71f975c21b87 and ./wordpress-3.4/.git/objects/62/67a9980d8c69adaf9ff2dc191a71f975c21b87 differ
Binary files ./wordpress-3.3.2/.git/objects/62/70f99f98e79de878bf3b3fb3cf344774fb8ddb and ./wordpress-3.4/.git/objects/62/70f99f98e79de878bf3b3fb3cf344774fb8ddb differ
Binary files ./wordpress-3.3.2/.git/objects/62/90c11233ba9181c75690cf1a7b6e6e7d050bb8 and ./wordpress-3.4/.git/objects/62/90c11233ba9181c75690cf1a7b6e6e7d050bb8 differ
Binary files ./wordpress-3.3.2/.git/objects/62/d15c823dbccf7382ae197d218b5f2b993a9194 and ./wordpress-3.4/.git/objects/62/d15c823dbccf7382ae197d218b5f2b993a9194 differ
Binary files ./wordpress-3.3.2/.git/objects/62/f7bce6b3e4eb90bd232435409545ae6ce5936a and ./wordpress-3.4/.git/objects/62/f7bce6b3e4eb90bd232435409545ae6ce5936a differ
Binary files ./wordpress-3.3.2/.git/objects/62/ff7e34720f767f1b3c8af755c758ec684fa1da and ./wordpress-3.4/.git/objects/62/ff7e34720f767f1b3c8af755c758ec684fa1da differ
Binary files ./wordpress-3.3.2/.git/objects/63/1fa0ec874001708bfa20500145e5e7c05cd0f9 and ./wordpress-3.4/.git/objects/63/1fa0ec874001708bfa20500145e5e7c05cd0f9 differ
Binary files ./wordpress-3.3.2/.git/objects/63/4275a7a460a174f0b33edeed69f10fa8b3702e and ./wordpress-3.4/.git/objects/63/4275a7a460a174f0b33edeed69f10fa8b3702e differ
Binary files ./wordpress-3.3.2/.git/objects/63/771a83aac25010a10547353e4d5d79077b5e69 and ./wordpress-3.4/.git/objects/63/771a83aac25010a10547353e4d5d79077b5e69 differ
Binary files ./wordpress-3.3.2/.git/objects/64/55fe47375dc3de1a0c63670cb74e72239b829e and ./wordpress-3.4/.git/objects/64/55fe47375dc3de1a0c63670cb74e72239b829e differ
Binary files ./wordpress-3.3.2/.git/objects/64/6e1ccb5df3342219f8c22b111481881fa3da0d and ./wordpress-3.4/.git/objects/64/6e1ccb5df3342219f8c22b111481881fa3da0d differ
Binary files ./wordpress-3.3.2/.git/objects/64/893bb99e49e1eb8b9053a1c8d6996836b0931d and ./wordpress-3.4/.git/objects/64/893bb99e49e1eb8b9053a1c8d6996836b0931d differ
Binary files ./wordpress-3.3.2/.git/objects/64/a60d46b31ed799fb52a0cdd1ef3bbfab35966b and ./wordpress-3.4/.git/objects/64/a60d46b31ed799fb52a0cdd1ef3bbfab35966b differ
Binary files ./wordpress-3.3.2/.git/objects/64/c678f3ecd15f684880fa4ff404292d8aa6e5d8 and ./wordpress-3.4/.git/objects/64/c678f3ecd15f684880fa4ff404292d8aa6e5d8 differ
Binary files ./wordpress-3.3.2/.git/objects/64/c7bab94e75de9088966028822c60bc2a7089c9 and ./wordpress-3.4/.git/objects/64/c7bab94e75de9088966028822c60bc2a7089c9 differ
Binary files ./wordpress-3.3.2/.git/objects/65/2e172df904de212617f1093127225591d06f6b and ./wordpress-3.4/.git/objects/65/2e172df904de212617f1093127225591d06f6b differ
Binary files ./wordpress-3.3.2/.git/objects/65/3ed540dc8db6c8b5bae39e3a5915e275445d64 and ./wordpress-3.4/.git/objects/65/3ed540dc8db6c8b5bae39e3a5915e275445d64 differ
Binary files ./wordpress-3.3.2/.git/objects/65/46621014d209aa98098acbeeedbb5143c914ea and ./wordpress-3.4/.git/objects/65/46621014d209aa98098acbeeedbb5143c914ea differ
Binary files ./wordpress-3.3.2/.git/objects/65/531c84122878123c86672f71e2954cd0511fe4 and ./wordpress-3.4/.git/objects/65/531c84122878123c86672f71e2954cd0511fe4 differ
Binary files ./wordpress-3.3.2/.git/objects/65/a517266a119cbb6298b822efd1af4b8ab95e40 and ./wordpress-3.4/.git/objects/65/a517266a119cbb6298b822efd1af4b8ab95e40 differ
Binary files ./wordpress-3.3.2/.git/objects/66/6c3f37e252a178b0797a1dc235ba7f2bbfa869 and ./wordpress-3.4/.git/objects/66/6c3f37e252a178b0797a1dc235ba7f2bbfa869 differ
Binary files ./wordpress-3.3.2/.git/objects/66/79e11d24730167d0305e972a220b67870541ee and ./wordpress-3.4/.git/objects/66/79e11d24730167d0305e972a220b67870541ee differ
Binary files ./wordpress-3.3.2/.git/objects/66/8bd664fe76c25f052715c22dad22b875a2d2f7 and ./wordpress-3.4/.git/objects/66/8bd664fe76c25f052715c22dad22b875a2d2f7 differ
Binary files ./wordpress-3.3.2/.git/objects/66/91abf53ff41b379def1b7a05aaeb32e20eb692 and ./wordpress-3.4/.git/objects/66/91abf53ff41b379def1b7a05aaeb32e20eb692 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/66/b8bbfd406c33e7c038fb61d8b6f6527a962c85 ./wordpress-3.4/.git/objects/66/b8bbfd406c33e7c038fb61d8b6f6527a962c85
*** ./wordpress-3.3.2/.git/objects/66/b8bbfd406c33e7c038fb61d8b6f6527a962c85	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/66/b8bbfd406c33e7c038fb61d8b6f6527a962c85	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x­SÁŽ›0í§$Ž´k+Àn£VU…|XuÕkÛójWÆ&ÐŒŒÉ6
+ ù÷Ž!¢(R03žyóÞ›¤0ÉìãjõùÃì,›8¨]ŽA•ãæ›)Œ�yÚ”èrSòD|HÆâs\žÃ(c�¨Ö®»ÏQÄ	g‹p³¶¦)Uˆ¾.ÑŠ!ŠMíÌ6œ$å[XkJÂºælò¿¿PÕ<åîîPJ	¢mùœœ1:bÛ²E÷!„8øîXh°Cß,Wš‹£.j}¬3óNÁ#�V›­.�ˆ¬µ‰�¾ªÒ)4…êúyúa=;Ã_,è0½Ûáñü¤€¶ÏùŽÆìÛÆV»Æ–$a;öµFè3ð|\–#ÒÏRp1F•Õ;ýÜc£Qnò¿Ñû¦š"óêªn²+Â{µD€Ryâ1Âì“ã�b.‰kq@ÿZâ%]U¨ùÃËÛÂô)üþ~}]>Œu²á\ª^—}P»&….×.“òSÛb4¾LG¦ÌnÀû¼¬÷RÂVË©]*SçÞ¼áözOìeP®õtæN�vßPŽ	wY^ŸhY²™3ë¹¾…XÑàþŒS©K¾û¸€2‰Æƒß€KÇÓµDtŠq·¹'ç†DÂÛjÜ�­ij­Ì{yÅíe_iÀlšäM‡dºžÎnÝU^“�ö'³H´0¸!“
Y)(ý£q|åÕïþûW£í^ÄÊI¤ø
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/66/e3bbc681e13db6157de9819ab8c5163ae11815 and ./wordpress-3.4/.git/objects/66/e3bbc681e13db6157de9819ab8c5163ae11815 differ
Binary files ./wordpress-3.3.2/.git/objects/66/f7797caaed9c758b069f09aa6de0675e717a48 and ./wordpress-3.4/.git/objects/66/f7797caaed9c758b069f09aa6de0675e717a48 differ
Binary files ./wordpress-3.3.2/.git/objects/67/09ba7bde6316beb2743ebbf496286ea1776a16 and ./wordpress-3.4/.git/objects/67/09ba7bde6316beb2743ebbf496286ea1776a16 differ
Binary files ./wordpress-3.3.2/.git/objects/67/564fd65000e65dd76aeeb19273743af0131975 and ./wordpress-3.4/.git/objects/67/564fd65000e65dd76aeeb19273743af0131975 differ
Binary files ./wordpress-3.3.2/.git/objects/67/95b1653433cf0aa4bb4b1236f6f13553e989c3 and ./wordpress-3.4/.git/objects/67/95b1653433cf0aa4bb4b1236f6f13553e989c3 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/67/e53dcd0b337fadbd710f1819e48531c777a53a ./wordpress-3.4/.git/objects/67/e53dcd0b337fadbd710f1819e48531c777a53a
*** ./wordpress-3.3.2/.git/objects/67/e53dcd0b337fadbd710f1819e48531c777a53a	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/67/e53dcd0b337fadbd710f1819e48531c777a53a	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x�’]KÃ0†½î¯8ƒAÑ®_£ˆŠâìÂA‡/GšÛ@›vIÜè¿7]W´]uæ.ç}Ož÷’äeQ^ÜÞWYeÍlÛÖÂ{)Y,Q)Ø¡T¼ ´ä"5zcyHM'É�E˜ì«ÍÑgÔ™õãw0
œÀñ§7VX”9S {˜çG�¸ã
ê¸ ZÁ>C4#"ED"„!èò´]Ñâr¡ñXr’ð»dBz×aäŽE\sQ/Ÿ^º=žo·m\Å>cP<¬"œ_ù®gŽ�n„3†RðTúµ³õ±ÃjÃm™^0Ê”¸ýäÄ‹ø±³nÌéSÇ”†<w|'ü»¬ßV¯ÿµÚæ¿ {Zw
úÏðê†
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/67/ff80c00eaa18fa578d70d19a13ee213a3e3f45 and ./wordpress-3.4/.git/objects/67/ff80c00eaa18fa578d70d19a13ee213a3e3f45 differ
Binary files ./wordpress-3.3.2/.git/objects/68/3c1479a8759a4136613358c28034227ed48ee7 and ./wordpress-3.4/.git/objects/68/3c1479a8759a4136613358c28034227ed48ee7 differ
Binary files ./wordpress-3.3.2/.git/objects/68/7b8fd302a2fd9bb5591904696ea798be9705a1 and ./wordpress-3.4/.git/objects/68/7b8fd302a2fd9bb5591904696ea798be9705a1 differ
Binary files ./wordpress-3.3.2/.git/objects/68/9479c9fb2dfc2df6487b0a5b6c8488107a0eed and ./wordpress-3.4/.git/objects/68/9479c9fb2dfc2df6487b0a5b6c8488107a0eed differ
Binary files ./wordpress-3.3.2/.git/objects/68/f7ed6cf0d44dc9acfce5ef4feb2e3015af5117 and ./wordpress-3.4/.git/objects/68/f7ed6cf0d44dc9acfce5ef4feb2e3015af5117 differ
Binary files ./wordpress-3.3.2/.git/objects/69/6ff15d87901ddfe9bf16d1ed8b1902a811f6c0 and ./wordpress-3.4/.git/objects/69/6ff15d87901ddfe9bf16d1ed8b1902a811f6c0 differ
Binary files ./wordpress-3.3.2/.git/objects/69/77bffad14745086a1effac05c7ced3806da154 and ./wordpress-3.4/.git/objects/69/77bffad14745086a1effac05c7ced3806da154 differ
Binary files ./wordpress-3.3.2/.git/objects/69/867ac271f2407557b1fa097d3f3161e61e8d6e and ./wordpress-3.4/.git/objects/69/867ac271f2407557b1fa097d3f3161e61e8d6e differ
Binary files ./wordpress-3.3.2/.git/objects/69/8f2a0b5e51e15f91fa6b7c4eca216672fcac56 and ./wordpress-3.4/.git/objects/69/8f2a0b5e51e15f91fa6b7c4eca216672fcac56 differ
Binary files ./wordpress-3.3.2/.git/objects/69/a86c1378aec5a6185c591456f7a6d9c739b5b0 and ./wordpress-3.4/.git/objects/69/a86c1378aec5a6185c591456f7a6d9c739b5b0 differ
Binary files ./wordpress-3.3.2/.git/objects/6a/2dfb8cbcc5c7e13d9f0b951b98f086437889f8 and ./wordpress-3.4/.git/objects/6a/2dfb8cbcc5c7e13d9f0b951b98f086437889f8 differ
Binary files ./wordpress-3.3.2/.git/objects/6a/622b27aa21e103ba39d1a1b521014936086eff and ./wordpress-3.4/.git/objects/6a/622b27aa21e103ba39d1a1b521014936086eff differ
Binary files ./wordpress-3.3.2/.git/objects/6a/a85a85a3dc89bcaf6041310493903553259c55 and ./wordpress-3.4/.git/objects/6a/a85a85a3dc89bcaf6041310493903553259c55 differ
Binary files ./wordpress-3.3.2/.git/objects/6a/c49b93b42aeacc72f1a179358eac304a9b8f61 and ./wordpress-3.4/.git/objects/6a/c49b93b42aeacc72f1a179358eac304a9b8f61 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/6a/ebd88cceac06fcec25cc8a4c185bc466d418b2 ./wordpress-3.4/.git/objects/6a/ebd88cceac06fcec25cc8a4c185bc466d418b2
*** ./wordpress-3.3.2/.git/objects/6a/ebd88cceac06fcec25cc8a4c185bc466d418b2	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/6a/ebd88cceac06fcec25cc8a4c185bc466d418b2	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x…Q]OÂ0õ•þŠKB²ŽèÐ|A@Œ˜�¨!(á±é¶4nmm»¨ÿ»Ý¢ÁÌ§æö|ôÜÓ8S1\t»G—C½Ö¤ÓnhÃB™tjÐZ˜[40Js!…u†;¡$\+åÊA{jÉ¾Ò<yæ+ÜËª[[Ä;à·Á2A8�Î¢S?wIq)$Ò`1eóÇñŒ�nî'Á1<Íæã°GˆÁ—BdÊë(¤ÂHž#Ý�ŒÝNîÆŒ…!Dtx™8ò¥T,�B„ey‘9a…CB¤ñª™Ao‚‰£P©Xa²í‘¾	×#Ÿ„´vVø>Ø–WBë ïÍ)´’Â”ŽÅ™Z�R•s!¡Ùßå³ß@›Í¡Js·þCS]W‘þ	ÂµÎÞÙRd�¥ÔÄöÍÖšùý«ÚêIþèç°ÇBZô5×[úÿÈŒ—ÞF
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/6b/342c8576d046ca6fd1d65fb22b5239b1f24674 and ./wordpress-3.4/.git/objects/6b/342c8576d046ca6fd1d65fb22b5239b1f24674 differ
Binary files ./wordpress-3.3.2/.git/objects/6b/4b032389d13fc16f39e59eaa9f73dee6db7ef4 and ./wordpress-3.4/.git/objects/6b/4b032389d13fc16f39e59eaa9f73dee6db7ef4 differ
Binary files ./wordpress-3.3.2/.git/objects/6b/a6542929c31895caef647a382b424fbc5b60f4 and ./wordpress-3.4/.git/objects/6b/a6542929c31895caef647a382b424fbc5b60f4 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/6b/c84587299b3476a0f08b6af48da9172d57b51c ./wordpress-3.4/.git/objects/6b/c84587299b3476a0f08b6af48da9172d57b51c
*** ./wordpress-3.3.2/.git/objects/6b/c84587299b3476a0f08b6af48da9172d57b51c	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/6b/c84587299b3476a0f08b6af48da9172d57b51c	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- xePÍnÂ0Þ™§°ÆeC*\Ðí©O‚ÜÆ¥i\ÅM{÷9+Ó�‘#¿]àöoû§µänòªä*Žð3‹WÏ±†DÕŸ©�ÏÕZGªzž&ŠZ/
- [Ì:r²÷äe"­²PZNzÎQ�Íy™^kð1øøCåPÆŽ1¹C¢Þø7^¹s‰¢fù‹�ü�†Ý"�)�Œ|sCÀã‘tWPzW°å{Q�Ínµ˜\ˆ‡À¨–ÑG-ÿ_ ‰÷8Õ°nÛ¶��-¹è5�…Q¾/0™1nï½Ä`ñQ9ê9Y�¥Ê¥ß05j‰Š`T+¤†gTM/ê5ÐkÙ›Å"6�·‚V_
- ›¦}
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/6c/05e533033564b21af22938928634738830de69 and ./wordpress-3.4/.git/objects/6c/05e533033564b21af22938928634738830de69 differ
Binary files ./wordpress-3.3.2/.git/objects/6c/07cafbf2583793a73208ab093836f2a879c4bf and ./wordpress-3.4/.git/objects/6c/07cafbf2583793a73208ab093836f2a879c4bf differ
Binary files ./wordpress-3.3.2/.git/objects/6c/0e04fe5dab360c449d2eb66def147e7068bd68 and ./wordpress-3.4/.git/objects/6c/0e04fe5dab360c449d2eb66def147e7068bd68 differ
Binary files ./wordpress-3.3.2/.git/objects/6c/54415f8e0f3c5d7d22ef4b368c25d08762fe59 and ./wordpress-3.4/.git/objects/6c/54415f8e0f3c5d7d22ef4b368c25d08762fe59 differ
Binary files ./wordpress-3.3.2/.git/objects/6c/589ec3713bad3bba2793e0fa07da1939640ed1 and ./wordpress-3.4/.git/objects/6c/589ec3713bad3bba2793e0fa07da1939640ed1 differ
Binary files ./wordpress-3.3.2/.git/objects/6c/f8851bde9b97c890da2160e9b71055827bc096 and ./wordpress-3.4/.git/objects/6c/f8851bde9b97c890da2160e9b71055827bc096 differ
Binary files ./wordpress-3.3.2/.git/objects/6d/0d1ab58853da9f7b585f694621b390bdf2ea1e and ./wordpress-3.4/.git/objects/6d/0d1ab58853da9f7b585f694621b390bdf2ea1e differ
Binary files ./wordpress-3.3.2/.git/objects/6d/3f15ba2a0769a49d07387cee1e337537472004 and ./wordpress-3.4/.git/objects/6d/3f15ba2a0769a49d07387cee1e337537472004 differ
Binary files ./wordpress-3.3.2/.git/objects/6d/e774f4b23f0dc2306faae4ade385d79fd354aa and ./wordpress-3.4/.git/objects/6d/e774f4b23f0dc2306faae4ade385d79fd354aa differ
Binary files ./wordpress-3.3.2/.git/objects/6d/e7abf538c1c428671d40401bd3df6e0188a429 and ./wordpress-3.4/.git/objects/6d/e7abf538c1c428671d40401bd3df6e0188a429 differ
Binary files ./wordpress-3.3.2/.git/objects/6d/fb577e85edc4f199823469fe5a8286c3d849b8 and ./wordpress-3.4/.git/objects/6d/fb577e85edc4f199823469fe5a8286c3d849b8 differ
Binary files ./wordpress-3.3.2/.git/objects/6e/56e026a920ba5cc4133565d6bfbc2ef9f18903 and ./wordpress-3.4/.git/objects/6e/56e026a920ba5cc4133565d6bfbc2ef9f18903 differ
Binary files ./wordpress-3.3.2/.git/objects/6e/5d3b8116f1545b0d72427c4297180a3eba3c56 and ./wordpress-3.4/.git/objects/6e/5d3b8116f1545b0d72427c4297180a3eba3c56 differ
Binary files ./wordpress-3.3.2/.git/objects/6e/7d5f0d0726e8ff692b902dccf85cb311030e63 and ./wordpress-3.4/.git/objects/6e/7d5f0d0726e8ff692b902dccf85cb311030e63 differ
Binary files ./wordpress-3.3.2/.git/objects/6f/050c6013c8d4ca7ec251e0587c7b5e9d6b47ac and ./wordpress-3.4/.git/objects/6f/050c6013c8d4ca7ec251e0587c7b5e9d6b47ac differ
Binary files ./wordpress-3.3.2/.git/objects/6f/4b66466f2a6fa03bd6c16fbddc202aa7bc908e and ./wordpress-3.4/.git/objects/6f/4b66466f2a6fa03bd6c16fbddc202aa7bc908e differ
Binary files ./wordpress-3.3.2/.git/objects/6f/5718489537856407e2ef5ba69fcb0e309def8e and ./wordpress-3.4/.git/objects/6f/5718489537856407e2ef5ba69fcb0e309def8e differ
Binary files ./wordpress-3.3.2/.git/objects/6f/7e289e00a9d7a95e278481d5a2abd4717fda50 and ./wordpress-3.4/.git/objects/6f/7e289e00a9d7a95e278481d5a2abd4717fda50 differ
Binary files ./wordpress-3.3.2/.git/objects/6f/a1742f0d891d6ec30e0d34404bfab25b760681 and ./wordpress-3.4/.git/objects/6f/a1742f0d891d6ec30e0d34404bfab25b760681 differ
Binary files ./wordpress-3.3.2/.git/objects/70/00c4f7478ab5b282f376959c4d08c081c81fab and ./wordpress-3.4/.git/objects/70/00c4f7478ab5b282f376959c4d08c081c81fab differ
Binary files ./wordpress-3.3.2/.git/objects/70/0655246b1c1e5ffa5558da6975f96da90dc903 and ./wordpress-3.4/.git/objects/70/0655246b1c1e5ffa5558da6975f96da90dc903 differ
Binary files ./wordpress-3.3.2/.git/objects/70/de3de7202f04bcb80b77c607ead685519c8990 and ./wordpress-3.4/.git/objects/70/de3de7202f04bcb80b77c607ead685519c8990 differ
Binary files ./wordpress-3.3.2/.git/objects/71/19018b1fe6e7d6881355ff48a34032367133e4 and ./wordpress-3.4/.git/objects/71/19018b1fe6e7d6881355ff48a34032367133e4 differ
Binary files ./wordpress-3.3.2/.git/objects/71/337eb996a5546a968b24696497db596f841634 and ./wordpress-3.4/.git/objects/71/337eb996a5546a968b24696497db596f841634 differ
Binary files ./wordpress-3.3.2/.git/objects/71/6e80aca9b939b576abb349415283f4303f5672 and ./wordpress-3.4/.git/objects/71/6e80aca9b939b576abb349415283f4303f5672 differ
Binary files ./wordpress-3.3.2/.git/objects/71/708d044b0a692ba0bbc69967afdf6ad0fc86e3 and ./wordpress-3.4/.git/objects/71/708d044b0a692ba0bbc69967afdf6ad0fc86e3 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/71/a1b0466ffe87817e120565c217c2cb4e8d507c ./wordpress-3.4/.git/objects/71/a1b0466ffe87817e120565c217c2cb4e8d507c
*** ./wordpress-3.3.2/.git/objects/71/a1b0466ffe87817e120565c217c2cb4e8d507c	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/71/a1b0466ffe87817e120565c217c2cb4e8d507c	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xUPKkÂ@î9¿bnÑÐnŠ Zj=Ä"]´ÅcØdGšî®³‰¿¿c|@aN3ßsªÆW0šN^gá’<ËÈà;"ƒf¿£anÉQlÙ´äljFtJ`gä{0õ�Ù#l=[Íc¿�]u;ü§Ë5On6_Š c \½‚HÝ¥#¹a¤Æê¹=†Êû¦×°¸#‡ƒt¹)õús±\¥žé#´Üáð¥7�•7öÒ¦°Ô’Ûƒ>‡•ŒÇŽK/ƒTå�T~B)ùC*üÙ[ò+UZ
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/71/cc36dc6bd8871a1ed06ff9f0dd08acc38a6d24 and ./wordpress-3.4/.git/objects/71/cc36dc6bd8871a1ed06ff9f0dd08acc38a6d24 differ
Binary files ./wordpress-3.3.2/.git/objects/71/fbb68a644154a18bd6cd0fc3099e751f6cf42f and ./wordpress-3.4/.git/objects/71/fbb68a644154a18bd6cd0fc3099e751f6cf42f differ
Binary files ./wordpress-3.3.2/.git/objects/72/8106f9e907a38ba4472e83b0391b0c10f41632 and ./wordpress-3.4/.git/objects/72/8106f9e907a38ba4472e83b0391b0c10f41632 differ
Binary files ./wordpress-3.3.2/.git/objects/72/96cb6766c40e7388b2a11e97db19c94a52041d and ./wordpress-3.4/.git/objects/72/96cb6766c40e7388b2a11e97db19c94a52041d differ
Binary files ./wordpress-3.3.2/.git/objects/73/1cbe8abcdba314b4d3fe7a19f40b29a8dac1c4 and ./wordpress-3.4/.git/objects/73/1cbe8abcdba314b4d3fe7a19f40b29a8dac1c4 differ
Binary files ./wordpress-3.3.2/.git/objects/73/34a85dcbd9631a034bfd0189dbe5871a44a714 and ./wordpress-3.4/.git/objects/73/34a85dcbd9631a034bfd0189dbe5871a44a714 differ
Binary files ./wordpress-3.3.2/.git/objects/73/3f3a447374bea75e6534a5d3e64dae474bd9ea and ./wordpress-3.4/.git/objects/73/3f3a447374bea75e6534a5d3e64dae474bd9ea differ
Binary files ./wordpress-3.3.2/.git/objects/73/6fc5a223b6105a5c102354b39357a447caeeb2 and ./wordpress-3.4/.git/objects/73/6fc5a223b6105a5c102354b39357a447caeeb2 differ
Binary files ./wordpress-3.3.2/.git/objects/73/7fbcecd5d17145a8647f77b1dbc90cae6df84e and ./wordpress-3.4/.git/objects/73/7fbcecd5d17145a8647f77b1dbc90cae6df84e differ
Binary files ./wordpress-3.3.2/.git/objects/73/b7eeb70b7635675efd7373cac4408b4d44ea2a and ./wordpress-3.4/.git/objects/73/b7eeb70b7635675efd7373cac4408b4d44ea2a differ
Binary files ./wordpress-3.3.2/.git/objects/73/ce88989a37a6d93935e677313eb9632a4fd0c2 and ./wordpress-3.4/.git/objects/73/ce88989a37a6d93935e677313eb9632a4fd0c2 differ
Binary files ./wordpress-3.3.2/.git/objects/73/dbb48fef968e42ec95646cd1199e033443af60 and ./wordpress-3.4/.git/objects/73/dbb48fef968e42ec95646cd1199e033443af60 differ
Binary files ./wordpress-3.3.2/.git/objects/74/21f2194aedf01405058f6fae0a73e2192e1ff4 and ./wordpress-3.4/.git/objects/74/21f2194aedf01405058f6fae0a73e2192e1ff4 differ
Binary files ./wordpress-3.3.2/.git/objects/74/23cf9214919c186fba6b08634ef701a2c80118 and ./wordpress-3.4/.git/objects/74/23cf9214919c186fba6b08634ef701a2c80118 differ
Binary files ./wordpress-3.3.2/.git/objects/74/3e9053e0b6ec5136466a50bb11f9e86029a3fd and ./wordpress-3.4/.git/objects/74/3e9053e0b6ec5136466a50bb11f9e86029a3fd differ
Binary files ./wordpress-3.3.2/.git/objects/74/4060248eab4667410954a13c632480efb7750f and ./wordpress-3.4/.git/objects/74/4060248eab4667410954a13c632480efb7750f differ
Binary files ./wordpress-3.3.2/.git/objects/74/5616865972fa8a501c83036e124c877dacdec9 and ./wordpress-3.4/.git/objects/74/5616865972fa8a501c83036e124c877dacdec9 differ
Binary files ./wordpress-3.3.2/.git/objects/74/593de9c214449d3553cfb93e495b5eac89425b and ./wordpress-3.4/.git/objects/74/593de9c214449d3553cfb93e495b5eac89425b differ
Binary files ./wordpress-3.3.2/.git/objects/74/7b228d535897b2aa674c412f35371dbaddf966 and ./wordpress-3.4/.git/objects/74/7b228d535897b2aa674c412f35371dbaddf966 differ
Binary files ./wordpress-3.3.2/.git/objects/74/ad1105d7147b866dd1f631bd80bcac13a026d8 and ./wordpress-3.4/.git/objects/74/ad1105d7147b866dd1f631bd80bcac13a026d8 differ
Binary files ./wordpress-3.3.2/.git/objects/75/010df2070c55038f08ba88ed2c50d52a0c7a83 and ./wordpress-3.4/.git/objects/75/010df2070c55038f08ba88ed2c50d52a0c7a83 differ
Binary files ./wordpress-3.3.2/.git/objects/75/08630927fe3d249dd76989a2947eed30d3bd1c and ./wordpress-3.4/.git/objects/75/08630927fe3d249dd76989a2947eed30d3bd1c differ
Binary files ./wordpress-3.3.2/.git/objects/75/85793df7ea5594ce41b65fce68a83f2cd423d2 and ./wordpress-3.4/.git/objects/75/85793df7ea5594ce41b65fce68a83f2cd423d2 differ
Binary files ./wordpress-3.3.2/.git/objects/75/ac59139852fc3372bc2dfa5647cf9030fd7bc6 and ./wordpress-3.4/.git/objects/75/ac59139852fc3372bc2dfa5647cf9030fd7bc6 differ
Binary files ./wordpress-3.3.2/.git/objects/75/bd625398f956d8018de4d8b050590a27863c54 and ./wordpress-3.4/.git/objects/75/bd625398f956d8018de4d8b050590a27863c54 differ
Binary files ./wordpress-3.3.2/.git/objects/75/cb2b1790d716fbd5416086a505cdaea62e1ca8 and ./wordpress-3.4/.git/objects/75/cb2b1790d716fbd5416086a505cdaea62e1ca8 differ
Binary files ./wordpress-3.3.2/.git/objects/76/5bbffcfce17850a80c550a0ec86e7df801d546 and ./wordpress-3.4/.git/objects/76/5bbffcfce17850a80c550a0ec86e7df801d546 differ
Binary files ./wordpress-3.3.2/.git/objects/77/f00762eb26c6d549f5d0a46a197ff73c4a4314 and ./wordpress-3.4/.git/objects/77/f00762eb26c6d549f5d0a46a197ff73c4a4314 differ
Binary files ./wordpress-3.3.2/.git/objects/78/211901036984170c28fc6721f12f19ac45a377 and ./wordpress-3.4/.git/objects/78/211901036984170c28fc6721f12f19ac45a377 differ
Binary files ./wordpress-3.3.2/.git/objects/78/39faa6d3f1c6e8f0d5f4bb72c8eafaac3dd904 and ./wordpress-3.4/.git/objects/78/39faa6d3f1c6e8f0d5f4bb72c8eafaac3dd904 differ
Binary files ./wordpress-3.3.2/.git/objects/78/417d7de1ac162cce2c541a8ae0018e4f411389 and ./wordpress-3.4/.git/objects/78/417d7de1ac162cce2c541a8ae0018e4f411389 differ
Binary files ./wordpress-3.3.2/.git/objects/78/63ca106631609dfecad341bc903182f076b289 and ./wordpress-3.4/.git/objects/78/63ca106631609dfecad341bc903182f076b289 differ
Binary files ./wordpress-3.3.2/.git/objects/78/8972775290bc963c7519f6e112a272f3e8a695 and ./wordpress-3.4/.git/objects/78/8972775290bc963c7519f6e112a272f3e8a695 differ
Binary files ./wordpress-3.3.2/.git/objects/78/97e7347831ef9a9c4692f8bf66375a49b61c5e and ./wordpress-3.4/.git/objects/78/97e7347831ef9a9c4692f8bf66375a49b61c5e differ
Binary files ./wordpress-3.3.2/.git/objects/78/bc080e182b54afccae2a10ad1ec60a86516fec and ./wordpress-3.4/.git/objects/78/bc080e182b54afccae2a10ad1ec60a86516fec differ
Binary files ./wordpress-3.3.2/.git/objects/78/de5ae53308e9b61939d4d90a3ca35f5e528a52 and ./wordpress-3.4/.git/objects/78/de5ae53308e9b61939d4d90a3ca35f5e528a52 differ
Binary files ./wordpress-3.3.2/.git/objects/79/09082a1d8451666245dc8aa04f1ec94a3f5727 and ./wordpress-3.4/.git/objects/79/09082a1d8451666245dc8aa04f1ec94a3f5727 differ
Binary files ./wordpress-3.3.2/.git/objects/79/5fab731e7c24adffd4f566a274a4d72ab96d6f and ./wordpress-3.4/.git/objects/79/5fab731e7c24adffd4f566a274a4d72ab96d6f differ
Binary files ./wordpress-3.3.2/.git/objects/79/bacfbaa4d719fde8030e157902394192aaa235 and ./wordpress-3.4/.git/objects/79/bacfbaa4d719fde8030e157902394192aaa235 differ
Binary files ./wordpress-3.3.2/.git/objects/7a/52cf2bc7089cf38d19f6f5ade30ba6dc3824de and ./wordpress-3.4/.git/objects/7a/52cf2bc7089cf38d19f6f5ade30ba6dc3824de differ
Binary files ./wordpress-3.3.2/.git/objects/7b/09d8132f909eca9573e7969781a7840acd3310 and ./wordpress-3.4/.git/objects/7b/09d8132f909eca9573e7969781a7840acd3310 differ
Binary files ./wordpress-3.3.2/.git/objects/7b/31745b4d43de3a3a2de9f2a37bc443beb6dedd and ./wordpress-3.4/.git/objects/7b/31745b4d43de3a3a2de9f2a37bc443beb6dedd differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/7b/556351df49d9064d6016dca78d80ad65a26a54 ./wordpress-3.4/.git/objects/7b/556351df49d9064d6016dca78d80ad65a26a54
*** ./wordpress-3.3.2/.git/objects/7b/556351df49d9064d6016dca78d80ad65a26a54	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/7b/556351df49d9064d6016dca78d80ad65a26a54	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x�SQkÛ0Þ«ó+HŽš¾­)c„l°B[Û[“Å:§b²”ÉrØÖú¿ï$¹iÜ¾íÅ2º»ïî¾ïÓVÛ-¹øxþÎ+óçfñui÷íž;øÕ*×Âì–¢üÉòËÑè ™›òÁº/Jh»#ŸÈã(SFy2#UkJ¯¬a óp�…l¯
- º.H…ùÒ–m
ÆóÊºº¹›®6Ëüƒj8Hå­Ã�—x‡%ñŸK[óø¥pX‡è¼
7\ßZ	,/�S»ŠæÞ;µe±=5¢†�„Yª"ì�ÆLÍÓ XKÛ½hÀÊ*.âº·XÉB·€‡êJÅ•iÀùc‡Ã‘g¡%ù|DC~hÊ�Sv–§F§Ì½ð�°Ò36ÀÀßŒy\rKžžÈøìþNLþ®Ãg:¹XMV›ÙŠ¯?¼?SÜCãYHÌŸ)9u‚Ð¸"£B��©w}¿�2HŠ’‰ùÌ�o�9²óÊN
ŠßŸ¥‹~J:Ä5{þÇ/äA€�Ú¥ÕZì`çIÄÿtHÐK¾®yOj8Âì è[Ão(¶®…‘ŒÖ%\EµÖxt"-Èe‘ÑŸ¥4Í·7×HF#èŒ„½YjÑ44˜  x¨Ó+¢Æhž¶ÐUj‹{Cw£Å­¹Â'Ç…”ìô5¢•/þŠg3ð
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/7b/dbd292fc5b91cdcc629b3faa45320288832e57 and ./wordpress-3.4/.git/objects/7b/dbd292fc5b91cdcc629b3faa45320288832e57 differ
Binary files ./wordpress-3.3.2/.git/objects/7b/f036ea02b6a919bf686f422ccc547eb2668ee7 and ./wordpress-3.4/.git/objects/7b/f036ea02b6a919bf686f422ccc547eb2668ee7 differ
Binary files ./wordpress-3.3.2/.git/objects/7c/0939b6b8cf542370ac6170f011c475b8b495e1 and ./wordpress-3.4/.git/objects/7c/0939b6b8cf542370ac6170f011c475b8b495e1 differ
Binary files ./wordpress-3.3.2/.git/objects/7c/3380275fcadec882aaf407cc758d49ad8e984c and ./wordpress-3.4/.git/objects/7c/3380275fcadec882aaf407cc758d49ad8e984c differ
Binary files ./wordpress-3.3.2/.git/objects/7c/5949cc21748b20179d4c6330092aae2e362c3e and ./wordpress-3.4/.git/objects/7c/5949cc21748b20179d4c6330092aae2e362c3e differ
Binary files ./wordpress-3.3.2/.git/objects/7c/5f51195fadd127f89b929644fc401dba54d3ee and ./wordpress-3.4/.git/objects/7c/5f51195fadd127f89b929644fc401dba54d3ee differ
Binary files ./wordpress-3.3.2/.git/objects/7c/72a05e13c426e0701005b4122e624d1f908c30 and ./wordpress-3.4/.git/objects/7c/72a05e13c426e0701005b4122e624d1f908c30 differ
Binary files ./wordpress-3.3.2/.git/objects/7c/737d70863bcc34fc24b2dbc73735c25009df0c and ./wordpress-3.4/.git/objects/7c/737d70863bcc34fc24b2dbc73735c25009df0c differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/7c/80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a ./wordpress-3.4/.git/objects/7c/80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a
*** ./wordpress-3.3.2/.git/objects/7c/80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a	2012-04-23 16:27:10.000000000 -0500
--- ./wordpress-3.4/.git/objects/7c/80ec97ae12ccfb6e901fed0c2f1ffb1b7b2c6a	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x�ÍMÂ @a×œb. ág€41�[]z¦-� ½¿I�àîm¾¼ØJÉ”w§Ñ™�H/Ò9Ä`•÷’¥I'B'N)‹fakëðhk…ç^
- op}÷#n%¤ümõsiý5ƒ2ÆjåÐH8K+¥ˆÇsðZÜk9lâZ9³
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/7c/ae6f167b95e40906d1cb6121560f68cba25db0 and ./wordpress-3.4/.git/objects/7c/ae6f167b95e40906d1cb6121560f68cba25db0 differ
Binary files ./wordpress-3.3.2/.git/objects/7c/b5dc4a355cb0ec9e6a95614e17c4e2ca006336 and ./wordpress-3.4/.git/objects/7c/b5dc4a355cb0ec9e6a95614e17c4e2ca006336 differ
Binary files ./wordpress-3.3.2/.git/objects/7d/1b9beefe1b070a00dc9e38e2c7d2d70738c285 and ./wordpress-3.4/.git/objects/7d/1b9beefe1b070a00dc9e38e2c7d2d70738c285 differ
Binary files ./wordpress-3.3.2/.git/objects/7d/449930d4db939e2bc9cee0d0526d096c2a7f39 and ./wordpress-3.4/.git/objects/7d/449930d4db939e2bc9cee0d0526d096c2a7f39 differ
Binary files ./wordpress-3.3.2/.git/objects/7d/5444d87dec4934eba57ebf4b039db327799225 and ./wordpress-3.4/.git/objects/7d/5444d87dec4934eba57ebf4b039db327799225 differ
Binary files ./wordpress-3.3.2/.git/objects/7d/ae3b773724953f484d9e452b22a52f534a5fd6 and ./wordpress-3.4/.git/objects/7d/ae3b773724953f484d9e452b22a52f534a5fd6 differ
Binary files ./wordpress-3.3.2/.git/objects/7d/b14487f12bebbe9f7c01944ce18c0f872e3a3a and ./wordpress-3.4/.git/objects/7d/b14487f12bebbe9f7c01944ce18c0f872e3a3a differ
Binary files ./wordpress-3.3.2/.git/objects/7d/c455286b371cb7c7a016664371338ce5123ae7 and ./wordpress-3.4/.git/objects/7d/c455286b371cb7c7a016664371338ce5123ae7 differ
Binary files ./wordpress-3.3.2/.git/objects/7e/08dc2182ced8e41c424fec07a8eeb463d22164 and ./wordpress-3.4/.git/objects/7e/08dc2182ced8e41c424fec07a8eeb463d22164 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/7e/fc8174ee4fd18d529d3ca677db65f7c3764e2d ./wordpress-3.4/.git/objects/7e/fc8174ee4fd18d529d3ca677db65f7c3764e2d
*** ./wordpress-3.3.2/.git/objects/7e/fc8174ee4fd18d529d3ca677db65f7c3764e2d	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/7e/fc8174ee4fd18d529d3ca677db65f7c3764e2d	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xMŽÁJ1†Wô”£g#xÓ´IhaÍ²'mKÅ¥TñšÝŽ‰É’DÑñõ¼ø"�UÐ~Ì3Ì?0­-¨rZ|}ÄyBž‘‡ä9P’ßä%9dþhnøßl²Áók“QƒRq1¡¥´”z:9[-W3~‡qÈj�#Á®‚Ïè3ß|ôt˜ñ=�{g¬¯ {21a®o7s^þç¢ñé#Ÿù.l­ÔP¶6³Æ½Fãø<Ä—¤Á÷?cªU¿míá´Y±{¾@�Ñä5,\ÈMÄ”Æb$YÃ3v™/·û?*Ú;Ã=M“
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/7f/04e1a5af8af2fef897d8db4b11fe71f432b310 and ./wordpress-3.4/.git/objects/7f/04e1a5af8af2fef897d8db4b11fe71f432b310 differ
Binary files ./wordpress-3.3.2/.git/objects/7f/2cc74d0874976b50c28d75bf4f7ce5e855ee2c and ./wordpress-3.4/.git/objects/7f/2cc74d0874976b50c28d75bf4f7ce5e855ee2c differ
Binary files ./wordpress-3.3.2/.git/objects/7f/30c18e4117f7136f09277712c4906df9cb5f8b and ./wordpress-3.4/.git/objects/7f/30c18e4117f7136f09277712c4906df9cb5f8b differ
Binary files ./wordpress-3.3.2/.git/objects/7f/71b3d018b7e9ba1e943775a93ce42d5969a038 and ./wordpress-3.4/.git/objects/7f/71b3d018b7e9ba1e943775a93ce42d5969a038 differ
Binary files ./wordpress-3.3.2/.git/objects/7f/72da69a684a7e0caaff4d32aeb32cf729708d6 and ./wordpress-3.4/.git/objects/7f/72da69a684a7e0caaff4d32aeb32cf729708d6 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/7f/8d2d907cee6ecb75d44d73654bff3fb738ba27 ./wordpress-3.4/.git/objects/7f/8d2d907cee6ecb75d44d73654bff3fb738ba27
*** ./wordpress-3.3.2/.git/objects/7f/8d2d907cee6ecb75d44d73654bff3fb738ba27	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/7f/8d2d907cee6ecb75d44d73654bff3fb738ba27	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,8 ****
- x}TÁŽã6í5þ
- nŒœÅL²{Y,0qÚ¢‡¢ŸPl†b3±Y2$y2AÑ/):v¦Xl€$I=‰ï‘<w€Ï_¾~ùi÷sßôÙöcáW_5í+�ó±r5²õ=DÚÃa8 �°muî\çÛ3{¿éÛ!Óvm,>z²o³L×u9å n�êq^Ï
- ÖÏYvl[gá<ä°Ò1zXÃ?Ù¢=Bm(�ˆu¾†u¶XxŒƒ· ¦½(\œ(Smè¬1î‚uïBŒúØµªñ¨KÂ
PÐ�^_s‚RñÚ£‚ô)ö øÐáÊ¿ê‘Ý)Sñ³[ŒGç;“•�MìŒ8ˆƒKåK>rµ	˜PHGäšE#úÿC;_ßkCa|‹^W1Ÿ%KÙY÷É=NÜ1ÉÂÞ‡Ö–’1¬8ßÇ1PWÔÞ\Y¦ÎÙØÈ²Ö­,.ˆgYÝÑBªˆ
- 	Š¸¼çì»W
- ]ó¥Â(×³þ|y5„è:ª‹´!ð‘Ý	W)øPÀ*É’ja\�·6®e—Ÿ´ ”üàœY¯&±¹MÈyéËsÀ@<Š‰|_A\¯‹UÒë]|²|?<[l·ð;Fˆ
NÎ ·J÷ž�*r´PÛ°6…‚�¨DÿêA:-Ù$g6
- ;92Åf¬W|zà,K¬L¥(aSê	U�¬“9å#VIv.!¥©¡ êS…
- õ·§)m×"9,ÿ²ËQêÒã+ú@F|{ç�YH‚“\‰®ß¬ÎD ¶'ê<“G_{½#1MìúxåAq#t,ÊiO…¹ë÷Ì\Y·º�æšq'¨�=ë"Tƒ÷h£¹B£_å’~8˜64X6
- ¨:ÿÆØëêÌåI4ï¶„ÊíHÍ�^r«ãÄÎ(O©ùi,w
V¬îHâñ‘Oµw}í.V�³U£í‰|µ«†Žžµ1®ÒÜ ›Æã±ˆM6Ò1á[Ú"ÖØß^6¯Úø¬ö;	‚´/Ô’ÞÌeÖ#Í,ÓÚ3ÍÐ
,Õþéi·•Ð=ÇÌ¯%ïn+àûå»DSãþ(MµL¢ü�c+7å8¸'ïsöoö­rÁ
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/7f/c3967b6a74ff7132f5849ce8942a8522435141 and ./wordpress-3.4/.git/objects/7f/c3967b6a74ff7132f5849ce8942a8522435141 differ
Binary files ./wordpress-3.3.2/.git/objects/7f/daede33cdcf8ab4dfbe60722c8dcdf32609754 and ./wordpress-3.4/.git/objects/7f/daede33cdcf8ab4dfbe60722c8dcdf32609754 differ
Binary files ./wordpress-3.3.2/.git/objects/80/483876778125750c0136dedfadbfb0290c55c0 and ./wordpress-3.4/.git/objects/80/483876778125750c0136dedfadbfb0290c55c0 differ
Binary files ./wordpress-3.3.2/.git/objects/80/49099e6c6aa14b04b7caf37f18a780c1d4bff1 and ./wordpress-3.4/.git/objects/80/49099e6c6aa14b04b7caf37f18a780c1d4bff1 differ
Binary files ./wordpress-3.3.2/.git/objects/80/6a974824b622b0513b094d5a4453c208092aba and ./wordpress-3.4/.git/objects/80/6a974824b622b0513b094d5a4453c208092aba differ
Binary files ./wordpress-3.3.2/.git/objects/80/8f9ee465e178bb394e566f3b398efa91f686bf and ./wordpress-3.4/.git/objects/80/8f9ee465e178bb394e566f3b398efa91f686bf differ
Binary files ./wordpress-3.3.2/.git/objects/80/cc76b060b194d7e833f813931c45519d58e9f3 and ./wordpress-3.4/.git/objects/80/cc76b060b194d7e833f813931c45519d58e9f3 differ
Binary files ./wordpress-3.3.2/.git/objects/81/6a9e79ff45e013378c26c41ce44e8bd05d0b66 and ./wordpress-3.4/.git/objects/81/6a9e79ff45e013378c26c41ce44e8bd05d0b66 differ
Binary files ./wordpress-3.3.2/.git/objects/81/947af5a833c3a5d4acef17bc93b4a682f8a9c9 and ./wordpress-3.4/.git/objects/81/947af5a833c3a5d4acef17bc93b4a682f8a9c9 differ
Binary files ./wordpress-3.3.2/.git/objects/81/cefe5736c0c4158d2ac8e2ab397c83e58a6611 and ./wordpress-3.4/.git/objects/81/cefe5736c0c4158d2ac8e2ab397c83e58a6611 differ
Binary files ./wordpress-3.3.2/.git/objects/81/e51131afbadfe76a8cb6112a6fdbf0774b59a3 and ./wordpress-3.4/.git/objects/81/e51131afbadfe76a8cb6112a6fdbf0774b59a3 differ
Binary files ./wordpress-3.3.2/.git/objects/82/48e3a64f69653647c6e0c379d16d4be1775169 and ./wordpress-3.4/.git/objects/82/48e3a64f69653647c6e0c379d16d4be1775169 differ
Binary files ./wordpress-3.3.2/.git/objects/82/57b5187b78ccc0e3d4ff5d7cdc70beee55e554 and ./wordpress-3.4/.git/objects/82/57b5187b78ccc0e3d4ff5d7cdc70beee55e554 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/82/caa3ad08fcc5906c70e030f26cb8f35819d79a ./wordpress-3.4/.git/objects/82/caa3ad08fcc5906c70e030f26cb8f35819d79a
*** ./wordpress-3.3.2/.git/objects/82/caa3ad08fcc5906c70e030f26cb8f35819d79a	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/82/caa3ad08fcc5906c70e030f26cb8f35819d79a	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xU�½NÄ0„iñSÕ%)œ“Ž	$þZ@t”–/°ºœ×ØŽîõ±sD¹»3ó�v˜dÀn{uvs>ƒê»N¡Ãå£Ä=#9Î	ÖØsÊÑf�`=Mº«ö.Øqo?oÝk¤”–mš‡õð<O™g:Ø�„�¾ÔÛ2÷ª2ñ$Öýàþ?ïA$Wx¨úH_3G2Rblt¿”Ó¥ýíµRüŽàd+·iÑªóc0Ž‹Å˜bûí„4‡ 1¼d�·ÃDN—°%îWIºOÿXaß<d
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/83/074fbf2b47b90285eb8ac34a347ec29155e50c and ./wordpress-3.4/.git/objects/83/074fbf2b47b90285eb8ac34a347ec29155e50c differ
Binary files ./wordpress-3.3.2/.git/objects/83/1c7025edeab1ad40a0d8df8f23fc844e617cd3 and ./wordpress-3.4/.git/objects/83/1c7025edeab1ad40a0d8df8f23fc844e617cd3 differ
Binary files ./wordpress-3.3.2/.git/objects/83/3677c2d70c1aba0295d569a8a9277d756aebb9 and ./wordpress-3.4/.git/objects/83/3677c2d70c1aba0295d569a8a9277d756aebb9 differ
Binary files ./wordpress-3.3.2/.git/objects/83/48c97816676150813eecac8daf58621eef25e0 and ./wordpress-3.4/.git/objects/83/48c97816676150813eecac8daf58621eef25e0 differ
Binary files ./wordpress-3.3.2/.git/objects/83/71546d3701870e000e13583f0147d24b69ec41 and ./wordpress-3.4/.git/objects/83/71546d3701870e000e13583f0147d24b69ec41 differ
Binary files ./wordpress-3.3.2/.git/objects/83/9fe6bc256d87bb482e887c50e88a73107d156e and ./wordpress-3.4/.git/objects/83/9fe6bc256d87bb482e887c50e88a73107d156e differ
Binary files ./wordpress-3.3.2/.git/objects/83/eacabed517ea2bfe5356e60ce5d80c54dab9d3 and ./wordpress-3.4/.git/objects/83/eacabed517ea2bfe5356e60ce5d80c54dab9d3 differ
Binary files ./wordpress-3.3.2/.git/objects/84/076d715ad11f13aaac4e462d0d74f8e2cb2f3e and ./wordpress-3.4/.git/objects/84/076d715ad11f13aaac4e462d0d74f8e2cb2f3e differ
Binary files ./wordpress-3.3.2/.git/objects/84/2e5b5d6f2e45e439675b50d4635b584b1056f9 and ./wordpress-3.4/.git/objects/84/2e5b5d6f2e45e439675b50d4635b584b1056f9 differ
Binary files ./wordpress-3.3.2/.git/objects/84/58911575e1a8e68dffcdcd702e29d3e6872e46 and ./wordpress-3.4/.git/objects/84/58911575e1a8e68dffcdcd702e29d3e6872e46 differ
Binary files ./wordpress-3.3.2/.git/objects/84/9a2d0b574d92e20d7f0b5a09316765b4e9bf06 and ./wordpress-3.4/.git/objects/84/9a2d0b574d92e20d7f0b5a09316765b4e9bf06 differ
Binary files ./wordpress-3.3.2/.git/objects/84/a616db10cd72a2abb1ef8533b839885994b56c and ./wordpress-3.4/.git/objects/84/a616db10cd72a2abb1ef8533b839885994b56c differ
Binary files ./wordpress-3.3.2/.git/objects/84/c6c35d1d95dc379a9e5064af24cce4231b0266 and ./wordpress-3.4/.git/objects/84/c6c35d1d95dc379a9e5064af24cce4231b0266 differ
Binary files ./wordpress-3.3.2/.git/objects/84/cc0a3ee8c5e3a35a0585b022fb4305007962a6 and ./wordpress-3.4/.git/objects/84/cc0a3ee8c5e3a35a0585b022fb4305007962a6 differ
Binary files ./wordpress-3.3.2/.git/objects/85/1b3730f7a49c1d6e1a405054ef5476b8aadd86 and ./wordpress-3.4/.git/objects/85/1b3730f7a49c1d6e1a405054ef5476b8aadd86 differ
Binary files ./wordpress-3.3.2/.git/objects/85/43ee4e0ef05f29c32a3e9b7147ff20263dfa41 and ./wordpress-3.4/.git/objects/85/43ee4e0ef05f29c32a3e9b7147ff20263dfa41 differ
Binary files ./wordpress-3.3.2/.git/objects/85/fa1ffcb9d86325383d6911b444710cfd39bf3b and ./wordpress-3.4/.git/objects/85/fa1ffcb9d86325383d6911b444710cfd39bf3b differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/86/458479df001dde15d197a908707c28754b7803 ./wordpress-3.4/.git/objects/86/458479df001dde15d197a908707c28754b7803
*** ./wordpress-3.3.2/.git/objects/86/458479df001dde15d197a908707c28754b7803	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/86/458479df001dde15d197a908707c28754b7803	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ xeÍÍ
+ ‚@àÖów7*2b«  ì�„¡Âåetn%™Nsíý› Ú´=ç;œªí+H'“ÑlnoV$Q$ ‚5YGµÈ(83�cV¾†¦ã�´QÞ|ØÂêú®¯eïLáˆÙ§‰h~{¼4-Pi¦N?(@Üæû
bƒ«TÆPùa
+ dò}‘N…£ç«q„}WÙòXd§�WÿÚã7ç¥:j
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/86/80a54668f88cdfe4bf4f5e46a3739d6e10338f and ./wordpress-3.4/.git/objects/86/80a54668f88cdfe4bf4f5e46a3739d6e10338f differ
Binary files ./wordpress-3.3.2/.git/objects/86/8b9810b313c8f2b04ea3d342df4628aee5e0ce and ./wordpress-3.4/.git/objects/86/8b9810b313c8f2b04ea3d342df4628aee5e0ce differ
Binary files ./wordpress-3.3.2/.git/objects/86/944861eb2e1625aed49fc982497be00e97c30b and ./wordpress-3.4/.git/objects/86/944861eb2e1625aed49fc982497be00e97c30b differ
Binary files ./wordpress-3.3.2/.git/objects/87/3b03cf954346fea8d7b1c504f548036ca0d849 and ./wordpress-3.4/.git/objects/87/3b03cf954346fea8d7b1c504f548036ca0d849 differ
Binary files ./wordpress-3.3.2/.git/objects/87/f563b09a83186dfc6bc0e9a07325ce55118d50 and ./wordpress-3.4/.git/objects/87/f563b09a83186dfc6bc0e9a07325ce55118d50 differ
Binary files ./wordpress-3.3.2/.git/objects/88/56c1b486af28824f772a916f292c56abeddfc8 and ./wordpress-3.4/.git/objects/88/56c1b486af28824f772a916f292c56abeddfc8 differ
Binary files ./wordpress-3.3.2/.git/objects/88/96615438fd1e5e058e5920f2a0091b7b387e71 and ./wordpress-3.4/.git/objects/88/96615438fd1e5e058e5920f2a0091b7b387e71 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/88/9919de09cc4fc37bb41ff57ae27b2645b2101b ./wordpress-3.4/.git/objects/88/9919de09cc4fc37bb41ff57ae27b2645b2101b
*** ./wordpress-3.3.2/.git/objects/88/9919de09cc4fc37bb41ff57ae27b2645b2101b	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/88/9919de09cc4fc37bb41ff57ae27b2645b2101b	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- xU�±
- Â0�óß–¶”–º((ÖAAÄApüIšß¶“ÐÔ÷·]×ãŽÓÖkT«õb[‡.ˆ2Ë28Ü¨‘M�«‡õ®åŽÙLdfgTóR-ãás8Æ‰–‚Ì¯¥go9�V‘�zsBt:_ŽDi¹,*™Ã}¬ÍA”@Þ»>bàþ†£‡fô®±Ÿy/‘"Ýˆz÷áz9U
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/88/b5f031893627f14d572053bb40b657cc7bf954 and ./wordpress-3.4/.git/objects/88/b5f031893627f14d572053bb40b657cc7bf954 differ
Binary files ./wordpress-3.3.2/.git/objects/88/bfa62dcb52fbea212d8210cf9ac11fffe8e31b and ./wordpress-3.4/.git/objects/88/bfa62dcb52fbea212d8210cf9ac11fffe8e31b differ
Binary files ./wordpress-3.3.2/.git/objects/88/c5d745490b2182e796698b58babf4856544b3e and ./wordpress-3.4/.git/objects/88/c5d745490b2182e796698b58babf4856544b3e differ
Binary files ./wordpress-3.3.2/.git/objects/89/6979a26c85403a6ec13fb5d44b5d0e59594cc7 and ./wordpress-3.4/.git/objects/89/6979a26c85403a6ec13fb5d44b5d0e59594cc7 differ
Binary files ./wordpress-3.3.2/.git/objects/89/75737d5334ea1fbd47de67a5c15d27c3cf6d01 and ./wordpress-3.4/.git/objects/89/75737d5334ea1fbd47de67a5c15d27c3cf6d01 differ
Binary files ./wordpress-3.3.2/.git/objects/89/761b255cb93043c3f42d5d41b0e6ae5822e124 and ./wordpress-3.4/.git/objects/89/761b255cb93043c3f42d5d41b0e6ae5822e124 differ
Binary files ./wordpress-3.3.2/.git/objects/89/80b3791d63bc264243f1bcb5a27a1d6e0990c9 and ./wordpress-3.4/.git/objects/89/80b3791d63bc264243f1bcb5a27a1d6e0990c9 differ
Binary files ./wordpress-3.3.2/.git/objects/89/a888c75d9c99cb91d85afd18b07f52f12a7e29 and ./wordpress-3.4/.git/objects/89/a888c75d9c99cb91d85afd18b07f52f12a7e29 differ
Binary files ./wordpress-3.3.2/.git/objects/89/ebdea83d4efdfb6525cb5dc650f7624449d60a and ./wordpress-3.4/.git/objects/89/ebdea83d4efdfb6525cb5dc650f7624449d60a differ
Binary files ./wordpress-3.3.2/.git/objects/8a/4b4cfc129aac2397fe495b86e3983afe901bdf and ./wordpress-3.4/.git/objects/8a/4b4cfc129aac2397fe495b86e3983afe901bdf differ
Binary files ./wordpress-3.3.2/.git/objects/8a/fa0cab9e9aaa85677b416b282408bf135ea63a and ./wordpress-3.4/.git/objects/8a/fa0cab9e9aaa85677b416b282408bf135ea63a differ
Binary files ./wordpress-3.3.2/.git/objects/8c/283715902b36abda66f71cb5e28cb54ca43574 and ./wordpress-3.4/.git/objects/8c/283715902b36abda66f71cb5e28cb54ca43574 differ
Binary files ./wordpress-3.3.2/.git/objects/8c/5a120f567d800616741345859c10e6b37da7c0 and ./wordpress-3.4/.git/objects/8c/5a120f567d800616741345859c10e6b37da7c0 differ
Binary files ./wordpress-3.3.2/.git/objects/8c/93f8c25659e771f8fb9683d6bfe913d18e83c3 and ./wordpress-3.4/.git/objects/8c/93f8c25659e771f8fb9683d6bfe913d18e83c3 differ
Binary files ./wordpress-3.3.2/.git/objects/8c/f0a25650e9991231067760f33230dfb3f0c817 and ./wordpress-3.4/.git/objects/8c/f0a25650e9991231067760f33230dfb3f0c817 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/8c/f986c5182f9212492b056b4159f02983038049 ./wordpress-3.4/.git/objects/8c/f986c5182f9212492b056b4159f02983038049
*** ./wordpress-3.3.2/.git/objects/8c/f986c5182f9212492b056b4159f02983038049	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/8c/f986c5182f9212492b056b4159f02983038049	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- x•’ÑNƒ0†½•§8Ùb¢‰°‰¢À[ï¼4-=-d¥mJÉ¶,{wŒ!W.6$í!í¾ÿo¹¶^_²›(iJüú4¸Ž)|„sÝX�pŒn¹õ}ë÷Ë:Öðäö l(`Yƒ6ˆºuš
- àÚ–[ú±«E¨
- ØdwTTX«*ÐÑÔí©l˜Wµ¡2#)ÖÛ÷8�8S{Vn•·�ÏLë˜G óú>IVu£VýÖoÞ©DÕòŒ�=:d|ß
öWõb’Œ
~]¼�äªxDÉÎ}0­Ñæ©
)±¶êSÊóœ\Ï{.e*s)3rCßÎ©³Ê`m\'Î¨ÅÜZ[z«5””úqš¥½™§�fë>îS4RÆN<ÇË}Žwùå›Ìd:Qö™Å?Éž×Ëô&¶…Ôõ
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/8c/f9a5ee6ba0bf0955a1193d284241a879dc8f45 and ./wordpress-3.4/.git/objects/8c/f9a5ee6ba0bf0955a1193d284241a879dc8f45 differ
Binary files ./wordpress-3.3.2/.git/objects/8d/a666e84512a001496704d510a6e022507abd90 and ./wordpress-3.4/.git/objects/8d/a666e84512a001496704d510a6e022507abd90 differ
Binary files ./wordpress-3.3.2/.git/objects/8e/3a05dd1428afda8a8de3f8ff55295991364c51 and ./wordpress-3.4/.git/objects/8e/3a05dd1428afda8a8de3f8ff55295991364c51 differ
Binary files ./wordpress-3.3.2/.git/objects/8e/560a2e29b296016d38a6874b0cd0bea93fb9a1 and ./wordpress-3.4/.git/objects/8e/560a2e29b296016d38a6874b0cd0bea93fb9a1 differ
Binary files ./wordpress-3.3.2/.git/objects/8e/a976ffaca6e26b698c95180727abb9dc24b9e4 and ./wordpress-3.4/.git/objects/8e/a976ffaca6e26b698c95180727abb9dc24b9e4 differ
Binary files ./wordpress-3.3.2/.git/objects/8e/ab0751d315fdab26e295dbaaada4ef4279b8b2 and ./wordpress-3.4/.git/objects/8e/ab0751d315fdab26e295dbaaada4ef4279b8b2 differ
Binary files ./wordpress-3.3.2/.git/objects/8e/b283a84bfa673ff511b5276bc292c021418f0c and ./wordpress-3.4/.git/objects/8e/b283a84bfa673ff511b5276bc292c021418f0c differ
Binary files ./wordpress-3.3.2/.git/objects/8f/4d648dbeec7d6df934aeb4d39cc1f214363500 and ./wordpress-3.4/.git/objects/8f/4d648dbeec7d6df934aeb4d39cc1f214363500 differ
Binary files ./wordpress-3.3.2/.git/objects/8f/66aaddc35132882f27e752eb7769697e1757fe and ./wordpress-3.4/.git/objects/8f/66aaddc35132882f27e752eb7769697e1757fe differ
Binary files ./wordpress-3.3.2/.git/objects/8f/b1399b3b87ebd6c4a320cf6585e79e49964e90 and ./wordpress-3.4/.git/objects/8f/b1399b3b87ebd6c4a320cf6585e79e49964e90 differ
Binary files ./wordpress-3.3.2/.git/objects/8f/c51d55ac110ada3b534dda6a0bb6bef3d9506b and ./wordpress-3.4/.git/objects/8f/c51d55ac110ada3b534dda6a0bb6bef3d9506b differ
Binary files ./wordpress-3.3.2/.git/objects/90/3f320994b4dc5f3c6dcb821b835d7d13312c9a and ./wordpress-3.4/.git/objects/90/3f320994b4dc5f3c6dcb821b835d7d13312c9a differ
Binary files ./wordpress-3.3.2/.git/objects/90/3f73e93b0e8ef962e43ec532fd4e8673c76865 and ./wordpress-3.4/.git/objects/90/3f73e93b0e8ef962e43ec532fd4e8673c76865 differ
Binary files ./wordpress-3.3.2/.git/objects/90/4230869517218c3d0bcbb32df88bd214c59ca0 and ./wordpress-3.4/.git/objects/90/4230869517218c3d0bcbb32df88bd214c59ca0 differ
Binary files ./wordpress-3.3.2/.git/objects/90/51f836273ada6459136e83a0e7b0196a54affb and ./wordpress-3.4/.git/objects/90/51f836273ada6459136e83a0e7b0196a54affb differ
Binary files ./wordpress-3.3.2/.git/objects/90/5fffdd96fb67a5c812450d19781cee9bba3d0d and ./wordpress-3.4/.git/objects/90/5fffdd96fb67a5c812450d19781cee9bba3d0d differ
Binary files ./wordpress-3.3.2/.git/objects/90/8caa2d8f84d33cd903323affcbf70372f84ec5 and ./wordpress-3.4/.git/objects/90/8caa2d8f84d33cd903323affcbf70372f84ec5 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/90/98b0656b758962cb72fb95811b1102df0895ab ./wordpress-3.4/.git/objects/90/98b0656b758962cb72fb95811b1102df0895ab
*** ./wordpress-3.3.2/.git/objects/90/98b0656b758962cb72fb95811b1102df0895ab	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/90/98b0656b758962cb72fb95811b1102df0895ab	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xKÊÉOR07fp÷t³°Lag˜ÈÀpÆ˜á?000(þdadg`bÐ²@òLRSúWž~Ë¿xÎ–[\›®åÿ~WxÝcÚ³Îe¯B¬¹ 
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/90/a1e873a9f43df5f77e1fd16cc33165fca931f8 and ./wordpress-3.4/.git/objects/90/a1e873a9f43df5f77e1fd16cc33165fca931f8 differ
Binary files ./wordpress-3.3.2/.git/objects/90/c1218d29bf20c4a617ff26475dc62ed745b0d2 and ./wordpress-3.4/.git/objects/90/c1218d29bf20c4a617ff26475dc62ed745b0d2 differ
Binary files ./wordpress-3.3.2/.git/objects/91/017ee62703d2491161f5a3500650f42f90929e and ./wordpress-3.4/.git/objects/91/017ee62703d2491161f5a3500650f42f90929e differ
Binary files ./wordpress-3.3.2/.git/objects/91/17ae5d348d911151eacdc8aee9f8dd4fa0645b and ./wordpress-3.4/.git/objects/91/17ae5d348d911151eacdc8aee9f8dd4fa0645b differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/91/29795de6a3e53efe8cd114b2e17f93d0f61d64 ./wordpress-3.4/.git/objects/91/29795de6a3e53efe8cd114b2e17f93d0f61d64
*** ./wordpress-3.3.2/.git/objects/91/29795de6a3e53efe8cd114b2e17f93d0f61d64	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/91/29795de6a3e53efe8cd114b2e17f93d0f61d64	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x�ŽÍ
+ Â0„=ç)öÖh^TZñ,ˆ<–4Y4Ø&1ÙRß”¶oÞv˜Ùo¦iMëífµ/íÓ²"M¤p2]‡šàl$:NÊh8ÊNiåi–7áuÂcþŠR9ä�„›21|¨å,jOœzè&*Êå½²\¼øánœ¼8ô~„V¾oã·=¸søîCim´À8Êób°Yk¸£dÇ[»yV|\_÷®�£ÿçE	~íØ¨œec
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/91/4d70654ca3c82deecf59c58eaba497725f0e8f and ./wordpress-3.4/.git/objects/91/4d70654ca3c82deecf59c58eaba497725f0e8f differ
Binary files ./wordpress-3.3.2/.git/objects/91/71daba441795cc82e7f3d1b055bdd73dc0689f and ./wordpress-3.4/.git/objects/91/71daba441795cc82e7f3d1b055bdd73dc0689f differ
Binary files ./wordpress-3.3.2/.git/objects/91/c8ee4aae7e2f57d4e95e3621b99b54c597ef6d and ./wordpress-3.4/.git/objects/91/c8ee4aae7e2f57d4e95e3621b99b54c597ef6d differ
Binary files ./wordpress-3.3.2/.git/objects/91/cedb29db083bfb2455fc99b8c4c3597bbfe811 and ./wordpress-3.4/.git/objects/91/cedb29db083bfb2455fc99b8c4c3597bbfe811 differ
Binary files ./wordpress-3.3.2/.git/objects/91/f5291cce69c7839a4c4f7a28c95f3a7a111c77 and ./wordpress-3.4/.git/objects/91/f5291cce69c7839a4c4f7a28c95f3a7a111c77 differ
Binary files ./wordpress-3.3.2/.git/objects/92/2bfb425005909b7721f87a733c408e1957666d and ./wordpress-3.4/.git/objects/92/2bfb425005909b7721f87a733c408e1957666d differ
Binary files ./wordpress-3.3.2/.git/objects/92/2f96cccc4119767234c3ecb11ceef768bf1fe1 and ./wordpress-3.4/.git/objects/92/2f96cccc4119767234c3ecb11ceef768bf1fe1 differ
Binary files ./wordpress-3.3.2/.git/objects/92/5650be6612ad1e9ed1d2ce265426a20b5e058f and ./wordpress-3.4/.git/objects/92/5650be6612ad1e9ed1d2ce265426a20b5e058f differ
Binary files ./wordpress-3.3.2/.git/objects/92/871e18d62b9917eca8ba836c4cd61dd8039cdb and ./wordpress-3.4/.git/objects/92/871e18d62b9917eca8ba836c4cd61dd8039cdb differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/92/bdc854db3afbed39bde8505392ae8fe66bf589 ./wordpress-3.4/.git/objects/92/bdc854db3afbed39bde8505392ae8fe66bf589
*** ./wordpress-3.3.2/.git/objects/92/bdc854db3afbed39bde8505392ae8fe66bf589	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/92/bdc854db3afbed39bde8505392ae8fe66bf589	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xMŽÁJ1†Wô”£g#xÓ´IT\³ìIÛÒCé"U¼f·£Fb²$QôA|½^|g¬óÁóLëBª</6û{Ÿ±C�Gä.yB”äyI™?š%¿Á7›lðüÚdÔ „T\œQ�RZJ}zq,¶˜/&üã�Õ G‚]ŸÑg¾úèé0ã{÷ÎX_A÷dbÂ\ß®¦¼Üæ¢ñé#Ÿø.¬­ÔP¶6³Æ½Fãø4Ä—¤Á÷?cªU¿míá°Y±{>C�Ñä5Ì\ÈMÄ”Æb$YÃ3v™Ï×ÿT´)¾ÃûM”
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/92/f074a790c00a1172a95989a248b73349bc636f and ./wordpress-3.4/.git/objects/92/f074a790c00a1172a95989a248b73349bc636f differ
Binary files ./wordpress-3.3.2/.git/objects/93/bb6d4f35676fb8e0d6f8505ac232de3ef42526 and ./wordpress-3.4/.git/objects/93/bb6d4f35676fb8e0d6f8505ac232de3ef42526 differ
Binary files ./wordpress-3.3.2/.git/objects/93/d30d00809da36ff0a820d4e1c822d567b8fb65 and ./wordpress-3.4/.git/objects/93/d30d00809da36ff0a820d4e1c822d567b8fb65 differ
Binary files ./wordpress-3.3.2/.git/objects/94/1ac2ef6f80d3363ba9f3e2c7474094c0998631 and ./wordpress-3.4/.git/objects/94/1ac2ef6f80d3363ba9f3e2c7474094c0998631 differ
Binary files ./wordpress-3.3.2/.git/objects/94/47cc3e7305cc82cedba9115a7d3cb2febc0123 and ./wordpress-3.4/.git/objects/94/47cc3e7305cc82cedba9115a7d3cb2febc0123 differ
Binary files ./wordpress-3.3.2/.git/objects/94/a5b2532b31e2050ce96a8c5f15dac5176fd02a and ./wordpress-3.4/.git/objects/94/a5b2532b31e2050ce96a8c5f15dac5176fd02a differ
Binary files ./wordpress-3.3.2/.git/objects/94/a7b1f550ca1d56bdbb393a138f72778d7e7713 and ./wordpress-3.4/.git/objects/94/a7b1f550ca1d56bdbb393a138f72778d7e7713 differ
Binary files ./wordpress-3.3.2/.git/objects/94/e6339d279df70097d26030e9c41e7797525b45 and ./wordpress-3.4/.git/objects/94/e6339d279df70097d26030e9c41e7797525b45 differ
Binary files ./wordpress-3.3.2/.git/objects/94/e89f52c4781fb5de77b5c4c56ea71c44f94642 and ./wordpress-3.4/.git/objects/94/e89f52c4781fb5de77b5c4c56ea71c44f94642 differ
Binary files ./wordpress-3.3.2/.git/objects/95/1494999e7a15a029a56071145c708dffac7c14 and ./wordpress-3.4/.git/objects/95/1494999e7a15a029a56071145c708dffac7c14 differ
Binary files ./wordpress-3.3.2/.git/objects/95/149c531d40cec7248708d5f51260be7c6ccda2 and ./wordpress-3.4/.git/objects/95/149c531d40cec7248708d5f51260be7c6ccda2 differ
Binary files ./wordpress-3.3.2/.git/objects/95/5a51fcfb20c19fcc0d4c4cd9f0193d4e0af871 and ./wordpress-3.4/.git/objects/95/5a51fcfb20c19fcc0d4c4cd9f0193d4e0af871 differ
Binary files ./wordpress-3.3.2/.git/objects/95/902ebbd42dd7209a39fce3917a4786131f532d and ./wordpress-3.4/.git/objects/95/902ebbd42dd7209a39fce3917a4786131f532d differ
Binary files ./wordpress-3.3.2/.git/objects/95/b0cb30e92491c0ed7fabb89c4e8416622dc73c and ./wordpress-3.4/.git/objects/95/b0cb30e92491c0ed7fabb89c4e8416622dc73c differ
Binary files ./wordpress-3.3.2/.git/objects/95/dc9a446b5c62efd1dca0caf353e2abfbc4fece and ./wordpress-3.4/.git/objects/95/dc9a446b5c62efd1dca0caf353e2abfbc4fece differ
Binary files ./wordpress-3.3.2/.git/objects/95/f0aa091d3b09eed515b93d23ccb5bcf0fc1fb4 and ./wordpress-3.4/.git/objects/95/f0aa091d3b09eed515b93d23ccb5bcf0fc1fb4 differ
Binary files ./wordpress-3.3.2/.git/objects/96/076a24d93f5fa68513d59f9dd0b5d0cb846f6a and ./wordpress-3.4/.git/objects/96/076a24d93f5fa68513d59f9dd0b5d0cb846f6a differ
Binary files ./wordpress-3.3.2/.git/objects/96/3337e94b93bc75e99408b9398c6cafffbed606 and ./wordpress-3.4/.git/objects/96/3337e94b93bc75e99408b9398c6cafffbed606 differ
Binary files ./wordpress-3.3.2/.git/objects/96/4cd4982f4771938c9779fe4cc560738465cc20 and ./wordpress-3.4/.git/objects/96/4cd4982f4771938c9779fe4cc560738465cc20 differ
Binary files ./wordpress-3.3.2/.git/objects/97/674e016517d3b631f31613f99f0a090b0ad7a1 and ./wordpress-3.4/.git/objects/97/674e016517d3b631f31613f99f0a090b0ad7a1 differ
Binary files ./wordpress-3.3.2/.git/objects/97/cd5ac8069084b1fae94288cb17c65432b203a3 and ./wordpress-3.4/.git/objects/97/cd5ac8069084b1fae94288cb17c65432b203a3 differ
Binary files ./wordpress-3.3.2/.git/objects/97/cec2e81cad39a7f0f17f0c4f7736f3d6c7d612 and ./wordpress-3.4/.git/objects/97/cec2e81cad39a7f0f17f0c4f7736f3d6c7d612 differ
Binary files ./wordpress-3.3.2/.git/objects/97/de6379ab21da751e00d21698b052c21839c9ca and ./wordpress-3.4/.git/objects/97/de6379ab21da751e00d21698b052c21839c9ca differ
Binary files ./wordpress-3.3.2/.git/objects/98/246c3fbfb6727c4dbc91d3d772dbf8153a1b88 and ./wordpress-3.4/.git/objects/98/246c3fbfb6727c4dbc91d3d772dbf8153a1b88 differ
Binary files ./wordpress-3.3.2/.git/objects/98/504ee4070c640e95c42f166d1d25baa7a4392d and ./wordpress-3.4/.git/objects/98/504ee4070c640e95c42f166d1d25baa7a4392d differ
Binary files ./wordpress-3.3.2/.git/objects/98/58126b6aa06daa7dcaaca04e82e97c278d489e and ./wordpress-3.4/.git/objects/98/58126b6aa06daa7dcaaca04e82e97c278d489e differ
Binary files ./wordpress-3.3.2/.git/objects/98/8f6b22c6505aa02761653112e7bbb1e69cb010 and ./wordpress-3.4/.git/objects/98/8f6b22c6505aa02761653112e7bbb1e69cb010 differ
Binary files ./wordpress-3.3.2/.git/objects/98/dc3fb1c2a341150fdf6bde3487a9511e658fd2 and ./wordpress-3.4/.git/objects/98/dc3fb1c2a341150fdf6bde3487a9511e658fd2 differ
Binary files ./wordpress-3.3.2/.git/objects/98/dd0ef5e20877abf189ef90b7575ca77a3ca68e and ./wordpress-3.4/.git/objects/98/dd0ef5e20877abf189ef90b7575ca77a3ca68e differ
Binary files ./wordpress-3.3.2/.git/objects/98/e32a5937afac3673ee669d874f7c8a22f4cdb5 and ./wordpress-3.4/.git/objects/98/e32a5937afac3673ee669d874f7c8a22f4cdb5 differ
Binary files ./wordpress-3.3.2/.git/objects/99/251dcfe40face1c7763573d8979dddada8de3c and ./wordpress-3.4/.git/objects/99/251dcfe40face1c7763573d8979dddada8de3c differ
Binary files ./wordpress-3.3.2/.git/objects/99/2709a81a0f14951109e653e1da910de39c9a3c and ./wordpress-3.4/.git/objects/99/2709a81a0f14951109e653e1da910de39c9a3c differ
Binary files ./wordpress-3.3.2/.git/objects/99/8e96854aade30d4123da87b06d27a492f7e5e1 and ./wordpress-3.4/.git/objects/99/8e96854aade30d4123da87b06d27a492f7e5e1 differ
Binary files ./wordpress-3.3.2/.git/objects/99/b477481721e0d127fe98012cb3771772792de6 and ./wordpress-3.4/.git/objects/99/b477481721e0d127fe98012cb3771772792de6 differ
Binary files ./wordpress-3.3.2/.git/objects/9a/78c4508effc774e6059621bb6a3a944b383afb and ./wordpress-3.4/.git/objects/9a/78c4508effc774e6059621bb6a3a944b383afb differ
Binary files ./wordpress-3.3.2/.git/objects/9a/a355a12f1bd4140ea16fd137eab18697173a03 and ./wordpress-3.4/.git/objects/9a/a355a12f1bd4140ea16fd137eab18697173a03 differ
Binary files ./wordpress-3.3.2/.git/objects/9a/c40f9ecd7ce5d011d04fdded7ce0c4490b9b83 and ./wordpress-3.4/.git/objects/9a/c40f9ecd7ce5d011d04fdded7ce0c4490b9b83 differ
Binary files ./wordpress-3.3.2/.git/objects/9a/c96b449c50fc541bd9e26273557049c1b61025 and ./wordpress-3.4/.git/objects/9a/c96b449c50fc541bd9e26273557049c1b61025 differ
Binary files ./wordpress-3.3.2/.git/objects/9a/e96482d25175133acf372abe72712a3f8fabd3 and ./wordpress-3.4/.git/objects/9a/e96482d25175133acf372abe72712a3f8fabd3 differ
Binary files ./wordpress-3.3.2/.git/objects/9b/00e5bcf72857ca5da4525d92d58fc0127b6d9b and ./wordpress-3.4/.git/objects/9b/00e5bcf72857ca5da4525d92d58fc0127b6d9b differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/9b/1cae7c1ec3d243b039c99140adf667eab6834d ./wordpress-3.4/.git/objects/9b/1cae7c1ec3d243b039c99140adf667eab6834d
*** ./wordpress-3.3.2/.git/objects/9b/1cae7c1ec3d243b039c99140adf667eab6834d	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/9b/1cae7c1ec3d243b039c99140adf667eab6834d	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- xmRM�Ó0åºùƒTÉiµm/H{àc�ó
- !q@­,Çž4£&vÖ-ûï™q7E Nqì÷Þ¼y3Ý:¸{s÷êÝý<ÌÍ~³i`ŸœƒòG>Lä)åh2ßlDô;†êãlìÑ¾‡è¾FL©Þ¦Ò-ÓùußH	xÆýaý[åsYJÎ‚�øT(¢Þb«v{#ŽvìU­ß6
õÐÂk°%FôY—„Q[ã[5ÏÎôÈM$µ†ussžµ#lµnÕ�PÀð!Ã`N©ô=Yb˜1N”7› 0DÕ�Ÿ<P‚Dwj-ÅW™òˆðDS"û‚ç›X[Í¦Zê©B”¨l/®bµÏl‰SÃ¬O&¦ÖÄhž[e¬D­nAY“599	¹ÄQŽÞL(_š¸?uÛÜ(‡ÉFšÖ‰ucÅd˜_¤ðâó"Vu™Ë³š¨"x„œ]wE$�†pæ0²þ Ù	“9?L‹¢Ð>^’áÆÐ?,¨/ÞÚÚ‚äòŸ§_½¯Ã\I›'{Ö{SÆ\¨sÐè(·L'oÇâê&ÈÕ¶ÆÚ‡8]Wâea®»²íy�ð’9Üh~•}÷•
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/9b/2d028098e2627460aa1e07f73cb469f08fed2a and ./wordpress-3.4/.git/objects/9b/2d028098e2627460aa1e07f73cb469f08fed2a differ
Binary files ./wordpress-3.3.2/.git/objects/9b/5c68c5a15d1007a1dd48cd0f261da079769e4f and ./wordpress-3.4/.git/objects/9b/5c68c5a15d1007a1dd48cd0f261da079769e4f differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/9b/788e3c97239148049347921d1f41cf2c16303e ./wordpress-3.4/.git/objects/9b/788e3c97239148049347921d1f41cf2c16303e
*** ./wordpress-3.3.2/.git/objects/9b/788e3c97239148049347921d1f41cf2c16303e	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/9b/788e3c97239148049347921d1f41cf2c16303e	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x=Ž½Â0„™óÞú3¤-Œ Ê ±1Vik�EH‚“¨<>i,–|÷Ùw£¶#l»nsèÝÝ‰¦®ÔpŽ:�§€°j~’!X²œ2¨eWöäÔôP7„«åùÂè}V}ÆÿÛ× 3!ìd+Û´7B0¾"16é%²Éi2Õ) Ú±¸�qNÄJ0Ë�!3Cd]¹bÆ«•Ç7…tÕÅïE¡
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/9b/910b72e0aa3371cbcab3831898e069ccb0858f and ./wordpress-3.4/.git/objects/9b/910b72e0aa3371cbcab3831898e069ccb0858f differ
Binary files ./wordpress-3.3.2/.git/objects/9b/998ff2a3d582b8a3dadff670db2637fde1d795 and ./wordpress-3.4/.git/objects/9b/998ff2a3d582b8a3dadff670db2637fde1d795 differ
Binary files ./wordpress-3.3.2/.git/objects/9b/9c43f9d6cf0e35c2ff8c1d4a8ce0da4d7f3f46 and ./wordpress-3.4/.git/objects/9b/9c43f9d6cf0e35c2ff8c1d4a8ce0da4d7f3f46 differ
Binary files ./wordpress-3.3.2/.git/objects/9c/225c116ab95ee3dc84c6fe7b741a1525a5b0ed and ./wordpress-3.4/.git/objects/9c/225c116ab95ee3dc84c6fe7b741a1525a5b0ed differ
Binary files ./wordpress-3.3.2/.git/objects/9c/51579ba58173ac7c234fccc795fb842adeb87d and ./wordpress-3.4/.git/objects/9c/51579ba58173ac7c234fccc795fb842adeb87d differ
Binary files ./wordpress-3.3.2/.git/objects/9c/63ca3267691dca7bbc5d156eeb00988ec0b07c and ./wordpress-3.4/.git/objects/9c/63ca3267691dca7bbc5d156eeb00988ec0b07c differ
Binary files ./wordpress-3.3.2/.git/objects/9c/6535e21a8025888f17c23c9875f287895a8168 and ./wordpress-3.4/.git/objects/9c/6535e21a8025888f17c23c9875f287895a8168 differ
Binary files ./wordpress-3.3.2/.git/objects/9c/cb62f263753ecee97cd24fdcf5d1ff2b86dcc5 and ./wordpress-3.4/.git/objects/9c/cb62f263753ecee97cd24fdcf5d1ff2b86dcc5 differ
Binary files ./wordpress-3.3.2/.git/objects/9d/0882f34adf5c03ea25524dd543209bb8c68836 and ./wordpress-3.4/.git/objects/9d/0882f34adf5c03ea25524dd543209bb8c68836 differ
Binary files ./wordpress-3.3.2/.git/objects/9d/33795f4991f97ad8dde1ae1434773e51a460de and ./wordpress-3.4/.git/objects/9d/33795f4991f97ad8dde1ae1434773e51a460de differ
Binary files ./wordpress-3.3.2/.git/objects/9d/6255eb281e22b65cb7cfa2b423330aa196e3f5 and ./wordpress-3.4/.git/objects/9d/6255eb281e22b65cb7cfa2b423330aa196e3f5 differ
Binary files ./wordpress-3.3.2/.git/objects/9d/89f0c58d7497c4f08a6644d8cd36b3afcc3880 and ./wordpress-3.4/.git/objects/9d/89f0c58d7497c4f08a6644d8cd36b3afcc3880 differ
Binary files ./wordpress-3.3.2/.git/objects/9d/c6297dfa6921a756430b8e366d26d0890c26e7 and ./wordpress-3.4/.git/objects/9d/c6297dfa6921a756430b8e366d26d0890c26e7 differ
Binary files ./wordpress-3.3.2/.git/objects/9d/e170e94183501bacf2046f740f809d68658617 and ./wordpress-3.4/.git/objects/9d/e170e94183501bacf2046f740f809d68658617 differ
Binary files ./wordpress-3.3.2/.git/objects/9d/f98fbe29db1e9afd620d207a0ac5d61550a1c1 and ./wordpress-3.4/.git/objects/9d/f98fbe29db1e9afd620d207a0ac5d61550a1c1 differ
Binary files ./wordpress-3.3.2/.git/objects/9e/202ed63cc7bee3498e030d217aa60fcf585b31 and ./wordpress-3.4/.git/objects/9e/202ed63cc7bee3498e030d217aa60fcf585b31 differ
Binary files ./wordpress-3.3.2/.git/objects/9e/2d6a86a6bf536b1e8f37198264c0b861f16d2e and ./wordpress-3.4/.git/objects/9e/2d6a86a6bf536b1e8f37198264c0b861f16d2e differ
Binary files ./wordpress-3.3.2/.git/objects/9e/42f62d215d001014f78df2dac584a72d294dee and ./wordpress-3.4/.git/objects/9e/42f62d215d001014f78df2dac584a72d294dee differ
Binary files ./wordpress-3.3.2/.git/objects/9e/8a950aad3ff6140e49d7d1bca3ee5d3c97330b and ./wordpress-3.4/.git/objects/9e/8a950aad3ff6140e49d7d1bca3ee5d3c97330b differ
Binary files ./wordpress-3.3.2/.git/objects/9e/bfb6ae6c5ff1682adf27eb1469c59967c8a54d and ./wordpress-3.4/.git/objects/9e/bfb6ae6c5ff1682adf27eb1469c59967c8a54d differ
Binary files ./wordpress-3.3.2/.git/objects/9f/1dc724c42b1e71596c52476df4a8cb0e244dd2 and ./wordpress-3.4/.git/objects/9f/1dc724c42b1e71596c52476df4a8cb0e244dd2 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/9f/30076bd4f1d070d511f90a0e8cc8f63ff7f016 ./wordpress-3.4/.git/objects/9f/30076bd4f1d070d511f90a0e8cc8f63ff7f016
*** ./wordpress-3.3.2/.git/objects/9f/30076bd4f1d070d511f90a0e8cc8f63ff7f016	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/9f/30076bd4f1d070d511f90a0e8cc8f63ff7f016	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ xuR[KÃ0ö¹¿â<²
Ûn*Ž1E7|ðELñaHI›3ì’˜´nþ{s¡]Çð!�sÉw99y)s¸�Œ/îÔVEépÁ5/¼Ô0g;.¸©4­¸ð‚¢Nl‹ëzT´ø¢ŸïR³¥Fc|ÖÔyS8}ª\×É8Ù8�¢ÞÎB®¯>à¨Öô·Ÿe}òDÍ6—T32¸‚+€Ø‰êwÜÛ¸’
+ šK¼áÚT!ä…1k‘šö“ã?d0kTÜUü–Ù ¢vR�ê½Š=i[!pšŒ:HÎÐRË
/ñÔŽ
+ Éÿ
yµýÓšm#§¼Ã8�výlÎµÇ%
sthgúC5@f{•i¤ef]£¨2§}M<·Wë¸HWþ,êr§hÕ~£FÏ®‚›Q7iü®¹ÆLÚ=èÏ«åüõ¯‡º]Kí‚”5C“º§žÍBýfçÖÒ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/9f/36f78febb8a5d5f96395491d8d408b2c2948ad and ./wordpress-3.4/.git/objects/9f/36f78febb8a5d5f96395491d8d408b2c2948ad differ
Binary files ./wordpress-3.3.2/.git/objects/9f/371bccae6ec9a11ff6dbb7bc5d39a1decaba3d and ./wordpress-3.4/.git/objects/9f/371bccae6ec9a11ff6dbb7bc5d39a1decaba3d differ
Binary files ./wordpress-3.3.2/.git/objects/9f/8dad5867b265ff203afe0df5aceced5ea2d5b2 and ./wordpress-3.4/.git/objects/9f/8dad5867b265ff203afe0df5aceced5ea2d5b2 differ
Binary files ./wordpress-3.3.2/.git/objects/9f/97564ad10dc240d3c27eba2ebea3869e1d0237 and ./wordpress-3.4/.git/objects/9f/97564ad10dc240d3c27eba2ebea3869e1d0237 differ
Binary files ./wordpress-3.3.2/.git/objects/9f/b36c0ccbe41f0362d766cf713f64e442db42df and ./wordpress-3.4/.git/objects/9f/b36c0ccbe41f0362d766cf713f64e442db42df differ
Binary files ./wordpress-3.3.2/.git/objects/9f/c3251d7098660fb86e23224ed2ef0e205e896e and ./wordpress-3.4/.git/objects/9f/c3251d7098660fb86e23224ed2ef0e205e896e differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/9f/ee68601d24ff7a1b5f8c676e9cb40370999388 ./wordpress-3.4/.git/objects/9f/ee68601d24ff7a1b5f8c676e9cb40370999388
*** ./wordpress-3.3.2/.git/objects/9f/ee68601d24ff7a1b5f8c676e9cb40370999388	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/9f/ee68601d24ff7a1b5f8c676e9cb40370999388	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ xU�±
+ Â0�óß–¶”tPÐAAÄApüIšß¶“�´ïo»®Ç§­×XnÖ‹Ý>tAÔE!PàÈ!r£6nÖ»–#³™È$ÌÎ!¨æ­ZÆÓGs�œÒDkAæ×Ò«·œA«ÄN}8#:_®'¢¼„\UKYÂ�Ö– Ê ]Ÿ0pÃ„ÁC3z×ØqÞKäÈ·âmª8Ö
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/9f/f24384ccd5682c0361789d8819f373da65f56f and ./wordpress-3.4/.git/objects/9f/f24384ccd5682c0361789d8819f373da65f56f differ
Binary files ./wordpress-3.3.2/.git/objects/a0/36f28553c8289e4f94b20bfd135886adebd8a7 and ./wordpress-3.4/.git/objects/a0/36f28553c8289e4f94b20bfd135886adebd8a7 differ
Binary files ./wordpress-3.3.2/.git/objects/a0/95655ca95491c0eaf8cdcb947432725dbee265 and ./wordpress-3.4/.git/objects/a0/95655ca95491c0eaf8cdcb947432725dbee265 differ
Binary files ./wordpress-3.3.2/.git/objects/a0/a61fb5022ef9bea4fa050594c35dd08b340078 and ./wordpress-3.4/.git/objects/a0/a61fb5022ef9bea4fa050594c35dd08b340078 differ
Binary files ./wordpress-3.3.2/.git/objects/a0/ad6bbb731a6788def72eb0aa084b9cd4f41d96 and ./wordpress-3.4/.git/objects/a0/ad6bbb731a6788def72eb0aa084b9cd4f41d96 differ
Binary files ./wordpress-3.3.2/.git/objects/a0/d4ef2ae38b8a0be50b61bcaae842874e414dbc and ./wordpress-3.4/.git/objects/a0/d4ef2ae38b8a0be50b61bcaae842874e414dbc differ
Binary files ./wordpress-3.3.2/.git/objects/a0/e09c766819b5f4f85a1e4aa7aaaa6676d177fc and ./wordpress-3.4/.git/objects/a0/e09c766819b5f4f85a1e4aa7aaaa6676d177fc differ
Binary files ./wordpress-3.3.2/.git/objects/a0/fc6af428ee01640a50cb290d87bb9d04382bae and ./wordpress-3.4/.git/objects/a0/fc6af428ee01640a50cb290d87bb9d04382bae differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a0/ffabf9fcd68a22663e18b2cff36bb56e2cef44 ./wordpress-3.4/.git/objects/a0/ffabf9fcd68a22663e18b2cff36bb56e2cef44
*** ./wordpress-3.3.2/.git/objects/a0/ffabf9fcd68a22663e18b2cff36bb56e2cef44	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/a0/ffabf9fcd68a22663e18b2cff36bb56e2cef44	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ xU�±
+ Â0�óß–¶”tPÐAAÄApüIšß¶“�´ïo»®Ç§­×XnÖ‹Ý>tAÔE!PàÈ!r£6nÖ»–#³™È$ÌÎ!¨æ­ZÆÓGs�œÒDkAæ×Ò«·œA«ÄN}8#:_®'¢¼„\UKYÂ�Ö– Ê ]Ÿ0pÃ„ÁC3z×ØqÞKäÈ·âmë8×
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/a1/36bb43871674c5b272ab306b60019c5dd16c47 and ./wordpress-3.4/.git/objects/a1/36bb43871674c5b272ab306b60019c5dd16c47 differ
Binary files ./wordpress-3.3.2/.git/objects/a1/579c85f22760df55dc01ffa04c2a00aca7917a and ./wordpress-3.4/.git/objects/a1/579c85f22760df55dc01ffa04c2a00aca7917a differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a1/5a4c3fd31f95f26a2d473ad4d9ee89928a0cfb ./wordpress-3.4/.git/objects/a1/5a4c3fd31f95f26a2d473ad4d9ee89928a0cfb
*** ./wordpress-3.3.2/.git/objects/a1/5a4c3fd31f95f26a2d473ad4d9ee89928a0cfb	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/a1/5a4c3fd31f95f26a2d473ad4d9ee89928a0cfb	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xU�ÍNÃ0„¹â§NMrpŠÊ­Hü8âÖcäÔ[X5ñÛQ_;m@wwf¾ÑöƒôØÜ®¯îü—WmÓ(4x§t’pÄK ²2F;²ã˜‚I,Þ8tVñ£7û£ù$ì$Ø�@1ÎÛ8õËámGNt>°Û6úN¯óÜªÅ«û€§ÿ¼g‘Tà¾è}O¨“Sa¥Û¹œÎõW¨·JñnÀ±nU£V×'ßYÎ–®Ë¶ßNˆ“÷R6ÀI9Ódu›ã.¸BÒíáò�…ö÷¢dÕ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/a1/6bf9eb0c13f3a8b21a4fe8759a9f57a1527529 and ./wordpress-3.4/.git/objects/a1/6bf9eb0c13f3a8b21a4fe8759a9f57a1527529 differ
Binary files ./wordpress-3.3.2/.git/objects/a1/82b7453db0859f42d21412ded80cac68b350fc and ./wordpress-3.4/.git/objects/a1/82b7453db0859f42d21412ded80cac68b350fc differ
Binary files ./wordpress-3.3.2/.git/objects/a1/9b4fbf3ee634a4955970f5b71f5fda017f6cbd and ./wordpress-3.4/.git/objects/a1/9b4fbf3ee634a4955970f5b71f5fda017f6cbd differ
Binary files ./wordpress-3.3.2/.git/objects/a1/a00be500e43d5b6268345422138bb084e5f3d5 and ./wordpress-3.4/.git/objects/a1/a00be500e43d5b6268345422138bb084e5f3d5 differ
Binary files ./wordpress-3.3.2/.git/objects/a1/ce53abb5102d6b986fc7f1e2eb3b010c6dfe31 and ./wordpress-3.4/.git/objects/a1/ce53abb5102d6b986fc7f1e2eb3b010c6dfe31 differ
Binary files ./wordpress-3.3.2/.git/objects/a2/32ba55f2dc767578104e47524fcc6365a988ca and ./wordpress-3.4/.git/objects/a2/32ba55f2dc767578104e47524fcc6365a988ca differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a2/57f94589727273bae415543e981e537f6c9e60 ./wordpress-3.4/.git/objects/a2/57f94589727273bae415543e981e537f6c9e60
*** ./wordpress-3.3.2/.git/objects/a2/57f94589727273bae415543e981e537f6c9e60	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/a2/57f94589727273bae415543e981e537f6c9e60	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- xePMK1õj~Å
- iÜ€^„­¶Äë‚Š‘%»™m‡f'1ø÷Ý´ü¸¾�™÷^o]7×·ë�ß{¡ªJ@¯Þ:m€ñ&4¤áÁLÄSÐ‰Ãó¹ž¥E½õz8èÂ›¦
ã�¹?¿í3«„ØÍŸµ…ÅŽüÞ16BÐË¬@)4³K�O™F²anj‹MQ«�¸˜ràùÆ¢{z|y—Ä–åÜ�L!£lJ¹¿EzçRiåK¤€Ÿ™vŽ\ÊZéRºžg‘«æyÜåêê¬›{ñ
q^m	
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/a2/63eaf0117600b59f957cfe6b850b8dc77972ef and ./wordpress-3.4/.git/objects/a2/63eaf0117600b59f957cfe6b850b8dc77972ef differ
Binary files ./wordpress-3.3.2/.git/objects/a2/72eb7ef672e94fda595b21cfbd5342f704dfbd and ./wordpress-3.4/.git/objects/a2/72eb7ef672e94fda595b21cfbd5342f704dfbd differ
Binary files ./wordpress-3.3.2/.git/objects/a2/9d6678f69084defb18a75ec7e55b89db9509c1 and ./wordpress-3.4/.git/objects/a2/9d6678f69084defb18a75ec7e55b89db9509c1 differ
Binary files ./wordpress-3.3.2/.git/objects/a2/bec45441b2c77e56bb41ec32bd74bfd04250e2 and ./wordpress-3.4/.git/objects/a2/bec45441b2c77e56bb41ec32bd74bfd04250e2 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a2/d3f1ae02e78f57782dc02304767a642779fa8b ./wordpress-3.4/.git/objects/a2/d3f1ae02e78f57782dc02304767a642779fa8b
*** ./wordpress-3.3.2/.git/objects/a2/d3f1ae02e78f57782dc02304767a642779fa8b	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/a2/d3f1ae02e78f57782dc02304767a642779fa8b	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ x�T]kÛ0Ýkò+„Êhmœ4ÝC;c„
ö°QØCƒ,]ÇjeÉHrœ¬ô¿ïÊiÝlIW÷žsî¹Î”ÉÈl~7{—¾Td_*íRZx_ÅQÔ4Í¤™OŒÝF³ÅbíC]�“˜X�G‰—^Áêù‚‰ÓÄF¨í„›öä%‰ºuÜÊÊ¨ ¥ö>zd;ÖíRâ,Oédáã¥>lJ›ÊTu5ytŸv`ÓùÝâæv:»�Îgwt•DÝÅ€á??ºÈ™ÚbNÒû¯¤IÔL2#ÄhNþBØÝû›®jï®>,¶?(ÜÒUŠbm4,‰A¼¹2M\H!@/Q°Q’[ÍJŒî PÌëê¬”wØÖF{ÐÓZðµÕ$gÊÖ`ÜK£SzòŒ!wCY,Â|Läž®˜ÃÎµz£@Še V
Í,ÕÏ–>ýk«Ú+(-VX�‡RR¤´±¬RRÃ‘o_ØÊmá[T£DQúîòøSfö´'îƒ dÈ¾�æJò'l¶[ÆŠ»ò…tAÙžNÓï¯ÑS”Dg¼ú´or
+ ÷Â9:°£ø¼2Ëì !WÀlL2ã‹�¿åÜÉ,°þ‰~-…Óµ5
Š>ûˆ€�
+ _ÓéQ¥F
+ _Ä·Þ/IA¬a•c³orVJuˆÉå›#Á’Ð\^÷‹ëÒhã*ÆÑPmtp ^¿­ö¨Ž�ØWå-%�dJMž%ÃÑùjxíÂ”L^ûÙëŠAŸ[_Ý3
a¤G¶V{xÞá¬öÞhJ¬	öV�½yø(JvLÕxø|Ñm¼œöGüûúË};à\í4·±Ò±eoÿÄçðº¹zžÔ,ÎË^]	æá…òÃéYù#Äæ€Qø3„w0Ãjü'¼
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/a3/18bbe21c090100dfa46734e718abf3e8cfaee2 and ./wordpress-3.4/.git/objects/a3/18bbe21c090100dfa46734e718abf3e8cfaee2 differ
Binary files ./wordpress-3.3.2/.git/objects/a3/2b058bab68d77648dc1d8189b0d459b43dfc6c and ./wordpress-3.4/.git/objects/a3/2b058bab68d77648dc1d8189b0d459b43dfc6c differ
Binary files ./wordpress-3.3.2/.git/objects/a3/331da95078f8ce149330b44267af7345990c2c and ./wordpress-3.4/.git/objects/a3/331da95078f8ce149330b44267af7345990c2c differ
Binary files ./wordpress-3.3.2/.git/objects/a3/3c4983315724c05abbb694bcf38ab9c6405d05 and ./wordpress-3.4/.git/objects/a3/3c4983315724c05abbb694bcf38ab9c6405d05 differ
Binary files ./wordpress-3.3.2/.git/objects/a3/43aaeb09b51d79e60088106ed82e65e9d9ed75 and ./wordpress-3.4/.git/objects/a3/43aaeb09b51d79e60088106ed82e65e9d9ed75 differ
Binary files ./wordpress-3.3.2/.git/objects/a3/4a51b882e59990e079f96c8a5a7a879d17b114 and ./wordpress-3.4/.git/objects/a3/4a51b882e59990e079f96c8a5a7a879d17b114 differ
Binary files ./wordpress-3.3.2/.git/objects/a3/5a2802e78e643a3ca9a0ea33749f9854d6f7cb and ./wordpress-3.4/.git/objects/a3/5a2802e78e643a3ca9a0ea33749f9854d6f7cb differ
Binary files ./wordpress-3.3.2/.git/objects/a3/82e0ffdf3cbe1ba7e1e7ad75143a081fc60dec and ./wordpress-3.4/.git/objects/a3/82e0ffdf3cbe1ba7e1e7ad75143a081fc60dec differ
Binary files ./wordpress-3.3.2/.git/objects/a3/b09e8182ec0bf15627c9e3cc69e78f9e138a74 and ./wordpress-3.4/.git/objects/a3/b09e8182ec0bf15627c9e3cc69e78f9e138a74 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a3/be929ac7cc32f16535f4e59959f32b20af4570 ./wordpress-3.4/.git/objects/a3/be929ac7cc32f16535f4e59959f32b20af4570
*** ./wordpress-3.3.2/.git/objects/a3/be929ac7cc32f16535f4e59959f32b20af4570	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/a3/be929ac7cc32f16535f4e59959f32b20af4570	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ x=Î=Â0`æœÂ[†´‚�¡Hp$6Æ(m-°Ip•ã“ÁèçOö�aÛï7‡£¿{Ñµ­€ÎÉD
+ R@ ç'Y
+ ‘u$gÁk‹Ff¸Ú“×ÓCß®Žçc%
iü-þ×¾²ÂNö²Ïs'ã+£r9¯¡’]ù&s�
+ šAˆÅ+Æ9‹)Ö`1.Žª•ØÔU©Xx³z|SÄÿE)
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/a4/1d3ecff0b721d9ab3d086e6b10adbf40f2cc40 and ./wordpress-3.4/.git/objects/a4/1d3ecff0b721d9ab3d086e6b10adbf40f2cc40 differ
Binary files ./wordpress-3.3.2/.git/objects/a4/5f1c9b60afe71fa11e68f2e389cc031ff6c62e and ./wordpress-3.4/.git/objects/a4/5f1c9b60afe71fa11e68f2e389cc031ff6c62e differ
Binary files ./wordpress-3.3.2/.git/objects/a4/c6e9d4eb8a8d65e19e9aa3fbbd23954f147c38 and ./wordpress-3.4/.git/objects/a4/c6e9d4eb8a8d65e19e9aa3fbbd23954f147c38 differ
Binary files ./wordpress-3.3.2/.git/objects/a4/d9873c8afaa2803c197f554fee87978576baed and ./wordpress-3.4/.git/objects/a4/d9873c8afaa2803c197f554fee87978576baed differ
Binary files ./wordpress-3.3.2/.git/objects/a5/07c4816cfd7a5368880248f01d8eaa3569e71c and ./wordpress-3.4/.git/objects/a5/07c4816cfd7a5368880248f01d8eaa3569e71c differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a5/d74e8b5be9d821d27864303a32c6d18ac79b55 ./wordpress-3.4/.git/objects/a5/d74e8b5be9d821d27864303a32c6d18ac79b55
*** ./wordpress-3.3.2/.git/objects/a5/d74e8b5be9d821d27864303a32c6d18ac79b55	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/a5/d74e8b5be9d821d27864303a32c6d18ac79b55	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,4 ****
- x�Tmk1Þ×Þ¯PºÒ»”^B7Æ
- Y’mí…1
- ìC)Æ9+‰×‹}õKCýï“}—ËÛÆŠ¿Y�¤GÒ#MJ=�³·çï^}Wó*éŸœ$pßq	×Ú:ø$RIëwR+¸)¢ê$ >V¼¸ç3„ŸÚˆkƒÖÆ_ë'+Ã¶;YûIHß4k¯Ý,Ÿµv!eð¼4È´*0K{}õˆkÚ$‰œBi-ºìˆ}ýòã6­ˆ7sO¦w]è&Gí!ZÓA‚¥Åè+ãÆð§öÝOa†Žµî6ƒšÚ¹^2/SŽÀ�@‰ÂÛI¶±Nœ,+&$fÀX–^©G^J!DÞ‰J[ófzòGô·ø4ßÄ¼¥c]u¡0nYáw È
*Ç¦²ÄÐÒÅ~ÈF³[ ò­1DÎ.À3„ÆÅ(;ÈÃMä¸%4\s;¤øuËã´6x­êëÂññþw>Ší¦Af/�t¨êf,TïnÁkFMÞíÄ²¦Ù�ZV$ƒ3Ú4(XEz··õ J?#Vá‡Íµ¾W|A#}A#Nÿ[dîj=û�FoŽ�¸®'²[çáj°ÿœÆsòL2sÒE!ü¥/%ŸÐ¼ó‚‘˜t¸Ê‘¥š‘zB›Û5„Â›(-oÑ°‚«Mi¶Í.x•�B„¸Y¶®sc! ½˜#�uüúüÍÙûøù8
(ÊC0T=2[Y¹,åÞiË1žƒ~nh7ë]šj³èÕkÔ¬ŽÀ)÷åj¥5,69ž6²4ËwuIŽ±/ùèêr�HU”^Ð
- ŽyˆŸsñÈé2‰ÕEj!Í¥"”&å¬ÌãQò³Ñ`
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/a5/dbc9899f152f4e274ecc49a3e70fbab14ac8e4 ./wordpress-3.4/.git/objects/a5/dbc9899f152f4e274ecc49a3e70fbab14ac8e4
*** ./wordpress-3.3.2/.git/objects/a5/dbc9899f152f4e274ecc49a3e70fbab14ac8e4	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/a5/dbc9899f152f4e274ecc49a3e70fbab14ac8e4	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ xU�±Â0D™óÞ
+ RD‘@‚"FÄˆœ&¢%Núÿ$Eb´ßÝù¬zR°ª7³ÝÞw^Te) „k0'�"d
�¢!ê—u6DÆhÉ�Ggz™ÔÙpðØ>ñaàF¬/lB·aPhþÜ_j]k –k¹Ls%òu8ê_
+ üÛàHsŸõlÞƒes§3‡BVcC™þ(`±Ï(±üÃÄ>’HN
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/a6/051ce142c2bcb6298e64dad0b6654e5ed51255 and ./wordpress-3.4/.git/objects/a6/051ce142c2bcb6298e64dad0b6654e5ed51255 differ
Binary files ./wordpress-3.3.2/.git/objects/a6/125b9ca35a4475d3b1b643eedf88b09f20c06a and ./wordpress-3.4/.git/objects/a6/125b9ca35a4475d3b1b643eedf88b09f20c06a differ
Binary files ./wordpress-3.3.2/.git/objects/a6/828b2dedfdcc35716b805314a970fad612080e and ./wordpress-3.4/.git/objects/a6/828b2dedfdcc35716b805314a970fad612080e differ
Binary files ./wordpress-3.3.2/.git/objects/a6/8711c8cd95fa1f8a4b96482c45d9fcf6716eaa and ./wordpress-3.4/.git/objects/a6/8711c8cd95fa1f8a4b96482c45d9fcf6716eaa differ
Binary files ./wordpress-3.3.2/.git/objects/a6/cbe7bd2165bd9700a1aa3a644c2f970caa972b and ./wordpress-3.4/.git/objects/a6/cbe7bd2165bd9700a1aa3a644c2f970caa972b differ
Binary files ./wordpress-3.3.2/.git/objects/a6/ce9c89c07218226e51ceb89e78191ec5baf657 and ./wordpress-3.4/.git/objects/a6/ce9c89c07218226e51ceb89e78191ec5baf657 differ
Binary files ./wordpress-3.3.2/.git/objects/a6/d6081de501eb41562c9a624872e1bf4670b09a and ./wordpress-3.4/.git/objects/a6/d6081de501eb41562c9a624872e1bf4670b09a differ
Binary files ./wordpress-3.3.2/.git/objects/a7/146019dc0483240ecf72aaa6a8f6850e5ad282 and ./wordpress-3.4/.git/objects/a7/146019dc0483240ecf72aaa6a8f6850e5ad282 differ
Binary files ./wordpress-3.3.2/.git/objects/a7/1d47484aabfe8cd1fd530f3089540961ae4ab2 and ./wordpress-3.4/.git/objects/a7/1d47484aabfe8cd1fd530f3089540961ae4ab2 differ
Binary files ./wordpress-3.3.2/.git/objects/a7/a8186e198d651cb9b5267351dc35cbac930597 and ./wordpress-3.4/.git/objects/a7/a8186e198d651cb9b5267351dc35cbac930597 differ
Binary files ./wordpress-3.3.2/.git/objects/a7/e14a80f7bb0376ce53beda7e367a4efaeafcf8 and ./wordpress-3.4/.git/objects/a7/e14a80f7bb0376ce53beda7e367a4efaeafcf8 differ
Binary files ./wordpress-3.3.2/.git/objects/a7/f359cde033c7fee0d1f14c0f9d4c88f178d750 and ./wordpress-3.4/.git/objects/a7/f359cde033c7fee0d1f14c0f9d4c88f178d750 differ
Binary files ./wordpress-3.3.2/.git/objects/a8/263a93742529251d714d2d762ab3271edc6106 and ./wordpress-3.4/.git/objects/a8/263a93742529251d714d2d762ab3271edc6106 differ
Binary files ./wordpress-3.3.2/.git/objects/a8/4c4635df89f9be5d5172370a826b9c8f96031e and ./wordpress-3.4/.git/objects/a8/4c4635df89f9be5d5172370a826b9c8f96031e differ
Binary files ./wordpress-3.3.2/.git/objects/a8/7f1f461f4fda320acf74cfbaaef0e19ac86958 and ./wordpress-3.4/.git/objects/a8/7f1f461f4fda320acf74cfbaaef0e19ac86958 differ
Binary files ./wordpress-3.3.2/.git/objects/a8/dac35c257b88344ee1ceddbfbe24b597d30f80 and ./wordpress-3.4/.git/objects/a8/dac35c257b88344ee1ceddbfbe24b597d30f80 differ
Binary files ./wordpress-3.3.2/.git/objects/a8/f1651d6fe490d82e0d01957684b02eef5f303c and ./wordpress-3.4/.git/objects/a8/f1651d6fe490d82e0d01957684b02eef5f303c differ
Binary files ./wordpress-3.3.2/.git/objects/a9/02d871824308694f95fde09a3e8276463392fd and ./wordpress-3.4/.git/objects/a9/02d871824308694f95fde09a3e8276463392fd differ
Binary files ./wordpress-3.3.2/.git/objects/a9/822f0520e1aae6054310ad6d416de9862e7bfb and ./wordpress-3.4/.git/objects/a9/822f0520e1aae6054310ad6d416de9862e7bfb differ
Binary files ./wordpress-3.3.2/.git/objects/a9/c4910f91c80407105e6351126738dc1145c803 and ./wordpress-3.4/.git/objects/a9/c4910f91c80407105e6351126738dc1145c803 differ
Binary files ./wordpress-3.3.2/.git/objects/a9/de2654b96eff86eacacf05952eb8dd0ebf15b0 and ./wordpress-3.4/.git/objects/a9/de2654b96eff86eacacf05952eb8dd0ebf15b0 differ
Binary files ./wordpress-3.3.2/.git/objects/aa/30cde7590c9a1a7dffde73d229d7f8c3bcc22e and ./wordpress-3.4/.git/objects/aa/30cde7590c9a1a7dffde73d229d7f8c3bcc22e differ
Binary files ./wordpress-3.3.2/.git/objects/aa/87fbd5e5e26daee97cee9dcd51ac8e47d64850 and ./wordpress-3.4/.git/objects/aa/87fbd5e5e26daee97cee9dcd51ac8e47d64850 differ
Binary files ./wordpress-3.3.2/.git/objects/ab/03ed1066b6a500fb5e37fbc053312ded2ece6c and ./wordpress-3.4/.git/objects/ab/03ed1066b6a500fb5e37fbc053312ded2ece6c differ
Binary files ./wordpress-3.3.2/.git/objects/ab/16be088faaba1330c4ca0a2bdd855559b4dcf3 and ./wordpress-3.4/.git/objects/ab/16be088faaba1330c4ca0a2bdd855559b4dcf3 differ
Binary files ./wordpress-3.3.2/.git/objects/ab/2737c563e3b3af267719e2a10e60aa8ab22457 and ./wordpress-3.4/.git/objects/ab/2737c563e3b3af267719e2a10e60aa8ab22457 differ
Binary files ./wordpress-3.3.2/.git/objects/ab/c5273a842cba9be05bb9ef75c78029b859040d and ./wordpress-3.4/.git/objects/ab/c5273a842cba9be05bb9ef75c78029b859040d differ
Binary files ./wordpress-3.3.2/.git/objects/ac/308a99666fa90cecb9e141ad4d6d1774223d86 and ./wordpress-3.4/.git/objects/ac/308a99666fa90cecb9e141ad4d6d1774223d86 differ
Binary files ./wordpress-3.3.2/.git/objects/ac/7fb17a969297d240a570291aa75afbef83e1e9 and ./wordpress-3.4/.git/objects/ac/7fb17a969297d240a570291aa75afbef83e1e9 differ
Binary files ./wordpress-3.3.2/.git/objects/ac/a98bdb3718a6dbd0cd69f186b3eff84801920c and ./wordpress-3.4/.git/objects/ac/a98bdb3718a6dbd0cd69f186b3eff84801920c differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ad/54efe2e5c9987f9827be5da10a354227818c1c ./wordpress-3.4/.git/objects/ad/54efe2e5c9987f9827be5da10a354227818c1c
*** ./wordpress-3.3.2/.git/objects/ad/54efe2e5c9987f9827be5da10a354227818c1c	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/ad/54efe2e5c9987f9827be5da10a354227818c1c	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,3 ****
- x=ŽÍ‚0„=÷)öÆÏ¡ 1â˜xóØØÈÆÒÖþßÑãÌ|»3½2=4ÇæpîìdYU–J¸EÈS@ÎèAŽ3iòÁÉ@Fƒ•Oä
- _­^ò‰ð0n¼;ô~s}ìÁÿÝ�N¼æuÒcß‘
- “ü2^mm<íÉ h[¬p8&b9h‹q/±1":•gûÆ�/ÖüPhYwa_ZþFT
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ad/5db1bf8169f99966c968432694f59e8aa0c3c5 ./wordpress-3.4/.git/objects/ad/5db1bf8169f99966c968432694f59e8aa0c3c5
*** ./wordpress-3.3.2/.git/objects/ad/5db1bf8169f99966c968432694f59e8aa0c3c5	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/ad/5db1bf8169f99966c968432694f59e8aa0c3c5	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ xu’aKä0†ï§¬ñnÍ¸i’Tl�"~õË¡ ¸]¥M³±^7-mjY{ùm÷ËL‹®úm†w2óÌ;I‹2�ŸüÀ«ÖH›—'$…¾«nË:»,[cEß(ks£›°ol�W!;]$ÁËEp³åâþôl¹Æ4‘…JLÈ<8¡HîœÿÚýùÿßz˜‰8fÁræ«º�Å×q3„r™v$-Jù'ä¤“á–B
ýsROVÂ>æ
ÉD‚í<T *D
+ å+¬…žX‹A‰¯æÜP»©”ä!P‡¦Ó1�h¨ôù ­è8úZÙ¶6î-óÈo|“¯UÙÚ_ ÷OôJ(Z«ªH¤òÞ½¡£5MlU65iSE§»ó#1��rôMƒÑ?‚D_õ_è%Ùš½œÍ¸Œ>Úu�%µåµ¿ŒÑàö÷Ý¸#œspdÎE	ÎJÙ®•±@ÓÜduÕèï`fƒ>FfD~ú´“X‚gÀO¿[UoüàW ËÅ±
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ad/873babb482538079aa839db4d3a646c0fabeac ./wordpress-3.4/.git/objects/ad/873babb482538079aa839db4d3a646c0fabeac
*** ./wordpress-3.3.2/.git/objects/ad/873babb482538079aa839db4d3a646c0fabeac	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/ad/873babb482538079aa839db4d3a646c0fabeac	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ x=ŽÍÂ „=ó{ëÏ�6z25Ñ0ñæ‘ÐvcI) ,©�/¥ÑãÌ|»3½¶=Ûóáru“cM]3¨á5© �&\0€eT /IYNÔ<‘|sr˜åáiýøðBvCìÁÿÝ(3 œxËÛ¤Æ<¾£ò(lòK(x“ÛxÚS@Õ1¶:áqLÄ@%¤ÕúYdFD¯Ëbß˜ùj;À�¢Ž}�6EÓ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/ad/b8321475528961f8de6e483acd0322453217dc and ./wordpress-3.4/.git/objects/ad/b8321475528961f8de6e483acd0322453217dc differ
Binary files ./wordpress-3.3.2/.git/objects/ae/779c68039037645fd0dc7b0df3f187d7fad9ad and ./wordpress-3.4/.git/objects/ae/779c68039037645fd0dc7b0df3f187d7fad9ad differ
Binary files ./wordpress-3.3.2/.git/objects/ae/8a9f136c39f68e1054e4ee8e45f4522ff7d2bc and ./wordpress-3.4/.git/objects/ae/8a9f136c39f68e1054e4ee8e45f4522ff7d2bc differ
Binary files ./wordpress-3.3.2/.git/objects/ae/c75804fb74e4f742efa03fc126b6028bff66e2 and ./wordpress-3.4/.git/objects/ae/c75804fb74e4f742efa03fc126b6028bff66e2 differ
Binary files ./wordpress-3.3.2/.git/objects/ae/d123601988a3e81cfeab8bb3a71953112b314d and ./wordpress-3.4/.git/objects/ae/d123601988a3e81cfeab8bb3a71953112b314d differ
Binary files ./wordpress-3.3.2/.git/objects/ae/dbc111ea1455871e8b0dc700591c400ba3d4ee and ./wordpress-3.4/.git/objects/ae/dbc111ea1455871e8b0dc700591c400ba3d4ee differ
Binary files ./wordpress-3.3.2/.git/objects/af/1960e478d2e05cddd8c8dbfc399257c04ea925 and ./wordpress-3.4/.git/objects/af/1960e478d2e05cddd8c8dbfc399257c04ea925 differ
Binary files ./wordpress-3.3.2/.git/objects/af/330e4c7efe8f6592e7fa4410bbe3e0ca5ec39e and ./wordpress-3.4/.git/objects/af/330e4c7efe8f6592e7fa4410bbe3e0ca5ec39e differ
Binary files ./wordpress-3.3.2/.git/objects/af/7e8673ea5b5df2e76c6b4b790e09075a33dc49 and ./wordpress-3.4/.git/objects/af/7e8673ea5b5df2e76c6b4b790e09075a33dc49 differ
Binary files ./wordpress-3.3.2/.git/objects/af/81871a74f3e6fd671fe6264a3ca448527a47d7 and ./wordpress-3.4/.git/objects/af/81871a74f3e6fd671fe6264a3ca448527a47d7 differ
Binary files ./wordpress-3.3.2/.git/objects/af/866faffaf7045fc7263d386dd68dbea8e6fba9 and ./wordpress-3.4/.git/objects/af/866faffaf7045fc7263d386dd68dbea8e6fba9 differ
Binary files ./wordpress-3.3.2/.git/objects/b0/7e0b5fbd04bacba18e6fd018a3b56d35e64f6a and ./wordpress-3.4/.git/objects/b0/7e0b5fbd04bacba18e6fd018a3b56d35e64f6a differ
Binary files ./wordpress-3.3.2/.git/objects/b0/b8d0782d2e0b874eae30ff56ed8d6378f0e9a9 and ./wordpress-3.4/.git/objects/b0/b8d0782d2e0b874eae30ff56ed8d6378f0e9a9 differ
Binary files ./wordpress-3.3.2/.git/objects/b1/32364b4b1caa42746a0f69c0f047de8a5680a6 and ./wordpress-3.4/.git/objects/b1/32364b4b1caa42746a0f69c0f047de8a5680a6 differ
Binary files ./wordpress-3.3.2/.git/objects/b1/495408c9721143cbc8264b80f85669fbfe89f1 and ./wordpress-3.4/.git/objects/b1/495408c9721143cbc8264b80f85669fbfe89f1 differ
Binary files ./wordpress-3.3.2/.git/objects/b1/4c79ce2365480c253ae2c37f33fe581a5a071b and ./wordpress-3.4/.git/objects/b1/4c79ce2365480c253ae2c37f33fe581a5a071b differ
Binary files ./wordpress-3.3.2/.git/objects/b1/4f5586c4a129cc34fb458623ec0dfe0af327a7 and ./wordpress-3.4/.git/objects/b1/4f5586c4a129cc34fb458623ec0dfe0af327a7 differ
Binary files ./wordpress-3.3.2/.git/objects/b1/5da76136420f501059128a017f05ebfc7987a7 and ./wordpress-3.4/.git/objects/b1/5da76136420f501059128a017f05ebfc7987a7 differ
Binary files ./wordpress-3.3.2/.git/objects/b1/afd19391883c451e7656edfede12d9937c0f6d and ./wordpress-3.4/.git/objects/b1/afd19391883c451e7656edfede12d9937c0f6d differ
Binary files ./wordpress-3.3.2/.git/objects/b1/b7d5f866063dec4d6ba759337e6f69402483af and ./wordpress-3.4/.git/objects/b1/b7d5f866063dec4d6ba759337e6f69402483af differ
Binary files ./wordpress-3.3.2/.git/objects/b1/be094ad40a7c4fa5e1ab8f1e2cc54a4ec1d040 and ./wordpress-3.4/.git/objects/b1/be094ad40a7c4fa5e1ab8f1e2cc54a4ec1d040 differ
Binary files ./wordpress-3.3.2/.git/objects/b2/57056e02e4816d1ee4d0aa352c922e1afb8c3b and ./wordpress-3.4/.git/objects/b2/57056e02e4816d1ee4d0aa352c922e1afb8c3b differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/b2/6897d3e62973b15aa0a74ea6936938e8ce9d7c ./wordpress-3.4/.git/objects/b2/6897d3e62973b15aa0a74ea6936938e8ce9d7c
*** ./wordpress-3.3.2/.git/objects/b2/6897d3e62973b15aa0a74ea6936938e8ce9d7c	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/b2/6897d3e62973b15aa0a74ea6936938e8ce9d7c	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,4 ****
- xuRaoÚ0Ý×æWÜÐ$'Œ&À´…ÖmûR©Z‘¦©ª"“Äªg¶iË¿ßÙA&–Oñù½ó»{o%Õ
- FÃÏŸÞ¥ó¶jƒ¤ß ?ïïa_�áb	K¬[É-ÂZi(…¡ÃN4›7Ô�2ÖÀš°1±]ƒ/-/žøá—Òå�Fc¨šA…¼D²ÕXlìår×âÄž�]9·T™6æ²²¶eÝ³)×íÌÁ7hsÕZ¡š�­¤ÚäûK
Àê-FÓàC­4ÂFÓ À¢RÀÒùk-áµ!Þ¬7Š‡=À¦P%M3ë±øÿMcÖ›³˜e¤bž)){kãÕ£")h”Yp‘Za%f~¥àÔ‰f­r"…¬á5²h
- /mîA¾Jçy–&‹èR4OgÙ[-ië!-ÑZøEœeÝï™G'Urc¿n…,äð¾…ßV½3ä¸¤jÈ(á~Ã�‰˜ø8¤�
¼	Žß’ÿ5mq-°Ù÷Û¥saÍ¥!:µ'�8Ùª0™óv’$+Š
- 6e¼5¨%§ŸBÕ	-kx5Nô2›Í–u¬ðØ.ÂçDö·_¿£ýÙ�éÒ
¥ÊyÑeÆá];lt€—JH„°âÏ˜»¡LE0[uÇÐ7¦nÂbM]O�v¨#OO,ýÇ¨÷7‹ëåõC÷ª#âk�ºµ]ˆúøH&ŸZu’/	uÍ]¬C.Îìdï¾H“nˆNíßÏÞÅ;9D9uFdÁ_3.W
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/b2/c5d6364095e30bd40760adb8c7b2c7b9262ced ./wordpress-3.4/.git/objects/b2/c5d6364095e30bd40760adb8c7b2c7b9262ced
*** ./wordpress-3.3.2/.git/objects/b2/c5d6364095e30bd40760adb8c7b2c7b9262ced	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/b2/c5d6364095e30bd40760adb8c7b2c7b9262ced	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xMŽÁJ1†Wô”£g#xÓ´I¨²fÙ“¶¥‡âRªxÍnG�ÄdI¢èƒøz^ú"Î*h?æƒæ˜Ö…Ty^||ÄyDž�ûä9P’[ò’247|…o6ÙàùµÉ¨A	©¸˜P�RZJ=¹8[.–S~‡qÈj�#Á®‚Ïè3_ôt˜ñ=�{g¬¯ {21a®o×3^þç¢ñé#Ÿú.l¬ÔP¶6³Æ½Fãø,Ä—¤Á÷?cªU¿míá¸Y±{>G�Ñä5Ì]ÈMÄ”Æb$YÃ3v™/6»?*ÚßÃüM”
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/b2/c69cb75298a2c3bf3dc2025dc479579e7240f0 and ./wordpress-3.4/.git/objects/b2/c69cb75298a2c3bf3dc2025dc479579e7240f0 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/2c540938ea47ded021d0df3d05ec0131fc1564 and ./wordpress-3.4/.git/objects/b3/2c540938ea47ded021d0df3d05ec0131fc1564 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/4d0cfdaa7089a22410a77b0bb3cf9bc7789a89 and ./wordpress-3.4/.git/objects/b3/4d0cfdaa7089a22410a77b0bb3cf9bc7789a89 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/5337786768296b25b89f5c56fa6b5beb49df59 and ./wordpress-3.4/.git/objects/b3/5337786768296b25b89f5c56fa6b5beb49df59 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/98a55c014a95f051ec514aa09a48c9107fd009 and ./wordpress-3.4/.git/objects/b3/98a55c014a95f051ec514aa09a48c9107fd009 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/ab3d2140a82015b499c5ebfd8816e445efc534 and ./wordpress-3.4/.git/objects/b3/ab3d2140a82015b499c5ebfd8816e445efc534 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/b6b2e859bd538c0e6195adc0dd1bd42826a170 and ./wordpress-3.4/.git/objects/b3/b6b2e859bd538c0e6195adc0dd1bd42826a170 differ
Binary files ./wordpress-3.3.2/.git/objects/b3/cc84e5048e4677f95570fa5fe25cb15825ba72 and ./wordpress-3.4/.git/objects/b3/cc84e5048e4677f95570fa5fe25cb15825ba72 differ
Binary files ./wordpress-3.3.2/.git/objects/b4/2f5c3b49b554ec61b5fed8f56bc26f29bcea01 and ./wordpress-3.4/.git/objects/b4/2f5c3b49b554ec61b5fed8f56bc26f29bcea01 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/b4/87ac7bfd87f28ef710f9604e41fc3489bfe0fe ./wordpress-3.4/.git/objects/b4/87ac7bfd87f28ef710f9604e41fc3489bfe0fe
*** ./wordpress-3.3.2/.git/objects/b4/87ac7bfd87f28ef710f9604e41fc3489bfe0fe	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/b4/87ac7bfd87f28ef710f9604e41fc3489bfe0fe	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,4 ****
- xM�ÍNÃ0„ƒà”#g‹¸±Ý§†´U*ˆ«“
- vdR_ƒ×ãYØ´âgäO;«�9¸ll	ÃS}íî|F¨-d9@¶‘¤S†$x<ÃÙe~U\“ýVûÚr¥‚À)ã„¦ø€sÁ˜Hé1EÅóÙ|Lî´ë²Ø€Æ—ÖmY|´Xú=$m£j“Cõ¤œ×AÞ.&$ûË9eüƒvdl*»¬Í£€¬¬C\4¯N5dbÝ‹`Úõêå0‡�•Gæ�Q)ôzÐYº/ƒ €qÜÏ%ÿ9�dÚÙuƒŽ…ÕjSÁíc‡a‡÷óøžLµÑNëL
- §½Oè€Å…³Ïº
- d¶üÿ_Ž—è]\$
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/b4/c78f3cd12a5dba591c80c5a900199c56ffdd18 and ./wordpress-3.4/.git/objects/b4/c78f3cd12a5dba591c80c5a900199c56ffdd18 differ
Binary files ./wordpress-3.3.2/.git/objects/b4/dbc6657425f4eed440a7a0d4dfa2e38668a275 and ./wordpress-3.4/.git/objects/b4/dbc6657425f4eed440a7a0d4dfa2e38668a275 differ
Binary files ./wordpress-3.3.2/.git/objects/b5/2f4c281893d0ec1b7b5e88417124aedc0ea45a and ./wordpress-3.4/.git/objects/b5/2f4c281893d0ec1b7b5e88417124aedc0ea45a differ
Binary files ./wordpress-3.3.2/.git/objects/b5/417d7b2fddb7b999f22cf1a532a7b037e187f0 and ./wordpress-3.4/.git/objects/b5/417d7b2fddb7b999f22cf1a532a7b037e187f0 differ
Binary files ./wordpress-3.3.2/.git/objects/b5/60757677877638a48c59349c1f8a858280f813 and ./wordpress-3.4/.git/objects/b5/60757677877638a48c59349c1f8a858280f813 differ
Binary files ./wordpress-3.3.2/.git/objects/b6/c5b695c5a11f24f58d4afecb8f843dac48f05b and ./wordpress-3.4/.git/objects/b6/c5b695c5a11f24f58d4afecb8f843dac48f05b differ
Binary files ./wordpress-3.3.2/.git/objects/b7/0e35df92c92cbaf9ddcf725fe0f6c8986159dd and ./wordpress-3.4/.git/objects/b7/0e35df92c92cbaf9ddcf725fe0f6c8986159dd differ
Binary files ./wordpress-3.3.2/.git/objects/b7/2d5afc27eee271ebf4304a44c079a4a4672226 and ./wordpress-3.4/.git/objects/b7/2d5afc27eee271ebf4304a44c079a4a4672226 differ
Binary files ./wordpress-3.3.2/.git/objects/b7/2fb94eafac2fd24d9bc22e5a5e837d4b6057ee and ./wordpress-3.4/.git/objects/b7/2fb94eafac2fd24d9bc22e5a5e837d4b6057ee differ
Binary files ./wordpress-3.3.2/.git/objects/b7/460289d77a03df78f2e8ab01ac8d89cba6a3d1 and ./wordpress-3.4/.git/objects/b7/460289d77a03df78f2e8ab01ac8d89cba6a3d1 differ
Binary files ./wordpress-3.3.2/.git/objects/b7/48fde68b9200f783fa59efca737ded0f1d6f97 and ./wordpress-3.4/.git/objects/b7/48fde68b9200f783fa59efca737ded0f1d6f97 differ
Binary files ./wordpress-3.3.2/.git/objects/b7/58ebaeeb2be70e29ca87515710fe96fede20f5 and ./wordpress-3.4/.git/objects/b7/58ebaeeb2be70e29ca87515710fe96fede20f5 differ
Binary files ./wordpress-3.3.2/.git/objects/b7/758d225d7d61da226a43c0a9732aae08d9da98 and ./wordpress-3.4/.git/objects/b7/758d225d7d61da226a43c0a9732aae08d9da98 differ
Binary files ./wordpress-3.3.2/.git/objects/b7/959c501fb686b29f262145c45f203b1ec28677 and ./wordpress-3.4/.git/objects/b7/959c501fb686b29f262145c45f203b1ec28677 differ
Binary files ./wordpress-3.3.2/.git/objects/b7/b40bb87ba0ceade7bfd741bd1e9d7aa6443c5e and ./wordpress-3.4/.git/objects/b7/b40bb87ba0ceade7bfd741bd1e9d7aa6443c5e differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/b8/231847ee9d474b8ffe40326c940de204912e77 ./wordpress-3.4/.git/objects/b8/231847ee9d474b8ffe40326c940de204912e77
*** ./wordpress-3.3.2/.git/objects/b8/231847ee9d474b8ffe40326c940de204912e77	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/b8/231847ee9d474b8ffe40326c940de204912e77	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ xmRMoÛ0Ý¹¿BË¡µYv³aèÜºÀÐÃ ë¾Rì0ì K´­Ì–<}¤‚ü÷JNÒlØ ƒ(ò‘||TÕé
+ ½y{ñ"›¾DËÏÌ=ÌQŠVçô‚Îò`ÍòóYš¿N_å'SÔ:7Ø"ËéZ_Q®ûlù+fí¯ÔË€š+Þy¶@» …ºî,u†)[ƒ¡K`7zXÙ´%�}Ð»‡ÅíÇ/_©ûí.Ñ�ä ,ôa¾ èý§;4ÍN’Ú+î¤V	#Þ°j—Ï€6à¼QÈµÒÒÀÓÃ1oVÌ ^²$F1Áª¨bíÀTc¥ º®-¸“ºÜ8="é vÁŒi!ŽP*•s;¾þQ
+ ×¼ßâ#Á[Ò”üX²
Ï®„\!Þ1kË‰—é^©ô Ôäú*ˆë3LÙ0€�Í}ÊÑJ‹uðqóÿ`?Ö»g=`ÊC`dÞ™71çÿe¾÷î™“A[•)&¬²ºó&ÛÐZÉž¹ *©¨ð†ED0"³R5äy!xÓR½^A(üÖuã?OO�vœ²['ü{þƒ0ÓŒs†åp*`·?¼�g‹“ÝoÅ—O�9ó«
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/b8/4025290540df380c1bfccf648300e3ca217e36 and ./wordpress-3.4/.git/objects/b8/4025290540df380c1bfccf648300e3ca217e36 differ
Binary files ./wordpress-3.3.2/.git/objects/b8/c84fdad7065bcebf1035ee8ec828ef8f862de0 and ./wordpress-3.4/.git/objects/b8/c84fdad7065bcebf1035ee8ec828ef8f862de0 differ
Binary files ./wordpress-3.3.2/.git/objects/b8/ffe922b1340ca1387956e561b7acd4e614a001 and ./wordpress-3.4/.git/objects/b8/ffe922b1340ca1387956e561b7acd4e614a001 differ
Binary files ./wordpress-3.3.2/.git/objects/b9/600f22e7c1b361c76b510a2cb808020c991643 and ./wordpress-3.4/.git/objects/b9/600f22e7c1b361c76b510a2cb808020c991643 differ
Binary files ./wordpress-3.3.2/.git/objects/b9/adf6f02e1bf2ae2c30d280a3cd3ea159c1d622 and ./wordpress-3.4/.git/objects/b9/adf6f02e1bf2ae2c30d280a3cd3ea159c1d622 differ
Binary files ./wordpress-3.3.2/.git/objects/b9/ae7e8a0891b06e0ab38158dd2e471b753deb29 and ./wordpress-3.4/.git/objects/b9/ae7e8a0891b06e0ab38158dd2e471b753deb29 differ
Binary files ./wordpress-3.3.2/.git/objects/b9/f13face0d4120acf5ef663840b1d8b3ce46272 and ./wordpress-3.4/.git/objects/b9/f13face0d4120acf5ef663840b1d8b3ce46272 differ
Binary files ./wordpress-3.3.2/.git/objects/ba/4ddb2eb339dd669828611e843f75eef424f077 and ./wordpress-3.4/.git/objects/ba/4ddb2eb339dd669828611e843f75eef424f077 differ
Binary files ./wordpress-3.3.2/.git/objects/ba/56a4a483e9eab02dc2a274fe267747d7ceafc3 and ./wordpress-3.4/.git/objects/ba/56a4a483e9eab02dc2a274fe267747d7ceafc3 differ
Binary files ./wordpress-3.3.2/.git/objects/ba/98f497cb9696bccc65635639591d0f4f211ee4 and ./wordpress-3.4/.git/objects/ba/98f497cb9696bccc65635639591d0f4f211ee4 differ
Binary files ./wordpress-3.3.2/.git/objects/bb/0ba653563b50784ec57785e189246a75e51e8b and ./wordpress-3.4/.git/objects/bb/0ba653563b50784ec57785e189246a75e51e8b differ
Binary files ./wordpress-3.3.2/.git/objects/bb/2f06644a3b41770e1bd92db45c9ed4c6b1543f and ./wordpress-3.4/.git/objects/bb/2f06644a3b41770e1bd92db45c9ed4c6b1543f differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/bb/3aacd59b6f876f7213a466c94a32d6e1049020 ./wordpress-3.4/.git/objects/bb/3aacd59b6f876f7213a466c94a32d6e1049020
*** ./wordpress-3.3.2/.git/objects/bb/3aacd59b6f876f7213a466c94a32d6e1049020	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/bb/3aacd59b6f876f7213a466c94a32d6e1049020	2012-06-13 16:59:59.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ x+)JMU060c040031QHLÊ/-Ñ+È(`Xzûdç|Q}?u¿3ž‹ŸóïÚèuâ	LQJnfX‘j¦L[VÂ¬if9o¾7½b86ÿæ¨¢ä¢Ô”Ì’b°²_»Z.õž5
üÖúËÄ:5è†êb¨²4 Ròs!êlYªîqs¬È™~2é×Š«›ìdîCÕeæ¥¤V€
ûÇ£~þoPœZ@våìpïK)s�ý ŠrSóJÁjæ°g_ùx¡àªàO.¾žßì¿ƒª)(ÊOËÌI+Û½ððÓ²Ž×ÍæW§Çíw;Õ³ª¬´8µHä°BÃJï—rç¿~,$!ôãÞ²G*ŒO£éÉ~Ø
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/bb/5a95e6a741ff71d40e57e3341ad9d47d1d6831 and ./wordpress-3.4/.git/objects/bb/5a95e6a741ff71d40e57e3341ad9d47d1d6831 differ
Binary files ./wordpress-3.3.2/.git/objects/bb/61249cfb3d2470572911b68d920abd77dcad2e and ./wordpress-3.4/.git/objects/bb/61249cfb3d2470572911b68d920abd77dcad2e differ
Binary files ./wordpress-3.3.2/.git/objects/bb/69d9a0778058e7a5c6f872846659189e998f25 and ./wordpress-3.4/.git/objects/bb/69d9a0778058e7a5c6f872846659189e998f25 differ
Binary files ./wordpress-3.3.2/.git/objects/bb/71d3d3b6c67c3068adfecda8e80c43d63f8e2b and ./wordpress-3.4/.git/objects/bb/71d3d3b6c67c3068adfecda8e80c43d63f8e2b differ
Binary files ./wordpress-3.3.2/.git/objects/bb/84ca114361fa4c69c028524d4378b2aec958a9 and ./wordpress-3.4/.git/objects/bb/84ca114361fa4c69c028524d4378b2aec958a9 differ
Binary files ./wordpress-3.3.2/.git/objects/bb/987af0ae76f44508ce873df9fb876f166e6d1c and ./wordpress-3.4/.git/objects/bb/987af0ae76f44508ce873df9fb876f166e6d1c differ
Binary files ./wordpress-3.3.2/.git/objects/bb/a0871d6353dc62f105c757978d224f8c224c03 and ./wordpress-3.4/.git/objects/bb/a0871d6353dc62f105c757978d224f8c224c03 differ
Binary files ./wordpress-3.3.2/.git/objects/bb/aea63e571fa678e6231d6c373a0ea058548e28 and ./wordpress-3.4/.git/objects/bb/aea63e571fa678e6231d6c373a0ea058548e28 differ
Binary files ./wordpress-3.3.2/.git/objects/bb/b1c50ed0a66a3291088beb722f652fa39f6285 and ./wordpress-3.4/.git/objects/bb/b1c50ed0a66a3291088beb722f652fa39f6285 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/bc/076f738d7ebcb2fe9f68515341d1bd1d656f4e ./wordpress-3.4/.git/objects/bc/076f738d7ebcb2fe9f68515341d1bd1d656f4e
*** ./wordpress-3.3.2/.git/objects/bc/076f738d7ebcb2fe9f68515341d1bd1d656f4e	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/bc/076f738d7ebcb2fe9f68515341d1bd1d656f4e	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x…RËjÃ0ì§¨ÊE"±qii!F§~@)„^‹-­5Š²”FÿÞµ“4NSèI¶f4»3»µmjòüôr·­<Y¬`vàK¦£“Á4ŽU¼âç¾æÝù›(Æ»ŠÑ‰66€Ï¤5r=#“�q&ßQžGW§8ø?œ—j·:È	ÍriáÕVm‹£÷àåå¨bÝì‘×Z£`1�Ù>‘³Ð[ûÅx,
- ^zÑ;¢+ÛBú-Iærr}ÿ·ñ>B×M�@amnV3=¦œS°Ø²ÑLçìß4£Œò{‘=`ÎBçm¬ÛàY1»&ð„o@ˆâïàzYÍ »›õÁø”F§0¥œò”xê�HÑáðÂ\¥sD!öõÁxy<™jdÜà0xî¡R‡Ëqi†È?·Ã:	»ñz¡Õ1Œ–
ÚÇü¿O#ßÊ
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/bc/32c7dd844fcb93bb86294a5374f769724b1115 and ./wordpress-3.4/.git/objects/bc/32c7dd844fcb93bb86294a5374f769724b1115 differ
Binary files ./wordpress-3.3.2/.git/objects/bc/5037c723df936a570be9b0929bcf1e9f328e46 and ./wordpress-3.4/.git/objects/bc/5037c723df936a570be9b0929bcf1e9f328e46 differ
Binary files ./wordpress-3.3.2/.git/objects/bc/595282b4fa6993b4c731061d897419a2be2c9c and ./wordpress-3.4/.git/objects/bc/595282b4fa6993b4c731061d897419a2be2c9c differ
Binary files ./wordpress-3.3.2/.git/objects/bd/4885525015a85ce259dd1215de50a3527b4270 and ./wordpress-3.4/.git/objects/bd/4885525015a85ce259dd1215de50a3527b4270 differ
Binary files ./wordpress-3.3.2/.git/objects/bd/acc21ce364d2f0efb0ca664d6fcc16956368fc and ./wordpress-3.4/.git/objects/bd/acc21ce364d2f0efb0ca664d6fcc16956368fc differ
Binary files ./wordpress-3.3.2/.git/objects/be/586a4f5feab5f83e6422e26c5388347d5b8407 and ./wordpress-3.4/.git/objects/be/586a4f5feab5f83e6422e26c5388347d5b8407 differ
Binary files ./wordpress-3.3.2/.git/objects/be/97e8c381cf8de11f3910de7b846a6879c6eb3d and ./wordpress-3.4/.git/objects/be/97e8c381cf8de11f3910de7b846a6879c6eb3d differ
Binary files ./wordpress-3.3.2/.git/objects/be/acd2227fc90db824d86795e3dd390b6c7547a1 and ./wordpress-3.4/.git/objects/be/acd2227fc90db824d86795e3dd390b6c7547a1 differ
Binary files ./wordpress-3.3.2/.git/objects/be/d4129c9be8a711b9023635ca84c81add6cb0a5 and ./wordpress-3.4/.git/objects/be/d4129c9be8a711b9023635ca84c81add6cb0a5 differ
Binary files ./wordpress-3.3.2/.git/objects/bf/4ac85dc62deeeeb6122f2cee9feb6ab25c620b and ./wordpress-3.4/.git/objects/bf/4ac85dc62deeeeb6122f2cee9feb6ab25c620b differ
Binary files ./wordpress-3.3.2/.git/objects/bf/9ef276636b3ec49fc79560900efa48ee275884 and ./wordpress-3.4/.git/objects/bf/9ef276636b3ec49fc79560900efa48ee275884 differ
Binary files ./wordpress-3.3.2/.git/objects/bf/f0c03af762b1995a6e21c22e50b0f33eb3c3cb and ./wordpress-3.4/.git/objects/bf/f0c03af762b1995a6e21c22e50b0f33eb3c3cb differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/bf/f13e263de9e6eecccdc1dc9583fcacfda04591 ./wordpress-3.4/.git/objects/bf/f13e263de9e6eecccdc1dc9583fcacfda04591
*** ./wordpress-3.3.2/.git/objects/bf/f13e263de9e6eecccdc1dc9583fcacfda04591	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/bf/f13e263de9e6eecccdc1dc9583fcacfda04591	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ xM�ÁjÃ0D{ÖWÌÍ­Á6MÒ‹È¡µÁ�¶‡|€Q¤m-°Wf%Sü÷•!‡\gvvÞÜFÃnx:�çaVUž+äøôv	_z¢ïž£6­—éÁü `ÄÍÑy®ÑèàÆŽI„†¹g~RšWü
$ÏXý".R¹ýºútþ-–¤ÆÛ&´NBDÇQ‚![ãµÜ'£RÊ±K°N8�=£ïÛîÒô=^P"«î�ÅÖYýÊÂ‰¬xË´0;ªíÂN‹
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/c0/0bcec3746c1b431709f524fd8dab6c4120a9b3 and ./wordpress-3.4/.git/objects/c0/0bcec3746c1b431709f524fd8dab6c4120a9b3 differ
Binary files ./wordpress-3.3.2/.git/objects/c0/71dc23822df128a792314be3d80b5eea2fed7f and ./wordpress-3.4/.git/objects/c0/71dc23822df128a792314be3d80b5eea2fed7f differ
Binary files ./wordpress-3.3.2/.git/objects/c1/a1d9f67de5b3c8928874c4b139601a0d8927b8 and ./wordpress-3.4/.git/objects/c1/a1d9f67de5b3c8928874c4b139601a0d8927b8 differ
Binary files ./wordpress-3.3.2/.git/objects/c1/ce0510e7d43e107ccb630a9a7499f23cb56273 and ./wordpress-3.4/.git/objects/c1/ce0510e7d43e107ccb630a9a7499f23cb56273 differ
Binary files ./wordpress-3.3.2/.git/objects/c2/1c861e4bbb2e4a9c6c14cfc7162bf59cabf67a and ./wordpress-3.4/.git/objects/c2/1c861e4bbb2e4a9c6c14cfc7162bf59cabf67a differ
Binary files ./wordpress-3.3.2/.git/objects/c2/2c68aaf32a28e7e3735b9f2ed82676af5587a1 and ./wordpress-3.4/.git/objects/c2/2c68aaf32a28e7e3735b9f2ed82676af5587a1 differ
Binary files ./wordpress-3.3.2/.git/objects/c2/41158d322937e57b0fff79438c4020b9bee132 and ./wordpress-3.4/.git/objects/c2/41158d322937e57b0fff79438c4020b9bee132 differ
Binary files ./wordpress-3.3.2/.git/objects/c2/761cbb85e2d2b9b1cd4800f78232de3c5ce267 and ./wordpress-3.4/.git/objects/c2/761cbb85e2d2b9b1cd4800f78232de3c5ce267 differ
Binary files ./wordpress-3.3.2/.git/objects/c3/7e6daef79cffde92fb84dee7fc3296b5bb81aa and ./wordpress-3.4/.git/objects/c3/7e6daef79cffde92fb84dee7fc3296b5bb81aa differ
Binary files ./wordpress-3.3.2/.git/objects/c3/bca7020f3c117a271fb32ccadb4789f88cb0e2 and ./wordpress-3.4/.git/objects/c3/bca7020f3c117a271fb32ccadb4789f88cb0e2 differ
Binary files ./wordpress-3.3.2/.git/objects/c4/19089062e4bef36757747a6c96c5e6bd252d03 and ./wordpress-3.4/.git/objects/c4/19089062e4bef36757747a6c96c5e6bd252d03 differ
Binary files ./wordpress-3.3.2/.git/objects/c4/4eed79d1a98f2fe65c5b1dd9deb86827624089 and ./wordpress-3.4/.git/objects/c4/4eed79d1a98f2fe65c5b1dd9deb86827624089 differ
Binary files ./wordpress-3.3.2/.git/objects/c4/cff0e29bc5a7dcd62d6b17e91a0e24c5af5025 and ./wordpress-3.4/.git/objects/c4/cff0e29bc5a7dcd62d6b17e91a0e24c5af5025 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/c5/021f169e040c288d3ce9a7dfc9889dedce469a ./wordpress-3.4/.git/objects/c5/021f169e040c288d3ce9a7dfc9889dedce469a
*** ./wordpress-3.3.2/.git/objects/c5/021f169e040c288d3ce9a7dfc9889dedce469a	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/c5/021f169e040c288d3ce9a7dfc9889dedce469a	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ xUPÍjÂ@öœ§˜[lÐM±
+ ê!-‚ÐE[z›ì¨ƒéîv6éó;¦*sšù~§j|“éË`¾Ç�äY–@_4û=5+ûCŽbË¦%ï`W3¢S» —ÁÔ's@øöl5cŒý6vÕíðH—kžÜl>�AÆ@¸z‘ºKGr5ÂD½ªç^ôÏ0TÞ7½†Å=9¦ë]©·oëMQêÕ{‘Ž åŸf½	l¼±ÿm
+ K-¹èKXÉÀøÛcéÅc˜ª¼“Êc�’?¤Â?ÿTÐ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/c5/4029ca0aec6cedd32e1269bb2860bd07e4590c and ./wordpress-3.4/.git/objects/c5/4029ca0aec6cedd32e1269bb2860bd07e4590c differ
Binary files ./wordpress-3.3.2/.git/objects/c5/495554fc8adda29eac9bdb58b7c187bd55ead4 and ./wordpress-3.4/.git/objects/c5/495554fc8adda29eac9bdb58b7c187bd55ead4 differ
Binary files ./wordpress-3.3.2/.git/objects/c5/75429566ef039d6e3a04530673cd94b7e96105 and ./wordpress-3.4/.git/objects/c5/75429566ef039d6e3a04530673cd94b7e96105 differ
Binary files ./wordpress-3.3.2/.git/objects/c6/330b620b678e8b54507f6968a6360685c98397 and ./wordpress-3.4/.git/objects/c6/330b620b678e8b54507f6968a6360685c98397 differ
Binary files ./wordpress-3.3.2/.git/objects/c6/64d971eb62a9e7f8153a5c8307ff2ec4925441 and ./wordpress-3.4/.git/objects/c6/64d971eb62a9e7f8153a5c8307ff2ec4925441 differ
Binary files ./wordpress-3.3.2/.git/objects/c6/f2f24750d74ad578c58ca373dc7318f3e99e37 and ./wordpress-3.4/.git/objects/c6/f2f24750d74ad578c58ca373dc7318f3e99e37 differ
Binary files ./wordpress-3.3.2/.git/objects/c7/03949c1965421a80e43e240315c68bb7cba233 and ./wordpress-3.4/.git/objects/c7/03949c1965421a80e43e240315c68bb7cba233 differ
Binary files ./wordpress-3.3.2/.git/objects/c7/0eeeb9e18046d597bcbeada4465f6d21799e20 and ./wordpress-3.4/.git/objects/c7/0eeeb9e18046d597bcbeada4465f6d21799e20 differ
Binary files ./wordpress-3.3.2/.git/objects/c7/0ef66bbb732d4797c32ac0a697b1d5332cd010 and ./wordpress-3.4/.git/objects/c7/0ef66bbb732d4797c32ac0a697b1d5332cd010 differ
Binary files ./wordpress-3.3.2/.git/objects/c7/22150d3408f7fedd71b47e764b46a1d3aa47a8 and ./wordpress-3.4/.git/objects/c7/22150d3408f7fedd71b47e764b46a1d3aa47a8 differ
Binary files ./wordpress-3.3.2/.git/objects/c7/9dada3004d2f994e06a44802119b2cbebcda8d and ./wordpress-3.4/.git/objects/c7/9dada3004d2f994e06a44802119b2cbebcda8d differ
Binary files ./wordpress-3.3.2/.git/objects/c8/12f3fc65e714eae37893f9210e48c99796f6c4 and ./wordpress-3.4/.git/objects/c8/12f3fc65e714eae37893f9210e48c99796f6c4 differ
Binary files ./wordpress-3.3.2/.git/objects/c8/92705ee48750b80d57285edf244877d5175ac7 and ./wordpress-3.4/.git/objects/c8/92705ee48750b80d57285edf244877d5175ac7 differ
Binary files ./wordpress-3.3.2/.git/objects/c8/97a601c70f35f05f145adeebdcbad5b3dca5c5 and ./wordpress-3.4/.git/objects/c8/97a601c70f35f05f145adeebdcbad5b3dca5c5 differ
Binary files ./wordpress-3.3.2/.git/objects/c8/b06f33f818810363ed256f71dfb8d6009ca763 and ./wordpress-3.4/.git/objects/c8/b06f33f818810363ed256f71dfb8d6009ca763 differ
Binary files ./wordpress-3.3.2/.git/objects/c8/f1a4d7d557d9710ce0637c41b24bf2fd62cf3b and ./wordpress-3.4/.git/objects/c8/f1a4d7d557d9710ce0637c41b24bf2fd62cf3b differ
Binary files ./wordpress-3.3.2/.git/objects/c8/f5da9b829fc3c61b91d1c947e38ea316f3f53c and ./wordpress-3.4/.git/objects/c8/f5da9b829fc3c61b91d1c947e38ea316f3f53c differ
Binary files ./wordpress-3.3.2/.git/objects/c9/65d4c8db67b9c151bad73c60ec494bad13735e and ./wordpress-3.4/.git/objects/c9/65d4c8db67b9c151bad73c60ec494bad13735e differ
Binary files ./wordpress-3.3.2/.git/objects/c9/6fc4fc7ea86ce88d54af8282caf4306ab5dff5 and ./wordpress-3.4/.git/objects/c9/6fc4fc7ea86ce88d54af8282caf4306ab5dff5 differ
Binary files ./wordpress-3.3.2/.git/objects/c9/8b28cc30d29869e6511bd3d1629c7192746068 and ./wordpress-3.4/.git/objects/c9/8b28cc30d29869e6511bd3d1629c7192746068 differ
Binary files ./wordpress-3.3.2/.git/objects/c9/cd15fd7091a2d213826d084ca67fdab4ef52dd and ./wordpress-3.4/.git/objects/c9/cd15fd7091a2d213826d084ca67fdab4ef52dd differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ca/14a59c83b09cd6257a64ecceec8b66d154c6f6 ./wordpress-3.4/.git/objects/ca/14a59c83b09cd6257a64ecceec8b66d154c6f6
*** ./wordpress-3.3.2/.git/objects/ca/14a59c83b09cd6257a64ecceec8b66d154c6f6	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/ca/14a59c83b09cd6257a64ecceec8b66d154c6f6	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x…ŽMK1†=çWÌm·K›‹Q¬+X,´xù˜Öàn3	þ}“éMOï¼�½‚åòúâv>ë»ŽAï>šmD"Ø…C”a��NÖ;âð2ØÛç0eJà|…�	
‡�Óc6X;¾ÃBšÉºÞž4êó©‹—!°ŽJÃ‹³šï
†ˆZ&4pÉ¯ŽR�úSðsT)«ßÇPë-¥(+YùöŒ‰s‘¨�-(Ièä„­ëÍó£³94e£)çOÆf7,âW¶…wÛááu;¼=ÿ/Y‚«;ö2²q¶
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/ca/452026a449b39d37d76049bb37cbe5e2fc3206 and ./wordpress-3.4/.git/objects/ca/452026a449b39d37d76049bb37cbe5e2fc3206 differ
Binary files ./wordpress-3.3.2/.git/objects/ca/54fd388b03f1f96b6a9031e0e265033045a229 and ./wordpress-3.4/.git/objects/ca/54fd388b03f1f96b6a9031e0e265033045a229 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ca/63fdad4248ac934ec63d2f3eba29399ce13b62 ./wordpress-3.4/.git/objects/ca/63fdad4248ac934ec63d2f3eba29399ce13b62
*** ./wordpress-3.3.2/.git/objects/ca/63fdad4248ac934ec63d2f3eba29399ce13b62	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/ca/63fdad4248ac934ec63d2f3eba29399ce13b62	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ x­Ž=
+ 1Fmã)\Ø4…… žÂ#$ÙQ#ùY6EÅ»›]-Rˆ•ÍÌÀ÷ñæi5¬·›‡C†l�9»öÒäDÑÛ;rhµ‹Ç <¶ËªyQ.#(u6ÝRÛÐÕ,ŠŸ˜5²H–pE–‚jAÈyÇa,í
+ â9­÷üò¾ÃdÛ�’°¨i¿LŠ‡ó>ãp+z/€tZÉ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/ca/d83ff0c75a1b1042626fdc0510d68e7ec2b4a1 and ./wordpress-3.4/.git/objects/ca/d83ff0c75a1b1042626fdc0510d68e7ec2b4a1 differ
Binary files ./wordpress-3.3.2/.git/objects/cb/0d3f6c757c6eff23b525f047dd98bc755a28a7 and ./wordpress-3.4/.git/objects/cb/0d3f6c757c6eff23b525f047dd98bc755a28a7 differ
Binary files ./wordpress-3.3.2/.git/objects/cb/4e6e20a6818d7e153b1709a64ec34d85050460 and ./wordpress-3.4/.git/objects/cb/4e6e20a6818d7e153b1709a64ec34d85050460 differ
Binary files ./wordpress-3.3.2/.git/objects/cb/950184f8426d51101e6e21db3f23c3800110db and ./wordpress-3.4/.git/objects/cb/950184f8426d51101e6e21db3f23c3800110db differ
Binary files ./wordpress-3.3.2/.git/objects/cb/b4172bacbbcc3f5067cef36cf09dd47ebfc4d5 and ./wordpress-3.4/.git/objects/cb/b4172bacbbcc3f5067cef36cf09dd47ebfc4d5 differ
Binary files ./wordpress-3.3.2/.git/objects/cb/e3ed54a1bbfdacf74f3ee71ffe381380fabb17 and ./wordpress-3.4/.git/objects/cb/e3ed54a1bbfdacf74f3ee71ffe381380fabb17 differ
Binary files ./wordpress-3.3.2/.git/objects/cc/341b140ca0d0311fb9f75b50da05048a209dc0 and ./wordpress-3.4/.git/objects/cc/341b140ca0d0311fb9f75b50da05048a209dc0 differ
Binary files ./wordpress-3.3.2/.git/objects/cc/8dee1fe5ff93ff5052671a867f1ff7c4bfe0e8 and ./wordpress-3.4/.git/objects/cc/8dee1fe5ff93ff5052671a867f1ff7c4bfe0e8 differ
Binary files ./wordpress-3.3.2/.git/objects/cc/a2bf1e2189c6362b74ca0cd3538d7d8eb45c4d and ./wordpress-3.4/.git/objects/cc/a2bf1e2189c6362b74ca0cd3538d7d8eb45c4d differ
Binary files ./wordpress-3.3.2/.git/objects/cc/cde57d09549c7c82da193f3a28ba9dec53b771 and ./wordpress-3.4/.git/objects/cc/cde57d09549c7c82da193f3a28ba9dec53b771 differ
Binary files ./wordpress-3.3.2/.git/objects/cd/9841da08a465cb2070a9dcc549c388026786cd and ./wordpress-3.4/.git/objects/cd/9841da08a465cb2070a9dcc549c388026786cd differ
Binary files ./wordpress-3.3.2/.git/objects/cd/af2bcfde57d27ed81d11bd21b8ce0b08d9321b and ./wordpress-3.4/.git/objects/cd/af2bcfde57d27ed81d11bd21b8ce0b08d9321b differ
Binary files ./wordpress-3.3.2/.git/objects/cd/c84c7c6989a621a407c4c21012bd0c00441593 and ./wordpress-3.4/.git/objects/cd/c84c7c6989a621a407c4c21012bd0c00441593 differ
Binary files ./wordpress-3.3.2/.git/objects/cd/d81b2ad7da57964ba1dbd2dc5c753e69cca45b and ./wordpress-3.4/.git/objects/cd/d81b2ad7da57964ba1dbd2dc5c753e69cca45b differ
Binary files ./wordpress-3.3.2/.git/objects/cd/e5826520f32acf17d1a8d17857b75ea8a5d2f4 and ./wordpress-3.4/.git/objects/cd/e5826520f32acf17d1a8d17857b75ea8a5d2f4 differ
Binary files ./wordpress-3.3.2/.git/objects/cd/ec57e2cb1d7d033c4e1b0903ba2b64d961ed4c and ./wordpress-3.4/.git/objects/cd/ec57e2cb1d7d033c4e1b0903ba2b64d961ed4c differ
Binary files ./wordpress-3.3.2/.git/objects/cd/f8c4c0c4c2f66d6ffa4a5b0b89a8d4d04a3364 and ./wordpress-3.4/.git/objects/cd/f8c4c0c4c2f66d6ffa4a5b0b89a8d4d04a3364 differ
Binary files ./wordpress-3.3.2/.git/objects/ce/277803acbd46677bddca6350d9eff18b1fca3d and ./wordpress-3.4/.git/objects/ce/277803acbd46677bddca6350d9eff18b1fca3d differ
Binary files ./wordpress-3.3.2/.git/objects/ce/2ba1e0e8e78dad411178eba0353ea683f4321b and ./wordpress-3.4/.git/objects/ce/2ba1e0e8e78dad411178eba0353ea683f4321b differ
Binary files ./wordpress-3.3.2/.git/objects/ce/5ff0e6da2ead686f643cdc1731dac7f8a9175a and ./wordpress-3.4/.git/objects/ce/5ff0e6da2ead686f643cdc1731dac7f8a9175a differ
Binary files ./wordpress-3.3.2/.git/objects/ce/88e12cc8467a2464fa225d33afeb506f94b00d and ./wordpress-3.4/.git/objects/ce/88e12cc8467a2464fa225d33afeb506f94b00d differ
Binary files ./wordpress-3.3.2/.git/objects/ce/c4abf98727acd1f6c924e1ecad15e02d54e13a and ./wordpress-3.4/.git/objects/ce/c4abf98727acd1f6c924e1ecad15e02d54e13a differ
Binary files ./wordpress-3.3.2/.git/objects/ce/faefc0dc6950d55d5e175512bb26c7afdbe5cd and ./wordpress-3.4/.git/objects/ce/faefc0dc6950d55d5e175512bb26c7afdbe5cd differ
Binary files ./wordpress-3.3.2/.git/objects/cf/4e24455978c74f4e0cb9d12915fe7c253c8773 and ./wordpress-3.4/.git/objects/cf/4e24455978c74f4e0cb9d12915fe7c253c8773 differ
Binary files ./wordpress-3.3.2/.git/objects/cf/bad8f464de1004ef8ff68c01b8d3eafc21894b and ./wordpress-3.4/.git/objects/cf/bad8f464de1004ef8ff68c01b8d3eafc21894b differ
Binary files ./wordpress-3.3.2/.git/objects/cf/c49ce5e0b17200d0dde33b82555dfafa77455f and ./wordpress-3.4/.git/objects/cf/c49ce5e0b17200d0dde33b82555dfafa77455f differ
Binary files ./wordpress-3.3.2/.git/objects/d0/abf36ed0a45e8dd0106a6abc4372f23c50c3f8 and ./wordpress-3.4/.git/objects/d0/abf36ed0a45e8dd0106a6abc4372f23c50c3f8 differ
Binary files ./wordpress-3.3.2/.git/objects/d0/ad528df65559a8ec6c75feb7c6ed8bc48e2ac7 and ./wordpress-3.4/.git/objects/d0/ad528df65559a8ec6c75feb7c6ed8bc48e2ac7 differ
Binary files ./wordpress-3.3.2/.git/objects/d0/c4b9a0a0a22b029ad78a601c5a3300bfc6d7c8 and ./wordpress-3.4/.git/objects/d0/c4b9a0a0a22b029ad78a601c5a3300bfc6d7c8 differ
Binary files ./wordpress-3.3.2/.git/objects/d0/cb23c238bd68061a5b11d4da1ba6f885ca348d and ./wordpress-3.4/.git/objects/d0/cb23c238bd68061a5b11d4da1ba6f885ca348d differ
Binary files ./wordpress-3.3.2/.git/objects/d1/2c8b67d70efeaba97cbeb871f19753de914add and ./wordpress-3.4/.git/objects/d1/2c8b67d70efeaba97cbeb871f19753de914add differ
Binary files ./wordpress-3.3.2/.git/objects/d1/723274740b3c0a10181641cf6bc606279f2769 and ./wordpress-3.4/.git/objects/d1/723274740b3c0a10181641cf6bc606279f2769 differ
Binary files ./wordpress-3.3.2/.git/objects/d2/5ec31f609ce1c1f02cc4de3492b5afc6d67f46 and ./wordpress-3.4/.git/objects/d2/5ec31f609ce1c1f02cc4de3492b5afc6d67f46 differ
Binary files ./wordpress-3.3.2/.git/objects/d2/d6dc2cf30f411a6dd977fdf107fb6aa11b852a and ./wordpress-3.4/.git/objects/d2/d6dc2cf30f411a6dd977fdf107fb6aa11b852a differ
Binary files ./wordpress-3.3.2/.git/objects/d3/1ebb0c966d3c4a1cff8a4ee37263cdee5f96f1 and ./wordpress-3.4/.git/objects/d3/1ebb0c966d3c4a1cff8a4ee37263cdee5f96f1 differ
Binary files ./wordpress-3.3.2/.git/objects/d3/39899bb21720b407e5356d7646ad54c2860edf and ./wordpress-3.4/.git/objects/d3/39899bb21720b407e5356d7646ad54c2860edf differ
Binary files ./wordpress-3.3.2/.git/objects/d3/41541ce3f0679444d2bdf6a5d94ca8c1c4ae17 and ./wordpress-3.4/.git/objects/d3/41541ce3f0679444d2bdf6a5d94ca8c1c4ae17 differ
Binary files ./wordpress-3.3.2/.git/objects/d3/49d0532e68d69526ebc87d678baea7c219e248 and ./wordpress-3.4/.git/objects/d3/49d0532e68d69526ebc87d678baea7c219e248 differ
Binary files ./wordpress-3.3.2/.git/objects/d3/6845b63301b2b62fc01c44c96389309d85a9f6 and ./wordpress-3.4/.git/objects/d3/6845b63301b2b62fc01c44c96389309d85a9f6 differ
Binary files ./wordpress-3.3.2/.git/objects/d3/76df40d15a87da9b98e2abb0d56a2c2ccee40c and ./wordpress-3.4/.git/objects/d3/76df40d15a87da9b98e2abb0d56a2c2ccee40c differ
Binary files ./wordpress-3.3.2/.git/objects/d3/816732cc22bbae992fe37b3ebca6546556499d and ./wordpress-3.4/.git/objects/d3/816732cc22bbae992fe37b3ebca6546556499d differ
Binary files ./wordpress-3.3.2/.git/objects/d3/83f9d72d2852a932217589a9a91330bf568aab and ./wordpress-3.4/.git/objects/d3/83f9d72d2852a932217589a9a91330bf568aab differ
Binary files ./wordpress-3.3.2/.git/objects/d3/b2356f8d13dd716dee9e4b2e846e39e3a07e27 and ./wordpress-3.4/.git/objects/d3/b2356f8d13dd716dee9e4b2e846e39e3a07e27 differ
Binary files ./wordpress-3.3.2/.git/objects/d3/c9afc55fdfedf49bfc3d893deace6ba58efeec and ./wordpress-3.4/.git/objects/d3/c9afc55fdfedf49bfc3d893deace6ba58efeec differ
Binary files ./wordpress-3.3.2/.git/objects/d4/2b15408e0f1c556b2316b496f222bd1b55cd47 and ./wordpress-3.4/.git/objects/d4/2b15408e0f1c556b2316b496f222bd1b55cd47 differ
Binary files ./wordpress-3.3.2/.git/objects/d4/3e848fe4d89a3b29eacf85f5c4138d4966b591 and ./wordpress-3.4/.git/objects/d4/3e848fe4d89a3b29eacf85f5c4138d4966b591 differ
Binary files ./wordpress-3.3.2/.git/objects/d4/54c86582fcfb7d3c6ea3e89257ebc0fb4ebcf8 and ./wordpress-3.4/.git/objects/d4/54c86582fcfb7d3c6ea3e89257ebc0fb4ebcf8 differ
Binary files ./wordpress-3.3.2/.git/objects/d4/591fc5d92c76828534306a75c1fd46e62d46ed and ./wordpress-3.4/.git/objects/d4/591fc5d92c76828534306a75c1fd46e62d46ed differ
Binary files ./wordpress-3.3.2/.git/objects/d4/70772ff6aacf7a2c6767e72c2290a761ef37d0 and ./wordpress-3.4/.git/objects/d4/70772ff6aacf7a2c6767e72c2290a761ef37d0 differ
Binary files ./wordpress-3.3.2/.git/objects/d4/8e5a94929da827b6a8a2dc39251cf03b921a80 and ./wordpress-3.4/.git/objects/d4/8e5a94929da827b6a8a2dc39251cf03b921a80 differ
Binary files ./wordpress-3.3.2/.git/objects/d4/df984b6ab2954fb3ec4fb9821a13873607bb4a and ./wordpress-3.4/.git/objects/d4/df984b6ab2954fb3ec4fb9821a13873607bb4a differ
Binary files ./wordpress-3.3.2/.git/objects/d4/e005f4fa996482dc543248852a26b0c0ee0868 and ./wordpress-3.4/.git/objects/d4/e005f4fa996482dc543248852a26b0c0ee0868 differ
Binary files ./wordpress-3.3.2/.git/objects/d4/e2309a882107c421e78a9864fd3f9cd24f2270 and ./wordpress-3.4/.git/objects/d4/e2309a882107c421e78a9864fd3f9cd24f2270 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/d5/bd85b995deb0087d873a3424ca727b1cc1a0c7 ./wordpress-3.4/.git/objects/d5/bd85b995deb0087d873a3424ca727b1cc1a0c7
*** ./wordpress-3.3.2/.git/objects/d5/bd85b995deb0087d873a3424ca727b1cc1a0c7	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/d5/bd85b995deb0087d873a3424ca727b1cc1a0c7	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x…UmOÛ0ÞO©ŒöHÍËÄÐRÂ6iû6ilð
ä8—&�Æ‘í@«�ÿ¾³Cš¶À¦~hrï÷ÜÝ“¸PñèèÓéçwB�Ò¼L.”±fBÓº”6W%¬Y‰£FUP†+]HÖ8Ç8J”¬çPZÞ?ü(À¿©UQ\©êéIÐ^ÉøJLÙ$Oi²»‹¡%;"MAZHãÂZMI)æ@‚„ñQPÉZgä*W®R43™z¤Œ'ZÌf".€6™(“Âu»q"!-ãÒÚXU…ñþÉá>©$( µ!99|O‚¹Ð³¼üéãã“CT·l²™rœ—Um1qŠ=Ì|ËºKYƒ¥ü1ËeEÇ§krY(”µUƒ­u9JEa 
¼b€¶cès¬ÁTª4€y3;/(!Ûu¡fÀ€$`¬VKgž'.c` LÖtƒk*¾ÑŸœÂïAH\-·æÁ­¸‹ÛR•¼óÚ;&ô~íÄÅ—;�×õW7Èh/·0¿„g|=Ý›†2yï§
Bfˆ¬‘‘ 6ËM�MbîÒßÚeæ®œ%¾†äâ×å	j]„NŠÿA"¬ãÀÔR‚1CãÉú8üî$h­ôF^GÑªu(â¶
v±Ÿµ+A¥4fQDõ¼œÖ¸ÚyçÚôÃ»‚…
ãÕì[QôX}Ãšy%´÷ôçyÔÐÝ†ì¢˜„|Žku%V)#Éûœæúpº½Á½®_&ÉZ/aÀöºcn¬°µq
¸šâUx'qÃÚ” º*„zpÆ¯oÎÎ§¾œÌ\ÚÖuôßíÆ;o[¬z �÷»\ß�­¥5u<ÏÝUÊ"—÷ƒa7!B"\§
BØÆ€±LÃ²ØwHE]ØîN7ýFÜe¬cBËlö|€<€þÈ/+‚ì’}ŒO»‡÷ˆì·A/É¦K2ôÕS4wç¼McÏ"¯{yg�¨î¢ƒÑNÿx<xô´�•ºgºCu—{‘Î�L÷ß>VêÆµâ! {ãE“×P�8ý‡†»Š‡·ôîw
zÉ&÷¤T+
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/d5/d53b088aea77800bbc0350688c0d5396dc400d and ./wordpress-3.4/.git/objects/d5/d53b088aea77800bbc0350688c0d5396dc400d differ
Binary files ./wordpress-3.3.2/.git/objects/d5/f1ae21ce08b6eaf6b2f90b83e14f7fd9e64752 and ./wordpress-3.4/.git/objects/d5/f1ae21ce08b6eaf6b2f90b83e14f7fd9e64752 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/d5/f7ef555a225b1005945c9fb1746b6a7f626d65 ./wordpress-3.4/.git/objects/d5/f7ef555a225b1005945c9fb1746b6a7f626d65
*** ./wordpress-3.3.2/.git/objects/d5/f7ef555a225b1005945c9fb1746b6a7f626d65	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/d5/f7ef555a225b1005945c9fb1746b6a7f626d65	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- x•SÝn�0î£Dâ– N«J\õz?bBÔ� Äh=C¼ûBg¥U{Ã�Çß�ÝhÛ°Kùóñ®±âš
(ðiÔ›tæ•ÀÍ4kì¨‚‰lí”ì©*ë%ó®íy§4¡›	_‰ƒVÒTëáz)â+:…Z0

êy!”‘UÉîÆWV²²ÀIeB$.8„R5€Ät7Ö �åùM|íroÑ<g™=%æÚéìd­W¤¬©R%‹Çê…ÜÖÎ«?¸áû¸¡_=��³nþ—-C:	\Fg¥CïÏ4,úÖ©‰ƒ8A—µ<h|cÈát_$Aªo°‹Õ¯_Ö‰àI|¤ÝŽãU¼³nHœŠõ“÷¨ÇœDß·]Ç³`ìsg
ñ¥¯Õ3ôv€üÉ)Ð½­Ñ]¹G¢`»gY^µŒvøû<$9×g¢ý®° Eóþ!Ð[G4þ~«õ—Ä{�8
ÞI%±YÎ÷¥HÀã¶\>¢r²o“sX‚Ì[G¼™ˆ¬ñûl¥<ÿ”º_ï?øŸ¶î¦ŠeàÛü¿�ïíïàË>n	lYoVlTö#æG0Ÿñ�x–¿ûF“
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/d6/3012daf4b574265ff2de65d28ac662ad8d6cc1 and ./wordpress-3.4/.git/objects/d6/3012daf4b574265ff2de65d28ac662ad8d6cc1 differ
Binary files ./wordpress-3.3.2/.git/objects/d6/6d123d1a54ec390b253971f0ec26579e1e159b and ./wordpress-3.4/.git/objects/d6/6d123d1a54ec390b253971f0ec26579e1e159b differ
Binary files ./wordpress-3.3.2/.git/objects/d6/984f6200b25b831c8db33803e76aae008880d4 and ./wordpress-3.4/.git/objects/d6/984f6200b25b831c8db33803e76aae008880d4 differ
Binary files ./wordpress-3.3.2/.git/objects/d6/b71b39f697ff4be876d87302a79fb4d05336ca and ./wordpress-3.4/.git/objects/d6/b71b39f697ff4be876d87302a79fb4d05336ca differ
Binary files ./wordpress-3.3.2/.git/objects/d6/de38d13ec2968d4bf92960d2d31f75e98ff4f4 and ./wordpress-3.4/.git/objects/d6/de38d13ec2968d4bf92960d2d31f75e98ff4f4 differ
Binary files ./wordpress-3.3.2/.git/objects/d7/31130a53836edb66d57e71fc37c5513685157c and ./wordpress-3.4/.git/objects/d7/31130a53836edb66d57e71fc37c5513685157c differ
Binary files ./wordpress-3.3.2/.git/objects/d7/566362a405ab5822722aa3af4d5d3aa6a895cd and ./wordpress-3.4/.git/objects/d7/566362a405ab5822722aa3af4d5d3aa6a895cd differ
Binary files ./wordpress-3.3.2/.git/objects/d7/7260a832cf13aea908df266ac3528402117803 and ./wordpress-3.4/.git/objects/d7/7260a832cf13aea908df266ac3528402117803 differ
Binary files ./wordpress-3.3.2/.git/objects/d7/7cfea8e818833b27a5ff060f8927e728d2b581 and ./wordpress-3.4/.git/objects/d7/7cfea8e818833b27a5ff060f8927e728d2b581 differ
Binary files ./wordpress-3.3.2/.git/objects/d7/9ee1d7ecacccb3c5aeee8d285193fdcac68bbd and ./wordpress-3.4/.git/objects/d7/9ee1d7ecacccb3c5aeee8d285193fdcac68bbd differ
Binary files ./wordpress-3.3.2/.git/objects/d7/ad22716838e923e8125d69d3280c93ca5776dc and ./wordpress-3.4/.git/objects/d7/ad22716838e923e8125d69d3280c93ca5776dc differ
Binary files ./wordpress-3.3.2/.git/objects/d7/cb5261fe303ed981bc9a7061d9a644e16b8321 and ./wordpress-3.4/.git/objects/d7/cb5261fe303ed981bc9a7061d9a644e16b8321 differ
Binary files ./wordpress-3.3.2/.git/objects/d7/dd4e963a0b12aa386355ebdc1c63f06ad0734d and ./wordpress-3.4/.git/objects/d7/dd4e963a0b12aa386355ebdc1c63f06ad0734d differ
Binary files ./wordpress-3.3.2/.git/objects/d8/3c4948b550dbcc60f4abe77b8ff81b491cd295 and ./wordpress-3.4/.git/objects/d8/3c4948b550dbcc60f4abe77b8ff81b491cd295 differ
Binary files ./wordpress-3.3.2/.git/objects/d8/55ef52b9f55e90864197a0f31eac8127ff9bb8 and ./wordpress-3.4/.git/objects/d8/55ef52b9f55e90864197a0f31eac8127ff9bb8 differ
Binary files ./wordpress-3.3.2/.git/objects/d8/5b4952ed2db712dd70ab899dbc461396ea369d and ./wordpress-3.4/.git/objects/d8/5b4952ed2db712dd70ab899dbc461396ea369d differ
Binary files ./wordpress-3.3.2/.git/objects/d8/677c9183fbbbcb6ac065f3b72d062fcb408fff and ./wordpress-3.4/.git/objects/d8/677c9183fbbbcb6ac065f3b72d062fcb408fff differ
Binary files ./wordpress-3.3.2/.git/objects/d8/70e3d62e995fe15b50b5d7eeb3ff80a2e693ff and ./wordpress-3.4/.git/objects/d8/70e3d62e995fe15b50b5d7eeb3ff80a2e693ff differ
Binary files ./wordpress-3.3.2/.git/objects/d8/a8b805ff96e414a9ee7d0196f3e6eb9e368b13 and ./wordpress-3.4/.git/objects/d8/a8b805ff96e414a9ee7d0196f3e6eb9e368b13 differ
Binary files ./wordpress-3.3.2/.git/objects/d8/c9a5e017ea8a77b0d756eef64709196e50b996 and ./wordpress-3.4/.git/objects/d8/c9a5e017ea8a77b0d756eef64709196e50b996 differ
Binary files ./wordpress-3.3.2/.git/objects/da/7539140786a56292753f8ec3a53ffb3b0e6b84 and ./wordpress-3.4/.git/objects/da/7539140786a56292753f8ec3a53ffb3b0e6b84 differ
Binary files ./wordpress-3.3.2/.git/objects/da/b58683e8c10f4ddcc66a1e57f818be2d2d0305 and ./wordpress-3.4/.git/objects/da/b58683e8c10f4ddcc66a1e57f818be2d2d0305 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/da/d06437c3522ef61d097979aba41b85303a00dc ./wordpress-3.4/.git/objects/da/d06437c3522ef61d097979aba41b85303a00dc
*** ./wordpress-3.3.2/.git/objects/da/d06437c3522ef61d097979aba41b85303a00dc	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/da/d06437c3522ef61d097979aba41b85303a00dc	2012-06-13 16:59:59.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x+)JMU°4e040031QH/*ÍËÌÏÓË*f`aØ¿¿|ýT½¿ßó­kÝÒ:¡ª²
+ KS‹*uK3u
õ,ôLô’K‹Kòsõr3ÁŸ„ýsÈg¹Yžœ¿‹µðÏÞü]?ÿŒ%Ü
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/db/44df78c969854b9b4269a4c02ab7856c43e0f7 and ./wordpress-3.4/.git/objects/db/44df78c969854b9b4269a4c02ab7856c43e0f7 differ
Binary files ./wordpress-3.3.2/.git/objects/db/7b0a2c720df966b5a422d13215ba11ebc19966 and ./wordpress-3.4/.git/objects/db/7b0a2c720df966b5a422d13215ba11ebc19966 differ
Binary files ./wordpress-3.3.2/.git/objects/db/8b583e98f6a6ce6fb490f4e82e06e014d3abaa and ./wordpress-3.4/.git/objects/db/8b583e98f6a6ce6fb490f4e82e06e014d3abaa differ
Binary files ./wordpress-3.3.2/.git/objects/db/8d66b80051b706d50dd605462f86714ed99716 and ./wordpress-3.4/.git/objects/db/8d66b80051b706d50dd605462f86714ed99716 differ
Binary files ./wordpress-3.3.2/.git/objects/db/d88446020419d1ce03de7dbc89e6636ef2345a and ./wordpress-3.4/.git/objects/db/d88446020419d1ce03de7dbc89e6636ef2345a differ
Binary files ./wordpress-3.3.2/.git/objects/dc/41e58145f24947cccdf414fd05060d3129b622 and ./wordpress-3.4/.git/objects/dc/41e58145f24947cccdf414fd05060d3129b622 differ
Binary files ./wordpress-3.3.2/.git/objects/dc/4354d1b910197820915843261296bbade73bd9 and ./wordpress-3.4/.git/objects/dc/4354d1b910197820915843261296bbade73bd9 differ
Binary files ./wordpress-3.3.2/.git/objects/dc/582f0bdd6992698fcf0a80d74b4853940ad651 and ./wordpress-3.4/.git/objects/dc/582f0bdd6992698fcf0a80d74b4853940ad651 differ
Binary files ./wordpress-3.3.2/.git/objects/dc/7904243b3079769a54479a604a741b31c1bb9c and ./wordpress-3.4/.git/objects/dc/7904243b3079769a54479a604a741b31c1bb9c differ
Binary files ./wordpress-3.3.2/.git/objects/dc/853f3f1e82391ddb3164759daaf8200423a827 and ./wordpress-3.4/.git/objects/dc/853f3f1e82391ddb3164759daaf8200423a827 differ
Binary files ./wordpress-3.3.2/.git/objects/dc/893d547cd7c95aa9a35faf2554725643b961f1 and ./wordpress-3.4/.git/objects/dc/893d547cd7c95aa9a35faf2554725643b961f1 differ
Binary files ./wordpress-3.3.2/.git/objects/dc/cc9bc4438f7f5d3ff4423db19c876825052ad5 and ./wordpress-3.4/.git/objects/dc/cc9bc4438f7f5d3ff4423db19c876825052ad5 differ
Binary files ./wordpress-3.3.2/.git/objects/dc/cc9c493f3de1e0d21284c7186f429b2eae1dcc and ./wordpress-3.4/.git/objects/dc/cc9c493f3de1e0d21284c7186f429b2eae1dcc differ
Binary files ./wordpress-3.3.2/.git/objects/dc/f1a4b401fbcffa558aeefaa4295226ec6222a9 and ./wordpress-3.4/.git/objects/dc/f1a4b401fbcffa558aeefaa4295226ec6222a9 differ
Binary files ./wordpress-3.3.2/.git/objects/dd/038d8983bf7f16d282c09881846684ede8e365 and ./wordpress-3.4/.git/objects/dd/038d8983bf7f16d282c09881846684ede8e365 differ
Binary files ./wordpress-3.3.2/.git/objects/dd/7dd0478846fcb6458a4a2abfc4395b645f3a53 and ./wordpress-3.4/.git/objects/dd/7dd0478846fcb6458a4a2abfc4395b645f3a53 differ
Binary files ./wordpress-3.3.2/.git/objects/dd/860a5dbc93fd38d4f55059575afe991b66ebea and ./wordpress-3.4/.git/objects/dd/860a5dbc93fd38d4f55059575afe991b66ebea differ
Binary files ./wordpress-3.3.2/.git/objects/dd/9df6e73f69480b688ac6bd950411412722d637 and ./wordpress-3.4/.git/objects/dd/9df6e73f69480b688ac6bd950411412722d637 differ
Binary files ./wordpress-3.3.2/.git/objects/dd/b3e9d4f5286c1dd9b2205c2b9cfb730c44cc7c and ./wordpress-3.4/.git/objects/dd/b3e9d4f5286c1dd9b2205c2b9cfb730c44cc7c differ
Binary files ./wordpress-3.3.2/.git/objects/dd/caeb0c849afe280d330452a2e67c4333d2df9c and ./wordpress-3.4/.git/objects/dd/caeb0c849afe280d330452a2e67c4333d2df9c differ
Binary files ./wordpress-3.3.2/.git/objects/de/0157f9afeadd37a2a92d4683df35108ab3442c and ./wordpress-3.4/.git/objects/de/0157f9afeadd37a2a92d4683df35108ab3442c differ
Binary files ./wordpress-3.3.2/.git/objects/de/5483e28642a7215b802834f02581ecc344728c and ./wordpress-3.4/.git/objects/de/5483e28642a7215b802834f02581ecc344728c differ
Binary files ./wordpress-3.3.2/.git/objects/de/adac3858fbf6590cf210ec6efcdd59cbfea4a1 and ./wordpress-3.4/.git/objects/de/adac3858fbf6590cf210ec6efcdd59cbfea4a1 differ
Binary files ./wordpress-3.3.2/.git/objects/de/b41907e27a15a4217b929e39254f80d9b91c9b and ./wordpress-3.4/.git/objects/de/b41907e27a15a4217b929e39254f80d9b91c9b differ
Binary files ./wordpress-3.3.2/.git/objects/de/e484e0b1af02494c4128ae9797e220f8b30542 and ./wordpress-3.4/.git/objects/de/e484e0b1af02494c4128ae9797e220f8b30542 differ
Binary files ./wordpress-3.3.2/.git/objects/de/fa104053e0552b8315dca463d23cddff59c541 and ./wordpress-3.4/.git/objects/de/fa104053e0552b8315dca463d23cddff59c541 differ
Binary files ./wordpress-3.3.2/.git/objects/df/001db948668461a273727176a9852998608f88 and ./wordpress-3.4/.git/objects/df/001db948668461a273727176a9852998608f88 differ
Binary files ./wordpress-3.3.2/.git/objects/df/20cf6345f2e50aab75d00608ea7de98eb76ac0 and ./wordpress-3.4/.git/objects/df/20cf6345f2e50aab75d00608ea7de98eb76ac0 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/df/4e1d853b9934ba61c62c7282104b741e2b18e5 ./wordpress-3.4/.git/objects/df/4e1d853b9934ba61c62c7282104b741e2b18e5
*** ./wordpress-3.3.2/.git/objects/df/4e1d853b9934ba61c62c7282104b741e2b18e5	2012-05-22 15:07:28.000000000 -0500
--- ./wordpress-3.4/.git/objects/df/4e1d853b9934ba61c62c7282104b741e2b18e5	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x�ÎÁJ1€aÏyŠ�ž+™ÙÍN
- "EôÐ¢ >@2™ØªÙH6ûþBÁÛùà—ZÊµ�ö®7U�¤ÎÓäÈæ�‚dä„Á'dï8²ÓàƒK”Góš.X¼U9pP$‘'=XÌš¬PÆœ#FŽ$S0aë—Úà\/Ì[)ú_íÇÒu­Ë÷}mŸ�€ÃÀŒL£‡½uÖ¹=výŸ6§uÝväx€ùý
æ—§�Óë³ù'bLL
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/df/7ef39ac5f84f72b05d3bba8d664d1ffa6f2c34 and ./wordpress-3.4/.git/objects/df/7ef39ac5f84f72b05d3bba8d664d1ffa6f2c34 differ
Binary files ./wordpress-3.3.2/.git/objects/df/c878dd98a6fb6f740262bd75fa81b28476aad7 and ./wordpress-3.4/.git/objects/df/c878dd98a6fb6f740262bd75fa81b28476aad7 differ
Binary files ./wordpress-3.3.2/.git/objects/e0/b4991bf7a4452923c8cd8d9b94edde52e24ecd and ./wordpress-3.4/.git/objects/e0/b4991bf7a4452923c8cd8d9b94edde52e24ecd differ
Binary files ./wordpress-3.3.2/.git/objects/e0/c594e6abae282746a47ba818adbb85436a7cf6 and ./wordpress-3.4/.git/objects/e0/c594e6abae282746a47ba818adbb85436a7cf6 differ
Binary files ./wordpress-3.3.2/.git/objects/e0/d9ffabaf584c98c82dc1b0b82a907d5df54d78 and ./wordpress-3.4/.git/objects/e0/d9ffabaf584c98c82dc1b0b82a907d5df54d78 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/e1/0607a8f10f23b2fe210c26a5e80c7c84495d03 ./wordpress-3.4/.git/objects/e1/0607a8f10f23b2fe210c26a5e80c7c84495d03
*** ./wordpress-3.3.2/.git/objects/e1/0607a8f10f23b2fe210c26a5e80c7c84495d03	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/e1/0607a8f10f23b2fe210c26a5e80c7c84495d03	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,5 ----
+ xmT]oÓ0åy¿ÂÍS<E^ÛQxYšÄ¤!6Ä„r’ëÄ%µƒ?:ª®ÿ�kgi·–Ë½¹9çÜsnZvº$³ÙÛwo.Î'gäœ,¿x0rMî´¯ZrëžS6gs|:.u¿1²i™Og³Œ,øÈGož/<ïH'+PjâU
†¸ÈÍõÑ†|ºýL¾�±R+2û,{_@ª¶ïYþ	Z˜—ìQÖ
8¶´Gõ•ö†òÅY*P«CÜ´¤Û’Yß÷Ú8æÂE¢U¼ zB¤"µ®ü
+ ”Ë¥H'GÍtkÀy£vknHU”AÁÀÔí´Ûô�AQ±_±x­¤Ëx>’“:m²–n·a�’ŠwWk¤”€e¨Æµf{ž†õBË÷�Ki¨eqŒPµ\5PÇhÀþ˜þÌD1NÂ*ÜA¤J“›àL¼Û„æ‚ITy¨¥mæŒ‡áx”ªÖ�Ù,“Ì"¨ïûÛÞªN¢²Pn™à�…ÿœÓLù®£yÃ7!¯ZÚž»ª4	ºCÏb
+ _±Á£eiC·a^Q¸VÚ�zšˆg/y�aÀ‰›'^Ð½Ÿ¼ÓáÔÛ�^C]DÕyH'‰¹aÑ 5‡Â
+ +¯
+ èŠJè.Uœƒh3žð=kÿŠ1Š¨SñL8àà®ŠWöíðžï£ªF{‡¿ÃÚÒm|	cª~£n>Œ	÷›z`|å¹`ÐAøX‰Û�&1%RJ²·SÿÝ„9^¤—Pú²7wÚ,;ê_ài#š�}9°Šw]Š«²£éð_DóÌF£·
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/e1/1c0b0d12ad21713679bd86f002cb3903b60007 and ./wordpress-3.4/.git/objects/e1/1c0b0d12ad21713679bd86f002cb3903b60007 differ
Binary files ./wordpress-3.3.2/.git/objects/e1/41995cef94318b960198453f72bd60ab99ca8a and ./wordpress-3.4/.git/objects/e1/41995cef94318b960198453f72bd60ab99ca8a differ
Binary files ./wordpress-3.3.2/.git/objects/e1/4875c0d1452fe8851d77cba67205a63fb5535b and ./wordpress-3.4/.git/objects/e1/4875c0d1452fe8851d77cba67205a63fb5535b differ
Binary files ./wordpress-3.3.2/.git/objects/e1/908905f3ecc62b999935ff1dc605bfe5ae77e0 and ./wordpress-3.4/.git/objects/e1/908905f3ecc62b999935ff1dc605bfe5ae77e0 differ
Binary files ./wordpress-3.3.2/.git/objects/e2/5d155f404eab8a075969c9d29610b0decf82b8 and ./wordpress-3.4/.git/objects/e2/5d155f404eab8a075969c9d29610b0decf82b8 differ
Binary files ./wordpress-3.3.2/.git/objects/e2/cf47669e9d76477121bea63c726a6feed05d20 and ./wordpress-3.4/.git/objects/e2/cf47669e9d76477121bea63c726a6feed05d20 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/e2/e2fb46878d373e135de0e0034ec4a653eeb4d5 ./wordpress-3.4/.git/objects/e2/e2fb46878d373e135de0e0034ec4a653eeb4d5
*** ./wordpress-3.3.2/.git/objects/e2/e2fb46878d373e135de0e0034ec4a653eeb4d5	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/e2/e2fb46878d373e135de0e0034ec4a653eeb4d5	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,4 ----
+ x•VÛnâ0ÜO±„úRa lK��öm?`ÀI±êÄ©ã@QÔßãK‚J	ö™9sÆc'\$hµ}{ý5;W$+X™‰žÛƒ(>�‚ñKü�ä¢ ó?’>ÿKù‰*–’yMÊ×T²Ã—··Í˜¤©b¢Œ¥â»ÕÙqzP1i”ØIvÌUù•Ñâ£aé;gå{Ý&BfTb³!Ú¹_vÓ²úDµà,CJÅŠHZª©B¨á­¢Ÿ
+ ÎŽ@YÃk9k\5ò—Çgßð=¬xô´É+«Ùf³	 nêìÉÜSÔïÛâì$Á´¨Ô3E‹a×ëõ,Ò•¨`œ©(3"/^7÷5žAÙ�UH/üÂtŸ£„î¶êÛ9ÂrI´l*QˆºIðY’ª¢2”¼ÎØ¬†YY5ª-ˆ<²2ŽÖ@
+ œ¹`ô-¨kk’Ó®Žf©µþ7•ÜÐzÚÀØP—‚³8'*�Â“št
r¶]íDê¥ÅÆîPFÑSˆ=ÝÖclîí€+sˆ.µXF6�–@Ö%�[Rï„èFnd³'‘¤ïG)š2Ã•¨™‰ÁÍÂ/¿«ÏäkÆÊ£ÕgE‹þƒ“ˆ!Ìt‡�o5ò*"/o��Kˆ|
Ú«Ù®CB›£	g8§šö]XfØ€KRíM'¯çÕ`kÃ¸€“Zá4g<çðOs’ý 9õ�§Ø\oî7\\0IS“Zœ™Ê19×^¸¨�»
–éÖ:§¼½�¬î‹�[Â„uÊ ÀÕ%�¢�
 ðXV4jˆ¶ÑKüº²»úÜ»S@É�×x÷{‚Xqìº4:ëº&­G_îÂè‹„;’�^QWÇ–™u¼kJdšCŸî%âÒ÷g¯'/„õ
+ € øÖ}1\ÊcG4zBC¿áDÚÔ¾/M¸³«CßnoÑõYcp�‹x~pq½·ìYÐûü©�÷š¼ì5"è¹¸ô*¡¹p’P˜£ŸhïŒ‰g@�Ô°»n¯ÑÐª©( lU½'-<Mñ™e*�W›�‰½½LïÝ£&RŠsð>Â©àBÆ³$I|I®9×¥ÜCÏ‚‘.üçÚµªÉ,D®S‘”ÃXNôëåªà:{:Óº�þ#ô?®Q÷
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/e3/067ac7a22e7e4114db6ab1d54ae788703c50bf and ./wordpress-3.4/.git/objects/e3/067ac7a22e7e4114db6ab1d54ae788703c50bf differ
Binary files ./wordpress-3.3.2/.git/objects/e3/52fa6fa56ed15957e9c0945f9dd121af517d46 and ./wordpress-3.4/.git/objects/e3/52fa6fa56ed15957e9c0945f9dd121af517d46 differ
Binary files ./wordpress-3.3.2/.git/objects/e3/903d3661235f59073d967b7c72a1a16331726f and ./wordpress-3.4/.git/objects/e3/903d3661235f59073d967b7c72a1a16331726f differ
Binary files ./wordpress-3.3.2/.git/objects/e3/9d1f4fc56079707561814f24a4c3686f44cb68 and ./wordpress-3.4/.git/objects/e3/9d1f4fc56079707561814f24a4c3686f44cb68 differ
Binary files ./wordpress-3.3.2/.git/objects/e3/c135ff49dd1f79e394fcfd9746f6c8edb8eae1 and ./wordpress-3.4/.git/objects/e3/c135ff49dd1f79e394fcfd9746f6c8edb8eae1 differ
Binary files ./wordpress-3.3.2/.git/objects/e3/dc4c48b777157a4f402ca6ed9a2140dfccdc53 and ./wordpress-3.4/.git/objects/e3/dc4c48b777157a4f402ca6ed9a2140dfccdc53 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/e4/40577f834a077a07cc0bd1ff5fffc711cd73a0 ./wordpress-3.4/.git/objects/e4/40577f834a077a07cc0bd1ff5fffc711cd73a0
*** ./wordpress-3.3.2/.git/objects/e4/40577f834a077a07cc0bd1ff5fffc711cd73a0	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/e4/40577f834a077a07cc0bd1ff5fffc711cd73a0	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ x]SÛnÛ0Ýs¿BÕC`µŠrÙ›#ö°h±[‹>}�eÆVf[ž$§’üû('�›Á€DóPG$•–&%Ÿ>¼3º8'Ë-Ø5¹¿&C²šˆ�b:Fk:žL‡ãwÃ·ã³Rxß¸x4Êµ/ÚT(S�–Â©Ã6l5F]×ªl3p1ÙƒPÞ‰ÌšF,†|1ÍÚê¼ð$R¬»ƒ|¾¿»úöó—ðýŒÜhµƒŒÜ^ßqòõû
¹�E‹¶V^›:’<eyÂ›A„,øÖÖÄÚ	Ì¯…þ(Û¬¤%*‘Q@Ï’GÚ§/åÔ›×Ôxo*4JXxÜºTq7�TÚ¯é‡¤¿Þ�¿5DŠ§Â4�È‰
+ Û--t”ñEÒ#™¶ØB¸£Ÿ½b’«@“1®„+ÌsÄx*ÒÃƒ•MÛ6…äÉ"IhÛÐí6™y®é¼«">$_œFtWÎCÉ4¦5ä”ë“äœ—µÂÔ£éB7æJ˜Öƒ½‚ W´©¤ÍuŸ�wl4�àƒÎ|ñÆf€¡:(¡œ‹Ž
äcÖ9r^`LHf>Ô±Þ×´L6‡FÇG†ù$ïfËÇü)‰zçñ0½L°œ!.½+ü?»ÔØNYë
+ Û-ù¦›ˆø|Â³ÖÊ DœŠ“ƒtºÎÑó¢äÞÁqÖ›<ÄÇ9c›�H§p¨/'zYpÞØƒž½Œ*³z%#�’e™Jõ{0èm�2—ënH9v¼­ ö8®Jd°Ÿh¶Û1üv,Ú?\6û”ÒE:
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/e4/7a5c630afdf30eb9e8d0cb1b1ebb0024e09288 and ./wordpress-3.4/.git/objects/e4/7a5c630afdf30eb9e8d0cb1b1ebb0024e09288 differ
Binary files ./wordpress-3.3.2/.git/objects/e4/856dac68b790a958e9b4948c1dc2e6861da841 and ./wordpress-3.4/.git/objects/e4/856dac68b790a958e9b4948c1dc2e6861da841 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/e4/8a0cb276c9a7efa953db119904f6d826bf5832 ./wordpress-3.4/.git/objects/e4/8a0cb276c9a7efa953db119904f6d826bf5832
*** ./wordpress-3.3.2/.git/objects/e4/8a0cb276c9a7efa953db119904f6d826bf5832	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/e4/8a0cb276c9a7efa953db119904f6d826bf5832	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ x�’ÍkAÆG[¿VDTãA=è$›­•º!‚hS*ÄF­7Ù$S»ífg™�¦öà¥AzñEñ8E±"ôboþ"Û¿À£WŸ™´Q0½8ðìofö}Ÿ÷Ý™­E¢F®{žü88Ø!{ ãPÚ½ƒÌÈ ÃÐ:´úí‡¶r<îÏ‚<îkàp\‚>xo;!ÇÀ— YO�?ÁÓà‘B–À‹ ©û
4>ßAXØ>‚%AŠ¦ÞÈôaÆ`d§aYHÚ’Ó0ž²¨PÄ>¹ÊUÔgiùÒõÞüæ\’©zëÚ½#d£*yšæê¢I*¢1ñ”LÄœ^ãótÓ¤»ON¦}vÝâ²òy2­Tâçó3ÝÒ¹&'Õ	vƒ·Â-±+�â>õÜ‚ÇÜaæ¨çùÞ�?|áŒ‹áTÆ+£ì6—&Ö§…œë\±â±b“	 òI„q‘Ö§™rUº5Yf#âd§S\²Ñ¸.a|ß§#µP9ÕhNÃ95SŸÆ‰]¦%¯H»ÓRLO”h¡èÜec<æ2PBút,ÊžLÞÍœª3¼®Øxãï‡’é·™þ�éµL¯fú«™/?É´Þxš�6Íô£L¿¶AÔ¦ÌGê«lyi36$Ùëÿ&ÓŸmòû\±VìÖ¶²noaúÏM[¯ÅLÃå±©¦ßX‹Öô¹�cg
vOM_zß€�U _Ó[½‡£ùqþ3ŸµÑGï˜?ÚC{†síóÃý'ù‘ƒ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/e5/6f84075b3c22109953fbd7bd9efffb3b63f466 and ./wordpress-3.4/.git/objects/e5/6f84075b3c22109953fbd7bd9efffb3b63f466 differ
Binary files ./wordpress-3.3.2/.git/objects/e6/1401616189a112c48d8921e432c02071a9f248 and ./wordpress-3.4/.git/objects/e6/1401616189a112c48d8921e432c02071a9f248 differ
Binary files ./wordpress-3.3.2/.git/objects/e6/1e0ef5e45d0d06eec18f81052578d0f4f24ea2 and ./wordpress-3.4/.git/objects/e6/1e0ef5e45d0d06eec18f81052578d0f4f24ea2 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/e6/5b0c8dc6c22bdb08dbc3d7385e8e4e2bafd5b0 ./wordpress-3.4/.git/objects/e6/5b0c8dc6c22bdb08dbc3d7385e8e4e2bafd5b0
*** ./wordpress-3.3.2/.git/objects/e6/5b0c8dc6c22bdb08dbc3d7385e8e4e2bafd5b0	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/e6/5b0c8dc6c22bdb08dbc3d7385e8e4e2bafd5b0	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ x�’ßKÃ0Ç}î_qƒAÑ®v«®¨(þ€=8¨8ðq¤ÍÙš´KâFÿ{ÓmEÓulyËÝ÷îó½K’¢Là6ˆ.î«¼rF®ë€‹á«”4–¨¬Q*V
+ PZ2‘™|#yÊL%)öAlªå^g²#çß`8ö&Ã;§m?+ª@[�×g�¸f
è˜H%rZÁ&GiND†
+ ˆDà„"èò°\¥9râuü1¡·æhràï/d,~ÝôY\0QÏ_ÞÚ-tÚïvmT<E›Ñ	n1‰®ê‡½ëH‰™ÁL(Ø7*}ÙÊlf7Ú@ÿº9ã^¦ÄÕ“H!žÅ'ˆ­ti¾ŠMíË4äÐŽ¼|[óúóãý\0¯Õª8‚¶r;¸o&þ…<é 
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/e6/cad796fcc5d32e2e14cc98a6aee18dac98e383 and ./wordpress-3.4/.git/objects/e6/cad796fcc5d32e2e14cc98a6aee18dac98e383 differ
Binary files ./wordpress-3.3.2/.git/objects/e6/de8cb31f3821ed44935671df28a77f9c73770e and ./wordpress-3.4/.git/objects/e6/de8cb31f3821ed44935671df28a77f9c73770e differ
Binary files ./wordpress-3.3.2/.git/objects/e7/2ed69b117e3ab1fe66bc134abc3dacdb7cc4b9 and ./wordpress-3.4/.git/objects/e7/2ed69b117e3ab1fe66bc134abc3dacdb7cc4b9 differ
Binary files ./wordpress-3.3.2/.git/objects/e7/3c4a009964389976e880ea0528d53d10047837 and ./wordpress-3.4/.git/objects/e7/3c4a009964389976e880ea0528d53d10047837 differ
Binary files ./wordpress-3.3.2/.git/objects/e7/5ca394a3f3fa9eca7208790a6613de9c31d312 and ./wordpress-3.4/.git/objects/e7/5ca394a3f3fa9eca7208790a6613de9c31d312 differ
Binary files ./wordpress-3.3.2/.git/objects/e7/5d95fc799039576a47f73df58fa516cec5d2b2 and ./wordpress-3.4/.git/objects/e7/5d95fc799039576a47f73df58fa516cec5d2b2 differ
Binary files ./wordpress-3.3.2/.git/objects/e7/6f25878c9cf14987cc59d15d882c89268abcb9 and ./wordpress-3.4/.git/objects/e7/6f25878c9cf14987cc59d15d882c89268abcb9 differ
Binary files ./wordpress-3.3.2/.git/objects/e7/75869730c4151e7905679a3968b51bb55afbdf and ./wordpress-3.4/.git/objects/e7/75869730c4151e7905679a3968b51bb55afbdf differ
Binary files ./wordpress-3.3.2/.git/objects/e7/8820ffef216159a41a631cdeb316b16b74581c and ./wordpress-3.4/.git/objects/e7/8820ffef216159a41a631cdeb316b16b74581c differ
Binary files ./wordpress-3.3.2/.git/objects/e7/ab0a4cccae0172f1220ce9756f58a51786d895 and ./wordpress-3.4/.git/objects/e7/ab0a4cccae0172f1220ce9756f58a51786d895 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/e7/b017bebe2f9af2915bced7ae7eff1317bbd48b ./wordpress-3.4/.git/objects/e7/b017bebe2f9af2915bced7ae7eff1317bbd48b
*** ./wordpress-3.3.2/.git/objects/e7/b017bebe2f9af2915bced7ae7eff1317bbd48b	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/e7/b017bebe2f9af2915bced7ae7eff1317bbd48b	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,6 ****
- x•T]oÓ0åµù1©i5µ«¦Â!ñÀ@ê&Ä“åÄ7«UÇŽì¸¥šøï\;M²�µ¬/Qãssï9ç7S&ƒÙ|>ñî¢ZVÉt<N`Ÿ±²˜ó”^ÕÒÉ�‹Rj(¼Îki´ƒÂš*îjøi¬øaÑ9X£uäZÜ;þv3	mni¼zXƒwõéÙ÷Ÿ)cVP@àªF«y-×è@jW#¸&¤û(tÞH¥ C°Xš5±&¢	°-¥@ T^V<_ñ[ìÙÅSç³èÅ7ˆÔ9ÂùälrFïÓ¤õèRô&õhË
- 6UéY‰Ú§#¸K¬¯fmMÊØ—›«O×_¿_1v
- Cê2„ÑÛd0�B_>�"¼šÍÞ¼>OþìÆÇ‘:ÚHð¥h¼Zs©x¦iAêQ, Û6pÜß’;2
- 5àïQô0­Ã’IÁ¥`SO ÕNQ‘ŽùJ.XÃx;6EƒZy�ùóÕÇ¶dˆçs`b4,�)¼<P£d0ØTLHL�±t¸0ÖnOaK‘,=eX B
- y!š!å#˜s
�\àz%�O†£°¦vOšEAé|  ˜*Þ™Nv¿àøTX¬½Õ]‡ÿh–Åé²®é°Jù[©¯¨ƒÃ
ßHÑ×ZZQ×¨�Ó$yÇ¹àÊáóìZýÃéa¼TÂICÞC}œÛ$ç^ï§=O
- ÅQc½1vÅŒVÛ=+ ªø_ñX-œ„,Í|ßÐûØSÔŽŒò.>ü­yü
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/e8/3d2e5370985fa570249fc526bf9eeaa122fe64 and ./wordpress-3.4/.git/objects/e8/3d2e5370985fa570249fc526bf9eeaa122fe64 differ
Binary files ./wordpress-3.3.2/.git/objects/e8/66925a944f8e33452951c6d819724267f1f002 and ./wordpress-3.4/.git/objects/e8/66925a944f8e33452951c6d819724267f1f002 differ
Binary files ./wordpress-3.3.2/.git/objects/e8/7348095cd0ee9bbda82dd1bc7ca596b21e32db and ./wordpress-3.4/.git/objects/e8/7348095cd0ee9bbda82dd1bc7ca596b21e32db differ
Binary files ./wordpress-3.3.2/.git/objects/e8/76e0e5e725df79c26198ab33cebc9d259ed36a and ./wordpress-3.4/.git/objects/e8/76e0e5e725df79c26198ab33cebc9d259ed36a differ
Binary files ./wordpress-3.3.2/.git/objects/e8/ac151a207cf25671dd1bd9e2c9f8d3dbf89eaa and ./wordpress-3.4/.git/objects/e8/ac151a207cf25671dd1bd9e2c9f8d3dbf89eaa differ
Binary files ./wordpress-3.3.2/.git/objects/e8/bbe999d0cf44244ee1cd17177f8f6f4fcf7e49 and ./wordpress-3.4/.git/objects/e8/bbe999d0cf44244ee1cd17177f8f6f4fcf7e49 differ
Binary files ./wordpress-3.3.2/.git/objects/e8/ecc5aab7a1aaac0595caf126d880bfeda7a0ae and ./wordpress-3.4/.git/objects/e8/ecc5aab7a1aaac0595caf126d880bfeda7a0ae differ
Binary files ./wordpress-3.3.2/.git/objects/e9/5b75627e4cbbf8380fec52ac03eaaf976d730f and ./wordpress-3.4/.git/objects/e9/5b75627e4cbbf8380fec52ac03eaaf976d730f differ
Binary files ./wordpress-3.3.2/.git/objects/e9/639244ed8f412988fa61b9a4cb3dc5fef2a65b and ./wordpress-3.4/.git/objects/e9/639244ed8f412988fa61b9a4cb3dc5fef2a65b differ
Binary files ./wordpress-3.3.2/.git/objects/e9/82809af1f3319d78cea838be16b7c6b62986e7 and ./wordpress-3.4/.git/objects/e9/82809af1f3319d78cea838be16b7c6b62986e7 differ
Binary files ./wordpress-3.3.2/.git/objects/e9/a3f626e0481945986c3da3c564e4964a84ee14 and ./wordpress-3.4/.git/objects/e9/a3f626e0481945986c3da3c564e4964a84ee14 differ
Binary files ./wordpress-3.3.2/.git/objects/e9/ada84dcc02b43f8bc7c027c0e07a7ea22bd612 and ./wordpress-3.4/.git/objects/e9/ada84dcc02b43f8bc7c027c0e07a7ea22bd612 differ
Binary files ./wordpress-3.3.2/.git/objects/e9/c909d621ea3bfa836292a0c3b3e3fb4f2786a8 and ./wordpress-3.4/.git/objects/e9/c909d621ea3bfa836292a0c3b3e3fb4f2786a8 differ
Binary files ./wordpress-3.3.2/.git/objects/e9/d59e2258168c68e1e08719d7f8748c884960d9 and ./wordpress-3.4/.git/objects/e9/d59e2258168c68e1e08719d7f8748c884960d9 differ
Binary files ./wordpress-3.3.2/.git/objects/e9/d97ed2765a63742a951bc8dba0eccddf888467 and ./wordpress-3.4/.git/objects/e9/d97ed2765a63742a951bc8dba0eccddf888467 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ea/3269289fb7b7f0d66e4055ae3dddc6f0f0f964 ./wordpress-3.4/.git/objects/ea/3269289fb7b7f0d66e4055ae3dddc6f0f0f964
*** ./wordpress-3.3.2/.git/objects/ea/3269289fb7b7f0d66e4055ae3dddc6f0f0f964	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/ea/3269289fb7b7f0d66e4055ae3dddc6f0f0f964	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- xeÍM‚@àÎû+æ¶*²¢·(2û"!B¨ð¸¬î[I¦¶[ÿ¿
¢K×™‡™ªí+Äãd4M‡ëÀ¢ `°¢ÁP­ž¤p²c­p=šÎ>IiáÐÇÍUßÔ…PöF†¬uiÄ˜Ô¿ynZòP)K�º“'å&ß­¥ôCðDÄ<DYäû%xô}áð'ÌÐãÕ’}W¼lq(²ãÖ©íp:co²°;
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/ea/3bb77692910185457dc0b54cfa8a951f57e304 and ./wordpress-3.4/.git/objects/ea/3bb77692910185457dc0b54cfa8a951f57e304 differ
Binary files ./wordpress-3.3.2/.git/objects/ea/4033119fd1cf7198849a45a0c7683130eafc3f and ./wordpress-3.4/.git/objects/ea/4033119fd1cf7198849a45a0c7683130eafc3f differ
Binary files ./wordpress-3.3.2/.git/objects/ea/c51f6f8a1ffa7bf73af6d0383ee20b22882fef and ./wordpress-3.4/.git/objects/ea/c51f6f8a1ffa7bf73af6d0383ee20b22882fef differ
Binary files ./wordpress-3.3.2/.git/objects/ea/c548b0b0635481eb0803569b2df900b4f7216f and ./wordpress-3.4/.git/objects/ea/c548b0b0635481eb0803569b2df900b4f7216f differ
Binary files ./wordpress-3.3.2/.git/objects/ea/d6bd8097d779a68147e74907d09188cc9b516f and ./wordpress-3.4/.git/objects/ea/d6bd8097d779a68147e74907d09188cc9b516f differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/eb/131473304902952b007864f457b57060261f59 ./wordpress-3.4/.git/objects/eb/131473304902952b007864f457b57060261f59
*** ./wordpress-3.3.2/.git/objects/eb/131473304902952b007864f457b57060261f59	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/eb/131473304902952b007864f457b57060261f59	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,2 ****
- x•SKkÜ0îu÷W¨>ôfkC)”"{	I)¥zØ¶”�ƒlÏÚb­’6NùïÙkÅ›
„\„fôÍë›Oe§Kr¶úðþ
[ßÊŽÜ€uB«<9ËV	UéZ¨&Oö~›~LÈºX.™äJlÁy‚ÊåIë½ùD©«Z�ÜeRTV;½õY¥%í»žN´‡²ÓM‚IaÚx¬ä
- ¼£Uu”ßÜ(þj[ÿ²à£3ïrÁÜÞm½ûw=b\ñsâ�!¿€ßðæ	pr†&è¬‹`�zr`oD?¹<jjî›’7ðÛvÅpqÃÐ½IE¥UfTÃhŒøž{°’ÛÝ×çãûÍÓ´Z‚ÁÊß…ÚmàÖôÄ	Œž¼�!¼–BEü%wm©¹­=~˜�ÃXƒ‰ì¼½º¸<ßœ_‘åb±¸»L�vž‘îm÷@³ŒâØC*0××&Çô1QŸkáQ[ÑùÊü!EfZ³æUÐQ˜î]pæ÷áLEýpÜÂiMvä¨Çrïý£G+N.êb…k¬£Ã¾p…ô“-%Šµ8x'¶âÒ‡KTþŠýœ2�”|µ›‘ò”–—x<¤�5Zv5-“…?5+Àè4)¶=ø)—,~[4þy¤Vç
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/eb/1787db32d5c8dcf64063ee448799385971a1ff and ./wordpress-3.4/.git/objects/eb/1787db32d5c8dcf64063ee448799385971a1ff differ
Binary files ./wordpress-3.3.2/.git/objects/eb/352ef371d4d4207fc7d3be9ef43cfc65674c0c and ./wordpress-3.4/.git/objects/eb/352ef371d4d4207fc7d3be9ef43cfc65674c0c differ
Binary files ./wordpress-3.3.2/.git/objects/eb/79ee3384abcd34ac4e947ed3cec896c4815a6c and ./wordpress-3.4/.git/objects/eb/79ee3384abcd34ac4e947ed3cec896c4815a6c differ
Binary files ./wordpress-3.3.2/.git/objects/eb/97177ba7da8ac68bd440f9b58083bcc758cd8b and ./wordpress-3.4/.git/objects/eb/97177ba7da8ac68bd440f9b58083bcc758cd8b differ
Binary files ./wordpress-3.3.2/.git/objects/eb/d64b3e8236d61e95700c89d66c6624852e1a2f and ./wordpress-3.4/.git/objects/eb/d64b3e8236d61e95700c89d66c6624852e1a2f differ
Binary files ./wordpress-3.3.2/.git/objects/eb/eb2a5ad7815a4713608c113824cad0e1c4fc5b and ./wordpress-3.4/.git/objects/eb/eb2a5ad7815a4713608c113824cad0e1c4fc5b differ
Binary files ./wordpress-3.3.2/.git/objects/eb/f6e9b54894e35d16f441cedad769eac1a4e32c and ./wordpress-3.4/.git/objects/eb/f6e9b54894e35d16f441cedad769eac1a4e32c differ
Binary files ./wordpress-3.3.2/.git/objects/ec/05d2948477d42941702b9de842a00558c9170f and ./wordpress-3.4/.git/objects/ec/05d2948477d42941702b9de842a00558c9170f differ
Binary files ./wordpress-3.3.2/.git/objects/ec/2a01f21f8322ca57a05d0e5e24606464094233 and ./wordpress-3.4/.git/objects/ec/2a01f21f8322ca57a05d0e5e24606464094233 differ
Binary files ./wordpress-3.3.2/.git/objects/ec/4709cd42c89058de1c6ca0effe6a87cee4fd0f and ./wordpress-3.4/.git/objects/ec/4709cd42c89058de1c6ca0effe6a87cee4fd0f differ
Binary files ./wordpress-3.3.2/.git/objects/ec/4916634a0dbaf0ee3b91bbcab8f32f713499ec and ./wordpress-3.4/.git/objects/ec/4916634a0dbaf0ee3b91bbcab8f32f713499ec differ
Binary files ./wordpress-3.3.2/.git/objects/ec/6f4ca38926eb7f4504310d558e95d23209ff26 and ./wordpress-3.4/.git/objects/ec/6f4ca38926eb7f4504310d558e95d23209ff26 differ
Binary files ./wordpress-3.3.2/.git/objects/ec/8700a02f5869eae950d81f90ab2a335f07343f and ./wordpress-3.4/.git/objects/ec/8700a02f5869eae950d81f90ab2a335f07343f differ
Binary files ./wordpress-3.3.2/.git/objects/ec/c9d0ad0ff207b9e8f4ddb6572bb810559c0666 and ./wordpress-3.4/.git/objects/ec/c9d0ad0ff207b9e8f4ddb6572bb810559c0666 differ
Binary files ./wordpress-3.3.2/.git/objects/ec/f29f58023b458402b5f069404d4d348fdbcdf4 and ./wordpress-3.4/.git/objects/ec/f29f58023b458402b5f069404d4d348fdbcdf4 differ
Binary files ./wordpress-3.3.2/.git/objects/ed/36ee908ba403a1dba9c89ceac628e6a0ae25e4 and ./wordpress-3.4/.git/objects/ed/36ee908ba403a1dba9c89ceac628e6a0ae25e4 differ
Binary files ./wordpress-3.3.2/.git/objects/ed/5bf76e45912ac97b2bcd2616610e03cdda406d and ./wordpress-3.4/.git/objects/ed/5bf76e45912ac97b2bcd2616610e03cdda406d differ
Binary files ./wordpress-3.3.2/.git/objects/ed/6aac8b78acbaaf743c2a4e283735785773ffb1 and ./wordpress-3.4/.git/objects/ed/6aac8b78acbaaf743c2a4e283735785773ffb1 differ
Binary files ./wordpress-3.3.2/.git/objects/ed/8c5b7d8b12f6f359db48770d0bf7c7f1b512ee and ./wordpress-3.4/.git/objects/ed/8c5b7d8b12f6f359db48770d0bf7c7f1b512ee differ
Binary files ./wordpress-3.3.2/.git/objects/ed/bc8c0136b354d69f4b9a99ac8e37b9bd0f9529 and ./wordpress-3.4/.git/objects/ed/bc8c0136b354d69f4b9a99ac8e37b9bd0f9529 differ
Binary files ./wordpress-3.3.2/.git/objects/ed/cfa2d69e8853e73e6963acebe74e880cde8e00 and ./wordpress-3.4/.git/objects/ed/cfa2d69e8853e73e6963acebe74e880cde8e00 differ
Binary files ./wordpress-3.3.2/.git/objects/ed/dc15a14e4e4cafd4c91c37e99583af5bf95228 and ./wordpress-3.4/.git/objects/ed/dc15a14e4e4cafd4c91c37e99583af5bf95228 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/ee/1195fa71c5d03534be00b34295c2621d0d39c2 ./wordpress-3.4/.git/objects/ee/1195fa71c5d03534be00b34295c2621d0d39c2
*** ./wordpress-3.3.2/.git/objects/ee/1195fa71c5d03534be00b34295c2621d0d39c2	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/ee/1195fa71c5d03534be00b34295c2621d0d39c2	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ x�TMOÛ@í5þSa�]ªªÓ–Ò‡"ÔF½ ÈÚ¬'ñ‚½kíŒ¡â¿w×!‚TêÁò~<Ï¼yoÆóÚÌáøÃÇOo&ŸÛª
‚ìà €8WË%ÈJè%–À*óŽÙhøzu‘‚‡øgZ!˜ºâU�Oˆ{A@¦A®”^B­nÑEPtâ?¸.]à¼bnO²Ì¯SišÌ£�üî¨EÛˆZéÛAGHà�as.¶*Óíüï×ù·s€¬QÞ«Ã¼ë©ög`ZVF‹'y@tQƒ¥ê¿rŒZ!Ù/•4:ê+ºø,‘‹
�8yAè‹è¸2~#¡+.Õ­©ÍøÁ¢ÓÒgïË*ÈAYš‹r¡‚ÊÊ@LHZÕ2ðªÅ<düÃÙ�¸ÃixÄOqâäáNX ¼4²kPs*-
+ Æï5ú]þúöóâj&‡tüŒq5¬t¶šŠå¥hðzý~6¦twjw!h¥eÎ¶C·!+ópm§SÒ¦tcëÐ1”ÞP8¦ã´u‚k¾tå¦JZ>Ã…±“ã–Œ“8“l¨ñ4ˆÆÁã?õŠaO0ôšVöZ«4cYøü…WrXˆšp#µ€Þîõ1F¢,gº³&v=Ñc­ï�>Ü¶S8¢£ÑÎ|½,ÁÈ12*"ä5Ûë¨ï¿h–Àþ>(]kÅêåå¡ëËþø:3q
+ $žËÐÙ9tr¡,½ÊØ3F'Å66ú1´¼—Ç"wVC4OƒsîTœº±=ÆÞo#Ha�)…(„Êâbã¾—iænÞ(þÜÙ:÷¸7jïF/G'q×Ñ¾hÚ1+®qÜýzŠþÒ�GO'™8šÃ{¶1ÆÙæ)¼v¬·ë/)ª–	
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/ee/3240107de072c0f456c84a560c754a9cf5a955 and ./wordpress-3.4/.git/objects/ee/3240107de072c0f456c84a560c754a9cf5a955 differ
Binary files ./wordpress-3.3.2/.git/objects/ee/3d369d02238e02e0185349064c637232d0e15a and ./wordpress-3.4/.git/objects/ee/3d369d02238e02e0185349064c637232d0e15a differ
Binary files ./wordpress-3.3.2/.git/objects/ee/71313d65e3366b7658384bfe710d4b0a7be698 and ./wordpress-3.4/.git/objects/ee/71313d65e3366b7658384bfe710d4b0a7be698 differ
Binary files ./wordpress-3.3.2/.git/objects/ee/929644c66d2af765322de59b490ba3d929281e and ./wordpress-3.4/.git/objects/ee/929644c66d2af765322de59b490ba3d929281e differ
Binary files ./wordpress-3.3.2/.git/objects/ee/9b9e8feca78f8a4bb0d90369eefd29e1dee642 and ./wordpress-3.4/.git/objects/ee/9b9e8feca78f8a4bb0d90369eefd29e1dee642 differ
Binary files ./wordpress-3.3.2/.git/objects/ee/bfb3d5ac589c9a6c3b50749ba7b5031d2c173e and ./wordpress-3.4/.git/objects/ee/bfb3d5ac589c9a6c3b50749ba7b5031d2c173e differ
Binary files ./wordpress-3.3.2/.git/objects/ee/ce437d69e02f48cd2aaa7bc54d1503a2efff02 and ./wordpress-3.4/.git/objects/ee/ce437d69e02f48cd2aaa7bc54d1503a2efff02 differ
Binary files ./wordpress-3.3.2/.git/objects/ee/ef4d64b3aafd4e0e86ee3bed31e95ea744cb6c and ./wordpress-3.4/.git/objects/ee/ef4d64b3aafd4e0e86ee3bed31e95ea744cb6c differ
Binary files ./wordpress-3.3.2/.git/objects/ef/1129c0deab0f4731b2a88981c60b5e27778d7a and ./wordpress-3.4/.git/objects/ef/1129c0deab0f4731b2a88981c60b5e27778d7a differ
Binary files ./wordpress-3.3.2/.git/objects/ef/2c641010da0adbe9128103cf43005d582e5013 and ./wordpress-3.4/.git/objects/ef/2c641010da0adbe9128103cf43005d582e5013 differ
Binary files ./wordpress-3.3.2/.git/objects/ef/628ed102db76487501d8fca78c6c1e5cc4527b and ./wordpress-3.4/.git/objects/ef/628ed102db76487501d8fca78c6c1e5cc4527b differ
Binary files ./wordpress-3.3.2/.git/objects/ef/847b7f503f59d9fbce0ea12df6381f85c26fe7 and ./wordpress-3.4/.git/objects/ef/847b7f503f59d9fbce0ea12df6381f85c26fe7 differ
Binary files ./wordpress-3.3.2/.git/objects/ef/c6f3dcebf5675dc050534e92412d97d276c8b0 and ./wordpress-3.4/.git/objects/ef/c6f3dcebf5675dc050534e92412d97d276c8b0 differ
Binary files ./wordpress-3.3.2/.git/objects/ef/d03736552e35f0a6790b6c043f4becbe3d35b1 and ./wordpress-3.4/.git/objects/ef/d03736552e35f0a6790b6c043f4becbe3d35b1 differ
Binary files ./wordpress-3.3.2/.git/objects/f0/6db9579c1150261ff46963a75467494ce65c97 and ./wordpress-3.4/.git/objects/f0/6db9579c1150261ff46963a75467494ce65c97 differ
Binary files ./wordpress-3.3.2/.git/objects/f0/d7cbdebe379a7da89b8b51dbb56e659c12345e and ./wordpress-3.4/.git/objects/f0/d7cbdebe379a7da89b8b51dbb56e659c12345e differ
Binary files ./wordpress-3.3.2/.git/objects/f0/da6ecc5c9095b8d5c9b4a3e91e5155c58af0cd and ./wordpress-3.4/.git/objects/f0/da6ecc5c9095b8d5c9b4a3e91e5155c58af0cd differ
Binary files ./wordpress-3.3.2/.git/objects/f1/1c586d5ff28e440dfd59da9485c122b1ac8b19 and ./wordpress-3.4/.git/objects/f1/1c586d5ff28e440dfd59da9485c122b1ac8b19 differ
Binary files ./wordpress-3.3.2/.git/objects/f1/b3738354e6bfb2bd40fdd15b86e01fae906e2e and ./wordpress-3.4/.git/objects/f1/b3738354e6bfb2bd40fdd15b86e01fae906e2e differ
Binary files ./wordpress-3.3.2/.git/objects/f1/b96fb212a92cb27d382d4c8c133b0f550e698e and ./wordpress-3.4/.git/objects/f1/b96fb212a92cb27d382d4c8c133b0f550e698e differ
Binary files ./wordpress-3.3.2/.git/objects/f1/ca95e60740e7e8ce517a361e4008b91f687a5f and ./wordpress-3.4/.git/objects/f1/ca95e60740e7e8ce517a361e4008b91f687a5f differ
Binary files ./wordpress-3.3.2/.git/objects/f1/d6c4b3d8c3f3a9206fdfdda397c2574bcff86a and ./wordpress-3.4/.git/objects/f1/d6c4b3d8c3f3a9206fdfdda397c2574bcff86a differ
Binary files ./wordpress-3.3.2/.git/objects/f2/4f420d832f4ac007962e3cbb92972cbc4f490f and ./wordpress-3.4/.git/objects/f2/4f420d832f4ac007962e3cbb92972cbc4f490f differ
Binary files ./wordpress-3.3.2/.git/objects/f2/6255fca65dd35677e331dfcd2193c18b2e3457 and ./wordpress-3.4/.git/objects/f2/6255fca65dd35677e331dfcd2193c18b2e3457 differ
Binary files ./wordpress-3.3.2/.git/objects/f2/64c0d7719f8649f420fcf88373d9048872aa0d and ./wordpress-3.4/.git/objects/f2/64c0d7719f8649f420fcf88373d9048872aa0d differ
Binary files ./wordpress-3.3.2/.git/objects/f2/85be3a9093da1e0d9d70ccba0264eca613c00e and ./wordpress-3.4/.git/objects/f2/85be3a9093da1e0d9d70ccba0264eca613c00e differ
Binary files ./wordpress-3.3.2/.git/objects/f3/178fee7449428e91ffbb8eda2da23f33d7df2c and ./wordpress-3.4/.git/objects/f3/178fee7449428e91ffbb8eda2da23f33d7df2c differ
Binary files ./wordpress-3.3.2/.git/objects/f3/29c86e52698262b18839923fca9165049c139e and ./wordpress-3.4/.git/objects/f3/29c86e52698262b18839923fca9165049c139e differ
Binary files ./wordpress-3.3.2/.git/objects/f3/5fa18689eb09b7305b44c8107aa5370e517ef1 and ./wordpress-3.4/.git/objects/f3/5fa18689eb09b7305b44c8107aa5370e517ef1 differ
Binary files ./wordpress-3.3.2/.git/objects/f3/8bafc765b091efb3a9f610d275ff3225c1f74f and ./wordpress-3.4/.git/objects/f3/8bafc765b091efb3a9f610d275ff3225c1f74f differ
Binary files ./wordpress-3.3.2/.git/objects/f4/12c8db4550ae8359204e6da15ea8c15d86c581 and ./wordpress-3.4/.git/objects/f4/12c8db4550ae8359204e6da15ea8c15d86c581 differ
Binary files ./wordpress-3.3.2/.git/objects/f4/18745929e79943ab48d10951a2da54b65ad716 and ./wordpress-3.4/.git/objects/f4/18745929e79943ab48d10951a2da54b65ad716 differ
Binary files ./wordpress-3.3.2/.git/objects/f4/53745004b6a2d684434a54117acd523158a176 and ./wordpress-3.4/.git/objects/f4/53745004b6a2d684434a54117acd523158a176 differ
Binary files ./wordpress-3.3.2/.git/objects/f4/8daea2cbc0c9184b820927defb7fc0b778a9f7 and ./wordpress-3.4/.git/objects/f4/8daea2cbc0c9184b820927defb7fc0b778a9f7 differ
Binary files ./wordpress-3.3.2/.git/objects/f4/af998e334b21468f42da913f356bb1cab6915e and ./wordpress-3.4/.git/objects/f4/af998e334b21468f42da913f356bb1cab6915e differ
Binary files ./wordpress-3.3.2/.git/objects/f4/fe306b7d6df4ae483c05f02fa1add92dcbbbb7 and ./wordpress-3.4/.git/objects/f4/fe306b7d6df4ae483c05f02fa1add92dcbbbb7 differ
Binary files ./wordpress-3.3.2/.git/objects/f5/48f86d736cc4068caaead1463306462d043f73 and ./wordpress-3.4/.git/objects/f5/48f86d736cc4068caaead1463306462d043f73 differ
Binary files ./wordpress-3.3.2/.git/objects/f5/7be766c09a5a277df341aab01c6e20dbbbfeb8 and ./wordpress-3.4/.git/objects/f5/7be766c09a5a277df341aab01c6e20dbbbfeb8 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/f5/9674908931d8c67ec8504970fac7f3f795d733 ./wordpress-3.4/.git/objects/f5/9674908931d8c67ec8504970fac7f3f795d733
*** ./wordpress-3.3.2/.git/objects/f5/9674908931d8c67ec8504970fac7f3f795d733	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/f5/9674908931d8c67ec8504970fac7f3f795d733	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x}�AK1…=çWÌm·K›UÑ‹Ü,.xX°à1d“©
¦Ù˜Ùàß7‘–Åzš„—yïËì8ÀÝõÍÕúÉï=««ŠA­>gh
+ r2£ƒMt*(iYÞî
ÁÎX„45ú€JN¨—	¡øñ+™÷kã”�©þ»òä_€q4¡ÔüèÔÌÛpËï³yã¥ú’ŸcÐ}@Ê©ÐPNÂº¤ÖŒ‰ÙHd²IèäK!6ÝÛ‹‹%)£Hã"ââ‘åæüó:Ú¾{€îø9�Öž?Ø�úâ™-àw4Åè–íó{ßn_�_†H¿…Î†Ð
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/f5/d2a3eeb0a276621a942ddd635fc17eaca61c5a and ./wordpress-3.4/.git/objects/f5/d2a3eeb0a276621a942ddd635fc17eaca61c5a differ
Binary files ./wordpress-3.3.2/.git/objects/f6/659a4d931709da1cebffcea9098431dbe6b0c2 and ./wordpress-3.4/.git/objects/f6/659a4d931709da1cebffcea9098431dbe6b0c2 differ
Binary files ./wordpress-3.3.2/.git/objects/f6/9c9382b568d94328875e7405e8e64bfb67a3f9 and ./wordpress-3.4/.git/objects/f6/9c9382b568d94328875e7405e8e64bfb67a3f9 differ
Binary files ./wordpress-3.3.2/.git/objects/f6/a3281210d4ec5414d4c57389e0700539cbd90f and ./wordpress-3.4/.git/objects/f6/a3281210d4ec5414d4c57389e0700539cbd90f differ
Binary files ./wordpress-3.3.2/.git/objects/f7/87cbbcc866c203847811ee8cb74d9564ad9f07 and ./wordpress-3.4/.git/objects/f7/87cbbcc866c203847811ee8cb74d9564ad9f07 differ
Binary files ./wordpress-3.3.2/.git/objects/f7/9772caedaecdae37086c1a57f39a27357c509e and ./wordpress-3.4/.git/objects/f7/9772caedaecdae37086c1a57f39a27357c509e differ
Binary files ./wordpress-3.3.2/.git/objects/f7/9b6250ee4ec84c6231d79848b7320566be227a and ./wordpress-3.4/.git/objects/f7/9b6250ee4ec84c6231d79848b7320566be227a differ
Binary files ./wordpress-3.3.2/.git/objects/f7/cadd6e7f4811f56023bf8660b3f482a504848c and ./wordpress-3.4/.git/objects/f7/cadd6e7f4811f56023bf8660b3f482a504848c differ
Binary files ./wordpress-3.3.2/.git/objects/f7/f57927307a9505280398e2c0e9e78b034b36a6 and ./wordpress-3.4/.git/objects/f7/f57927307a9505280398e2c0e9e78b034b36a6 differ
Binary files ./wordpress-3.3.2/.git/objects/f8/07fcf2c5eea37c682cf4b14d1fb58eef2e5339 and ./wordpress-3.4/.git/objects/f8/07fcf2c5eea37c682cf4b14d1fb58eef2e5339 differ
Binary files ./wordpress-3.3.2/.git/objects/f8/2402457f87e0df023aea0ac8f8a107bd950f4d and ./wordpress-3.4/.git/objects/f8/2402457f87e0df023aea0ac8f8a107bd950f4d differ
Binary files ./wordpress-3.3.2/.git/objects/f8/32dc28501745d1c82e646485e6dac9d97693ab and ./wordpress-3.4/.git/objects/f8/32dc28501745d1c82e646485e6dac9d97693ab differ
Binary files ./wordpress-3.3.2/.git/objects/f8/3305890bcd42e2ea6808955ab9e83c2d1f59ea and ./wordpress-3.4/.git/objects/f8/3305890bcd42e2ea6808955ab9e83c2d1f59ea differ
Binary files ./wordpress-3.3.2/.git/objects/f8/646287474ef8b7d7ae09ed154083ceea2bb8f8 and ./wordpress-3.4/.git/objects/f8/646287474ef8b7d7ae09ed154083ceea2bb8f8 differ
Binary files ./wordpress-3.3.2/.git/objects/f8/75f2f816231df25c902c7c4486b1ebb352cb22 and ./wordpress-3.4/.git/objects/f8/75f2f816231df25c902c7c4486b1ebb352cb22 differ
Binary files ./wordpress-3.3.2/.git/objects/f8/8994f1dadbb093ebf52cd2543bedeea3d32f4a and ./wordpress-3.4/.git/objects/f8/8994f1dadbb093ebf52cd2543bedeea3d32f4a differ
Binary files ./wordpress-3.3.2/.git/objects/f8/9959e2e25831233a6b272f93a13b5bfc922284 and ./wordpress-3.4/.git/objects/f8/9959e2e25831233a6b272f93a13b5bfc922284 differ
Binary files ./wordpress-3.3.2/.git/objects/f8/d83dd84eebc541eec00bc4443d7e55afa346a7 and ./wordpress-3.4/.git/objects/f8/d83dd84eebc541eec00bc4443d7e55afa346a7 differ
Binary files ./wordpress-3.3.2/.git/objects/f8/f08c87e7c31e38d6c1b87f775c40a814f68b60 and ./wordpress-3.4/.git/objects/f8/f08c87e7c31e38d6c1b87f775c40a814f68b60 differ
Binary files ./wordpress-3.3.2/.git/objects/f9/299fb157b8d57f5f082058f594f8fb1abff9d2 and ./wordpress-3.4/.git/objects/f9/299fb157b8d57f5f082058f594f8fb1abff9d2 differ
Binary files ./wordpress-3.3.2/.git/objects/f9/42b51fd2bb1c26dfffd2ff90d445e13d755799 and ./wordpress-3.4/.git/objects/f9/42b51fd2bb1c26dfffd2ff90d445e13d755799 differ
Binary files ./wordpress-3.3.2/.git/objects/f9/749a77ba42d2326438d9ed7139d60126ccc174 and ./wordpress-3.4/.git/objects/f9/749a77ba42d2326438d9ed7139d60126ccc174 differ
Binary files ./wordpress-3.3.2/.git/objects/f9/a2bfdca9cbd445631f75f7e25cd7a6152324b9 and ./wordpress-3.4/.git/objects/f9/a2bfdca9cbd445631f75f7e25cd7a6152324b9 differ
Binary files ./wordpress-3.3.2/.git/objects/f9/a4f63fd2973a30b16080b4ad9f4fd567aa68a2 and ./wordpress-3.4/.git/objects/f9/a4f63fd2973a30b16080b4ad9f4fd567aa68a2 differ
Binary files ./wordpress-3.3.2/.git/objects/f9/d813709c85c21b342df81050e46cf261143c84 and ./wordpress-3.4/.git/objects/f9/d813709c85c21b342df81050e46cf261143c84 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/f9/fbca49d262a99cd4cc462b3d4304a5aadd52c3 ./wordpress-3.4/.git/objects/f9/fbca49d262a99cd4cc462b3d4304a5aadd52c3
*** ./wordpress-3.3.2/.git/objects/f9/fbca49d262a99cd4cc462b3d4304a5aadd52c3	2012-04-23 16:27:04.000000000 -0500
--- ./wordpress-3.4/.git/objects/f9/fbca49d262a99cd4cc462b3d4304a5aadd52c3	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,5 ****
- x}T]o›0Ýëò+,?T¸a&dšÂP5­ÓViÕ>ÚnUŒ¹€ÀÌ6i«$ÿ}6Ð„nÕ^ûžsÏ=×÷Š¤”	
- Ã×³gÁñ£å÷Ô=º:C³¸Ñè¢`+@!}KÃ7–áHds¯D^4Ÿ…¡�Þ_]~þúã‚š;ƒ¼Â˜fËßN¨”Ë*`‰l
q©§-+Q)8ÔRÔÖ)(d
- @çg—H*ôéÛô”²Fóž¦.ó‘.•*™ÁÔ€§’kÚïJ_�C'A×ÉÀ>…êT/ìõùÀ†¾a›¥€.µE‚‰—µ57Ö�—’MJ(Ú½I¼ÇÙ(0­ªm+BSÛy‡L²Y3…’8õJüe|�©…“Å>6²±¿‰4FVöPBfì_÷¼ø&Õs.SðŸQÙ¸dM+Ønqo“ÈâñO…²3´TKê…áª
«¹U˜ÏürQ�Þn_ú™
¦­b½ÄHw_ÍÆÙÚ\’(¡º�·�\3ðK±¦å%½Û<æqŒÛo·î�ÊÛŸto²�]'îñ×�ãˆÇ›]×¹°ånü:¿‰½Â
- :Þ	~[ò4Æd
- ‘ø³á…#Xìx­:y:ÕÂ	eµ¨l÷³Ñ €iQç$Ê¤ò #xWF0�’_<Åß«­žBGÕþŸm½óÜøûý¯®mì‚÷S:l—‚J®ÇÃa”³²L_ÎÔ¯¼ïÙg*o+¨�&;7ï~ëqv‡Ç…šB�ô¬Ñm·#^ÿ¹!Ñäh2„˜
\ No newline at end of file
--- 0 ----
Binary files ./wordpress-3.3.2/.git/objects/fa/62d88964d88f840b04c6feca0db5a24e608a1c and ./wordpress-3.4/.git/objects/fa/62d88964d88f840b04c6feca0db5a24e608a1c differ
Binary files ./wordpress-3.3.2/.git/objects/fa/682aa997d94cfb2568596679dce6a8080fe96f and ./wordpress-3.4/.git/objects/fa/682aa997d94cfb2568596679dce6a8080fe96f differ
Binary files ./wordpress-3.3.2/.git/objects/fa/7d4e508851354b51ce0ebe22ac4aadfb621fc6 and ./wordpress-3.4/.git/objects/fa/7d4e508851354b51ce0ebe22ac4aadfb621fc6 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/fa/8da05b0d0b857767b167bc43988b003414509d ./wordpress-3.4/.git/objects/fa/8da05b0d0b857767b167bc43988b003414509d
*** ./wordpress-3.3.2/.git/objects/fa/8da05b0d0b857767b167bc43988b003414509d	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/fa/8da05b0d0b857767b167bc43988b003414509d	2012-06-13 16:59:59.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ x+)JMU0402`040031QHÎÏÉ/*ÖMÎI,.ÎLÖK..f˜ÈX÷L�ù’§`â×Ål_ô'Lš‡]uJjXÇv>Óû“Nêìúy÷|Qüƒo'f$FÞEÕ‘V”ZœVûýk¥ºAÕTV
æ�¼|ÞÍìm¶›Z˜Ù
žœór²z³l?õ¹^byÃÁ+û?ÂÔ——äçfV¥ê&çç•åçë•ä€m‘–0ø"ßÍ¼Ò±=Æ½=Ëàgéš�÷ðë‚Ù'ôwâ’ó«V,ú–�6cyRßáÜ,%œ:ÁvMq?cWÌz¦éÜí•‚Qµ6›þíaTÆ­fÏ„žUºý-—mn2Yý?ý�¹è‡ßQ¨®´Ä¢¤’Äâh|¼Ô<po5¿»á¦��Ç¸ãÔË{« *3Sá>v¿ë}£¯ÉbÝ	{‰Ékò”åÎ© ª‚Ù,fZûTÉÉÉÈä­c¯_ðâ)‡ÌÞÁU‚}ôÆ�ó¬Ó‰	÷dr¼ÿ—Õ~îÉ_~„
+ ˜9ýCÛŽ,Ô<còÛµMù
ï?®ÏêËaªòŠKs Q!á™¹¡†©MòCP¹\n¶ïÝÙþ×Ð”ÁL¼^”°Âè¼ðº•÷Õ²µ0	V0C•æ¦¦d&Â=¸�mëï¾-gõ::ëŽ½(Ž*ÃP3•Çæ´Íš®Øn®–#†lú­“åÔN#+{Y]çñ¦�k«}¿}õ×;�äwŽÿFQ3Mecòë•ëµçÿKÝ!9óÛÔ[¬[~Oƒ*,/ÐMLÉÍÌƒ;³f]¾XõÔ'œlO'*†ñgœ^»›Z˜Ù-ÇÇÊN½c>k^@Êz•3O”¥™ÒÐÔƒkã¸4òø«Wm9êSÂ÷|*VÝ$ÿ]ÌÌæÂ�\sÆv>>á{F÷KÞ™obö”,
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/fa/9f12ba903e797bf588a81c3bd9f868cada0b3d and ./wordpress-3.4/.git/objects/fa/9f12ba903e797bf588a81c3bd9f868cada0b3d differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/fa/ba84d0128f31cd3551f685fa343b6552d825a3 ./wordpress-3.4/.git/objects/fa/ba84d0128f31cd3551f685fa343b6552d825a3
*** ./wordpress-3.3.2/.git/objects/fa/ba84d0128f31cd3551f685fa343b6552d825a3	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/fa/ba84d0128f31cd3551f685fa343b6552d825a3	2012-06-13 16:59:55.000000000 -0500
***************
*** 0 ****
--- 1,2 ----
+ xU�;Â0„™ó+¼:$<º�Äsd`AŒÈi"Qâ�¤ÿŸ¤U…:ÚßÝù,[’°®V³ÝÞ5Ž‰²dPÂ=h�$ô
+ Î^+ úkBô
YphuË“>[ë7¾4<È«›×!ôÛÐÉ'î�[kØðŠ/Ó,X¾WBõO�©
ND17pYïõ·3^?)ÅÌ¡à¢oÈÓ',¶läqQ_ŒôñIOµ
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/fa/cae8a86d33c443f0493e92eed7140ae5cf0019 and ./wordpress-3.4/.git/objects/fa/cae8a86d33c443f0493e92eed7140ae5cf0019 differ
Binary files ./wordpress-3.3.2/.git/objects/fa/e10241c9c69fa624f495f64051c9c3a0888f15 and ./wordpress-3.4/.git/objects/fa/e10241c9c69fa624f495f64051c9c3a0888f15 differ
Binary files ./wordpress-3.3.2/.git/objects/fa/e5b5c985bff6ffb267c88c3fba2f2d5dce0c3f and ./wordpress-3.4/.git/objects/fa/e5b5c985bff6ffb267c88c3fba2f2d5dce0c3f differ
Binary files ./wordpress-3.3.2/.git/objects/fb/1f1ee0c275753f0ef986a1278b49b88db76fe7 and ./wordpress-3.4/.git/objects/fb/1f1ee0c275753f0ef986a1278b49b88db76fe7 differ
Binary files ./wordpress-3.3.2/.git/objects/fb/2cdfedde815e772cb4d31442baf8eb43fc472c and ./wordpress-3.4/.git/objects/fb/2cdfedde815e772cb4d31442baf8eb43fc472c differ
Binary files ./wordpress-3.3.2/.git/objects/fb/2ed4fef57126c6df7c1d1dd186af85c2ddabd1 and ./wordpress-3.4/.git/objects/fb/2ed4fef57126c6df7c1d1dd186af85c2ddabd1 differ
Binary files ./wordpress-3.3.2/.git/objects/fb/4b50330a35c8db2668cb17e9db05f3591d83c7 and ./wordpress-3.4/.git/objects/fb/4b50330a35c8db2668cb17e9db05f3591d83c7 differ
Binary files ./wordpress-3.3.2/.git/objects/fb/cd5a681ab50c0f3959009e78912370ef7f5bf8 and ./wordpress-3.4/.git/objects/fb/cd5a681ab50c0f3959009e78912370ef7f5bf8 differ
Binary files ./wordpress-3.3.2/.git/objects/fb/d3513b55236b8b81b2d373593720d36acf633a and ./wordpress-3.4/.git/objects/fb/d3513b55236b8b81b2d373593720d36acf633a differ
Binary files ./wordpress-3.3.2/.git/objects/fc/241359f630a73be83e4a76d214d99a02c8d7c2 and ./wordpress-3.4/.git/objects/fc/241359f630a73be83e4a76d214d99a02c8d7c2 differ
Binary files ./wordpress-3.3.2/.git/objects/fc/5fa845d8020087b6e16ce6da3bb1a1072d71c8 and ./wordpress-3.4/.git/objects/fc/5fa845d8020087b6e16ce6da3bb1a1072d71c8 differ
Binary files ./wordpress-3.3.2/.git/objects/fc/75417f4fad12cf334be8ba00575912a115c915 and ./wordpress-3.4/.git/objects/fc/75417f4fad12cf334be8ba00575912a115c915 differ
Binary files ./wordpress-3.3.2/.git/objects/fc/9d4f126f10894ea7e8b1edd341857a50138cb9 and ./wordpress-3.4/.git/objects/fc/9d4f126f10894ea7e8b1edd341857a50138cb9 differ
Binary files ./wordpress-3.3.2/.git/objects/fc/fd80904398d83fcce392ed7ffdda951e224a70 and ./wordpress-3.4/.git/objects/fc/fd80904398d83fcce392ed7ffdda951e224a70 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/objects/fd/587a69d3cc9fa2e7a3c078e8e0f591318167ad ./wordpress-3.4/.git/objects/fd/587a69d3cc9fa2e7a3c078e8e0f591318167ad
*** ./wordpress-3.3.2/.git/objects/fd/587a69d3cc9fa2e7a3c078e8e0f591318167ad	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/objects/fd/587a69d3cc9fa2e7a3c078e8e0f591318167ad	2012-06-13 16:59:56.000000000 -0500
***************
*** 0 ****
--- 1,3 ----
+ x­’Mnƒ0…»�O1R6IˆIEuÑ3ô�Áªa�1UP•»×
mÕh�Zï,?}ïyÞ¤†R8ùÍfÅ`ºÌï-Š4˜9•.…C	)Y‰×ô²
c¡W
+ ¯l.Ê DðÌf©ÈsKm%ch­YôOÁ++x
+ s­–`±Fá‚*Žê„�G�[�~£_¨§	ÔÝê÷¬VçÅ•°·°ƒaSrŽÊñ)Dkøv=\ÄnDÿPiãÐÆ L]ˆÕ"Ó®»ÛóeÂfo·x¸JTˆJüñÓ #C9WJyJßz
-!ªO0çœ'—.ÿâN­îÍ?­Ù‡ó¿ô­©ò&göYŽ	 
\ No newline at end of file
Binary files ./wordpress-3.3.2/.git/objects/fd/b64c2479fb230760bd74c11c42ef13578d2206 and ./wordpress-3.4/.git/objects/fd/b64c2479fb230760bd74c11c42ef13578d2206 differ
Binary files ./wordpress-3.3.2/.git/objects/fd/f3a08f78d67844201c67db6a0104ded87fd254 and ./wordpress-3.4/.git/objects/fd/f3a08f78d67844201c67db6a0104ded87fd254 differ
Binary files ./wordpress-3.3.2/.git/objects/fd/f75f15ecd65d6b00fb86e91444664f9ec85852 and ./wordpress-3.4/.git/objects/fd/f75f15ecd65d6b00fb86e91444664f9ec85852 differ
Binary files ./wordpress-3.3.2/.git/objects/fe/49d3b6a55a87a40f1224a3a1068d7c85e216ce and ./wordpress-3.4/.git/objects/fe/49d3b6a55a87a40f1224a3a1068d7c85e216ce differ
Binary files ./wordpress-3.3.2/.git/objects/fe/5e19bc87e1b6003218dd295845d5a535758e63 and ./wordpress-3.4/.git/objects/fe/5e19bc87e1b6003218dd295845d5a535758e63 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/0ca4d5dc52cc164e89fdfb96bd5cda2bf35c6f and ./wordpress-3.4/.git/objects/ff/0ca4d5dc52cc164e89fdfb96bd5cda2bf35c6f differ
Binary files ./wordpress-3.3.2/.git/objects/ff/1e91dcebda385b51d6974ae2cea95201c93d80 and ./wordpress-3.4/.git/objects/ff/1e91dcebda385b51d6974ae2cea95201c93d80 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/4958f11f0a4599de16a95573dd5802da0dd74b and ./wordpress-3.4/.git/objects/ff/4958f11f0a4599de16a95573dd5802da0dd74b differ
Binary files ./wordpress-3.3.2/.git/objects/ff/6a9903276f2aab258a89562b009dcaa0df2416 and ./wordpress-3.4/.git/objects/ff/6a9903276f2aab258a89562b009dcaa0df2416 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/77e6c0a611f96b70dfdca299ccacceef3d2f00 and ./wordpress-3.4/.git/objects/ff/77e6c0a611f96b70dfdca299ccacceef3d2f00 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/787167ea275722fb9857cfbda9667110088553 and ./wordpress-3.4/.git/objects/ff/787167ea275722fb9857cfbda9667110088553 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/78e83bb3b9b1d3436a07f5523b1add1ae7fcdf and ./wordpress-3.4/.git/objects/ff/78e83bb3b9b1d3436a07f5523b1add1ae7fcdf differ
Binary files ./wordpress-3.3.2/.git/objects/ff/7bfcde9e54ddfc14ea2b1b9bd403a21f556c32 and ./wordpress-3.4/.git/objects/ff/7bfcde9e54ddfc14ea2b1b9bd403a21f556c32 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/959bb72e5201e3a4d3f6e6a9930d5b60dcd561 and ./wordpress-3.4/.git/objects/ff/959bb72e5201e3a4d3f6e6a9930d5b60dcd561 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/ca64c950a1d7b234ec2a7717abd888162e0ee1 and ./wordpress-3.4/.git/objects/ff/ca64c950a1d7b234ec2a7717abd888162e0ee1 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/cccbb1508de35aca1116faf1dec228e005efd3 and ./wordpress-3.4/.git/objects/ff/cccbb1508de35aca1116faf1dec228e005efd3 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/f360c62fbd6b1ab6382b08bcf51df8f20c83a5 and ./wordpress-3.4/.git/objects/ff/f360c62fbd6b1ab6382b08bcf51df8f20c83a5 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/fb469d005fe3872f4929096326bc3ef36339f9 and ./wordpress-3.4/.git/objects/ff/fb469d005fe3872f4929096326bc3ef36339f9 differ
Binary files ./wordpress-3.3.2/.git/objects/ff/ffa602d0a4ac42c5743f2988c2c3f3a54190e3 and ./wordpress-3.4/.git/objects/ff/ffa602d0a4ac42c5743f2988c2c3f3a54190e3 differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/refs/heads/3.3.2 ./wordpress-3.4/.git/refs/heads/3.3.2
*** ./wordpress-3.3.2/.git/refs/heads/3.3.2	2012-05-22 15:07:28.000000000 -0500
--- ./wordpress-3.4/.git/refs/heads/3.3.2	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- df4e1d853b9934ba61c62c7282104b741e2b18e5
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.git/refs/heads/3.4 ./wordpress-3.4/.git/refs/heads/3.4
*** ./wordpress-3.3.2/.git/refs/heads/3.4	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.git/refs/heads/3.4	2012-06-13 17:00:00.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ ed5bf76e45912ac97b2bcd2616610e03cdda406d
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/.htaccess ./wordpress-3.4/.htaccess
*** ./wordpress-3.3.2/.htaccess	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/.htaccess	2012-06-13 16:54:20.000000000 -0500
***************
*** 0 ****
--- 1,9 ----
+ # BEGIN WordPress
+ <IfModule mod_rewrite.c>
+ RewriteEngine On
+ RewriteBase /
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule . /index.php [L]
+ </IfModule>
+ # END WordPress
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/index.php ./wordpress-3.4/index.php
*** ./wordpress-3.3.2/index.php	2008-05-25 15:33:13.000000000 -0500
--- ./wordpress-3.4/index.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 15,18 ****
  
  /** Loads the WordPress Environment and Template */
  require('./wp-blog-header.php');
- ?>
\ No newline at end of file
--- 15,17 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/license.txt ./wordpress-3.4/license.txt
*** ./wordpress-3.3.2/license.txt	2011-06-08 13:18:21.000000000 -0500
--- ./wordpress-3.4/license.txt	2012-05-06 02:28:28.000000000 -0500
***************
*** 37,52 ****
  
  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  
! 		    GNU GENERAL PUBLIC LICENSE
! 		       Version 2, June 1991
! 
!  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!  51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
! 			    Preamble
  
    The licenses for most software are designed to take away your
  freedom to share and change it.  By contrast, the GNU General Public
--- 37,51 ----
  
  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  
!                     GNU GENERAL PUBLIC LICENSE
!                        Version 2, June 1991
  
+  Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
!                             Preamble
  
    The licenses for most software are designed to take away your
  freedom to share and change it.  By contrast, the GNU General Public
***************
*** 55,61 ****
  General Public License applies to most of the Free Software
  Foundation's software and to any other program whose authors commit to
  using it.  (Some other Free Software Foundation software is covered by
! the GNU Library General Public License instead.)  You can apply it to
  your programs, too.
  
    When we speak of free software, we are referring to freedom, not
--- 54,60 ----
  General Public License applies to most of the Free Software
  Foundation's software and to any other program whose authors commit to
  using it.  (Some other Free Software Foundation software is covered by
! the GNU Lesser General Public License instead.)  You can apply it to
  your programs, too.
  
    When we speak of free software, we are referring to freedom, not
***************
*** 96,102 ****
    The precise terms and conditions for copying, distribution and
  modification follow.
  
! 		    GNU GENERAL PUBLIC LICENSE
     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  
    0. This License applies to any program or other work which contains
--- 95,101 ----
    The precise terms and conditions for copying, distribution and
  modification follow.
  
!                     GNU GENERAL PUBLIC LICENSE
     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  
    0. This License applies to any program or other work which contains
***************
*** 160,165 ****
--- 159,165 ----
  on the Program, the distribution of the whole must be on the terms of
  this License, whose permissions for other licensees extend to the
  entire whole, and thus to each and every part regardless of who wrote it.
+ 
  Thus, it is not the intent of this section to claim rights or contest
  your rights to work written entirely by you; rather, the intent is to
  exercise the right to control the distribution of derivative or
***************
*** 294,300 ****
  of preserving the free status of all derivatives of our free software and
  of promoting the sharing and reuse of software generally.
  
! 			    NO WARRANTY
  
    11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
--- 294,300 ----
  of preserving the free status of all derivatives of our free software and
  of promoting the sharing and reuse of software generally.
  
!                             NO WARRANTY
  
    11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
***************
*** 316,323 ****
  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGES.
  
! 		     END OF TERMS AND CONDITIONS
  
  
  WRITTEN OFFER
  
--- 316,381 ----
  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGES.
  
!                      END OF TERMS AND CONDITIONS
! 
!             How to Apply These Terms to Your New Programs
  
+   If you develop a new program, and you want it to be of the greatest
+ possible use to the public, the best way to achieve this is to make it
+ free software which everyone can redistribute and change under these terms.
+ 
+   To do so, attach the following notices to the program.  It is safest
+ to attach them to the start of each source file to most effectively
+ convey the exclusion of warranty; and each file should have at least
+ the "copyright" line and a pointer to where the full notice is found.
+ 
+     <one line to give the program's name and a brief idea of what it does.>
+     Copyright (C) <year>  <name of author>
+ 
+     This program is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published by
+     the Free Software Foundation; either version 2 of the License, or
+     (at your option) any later version.
+ 
+     This program is distributed in the hope that it will be useful,
+     but WITHOUT ANY WARRANTY; without even the implied warranty of
+     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+     GNU General Public License for more details.
+ 
+     You should have received a copy of the GNU General Public License along
+     with this program; if not, write to the Free Software Foundation, Inc.,
+     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+ Also add information on how to contact you by electronic and paper mail.
+ 
+ If the program is interactive, make it output a short notice like this
+ when it starts in an interactive mode:
+ 
+     Gnomovision version 69, Copyright (C) year name of author
+     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+     This is free software, and you are welcome to redistribute it
+     under certain conditions; type `show c' for details.
+ 
+ The hypothetical commands `show w' and `show c' should show the appropriate
+ parts of the General Public License.  Of course, the commands you use may
+ be called something other than `show w' and `show c'; they could even be
+ mouse-clicks or menu items--whatever suits your program.
+ 
+ You should also get your employer (if you work as a programmer) or your
+ school, if any, to sign a "copyright disclaimer" for the program, if
+ necessary.  Here is a sample; alter the names:
+ 
+   Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+   `Gnomovision' (which makes passes at compilers) written by James Hacker.
+ 
+   <signature of Ty Coon>, 1 April 1989
+   Ty Coon, President of Vice
+ 
+ This General Public License does not permit incorporating your program into
+ proprietary programs.  If your program is a subroutine library, you may
+ consider it more useful to permit linking proprietary applications with the
+ library.  If this is what you want to do, use the GNU Lesser General
+ Public License instead of this License.
  
  WRITTEN OFFER
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/readme.html ./wordpress-3.4/readme.html
*** ./wordpress-3.3.2/readme.html	2012-04-20 07:44:18.000000000 -0500
--- ./wordpress-3.4/readme.html	2012-04-27 14:39:35.000000000 -0500
***************
*** 7,14 ****
  </head>
  <body>
  <h1 id="logo">
! 	<a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" width="250" height="68" /></a>
! 	<br /> Version 3.3.2
  </h1>
  <p style="text-align: center">Semantic Personal Publishing Platform</p>
  
--- 7,14 ----
  </head>
  <body>
  <h1 id="logo">
! 	<a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
! 	<br /> Version 3.4
  </h1>
  <p style="text-align: center">Semantic Personal Publishing Platform</p>
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-activate.php ./wordpress-3.4/wp-activate.php
*** ./wordpress-3.3.2/wp-activate.php	2011-10-20 09:40:11.000000000 -0500
--- ./wordpress-3.4/wp-activate.php	2011-12-13 17:45:31.000000000 -0600
***************
*** 63,71 ****
  				<?php
  				echo '<p class="lead-in">';
  				if ( $signup->domain . $signup->path == '' ) {
! 					printf( __('Your account has been activated. You may now <a href="%1$s">log in</a> to the site using your chosen username of &#8220;%2$s&#8221;.  Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%4$s">reset your password</a>.'), network_site_url( 'wp-login.php', 'login' ), $signup->user_login, $signup->user_email, wp_lostpassword_url() );
  				} else {
! 					printf( __('Your site at <a href="%1$s">%2$s</a> is active. You may now log in to your site using your chosen username of &#8220;%3$s&#8221;.  Please check your email inbox at %4$s for your password and login instructions.  If you do not receive an email, please check your junk or spam folder.  If you still do not receive an email within an hour, you can <a href="%5$s">reset your password</a>.'), 'http://' . $signup->domain, $signup->domain, $signup->user_login, $signup->user_email, wp_lostpassword_url() );
  				}
  				echo '</p>';
  			} else {
--- 63,71 ----
  				<?php
  				echo '<p class="lead-in">';
  				if ( $signup->domain . $signup->path == '' ) {
! 					printf( __('Your account has been activated. You may now <a href="%1$s">log in</a> to the site using your chosen username of &#8220;%2$s&#8221;. Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%4$s">reset your password</a>.'), network_site_url( 'wp-login.php', 'login' ), $signup->user_login, $signup->user_email, wp_lostpassword_url() );
  				} else {
! 					printf( __('Your site at <a href="%1$s">%2$s</a> is active. You may now log in to your site using your chosen username of &#8220;%3$s&#8221;. Please check your email inbox at %4$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%5$s">reset your password</a>.'), 'http://' . $signup->domain, $signup->domain, $signup->user_login, $signup->user_email, wp_lostpassword_url() );
  				}
  				echo '</p>';
  			} else {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/about.php ./wordpress-3.4/wp-admin/about.php
*** ./wordpress-3.3.2/wp-admin/about.php	2012-04-20 09:49:49.000000000 -0500
--- ./wordpress-3.4/wp-admin/about.php	2012-06-01 20:16:35.000000000 -0500
***************
*** 13,25 ****
  
  list( $display_version ) = explode( '-', $wp_version );
  
! include( './admin-header.php' );
  ?>
  <div class="wrap about-wrap">
  
  <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
  
! <div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! Using WordPress %s will improve your looks, personality, and web publishing experience. Okay, just the last one, but still. :)' ), $display_version ); ?></div>
  
  <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
--- 13,25 ----
  
  list( $display_version ) = explode( '-', $wp_version );
  
! include( ABSPATH . 'wp-admin/admin-header.php' );
  ?>
  <div class="wrap about-wrap">
  
  <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
  
! <div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s is already making your website better, faster, and more attractive, just like you!' ), $display_version ); ?></div>
  
  <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
***************
*** 33,116 ****
  	</a>
  </h2>
  
- <div class="changelog point-releases">
- 	<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 2 ); ?></h3>
- 	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
-          '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 12 ), '3.3.2', number_format_i18n( 12 ) ); ?>
- 		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.3.2' ); ?>
-  	</p>
- 	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bug.',
-          '<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bugs.', 15 ), '3.3.1', number_format_i18n( 15 ) ); ?>
- 		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.3.1' ); ?>
-  	</p>
- </div>
- 
  <div class="changelog">
! 	<h3><?php _e( 'Easier Uploading' ); ?></h3>
  
  	<div class="feature-section images-stagger-right">
! 		<div class="feature-images">
! 			<img src="images/screenshots/media-icon.png" width="200" class="angled-right" />
! 			<img src="images/screenshots/drag-and-drop.png" width="200" class="angled-left" />
! 		</div>
! 		<div class="left-feature">
! 			<h4><?php _e( 'File Type Detection' ); ?></h4>
! 			<p><?php _e( 'We&#8217;ve streamlined things! Instead of needing to click on a specific upload icon based on your file type, now there&#8217;s just one. Once your file is uploaded, the appropriate fields will be displayed for entering information based on the file type.' ); ?></p>
  
! 			<h4><?php _e( 'Drag-and-Drop Media Uploader' ); ?></h4>
! 			<p><?php _e( 'Adding photos or other files to posts and pages just got easier. Drag files from your desktop and drop them into the uploader. Add one file at a time, or many at once.' ); ?></p>
! 
! 			<h4><?php _e( 'More File Formats' ); ?></h4>
! 			<p><?php _e( 'We&#8217;ve added the rar and 7z file formats to the list of allowed file types in the uploader.' ); ?></p>
! 		</div>
  	</div>
  </div>
  
  <div class="changelog">
! 	<h3><?php _e( 'Dashboard Design' ); ?></h3>
  
! 	<div class="feature-section text-features">
! 		<h4><?php _e( 'Flyout Menus' ); ?></h4>
! 		<p><?php _e( 'Speed up navigating the dashboard and reduce repetitive clicking with our new flyout submenus. As you hover over each main menu item in your dashboard navigation, the submenus will magically appear, providing single-click access to any dashboard screen.' ); ?></p>
! 
! 		<div>
! 		<h4><?php _e( 'Header + Admin Bar = Toolbar' ); ?></h4>
! 		<p><?php _e( 'To save space and increase efficiency, we&#8217;ve combined the admin bar and the old Dashboard header into one persistent toolbar. Hovering over the toolbar items will reveal submenus when available for quick access. ' ); ?></p>
  		</div>
  	</div>
  
! 	<div class="feature-section screenshot-features">
! 		<div class="angled-left">
! 			<img src="images/screenshots/admin-flyouts.png" />
! 			<h4><?php _e( 'Responsive Design' ); ?></h4>
! 			<p><?php _e( 'Certain dashboard screens have been updated to look better at various sizes, including improved iPad/tablet support.' ); ?></p>
! 		</div>
! 		<div class="angled-right">
! 			<img src="images/screenshots/help-screen.png" />
! 			<h4><?php _e( 'Help Tabs' ); ?></h4>
! 			<p><?php _e( 'The Help tabs located in the upper corner of the dashboard screens below your name have gotten a facelift. Help content is broken into smaller sections for easier access, with links to relevant documentation and the support forums always visible.' ); ?></p>
! 		</div>
  	</div>
  </div>
  
  <div class="changelog">
! 	<h3><?php _e( 'Feels Like the First Time' ); ?></h3>
  
  	<div class="feature-section images-stagger-right">
! 		<div class="feature-images">
! 			<img src="images/screenshots/new-feature-pointer.png" class="angled-right" />
! 			<img src="images/screenshots/welcome-screen.png" class="angled-left" />
! 		</div>
! 		<div class="left-feature">
! 			<h4><?php _e( 'New Feature Pointers' ); ?></h4>
! 			<p><?php _e( 'When we add new features, move navigation, or do anything else with the dashboard that might throw you for a loop when you update your WordPress site, we&#8217;ll let you know about it with new feature pointers explaining the change.' ); ?></p>
! 
! 			<h4><?php _e( 'Post-update Changelog' ); ?></h4>
! 			<p><?php _e( 'This screen! From now on when you update WordPress, you&#8217;ll be brought to this screen &mdash; also accessible any time from the W logo in the corner of the toolbar &mdash; to get an overview of what&#8217;s changed.' ); ?></p>
! 
! 			<h4><?php _e( 'Dashboard Welcome' ); ?></h4>
! 			<p><?php _e( 'The dashboard home screen will have a Welcome area that displays when a new WordPress installation is accessed for the first time, prompting the site owner to complete various setup tasks. Once dismissed, this welcome can be accessed via the dashboard home screen options tab.' ); ?></p>
! 		</div>
  	</div>
  
  </div>
--- 33,80 ----
  	</a>
  </h2>
  
  <div class="changelog">
! 	<h3><?php _e( 'Live Theme Previews' ); ?></h3>
  
  	<div class="feature-section images-stagger-right">
! 		<img src="<?php echo esc_url( admin_url( 'images/screenshots/theme-customizer.png' ) ); ?>" class="image-50" />
! 		<h4><?php _e( 'Try on New Themes' ); ?></h4>
! 		<p><?php _e( 'Gone are the days of rushing to update your header, background, and the like as soon as you activate a new theme. You can now customize these options <strong>before</strong> activating a new theme. Note: this feature is available for installed themes only.' ); ?></p>
  
! 		<h4><?php _e( 'Customize Current Theme' ); ?></h4>
! 		<p><?php _e( 'Satisfy your curiosity and try on a fresh coat of paint &mdash; you can also use the live preview mode to customize your current theme. Look for the Customize link on the Themes screen.' ); ?></p>
  	</div>
  </div>
  
  <div class="changelog">
! 	<h3><?php _e( 'Custom Headers' ); ?></h3>
  
! 	<div class="feature-section">
! 		<h4><?php _e( 'Flexible Sizes' ); ?></h4>
! 		<p><?php _e( 'You can decide for yourself how tall or wide your custom header image should be. From now on, themes will provide a recommended image size for custom headers rather than a fixed requirement. Note: this feature requires <a href="http://codex.wordpress.org/Custom_Headers">theme support</a>.' ); ?></p>
! 		<div class="three-col-images">
! 			<img src="<?php echo esc_url( admin_url( 'images/screenshots/flex-header-1.png' ) ); ?>" class="image-30 first-feature" />
! 			<img src="<?php echo esc_url( admin_url( 'images/screenshots/flex-header-2.png' ) ); ?>" class="image-30" />
! 			<img src="<?php echo esc_url( admin_url( 'images/screenshots/flex-header-3.png' ) ); ?>" class="image-30 last-feature" />
  		</div>
  	</div>
  
! 	<div class="feature-section images-stagger-right">
! 		<img src="<?php echo esc_url( admin_url( 'images/screenshots/flex-header-media-library.png' ) ); ?>" class="image-50" />
! 		<h4><?php _e( 'Choose from Media Library' ); ?></h4>
! 		<p><?php _e( 'Tired of re-uploading the same custom header image every time you check out a new theme? Now you can choose header images from your media library for easier customization.' ); ?></p>
  	</div>
  </div>
  
  <div class="changelog">
! 	<h3><?php _e( 'Twitter Embeds' ); ?></h3>
  
  	<div class="feature-section images-stagger-right">
! 		<img src="<?php echo esc_url( admin_url( 'images/screenshots/twitter-embed-1.png' ) ); ?>" class="image-30" />
! 		<img src="<?php echo esc_url( admin_url( 'images/screenshots/twitter-embed-2.png' ) ); ?>" class="image-30" />
! 		<h4><?php _e( 'Share Tweets with Style' ); ?></h4>
! 		<p><?php _e( 'You can now embed individual tweets in posts. It includes action links that allow readers to reply to, retweet, and favorite the tweet without leaving your site. Just paste a tweet URL on its own line.' ); ?></p>
! 		<p><?php printf( __( 'This works with URLs from some other sites, too. For more, see the Codex article on <a href="%s">Embeds</a>.' ), __( 'http://codex.wordpress.org/Embeds' ) ); ?></p>
  	</div>
  
  </div>
***************
*** 115,139 ****
  
  </div>
  
  <div class="changelog">
! 	<h3><?php _e( 'Content Tools' ); ?></h3>
  
! 	<div class="feature-section three-col">
! 		<div>
! 			<h4><?php _e( 'Better Co-Editing' ); ?></h4>
! 			<img src="images/screenshots/coediting.png" class="element-screenshot" />
! 			<p><?php _e( 'Have you ever gone to edit a post after someone else has finished with it, only to get an alert that tells you the other person is still editing the post? From now on, you&#8217;ll only get that alert if another person is still on the editing screen &mdash; no more time lag.' ); ?></p>
! 		</div>
! 		<div>
! 			<h4><?php _e( 'Tumblr Importer' ); ?></h4>
! 			<p><?php _e( 'Want to import content from Tumblr to WordPress? No problem! Go to <span class="no-break">Tools &rarr; Import</span> to get the new Tumblr Importer, which maps your Tumblog posts to the matching WordPress post formats. Tip: Choose a theme designed to display post formats to get the greatest benefit from the importer.' ); ?></p>
! 		</div>
! 		<div class="last-feature">
! 			<h4><?php _e( 'Widget Improvements' ); ?></h4>
! 			<p><?php _e( 'Changing themes often requires widget re-configuration based on the number and position of sidebars. Now if you change back to a previous theme, the widgets will automatically go back to how you had them arranged in that theme. <em>Note: if you&#8217;ve added new widgets since the switch, you&#8217;ll need to rescue them from the Inactive Widgets area.</em>' ); ?></p>
! 		</div>
  	</div>
- 
  </div>
  
  <div class="changelog">
--- 79,94 ----
  
  </div>
  
+ 
  <div class="changelog">
! 	<h3><?php _e( 'Better Captions' ); ?></h3>
  
! 	<div class="feature-section images-stagger-right">
! 		<img src="<?php echo esc_url( admin_url( 'images/screenshots/captions-1.png' ) ); ?>" class="image-30" />
! 		<img src="<?php echo esc_url( admin_url( 'images/screenshots/captions-2.png' ) ); ?>" class="image-30" />
! 		<h4><?php _e( 'HTML Support' ); ?></h4>
! 		<p><?php _e( 'Basic HTML support has been added to the caption field in the image uploader. This allows you to add links &mdash; great for photo credits or licensing details &mdash; and basic formatting such as bold and italicized text.' ); ?></p>
  	</div>
  </div>
  
  <div class="changelog">
***************
*** 141,174 ****
  
  	<div class="feature-section three-col">
  		<div>
! 			<h4><?php _e( 'Flexible Permalinks' ); ?></h4>
! 			<p><?php _e( 'You have more freedom when choosing a post permalink structure. Skip the date information or add a category slug without a performance penalty.' ); ?></p>
! 		</div>
! 		<div>
! 			<h4><?php _e( 'Post Slugs: Less Funky' ); ?></h4>
! 			<p><?php _e( 'Funky characters in post titles (e.g. curly quotes from a word processor) will no longer result in garbled post slugs.' ); ?></p>
! 		</div>
! 		<div class="last-feature">
! 			<h4><?php _e( 'jQuery and jQuery UI' ); ?></h4>
! 			<p><?php printf( __( 'WordPress now includes the entire jQuery UI stack and the latest version of jQuery: %s.' ), '1.7.1' ); ?></p>
! 		</div>
! 	</div>
  
! 	<div class="feature-section three-col">
! 		<div>
! 			<h4 style="direction:ltr">is_main_query()</h4>
! 			<p><?php _e( 'This handy method will tell you if a <code>WP_Query</code> object is the main WordPress query or a secondary query.' ); ?></p>
  		</div>
  		<div>
! 			<h4><?php _e( 'WP_Screen API' ); ?></h4>
! 			<p><?php _e( 'WordPress has a nice new API for working with admin screens. Create rich screens, add help documentation, adapt to screen contexts, and more.' ); ?></p>
  		</div>
  		<div class="last-feature">
! 			<h4><?php _e( 'Editor API Overhaul' ); ?></h4>
! 			<p><?php _e( 'The new editor API automatically pulls in all the JS and CSS goodness for the editor. It even supports multiple editors on the same page.' ); ?></p>
  		</div>
  	</div>
- 
  </div>
  
  <div class="return-to-dashboard">
--- 96,122 ----
  
  	<div class="feature-section three-col">
  		<div>
! 			<h4><?php _e( 'Faster WP_Query' ); ?></h4>
! 			<p><?php _e( 'Post queries have been optimized to improve performance, especially for sites with large databases.' ); ?></p>
  
! 			<h4><?php _e( 'Faster Translations' ); ?></h4>
! 			<p><?php _e( 'The number of strings loaded on the front end was greatly reduced, resulting in faster front page load times for localized installations.' ); ?> <?php _e( 'Also, better support for East Asian languages, right-to-left languages, theme translations, and more.' ); ?></p>
  		</div>
  		<div>
! 			<h4><?php _e( 'Themes API' ); ?></h4>
! 			<p><?php _e( 'WP_Theme, wp_get_themes(), wp_get_theme(). Faster, uses less memory, makes use of persistent caching.' ); ?></p>
! 
! 			<h4><?php _e( 'Custom Header and Background API' ); ?></h4>
! 			<p><?php  _e( 'Custom header and background API relocated into the theme support API.' ); ?></p>
  		</div>
  		<div class="last-feature">
! 			<h4><?php _e( 'XML-RPC API' ); ?></h4>
! 			<p><?php printf( __( 'A new <a href="%s">WordPress API</a> that supports custom content types and taxonomies, as well as dozens of other bug fixes and improvements.' ), __( 'http://codex.wordpress.org/XML-RPC_WordPress_API' ) ); ?></p>
! 
! 			<h4><?php _e( 'External Libraries' ); ?></h4>
! 			<p><?php _e( 'jQuery, jQuery UI, TinyMCE, Plupload, PHPMailer, SimplePie, and other libraries were updated. jQuery UI Touch Punch was introduced.' ); ?></p>
  		</div>
  	</div>
  </div>
  
  <div class="return-to-dashboard">
***************
*** 173,189 ****
  
  <div class="return-to-dashboard">
  	<?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
! 	<a href="<?php echo esc_url( network_admin_url( 'update-core.php' ) ); ?>"><?php
  		is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' );
  	?></a> |
  	<?php endif; ?>
! 	<a href="<?php echo esc_url( admin_url() ); ?>"><?php _e( 'Go to Dashboard &rarr; Home' ); ?></a>
  </div>
  
  </div>
  <?php
  
! include( './admin-footer.php' );
  
  // These are strings we may use to describe maintenance/security releases, where we aim for no new strings.
  return;
--- 121,138 ----
  
  <div class="return-to-dashboard">
  	<?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
! 	<a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"><?php
  		is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' );
  	?></a> |
  	<?php endif; ?>
! 	<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php
! 		is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
  </div>
  
  </div>
  <?php
  
! include( ABSPATH . 'wp-admin/admin-footer.php' );
  
  // These are strings we may use to describe maintenance/security releases, where we aim for no new strings.
  return;
***************
*** 209,213 ****
           '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.' );
  
  __( 'For more information, see <a href="%s">the release notes</a>.' );
- 
- ?>
\ No newline at end of file
--- 158,160 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/admin-ajax.php ./wordpress-3.4/wp-admin/admin-ajax.php
*** ./wordpress-3.3.2/wp-admin/admin-ajax.php	2011-11-23 13:06:52.000000000 -0600
--- ./wordpress-3.4/wp-admin/admin-ajax.php	2012-06-12 17:51:55.000000000 -0500
***************
*** 4,9 ****
--- 4,11 ----
   *
   * @package WordPress
   * @subpackage Administration
+  *
+  * @link http://codex.wordpress.org/AJAX_in_Plugins
   */
  
  /**
***************
*** 11,1591 ****
   *
   * @since 2.1.0
   */
! define('DOING_AJAX', true);
! define('WP_ADMIN', true);
! 
! if ( ! isset( $_REQUEST['action'] ) )
! 	die('-1');
! 
! require_once('../wp-load.php');
! 
! require_once('./includes/admin.php');
! @header('Content-Type: text/html; charset=' . get_option('blog_charset'));
! send_nosniff_header();
! 
! do_action('admin_init');
! 
! if ( ! is_user_logged_in() ) {
! 
! 	if ( isset( $_POST['action'] ) && $_POST['action'] == 'autosave' ) {
! 		$id = isset($_POST['post_ID'])? (int) $_POST['post_ID'] : 0;
! 
! 		if ( ! $id )
! 			die('-1');
! 
! 		$message = sprintf( __('<strong>ALERT: You are logged out!</strong> Could not save draft. <a href="%s" target="_blank">Please log in again.</a>'), wp_login_url() );
! 		$x = new WP_Ajax_Response( array(
! 			'what' => 'autosave',
! 			'id' => $id,
! 			'data' => $message
! 		) );
! 		$x->send();
! 	}
! 
! 	if ( !empty( $_REQUEST['action'] ) )
! 		do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
! 
! 	die('-1');
! }
! 
! if ( isset( $_GET['action'] ) ) :
! switch ( $action = $_GET['action'] ) :
! case 'fetch-list' :
! 
! 	$list_class = $_GET['list_args']['class'];
! 	check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' );
! 
! 	$current_screen = convert_to_screen( $_GET['list_args']['screen']['id'] );
! 
! 	define( 'WP_NETWORK_ADMIN', $current_screen->is_network );
! 	define( 'WP_USER_ADMIN', $current_screen->is_user );
! 
! 	$wp_list_table = _get_list_table( $list_class );
! 	if ( ! $wp_list_table )
! 		die( '0' );
! 
! 	if ( ! $wp_list_table->ajax_user_can() )
! 		die( '-1' );
! 
! 	$wp_list_table->ajax_response();
! 
! 	die( '0' );
! 	break;
! case 'ajax-tag-search' :
! 	if ( isset( $_GET['tax'] ) ) {
! 		$taxonomy = sanitize_key( $_GET['tax'] );
! 		$tax = get_taxonomy( $taxonomy );
! 		if ( ! $tax )
! 			die( '0' );
! 		if ( ! current_user_can( $tax->cap->assign_terms ) )
! 			die( '-1' );
! 	} else {
! 		die('0');
! 	}
! 
! 	$s = stripslashes( $_GET['q'] );
! 
! 	if ( false !== strpos( $s, ',' ) ) {
! 		$s = explode( ',', $s );
! 		$s = $s[count( $s ) - 1];
! 	}
! 	$s = trim( $s );
! 	if ( strlen( $s ) < 2 )
! 		die; // require 2 chars for matching
! 
! 	$results = $wpdb->get_col( $wpdb->prepare( "SELECT t.name FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = %s AND t.name LIKE (%s)", $taxonomy, '%' . like_escape( $s ) . '%' ) );
! 
! 	echo join( $results, "\n" );
! 	die;
! 	break;
! case 'wp-compression-test' :
! 	if ( !current_user_can( 'manage_options' ) )
! 		die('-1');
! 
! 	if ( ini_get('zlib.output_compression') || 'ob_gzhandler' == ini_get('output_handler') ) {
! 		update_site_option('can_compress_scripts', 0);
! 		die('0');
! 	}
! 
! 	if ( isset($_GET['test']) ) {
! 		header( 'Expires: Wed, 11 Jan 1984 05:00:00 GMT' );
! 		header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
! 		header( 'Cache-Control: no-cache, must-revalidate, max-age=0' );
! 		header( 'Pragma: no-cache' );
! 		header('Content-Type: application/x-javascript; charset=UTF-8');
! 		$force_gzip = ( defined('ENFORCE_GZIP') && ENFORCE_GZIP );
! 		$test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."';
! 
! 		 if ( 1 == $_GET['test'] ) {
! 		 	echo $test_str;
! 		 	die;
! 		 } elseif ( 2 == $_GET['test'] ) {
! 			if ( !isset($_SERVER['HTTP_ACCEPT_ENCODING']) )
! 				die('-1');
! 			if ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
! 				header('Content-Encoding: deflate');
! 				$out = gzdeflate( $test_str, 1 );
! 			} elseif ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) {
! 				header('Content-Encoding: gzip');
! 				$out = gzencode( $test_str, 1 );
! 			} else {
! 				die('-1');
! 			}
! 			echo $out;
! 			die;
! 		} elseif ( 'no' == $_GET['test'] ) {
! 			update_site_option('can_compress_scripts', 0);
! 		} elseif ( 'yes' == $_GET['test'] ) {
! 			update_site_option('can_compress_scripts', 1);
! 		}
! 	}
! 
! 	die('0');
! 	break;
! case 'imgedit-preview' :
! 	$post_id = intval($_GET['postid']);
! 	if ( empty($post_id) || !current_user_can('edit_post', $post_id) )
! 		die('-1');
! 
! 	check_ajax_referer( "image_editor-$post_id" );
! 
! 	include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
! 	if ( ! stream_preview_image($post_id) )
! 		die('-1');
! 
! 	die();
! 	break;
! case 'menu-quick-search':
! 	if ( ! current_user_can( 'edit_theme_options' ) )
! 		die('-1');
! 
! 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
! 
! 	_wp_ajax_menu_quick_search( $_REQUEST );
! 
! 	exit;
! 	break;
! case 'oembed-cache' :
! 	$return = ( $wp_embed->cache_oembed( $_GET['post'] ) ) ? '1' : '0';
! 	die( $return );
! 	break;
! default :
! 	do_action( 'wp_ajax_' . $_GET['action'] );
! 	die('0');
! 	break;
! endswitch;
! endif;
! 
! /**
!  * Sends back current comment total and new page links if they need to be updated.
!  *
!  * Contrary to normal success AJAX response ("1"), die with time() on success.
!  *
!  * @since 2.7
!  *
!  * @param int $comment_id
!  * @return die
!  */
! function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
! 	$total = (int) @$_POST['_total'];
! 	$per_page = (int) @$_POST['_per_page'];
! 	$page = (int) @$_POST['_page'];
! 	$url = esc_url_raw( @$_POST['_url'] );
! 	// JS didn't send us everything we need to know. Just die with success message
! 	if ( !$total || !$per_page || !$page || !$url )
! 		die( (string) time() );
! 
! 	$total += $delta;
! 	if ( $total < 0 )
! 		$total = 0;
! 
! 	// Only do the expensive stuff on a page-break, and about 1 other time per page
! 	if ( 0 == $total % $per_page || 1 == mt_rand( 1, $per_page ) ) {
! 		$post_id = 0;
! 		$status = 'total_comments'; // What type of comment count are we looking for?
! 		$parsed = parse_url( $url );
! 		if ( isset( $parsed['query'] ) ) {
! 			parse_str( $parsed['query'], $query_vars );
! 			if ( !empty( $query_vars['comment_status'] ) )
! 				$status = $query_vars['comment_status'];
! 			if ( !empty( $query_vars['p'] ) )
! 				$post_id = (int) $query_vars['p'];
! 		}
! 
! 		$comment_count = wp_count_comments($post_id);
! 
! 		if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count
! 			$total = $comment_count->$status;
! 			// else use the decremented value from above
! 	}
! 
! 	$time = time(); // The time since the last comment count
! 
! 	$x = new WP_Ajax_Response( array(
! 		'what' => 'comment',
! 		'id' => $comment_id, // here for completeness - not used
! 		'supplemental' => array(
! 			'total_items_i18n' => sprintf( _n( '1 item', '%s items', $total ), number_format_i18n( $total ) ),
! 			'total_pages' => ceil( $total / $per_page ),
! 			'total_pages_i18n' => number_format_i18n( ceil( $total / $per_page ) ),
! 			'total' => $total,
! 			'time' => $time
! 		)
! 	) );
! 	$x->send();
! }
! 
! function _wp_ajax_add_hierarchical_term() {
! 	$action = $_POST['action'];
! 	$taxonomy = get_taxonomy(substr($action, 4));
! 	check_ajax_referer( $action, '_ajax_nonce-add-' . $taxonomy->name );
! 	if ( !current_user_can( $taxonomy->cap->edit_terms ) )
! 		die('-1');
! 	$names = explode(',', $_POST['new'.$taxonomy->name]);
! 	$parent = isset($_POST['new'.$taxonomy->name.'_parent']) ? (int) $_POST['new'.$taxonomy->name.'_parent'] : 0;
! 	if ( 0 > $parent )
! 		$parent = 0;
! 	if ( $taxonomy->name == 'category' )
! 		$post_category = isset($_POST['post_category']) ? (array) $_POST['post_category'] : array();
! 	else
! 		$post_category = ( isset($_POST['tax_input']) && isset($_POST['tax_input'][$taxonomy->name]) ) ? (array) $_POST['tax_input'][$taxonomy->name] : array();
! 	$checked_categories = array_map( 'absint', (array) $post_category );
! 	$popular_ids = wp_popular_terms_checklist($taxonomy->name, 0, 10, false);
! 
! 	foreach ( $names as $cat_name ) {
! 		$cat_name = trim($cat_name);
! 		$category_nicename = sanitize_title($cat_name);
! 		if ( '' === $category_nicename )
! 			continue;
! 		if ( !($cat_id = term_exists($cat_name, $taxonomy->name, $parent)) ) {
! 			$new_term = wp_insert_term($cat_name, $taxonomy->name, array('parent' => $parent));
! 			$cat_id = $new_term['term_id'];
! 		}
! 		$checked_categories[] = $cat_id;
! 		if ( $parent ) // Do these all at once in a second
! 			continue;
! 		$category = get_term( $cat_id, $taxonomy->name );
! 		ob_start();
! 			wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids ));
! 		$data = ob_get_contents();
! 		ob_end_clean();
! 		$add = array(
! 			'what' => $taxonomy->name,
! 			'id' => $cat_id,
! 			'data' => str_replace( array("\n", "\t"), '', $data),
! 			'position' => -1
! 		);
! 	}
! 
! 	if ( $parent ) { // Foncy - replace the parent and all its children
! 		$parent = get_term( $parent, $taxonomy->name );
! 		$term_id = $parent->term_id;
! 
! 		while ( $parent->parent ) { // get the top parent
! 			$parent = &get_term( $parent->parent, $taxonomy->name );
! 			if ( is_wp_error( $parent ) )
! 				break;
! 			$term_id = $parent->term_id;
! 		}
! 
! 		ob_start();
! 			wp_terms_checklist( 0, array('taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids));
! 		$data = ob_get_contents();
! 		ob_end_clean();
! 		$add = array(
! 			'what' => $taxonomy->name,
! 			'id' => $term_id,
! 			'data' => str_replace( array("\n", "\t"), '', $data),
! 			'position' => -1
! 		);
! 	}
! 
! 	ob_start();
! 		wp_dropdown_categories( array(
! 			'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new'.$taxonomy->name.'_parent', 'orderby' => 'name',
! 			'hierarchical' => 1, 'show_option_none' => '&mdash; '.$taxonomy->labels->parent_item.' &mdash;'
! 		) );
! 	$sup = ob_get_contents();
! 	ob_end_clean();
! 	$add['supplemental'] = array( 'newcat_parent' => $sup );
! 
! 	$x = new WP_Ajax_Response( $add );
! 	$x->send();
! }
! 
! $id = isset($_POST['id'])? (int) $_POST['id'] : 0;
! switch ( $action = $_POST['action'] ) :
! case 'delete-comment' : // On success, die with time() instead of 1
! 	if ( !$comment = get_comment( $id ) )
! 		die( (string) time() );
! 	if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) )
! 		die('-1');
! 
! 	check_ajax_referer( "delete-comment_$id" );
! 	$status = wp_get_comment_status( $comment->comment_ID );
! 
! 	$delta = -1;
! 	if ( isset($_POST['trash']) && 1 == $_POST['trash'] ) {
! 		if ( 'trash' == $status )
! 			die( (string) time() );
! 		$r = wp_trash_comment( $comment->comment_ID );
! 	} elseif ( isset($_POST['untrash']) && 1 == $_POST['untrash'] ) {
! 		if ( 'trash' != $status )
! 			die( (string) time() );
! 		$r = wp_untrash_comment( $comment->comment_ID );
! 		if ( ! isset( $_POST['comment_status'] ) || $_POST['comment_status'] != 'trash' ) // undo trash, not in trash
! 			$delta = 1;
! 	} elseif ( isset($_POST['spam']) && 1 == $_POST['spam'] ) {
! 		if ( 'spam' == $status )
! 			die( (string) time() );
! 		$r = wp_spam_comment( $comment->comment_ID );
! 	} elseif ( isset($_POST['unspam']) && 1 == $_POST['unspam'] ) {
! 		if ( 'spam' != $status )
! 			die( (string) time() );
! 		$r = wp_unspam_comment( $comment->comment_ID );
! 		if ( ! isset( $_POST['comment_status'] ) || $_POST['comment_status'] != 'spam' ) // undo spam, not in spam
! 			$delta = 1;
! 	} elseif ( isset($_POST['delete']) && 1 == $_POST['delete'] ) {
! 		$r = wp_delete_comment( $comment->comment_ID );
! 	} else {
! 		die('-1');
! 	}
! 
! 	if ( $r ) // Decide if we need to send back '1' or a more complicated response including page links and comment counts
! 		_wp_ajax_delete_comment_response( $comment->comment_ID, $delta );
! 	die( '0' );
! 	break;
! case 'delete-tag' :
! 	$tag_id = (int) $_POST['tag_ID'];
! 	check_ajax_referer( "delete-tag_$tag_id" );
! 
! 	$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
! 	$tax = get_taxonomy($taxonomy);
! 
! 	if ( !current_user_can( $tax->cap->delete_terms ) )
! 		die('-1');
! 
! 	$tag = get_term( $tag_id, $taxonomy );
! 	if ( !$tag || is_wp_error( $tag ) )
! 		die('1');
! 
! 	if ( wp_delete_term($tag_id, $taxonomy))
! 		die('1');
! 	else
! 		die('0');
! 	break;
! case 'delete-link' :
! 	check_ajax_referer( "delete-bookmark_$id" );
! 	if ( !current_user_can( 'manage_links' ) )
! 		die('-1');
! 
! 	$link = get_bookmark( $id );
! 	if ( !$link || is_wp_error( $link ) )
! 		die('1');
! 
! 	if ( wp_delete_link( $id ) )
! 		die('1');
! 	else
! 		die('0');
! 	break;
! case 'delete-meta' :
! 	check_ajax_referer( "delete-meta_$id" );
! 	if ( !$meta = get_metadata_by_mid( 'post', $id ) )
! 		die('1');
! 
! 	if ( is_protected_meta( $meta->meta_key, 'post' ) || ! current_user_can( 'delete_post_meta',  $meta->post_id, $meta->meta_key ) )
! 		die('-1');
! 	if ( delete_meta( $meta->meta_id ) )
! 		die('1');
! 	die('0');
! 	break;
! case 'delete-post' :
! 	check_ajax_referer( "{$action}_$id" );
! 	if ( !current_user_can( 'delete_post', $id ) )
! 		die('-1');
! 
! 	if ( !get_post( $id ) )
! 		die('1');
! 
! 	if ( wp_delete_post( $id ) )
! 		die('1');
! 	else
! 		die('0');
! 	break;
! case 'trash-post' :
! case 'untrash-post' :
! 	check_ajax_referer( "{$action}_$id" );
! 	if ( !current_user_can( 'delete_post', $id ) )
! 		die('-1');
! 
! 	if ( !get_post( $id ) )
! 		die('1');
  
! 	if ( 'trash-post' == $action )
! 		$done = wp_trash_post( $id );
! 	else
! 		$done = wp_untrash_post( $id );
! 
! 	if ( $done )
! 		die('1');
! 
! 	die('0');
! 	break;
! case 'delete-page' :
! 	check_ajax_referer( "{$action}_$id" );
! 	if ( !current_user_can( 'delete_page', $id ) )
! 		die('-1');
! 
! 	if ( !get_page( $id ) )
! 		die('1');
! 
! 	if ( wp_delete_post( $id ) )
! 		die('1');
! 	else
! 		die('0');
! 	break;
! case 'dim-comment' : // On success, die with time() instead of 1
! 
! 	if ( !$comment = get_comment( $id ) ) {
! 		$x = new WP_Ajax_Response( array(
! 			'what' => 'comment',
! 			'id' => new WP_Error('invalid_comment', sprintf(__('Comment %d does not exist'), $id))
! 		) );
! 		$x->send();
! 	}
! 
! 	if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) && ! current_user_can( 'moderate_comments' ) )
! 		die('-1');
! 
! 	$current = wp_get_comment_status( $comment->comment_ID );
! 	if ( $_POST['new'] == $current )
! 		die( (string) time() );
! 
! 	check_ajax_referer( "approve-comment_$id" );
! 	if ( in_array( $current, array( 'unapproved', 'spam' ) ) )
! 		$result = wp_set_comment_status( $comment->comment_ID, 'approve', true );
! 	else
! 		$result = wp_set_comment_status( $comment->comment_ID, 'hold', true );
! 
! 	if ( is_wp_error($result) ) {
! 		$x = new WP_Ajax_Response( array(
! 			'what' => 'comment',
! 			'id' => $result
! 		) );
! 		$x->send();
! 	}
! 
! 	// Decide if we need to send back '1' or a more complicated response including page links and comment counts
! 	_wp_ajax_delete_comment_response( $comment->comment_ID );
  	die( '0' );
- 	break;
- case 'add-link-category' : // On the Fly
- 	check_ajax_referer( $action );
- 	if ( !current_user_can( 'manage_categories' ) )
- 		die('-1');
- 	$names = explode(',', $_POST['newcat']);
- 	$x = new WP_Ajax_Response();
- 	foreach ( $names as $cat_name ) {
- 		$cat_name = trim($cat_name);
- 		$slug = sanitize_title($cat_name);
- 		if ( '' === $slug )
- 			continue;
- 		if ( !$cat_id = term_exists( $cat_name, 'link_category' ) ) {
- 			$cat_id = wp_insert_term( $cat_name, 'link_category' );
- 		}
- 		$cat_id = $cat_id['term_id'];
- 		$cat_name = esc_html(stripslashes($cat_name));
- 		$x->add( array(
- 			'what' => 'link-category',
- 			'id' => $cat_id,
- 			'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>",
- 			'position' => -1
- 		) );
- 	}
- 	$x->send();
- 	break;
- case 'add-tag' :
- 	check_ajax_referer( 'add-tag', '_wpnonce_add-tag' );
- 	$post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post';
- 	$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
- 	$tax = get_taxonomy($taxonomy);
- 
- 	if ( !current_user_can( $tax->cap->edit_terms ) )
- 		die('-1');
- 
- 	$x = new WP_Ajax_Response();
- 
- 	$tag = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST );
- 
- 	if ( !$tag || is_wp_error($tag) || (!$tag = get_term( $tag['term_id'], $taxonomy )) ) {
- 		$message = __('An error has occurred. Please reload the page and try again.');
- 		if ( is_wp_error($tag) && $tag->get_error_message() )
- 			$message = $tag->get_error_message();
- 
- 		$x->add( array(
- 			'what' => 'taxonomy',
- 			'data' => new WP_Error('error', $message )
- 		) );
- 		$x->send();
- 	}
- 
- 	set_current_screen( $_POST['screen'] );
- 
- 	$wp_list_table = _get_list_table('WP_Terms_List_Table');
- 
- 	$level = 0;
- 	if ( is_taxonomy_hierarchical($taxonomy) ) {
- 		$level = count( get_ancestors( $tag->term_id, $taxonomy ) );
- 		ob_start();
- 		$wp_list_table->single_row( $tag, $level );
- 		$noparents = ob_get_clean();
- 	}
- 
- 	ob_start();
- 	$wp_list_table->single_row( $tag );
- 	$parents = ob_get_clean();
- 
- 	$x->add( array(
- 		'what' => 'taxonomy',
- 		'supplemental' => compact('parents', 'noparents')
- 		) );
- 	$x->add( array(
- 		'what' => 'term',
- 		'position' => $level,
- 		'supplemental' => (array) $tag
- 		) );
- 	$x->send();
- 	break;
- case 'get-tagcloud' :
- 	if ( isset( $_POST['tax'] ) ) {
- 		$taxonomy = sanitize_key( $_POST['tax'] );
- 		$tax = get_taxonomy( $taxonomy );
- 		if ( ! $tax )
- 			die( '0' );
- 		if ( ! current_user_can( $tax->cap->assign_terms ) )
- 			die( '-1' );
- 	} else {
- 		die('0');
- 	}
- 
- 	$tags = get_terms( $taxonomy, array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ) );
- 
- 	if ( empty( $tags ) )
- 		die( isset( $tax->no_tagcloud ) ? $tax->no_tagcloud : __('No tags found!') );
- 
- 	if ( is_wp_error( $tags ) )
- 		die( $tags->get_error_message() );
- 
- 	foreach ( $tags as $key => $tag ) {
- 		$tags[ $key ]->link = '#';
- 		$tags[ $key ]->id = $tag->term_id;
- 	}
- 
- 	// We need raw tag names here, so don't filter the output
- 	$return = wp_generate_tag_cloud( $tags, array('filter' => 0) );
- 
- 	if ( empty($return) )
- 		die('0');
- 
- 	echo $return;
- 
- 	exit;
- 	break;
- case 'get-comments' :
- 	check_ajax_referer( $action );
- 
- 	set_current_screen( 'edit-comments' );
- 
- 	$wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
- 
- 	if ( !current_user_can( 'edit_post', $post_id ) )
- 		die('-1');
- 
- 	$wp_list_table->prepare_items();
- 
- 	if ( !$wp_list_table->has_items() )
- 		die('1');
- 
- 	$x = new WP_Ajax_Response();
- 	ob_start();
- 	foreach ( $wp_list_table->items as $comment ) {
- 		if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) )
- 			continue;
- 		get_comment( $comment );
- 		$wp_list_table->single_row( $comment );
- 	}
- 	$comment_list_item = ob_get_contents();
- 	ob_end_clean();
- 
- 	$x->add( array(
- 		'what' => 'comments',
- 		'data' => $comment_list_item
- 	) );
- 	$x->send();
- 	break;
- case 'replyto-comment' :
- 	check_ajax_referer( $action, '_ajax_nonce-replyto-comment' );
- 
- 	set_current_screen( 'edit-comments' );
- 
- 	$comment_post_ID = (int) $_POST['comment_post_ID'];
- 	if ( !current_user_can( 'edit_post', $comment_post_ID ) )
- 		die('-1');
- 
- 	$status = $wpdb->get_var( $wpdb->prepare("SELECT post_status FROM $wpdb->posts WHERE ID = %d", $comment_post_ID) );
- 
- 	if ( empty($status) )
- 		die('1');
- 	elseif ( in_array($status, array('draft', 'pending', 'trash') ) )
- 		die( __('ERROR: you are replying to a comment on a draft post.') );
- 
- 	$user = wp_get_current_user();
- 	if ( $user->ID ) {
- 		$comment_author       = $wpdb->escape($user->display_name);
- 		$comment_author_email = $wpdb->escape($user->user_email);
- 		$comment_author_url   = $wpdb->escape($user->user_url);
- 		$comment_content      = trim($_POST['content']);
- 		if ( current_user_can( 'unfiltered_html' ) ) {
- 			if ( wp_create_nonce( 'unfiltered-html-comment' ) != $_POST['_wp_unfiltered_html_comment'] ) {
- 				kses_remove_filters(); // start with a clean slate
- 				kses_init_filters(); // set up the filters
- 			}
- 		}
- 	} else {
- 		die( __('Sorry, you must be logged in to reply to a comment.') );
- 	}
- 
- 	if ( '' == $comment_content )
- 		die( __('ERROR: please type a comment.') );
- 
- 	$comment_parent = absint($_POST['comment_ID']);
- 	$comment_auto_approved = false;
- 	$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');
- 
- 	$comment_id = wp_new_comment( $commentdata );
- 	$comment = get_comment($comment_id);
- 	if ( ! $comment ) die('1');
- 
- 	$position = ( isset($_POST['position']) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1';
- 
- 
- 	// automatically approve parent comment
- 	if ( !empty($_POST['approve_parent']) ) {
- 		$parent = get_comment( $comment_parent );
- 
- 		if ( $parent && $parent->comment_approved === '0' && $parent->comment_post_ID == $comment_post_ID ) {
- 			if ( wp_set_comment_status( $parent->comment_ID, 'approve' ) )
- 				$comment_auto_approved = true;
- 		}
- 	}
- 
- 	ob_start();
- 		if ( 'dashboard' == $_REQUEST['mode'] ) {
- 			require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
- 			_wp_dashboard_recent_comments_row( $comment );
- 		} else {
- 			if ( 'single' == $_REQUEST['mode'] ) {
- 				$wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
- 			} else {
- 				$wp_list_table = _get_list_table('WP_Comments_List_Table');
- 			}
- 			$wp_list_table->single_row( $comment );
- 		}
- 		$comment_list_item = ob_get_contents();
- 	ob_end_clean();
- 
- 	$response =  array(
- 		'what' => 'comment',
- 		'id' => $comment->comment_ID,
- 		'data' => $comment_list_item,
- 		'position' => $position
- 	);
- 
- 	if ( $comment_auto_approved )
- 		$response['supplemental'] = array( 'parent_approved' => $parent->comment_ID );
- 
- 	$x = new WP_Ajax_Response();
- 	$x->add( $response );
- 	$x->send();
- 	break;
- case 'edit-comment' :
- 	check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' );
- 
- 	set_current_screen( 'edit-comments' );
- 
- 	$comment_id = (int) $_POST['comment_ID'];
- 	if ( ! current_user_can( 'edit_comment', $comment_id ) )
- 		die('-1');
- 
- 	if ( '' == $_POST['content'] )
- 		die( __('ERROR: please type a comment.') );
- 
- 	$_POST['comment_status'] = $_POST['status'];
- 	edit_comment();
- 
- 	$position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
- 	$comments_status = isset($_POST['comments_listing']) ? $_POST['comments_listing'] : '';
- 
- 	$checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0;
- 	$wp_list_table = _get_list_table( $checkbox ? 'WP_Comments_List_Table' : 'WP_Post_Comments_List_Table' );
- 
- 	ob_start();
- 		$wp_list_table->single_row( get_comment( $comment_id ) );
- 		$comment_list_item = ob_get_contents();
- 	ob_end_clean();
- 
- 	$x = new WP_Ajax_Response();
- 
- 	$x->add( array(
- 		'what' => 'edit_comment',
- 		'id' => $comment->comment_ID,
- 		'data' => $comment_list_item,
- 		'position' => $position
- 	));
- 
- 	$x->send();
- 	break;
- case 'add-menu-item' :
- 	if ( ! current_user_can( 'edit_theme_options' ) )
- 		die('-1');
- 
- 	check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
- 
- 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
- 
- 	// For performance reasons, we omit some object properties from the checklist.
- 	// The following is a hacky way to restore them when adding non-custom items.
- 
- 	$menu_items_data = array();
- 	foreach ( (array) $_POST['menu-item'] as $menu_item_data ) {
- 		if (
- 			! empty( $menu_item_data['menu-item-type'] ) &&
- 			'custom' != $menu_item_data['menu-item-type'] &&
- 			! empty( $menu_item_data['menu-item-object-id'] )
- 		) {
- 			switch( $menu_item_data['menu-item-type'] ) {
- 				case 'post_type' :
- 					$_object = get_post( $menu_item_data['menu-item-object-id'] );
- 				break;
- 
- 				case 'taxonomy' :
- 					$_object = get_term( $menu_item_data['menu-item-object-id'], $menu_item_data['menu-item-object'] );
- 				break;
- 			}
- 
- 			$_menu_items = array_map( 'wp_setup_nav_menu_item', array( $_object ) );
- 			$_menu_item = array_shift( $_menu_items );
- 
- 			// Restore the missing menu item properties
- 			$menu_item_data['menu-item-description'] = $_menu_item->description;
- 		}
- 
- 		$menu_items_data[] = $menu_item_data;
- 	}
  
! 	$item_ids = wp_save_nav_menu_items( 0, $menu_items_data );
! 	if ( is_wp_error( $item_ids ) )
! 		die('-1');
  
! 	foreach ( (array) $item_ids as $menu_item_id ) {
! 		$menu_obj = get_post( $menu_item_id );
! 		if ( ! empty( $menu_obj->ID ) ) {
! 			$menu_obj = wp_setup_nav_menu_item( $menu_obj );
! 			$menu_obj->label = $menu_obj->title; // don't show "(pending)" in ajax-added items
! 			$menu_items[] = $menu_obj;
! 		}
! 	}
  
! 	if ( ! empty( $menu_items ) ) {
! 		$args = array(
! 			'after' => '',
! 			'before' => '',
! 			'link_after' => '',
! 			'link_before' => '',
! 			'walker' => new Walker_Nav_Menu_Edit,
! 		);
! 		echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
! 	}
! 	break;
! case 'add-meta' :
! 	check_ajax_referer( 'add-meta', '_ajax_nonce-add-meta' );
! 	$c = 0;
! 	$pid = (int) $_POST['post_id'];
! 	$post = get_post( $pid );
  
! 	if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) {
! 		if ( !current_user_can( 'edit_post', $pid ) )
! 			die('-1');
! 		if ( isset($_POST['metakeyselect']) && '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) )
! 			die('1');
! 		if ( $post->post_status == 'auto-draft' ) {
! 			$save_POST = $_POST; // Backup $_POST
! 			$_POST = array(); // Make it empty for edit_post()
! 			$_POST['action'] = 'draft'; // Warning fix
! 			$_POST['post_ID'] = $pid;
! 			$_POST['post_type'] = $post->post_type;
! 			$_POST['post_status'] = 'draft';
! 			$now = current_time('timestamp', 1);
! 			$_POST['post_title'] = sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now));
  
! 			if ( $pid = edit_post() ) {
! 				if ( is_wp_error( $pid ) ) {
! 					$x = new WP_Ajax_Response( array(
! 						'what' => 'meta',
! 						'data' => $pid
! 					) );
! 					$x->send();
! 				}
! 				$_POST = $save_POST; // Now we can restore original $_POST again
! 				if ( !$mid = add_meta( $pid ) )
! 					die(__('Please provide a custom field value.'));
! 			} else {
! 				die('0');
! 			}
! 		} else if ( !$mid = add_meta( $pid ) ) {
! 			die(__('Please provide a custom field value.'));
! 		}
! 
! 		$meta = get_metadata_by_mid( 'post', $mid );
! 		$pid = (int) $meta->post_id;
! 		$meta = get_object_vars( $meta );
! 		$x = new WP_Ajax_Response( array(
! 			'what' => 'meta',
! 			'id' => $mid,
! 			'data' => _list_meta_row( $meta, $c ),
! 			'position' => 1,
! 			'supplemental' => array('postid' => $pid)
! 		) );
! 	} else { // Update?
! 		$mid = (int) key( $_POST['meta'] );
! 		$key = stripslashes( $_POST['meta'][$mid]['key'] );
! 		$value = stripslashes( $_POST['meta'][$mid]['value'] );
! 		if ( '' == trim($key) )
! 			die(__('Please provide a custom field name.'));
! 		if ( '' == trim($value) )
! 			die(__('Please provide a custom field value.'));
! 		if ( ! $meta = get_metadata_by_mid( 'post', $mid ) )
! 			die('0'); // if meta doesn't exist
! 		if ( is_protected_meta( $meta->meta_key, 'post' ) || is_protected_meta( $key, 'post' ) ||
! 			! current_user_can( 'edit_post_meta', $meta->post_id, $meta->meta_key ) ||
! 			! current_user_can( 'edit_post_meta', $meta->post_id, $key ) )
! 			die('-1');
! 		if ( $meta->meta_value != $value || $meta->meta_key != $key ) {
! 			if ( !$u = update_metadata_by_mid( 'post', $mid, $value, $key ) )
! 				die('0'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
! 		}
! 
! 		$x = new WP_Ajax_Response( array(
! 			'what' => 'meta',
! 			'id' => $mid, 'old_id' => $mid,
! 			'data' => _list_meta_row( array(
! 				'meta_key' => $key,
! 				'meta_value' => $value,
! 				'meta_id' => $mid
! 			), $c ),
! 			'position' => 0,
! 			'supplemental' => array('postid' => $meta->post_id)
! 		) );
! 	}
! 	$x->send();
! 	break;
! case 'add-user' :
! 	check_ajax_referer( $action );
! 	if ( !current_user_can('create_users') )
! 		die('-1');
! 	if ( !$user_id = add_user() )
! 		die('0');
! 	elseif ( is_wp_error( $user_id ) ) {
! 		$x = new WP_Ajax_Response( array(
! 			'what' => 'user',
! 			'id' => $user_id
! 		) );
! 		$x->send();
! 	}
! 	$user_object = new WP_User( $user_id );
! 
! 	$wp_list_table = _get_list_table('WP_Users_List_Table');
! 
! 	$x = new WP_Ajax_Response( array(
! 		'what' => 'user',
! 		'id' => $user_id,
! 		'data' => $wp_list_table->single_row( $user_object, '', $user_object->roles[0] ),
! 		'supplemental' => array(
! 			'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login),
! 			'role' => $user_object->roles[0]
! 		)
! 	) );
! 	$x->send();
! 	break;
! case 'autosave' : // The name of this action is hardcoded in edit_post()
! 	define( 'DOING_AUTOSAVE', true );
! 
! 	$nonce_age = check_ajax_referer( 'autosave', 'autosavenonce' );
! 
! 	$_POST['post_category'] = explode(",", $_POST['catslist']);
! 	if ( $_POST['post_type'] == 'page' || empty($_POST['post_category']) )
! 		unset($_POST['post_category']);
! 
! 	$do_autosave = (bool) $_POST['autosave'];
! 	$do_lock = true;
! 
! 	$data = $alert = '';
! 	/* translators: draft saved date format, see http://php.net/date */
! 	$draft_saved_date_format = __('g:i:s a');
! 	/* translators: %s: date and time */
! 	$message = sprintf( __('Draft saved at %s.'), date_i18n( $draft_saved_date_format ) );
! 
! 	$supplemental = array();
! 	if ( isset($login_grace_period) )
! 		$alert .= sprintf( __('Your login has expired. Please open a new browser window and <a href="%s" target="_blank">log in again</a>. '), add_query_arg( 'interim-login', 1, wp_login_url() ) );
! 
! 	$id = $revision_id = 0;
! 
! 	$post_ID = (int) $_POST['post_ID'];
! 	$_POST['ID'] = $post_ID;
! 	$post = get_post($post_ID);
! 	if ( 'auto-draft' == $post->post_status )
! 		$_POST['post_status'] = 'draft';
! 
! 	if ( $last = wp_check_post_lock( $post->ID ) ) {
! 		$do_autosave = $do_lock = false;
! 
! 		$last_user = get_userdata( $last );
! 		$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
! 		$data = __( 'Autosave disabled.' );
! 
! 		$supplemental['disable_autosave'] = 'disable';
! 		$alert .= sprintf( __( '%s is currently editing this article. If you update it, you will overwrite the changes.' ), esc_html( $last_user_name ) );
! 	}
! 
! 	if ( 'page' == $post->post_type ) {
! 		if ( !current_user_can('edit_page', $post_ID) )
! 			die(__('You are not allowed to edit this page.'));
! 	} else {
! 		if ( !current_user_can('edit_post', $post_ID) )
! 			die(__('You are not allowed to edit this post.'));
! 	}
! 
! 	if ( $do_autosave ) {
! 		// Drafts and auto-drafts are just overwritten by autosave
! 		if ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) {
! 			$id = edit_post();
! 		} else { // Non drafts are not overwritten.  The autosave is stored in a special post revision.
! 			$revision_id = wp_create_post_autosave( $post->ID );
! 			if ( is_wp_error($revision_id) )
! 				$id = $revision_id;
! 			else
! 				$id = $post->ID;
! 		}
! 		$data = $message;
! 	} else {
! 		if ( ! empty( $_POST['auto_draft'] ) )
! 			$id = 0; // This tells us it didn't actually save
! 		else
! 			$id = $post->ID;
! 	}
! 
! 	if ( $do_lock && empty( $_POST['auto_draft'] ) && $id && is_numeric( $id ) ) {
! 		$lock_result = wp_set_post_lock( $id );
! 		$supplemental['active-post-lock'] = implode( ':', $lock_result );
! 	}
! 
! 	if ( $nonce_age == 2 ) {
! 		$supplemental['replace-autosavenonce'] = wp_create_nonce('autosave');
! 		$supplemental['replace-getpermalinknonce'] = wp_create_nonce('getpermalink');
! 		$supplemental['replace-samplepermalinknonce'] = wp_create_nonce('samplepermalink');
! 		$supplemental['replace-closedpostboxesnonce'] = wp_create_nonce('closedpostboxes');
! 		$supplemental['replace-_ajax_linking_nonce'] = wp_create_nonce( 'internal-linking' );
! 		if ( $id ) {
! 			if ( $_POST['post_type'] == 'post' )
! 				$supplemental['replace-_wpnonce'] = wp_create_nonce('update-post_' . $id);
! 			elseif ( $_POST['post_type'] == 'page' )
! 				$supplemental['replace-_wpnonce'] = wp_create_nonce('update-page_' . $id);
! 		}
! 	}
! 
! 	if ( ! empty($alert) )
! 		$supplemental['alert'] = $alert;
! 
! 	$x = new WP_Ajax_Response( array(
! 		'what' => 'autosave',
! 		'id' => $id,
! 		'data' => $id ? $data : '',
! 		'supplemental' => $supplemental
! 	) );
! 	$x->send();
! 	break;
! case 'closed-postboxes' :
! 	check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
! 	$closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array();
! 	$closed = array_filter($closed);
! 
! 	$hidden = isset( $_POST['hidden'] ) ? explode( ',', $_POST['hidden']) : array();
! 	$hidden = array_filter($hidden);
! 
! 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
! 
! 	if ( $page != sanitize_key( $page ) )
! 		die('0');
! 
! 	if ( ! $user = wp_get_current_user() )
! 		die('-1');
! 
! 	if ( is_array($closed) )
! 		update_user_option($user->ID, "closedpostboxes_$page", $closed, true);
! 
! 	if ( is_array($hidden) ) {
! 		$hidden = array_diff( $hidden, array('submitdiv', 'linksubmitdiv', 'manage-menu', 'create-menu') ); // postboxes that are always shown
! 		update_user_option($user->ID, "metaboxhidden_$page", $hidden, true);
! 	}
! 
! 	die('1');
! 	break;
! case 'hidden-columns' :
! 	check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' );
! 	$hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';
! 	$hidden = explode( ',', $_POST['hidden'] );
! 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
! 
! 	if ( $page != sanitize_key( $page ) )
! 		die('0');
! 
! 	if ( ! $user = wp_get_current_user() )
! 		die('-1');
! 
! 	if ( is_array($hidden) )
! 		update_user_option($user->ID, "manage{$page}columnshidden", $hidden, true);
! 
! 	die('1');
! 	break;
! case 'update-welcome-panel' :
! 	check_ajax_referer( 'welcome-panel-nonce', 'welcomepanelnonce' );
! 
! 	if ( ! current_user_can( 'edit_theme_options' ) )
! 		die('-1');
! 
! 	update_user_meta( get_current_user_id(), 'show_welcome_panel', empty( $_POST['visible'] ) ? 0 : 1 );
! 
! 	die('1');
! 	break;
! case 'menu-get-metabox' :
! 	if ( ! current_user_can( 'edit_theme_options' ) )
! 		die('-1');
! 
! 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
! 
! 	if ( isset( $_POST['item-type'] ) && 'post_type' == $_POST['item-type'] ) {
! 		$type = 'posttype';
! 		$callback = 'wp_nav_menu_item_post_type_meta_box';
! 		$items = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
! 	} elseif ( isset( $_POST['item-type'] ) && 'taxonomy' == $_POST['item-type'] ) {
! 		$type = 'taxonomy';
! 		$callback = 'wp_nav_menu_item_taxonomy_meta_box';
! 		$items = (array) get_taxonomies( array( 'show_ui' => true ), 'object' );
! 	}
! 
! 	if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
! 		$item = apply_filters( 'nav_menu_meta_box_object', $items[ $_POST['item-object'] ] );
! 		ob_start();
! 		call_user_func_array($callback, array(
! 			null,
! 			array(
! 				'id' => 'add-' . $item->name,
! 				'title' => $item->labels->name,
! 				'callback' => $callback,
! 				'args' => $item,
! 			)
! 		));
! 
! 		$markup = ob_get_clean();
! 
! 		echo json_encode(array(
! 			'replace-id' => $type . '-' . $item->name,
! 			'markup' => $markup,
! 		));
! 	}
! 
! 	exit;
! 	break;
! case 'menu-quick-search':
! 	if ( ! current_user_can( 'edit_theme_options' ) )
! 		die('-1');
! 
! 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
! 
! 	_wp_ajax_menu_quick_search( $_REQUEST );
! 
! 	exit;
! 	break;
! case 'wp-link-ajax':
! 	check_ajax_referer( 'internal-linking', '_ajax_linking_nonce' );
! 
! 	$args = array();
! 
! 	if ( isset( $_POST['search'] ) )
! 		$args['s'] = stripslashes( $_POST['search'] );
! 	$args['pagenum'] = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 1;
! 
! 	require(ABSPATH . WPINC . '/class-wp-editor.php');
! 	$results = _WP_Editors::wp_link_query( $args );
! 
! 	if ( ! isset( $results ) )
! 		die( '0' );
! 
! 	echo json_encode( $results );
! 	echo "\n";
! 
! 	exit;
! 	break;
! case 'menu-locations-save':
! 	if ( ! current_user_can( 'edit_theme_options' ) )
! 		die('-1');
! 	check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
! 	if ( ! isset( $_POST['menu-locations'] ) )
! 		die('0');
! 	set_theme_mod( 'nav_menu_locations', array_map( 'absint', $_POST['menu-locations'] ) );
! 	die('1');
! 	break;
! case 'meta-box-order':
! 	check_ajax_referer( 'meta-box-order' );
! 	$order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false;
! 	$page_columns = isset( $_POST['page_columns'] ) ? $_POST['page_columns'] : 'auto';
! 
! 	if ( $page_columns != 'auto' )
! 		$page_columns = (int) $page_columns;
! 
! 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
! 
! 	if ( $page != sanitize_key( $page ) )
! 		die('0');
! 
! 	if ( ! $user = wp_get_current_user() )
! 		die('-1');
! 
! 	if ( $order )
! 		update_user_option($user->ID, "meta-box-order_$page", $order, true);
! 
! 	if ( $page_columns )
! 		update_user_option($user->ID, "screen_layout_$page", $page_columns, true);
! 
! 	die('1');
! 	break;
! case 'get-permalink':
! 	check_ajax_referer( 'getpermalink', 'getpermalinknonce' );
! 	$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
! 	die(add_query_arg(array('preview' => 'true'), get_permalink($post_id)));
! break;
! case 'sample-permalink':
! 	check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
! 	$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
! 	$title = isset($_POST['new_title'])? $_POST['new_title'] : '';
! 	$slug = isset($_POST['new_slug'])? $_POST['new_slug'] : null;
! 	die(get_sample_permalink_html($post_id, $title, $slug));
! break;
! case 'inline-save':
! 	check_ajax_referer( 'inlineeditnonce', '_inline_edit' );
! 
! 	if ( ! isset($_POST['post_ID']) || ! ( $post_ID = (int) $_POST['post_ID'] ) )
! 		exit;
! 
! 	if ( 'page' == $_POST['post_type'] ) {
! 		if ( ! current_user_can( 'edit_page', $post_ID ) )
! 			die( __('You are not allowed to edit this page.') );
! 	} else {
! 		if ( ! current_user_can( 'edit_post', $post_ID ) )
! 			die( __('You are not allowed to edit this post.') );
! 	}
! 
! 	set_current_screen( $_POST['screen'] );
! 
! 	if ( $last = wp_check_post_lock( $post_ID ) ) {
! 		$last_user = get_userdata( $last );
! 		$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
! 		printf( $_POST['post_type'] == 'page' ? __( 'Saving is disabled: %s is currently editing this page.' ) : __( 'Saving is disabled: %s is currently editing this post.' ),	esc_html( $last_user_name ) );
! 		exit;
! 	}
! 
! 	$data = &$_POST;
! 
! 	$post = get_post( $post_ID, ARRAY_A );
! 	$post = add_magic_quotes($post); //since it is from db
! 
! 	$data['content'] = $post['post_content'];
! 	$data['excerpt'] = $post['post_excerpt'];
! 
! 	// rename
! 	$data['user_ID'] = $GLOBALS['user_ID'];
! 
! 	if ( isset($data['post_parent']) )
! 		$data['parent_id'] = $data['post_parent'];
! 
! 	// status
! 	if ( isset($data['keep_private']) && 'private' == $data['keep_private'] )
! 		$data['post_status'] = 'private';
! 	else
! 		$data['post_status'] = $data['_status'];
! 
! 	if ( empty($data['comment_status']) )
! 		$data['comment_status'] = 'closed';
! 	if ( empty($data['ping_status']) )
! 		$data['ping_status'] = 'closed';
! 
! 	// update the post
! 	edit_post();
! 
! 	$wp_list_table = _get_list_table('WP_Posts_List_Table');
! 
! 	$mode = $_POST['post_view'];
! 	$wp_list_table->display_rows( array( get_post( $_POST['post_ID'] ) ) );
! 
! 	exit;
! 	break;
! case 'inline-save-tax':
! 	check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' );
! 
! 	$taxonomy = sanitize_key( $_POST['taxonomy'] );
! 	$tax = get_taxonomy( $taxonomy );
! 	if ( ! $tax )
! 		die( '0' );
! 
! 	if ( ! current_user_can( $tax->cap->edit_terms ) )
! 		die( '-1' );
! 
! 	set_current_screen( 'edit-' . $taxonomy );
! 
! 	$wp_list_table = _get_list_table('WP_Terms_List_Table');
! 
! 	if ( ! isset($_POST['tax_ID']) || ! ( $id = (int) $_POST['tax_ID'] ) )
! 		die(-1);
! 
! 	$tag = get_term( $id, $taxonomy );
! 	$_POST['description'] = $tag->description;
! 
! 	$updated = wp_update_term($id, $taxonomy, $_POST);
! 	if ( $updated && !is_wp_error($updated) ) {
! 		$tag = get_term( $updated['term_id'], $taxonomy );
! 		if ( !$tag || is_wp_error( $tag ) ) {
! 			if ( is_wp_error($tag) && $tag->get_error_message() )
! 				die( $tag->get_error_message() );
! 			die( __('Item not updated.') );
! 		}
! 
! 		echo $wp_list_table->single_row( $tag );
! 	} else {
! 		if ( is_wp_error($updated) && $updated->get_error_message() )
! 			die( $updated->get_error_message() );
! 		die( __('Item not updated.') );
! 	}
! 
! 	exit;
! 	break;
! case 'find_posts':
! 	check_ajax_referer( 'find-posts' );
! 
! 	if ( empty($_POST['ps']) )
! 		exit;
! 
! 	if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) )
! 		$what = $_POST['post_type'];
! 	else
! 		$what = 'post';
! 
! 	$s = stripslashes($_POST['ps']);
! 	preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches);
! 	$search_terms = array_map('_search_terms_tidy', $matches[0]);
! 
! 	$searchand = $search = '';
! 	foreach ( (array) $search_terms as $term ) {
! 		$term = esc_sql( like_escape( $term ) );
! 		$search .= "{$searchand}(($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%'))";
! 		$searchand = ' AND ';
! 	}
! 	$term = esc_sql( like_escape( $s ) );
! 	if ( count($search_terms) > 1 && $search_terms[0] != $s )
! 		$search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')";
! 
! 	$posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') AND ($search) ORDER BY post_date_gmt DESC LIMIT 50" );
! 
! 	if ( ! $posts ) {
! 		$posttype = get_post_type_object($what);
! 		exit($posttype->labels->not_found);
! 	}
! 
! 	$html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th>'.__('Date').'</th><th>'.__('Status').'</th></tr></thead><tbody>';
! 	foreach ( $posts as $post ) {
! 
! 		switch ( $post->post_status ) {
! 			case 'publish' :
! 			case 'private' :
! 				$stat = __('Published');
! 				break;
! 			case 'future' :
! 				$stat = __('Scheduled');
! 				break;
! 			case 'pending' :
! 				$stat = __('Pending Review');
! 				break;
! 			case 'draft' :
! 				$stat = __('Draft');
! 				break;
! 		}
! 
! 		if ( '0000-00-00 00:00:00' == $post->post_date ) {
! 			$time = '';
! 		} else {
! 			/* translators: date format in table columns, see http://php.net/date */
! 			$time = mysql2date(__('Y/m/d'), $post->post_date);
! 		}
! 
! 		$html .= '<tr class="found-posts"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>';
! 		$html .= '<td><label for="found-'.$post->ID.'">'.esc_html( $post->post_title ).'</label></td><td>'.esc_html( $time ).'</td><td>'.esc_html( $stat ).'</td></tr>'."\n\n";
! 	}
! 	$html .= '</tbody></table>';
! 
! 	$x = new WP_Ajax_Response();
! 	$x->add( array(
! 		'what' => $what,
! 		'data' => $html
! 	));
! 	$x->send();
! 
! 	break;
! case 'widgets-order' :
! 	check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
! 
! 	if ( !current_user_can('edit_theme_options') )
! 		die('-1');
! 
! 	unset( $_POST['savewidgets'], $_POST['action'] );
! 
! 	// save widgets order for all sidebars
! 	if ( is_array($_POST['sidebars']) ) {
! 		$sidebars = array();
! 		foreach ( $_POST['sidebars'] as $key => $val ) {
! 			$sb = array();
! 			if ( !empty($val) ) {
! 				$val = explode(',', $val);
! 				foreach ( $val as $k => $v ) {
! 					if ( strpos($v, 'widget-') === false )
! 						continue;
! 
! 					$sb[$k] = substr($v, strpos($v, '_') + 1);
! 				}
! 			}
! 			$sidebars[$key] = $sb;
! 		}
! 		wp_set_sidebars_widgets($sidebars);
! 		die('1');
! 	}
! 
! 	die('-1');
! 	break;
! case 'save-widget' :
! 	check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
! 
! 	if ( !current_user_can('edit_theme_options') || !isset($_POST['id_base']) )
! 		die('-1');
! 
! 	unset( $_POST['savewidgets'], $_POST['action'] );
! 
! 	do_action('load-widgets.php');
! 	do_action('widgets.php');
! 	do_action('sidebar_admin_setup');
! 
! 	$id_base = $_POST['id_base'];
! 	$widget_id = $_POST['widget-id'];
! 	$sidebar_id = $_POST['sidebar'];
! 	$multi_number = !empty($_POST['multi_number']) ? (int) $_POST['multi_number'] : 0;
! 	$settings = isset($_POST['widget-' . $id_base]) && is_array($_POST['widget-' . $id_base]) ? $_POST['widget-' . $id_base] : false;
! 	$error = '<p>' . __('An error has occurred. Please reload the page and try again.') . '</p>';
! 
! 	$sidebars = wp_get_sidebars_widgets();
! 	$sidebar = isset($sidebars[$sidebar_id]) ? $sidebars[$sidebar_id] : array();
! 
! 	// delete
! 	if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) {
! 
! 		if ( !isset($wp_registered_widgets[$widget_id]) )
! 			die($error);
! 
! 		$sidebar = array_diff( $sidebar, array($widget_id) );
! 		$_POST = array('sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1');
! 	} elseif ( $settings && preg_match( '/__i__|%i%/', key($settings) ) ) {
! 		if ( !$multi_number )
! 			die($error);
! 
! 		$_POST['widget-' . $id_base] = array( $multi_number => array_shift($settings) );
! 		$widget_id = $id_base . '-' . $multi_number;
! 		$sidebar[] = $widget_id;
! 	}
! 	$_POST['widget-id'] = $sidebar;
! 
! 	foreach ( (array) $wp_registered_widget_updates as $name => $control ) {
! 
! 		if ( $name == $id_base ) {
! 			if ( !is_callable( $control['callback'] ) )
! 				continue;
! 
! 			ob_start();
! 				call_user_func_array( $control['callback'], $control['params'] );
! 			ob_end_clean();
! 			break;
! 		}
! 	}
! 
! 	if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) {
! 		$sidebars[$sidebar_id] = $sidebar;
! 		wp_set_sidebars_widgets($sidebars);
! 		echo "deleted:$widget_id";
! 		die();
! 	}
! 
! 	if ( !empty($_POST['add_new']) )
! 		die();
! 
! 	if ( $form = $wp_registered_widget_controls[$widget_id] )
! 		call_user_func_array( $form['callback'], $form['params'] );
! 
! 	die();
! 	break;
! case 'image-editor':
! 	$attachment_id = intval($_POST['postid']);
! 	if ( empty($attachment_id) || !current_user_can('edit_post', $attachment_id) )
! 		die('-1');
! 
! 	check_ajax_referer( "image_editor-$attachment_id" );
! 	include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
! 
! 	$msg = false;
! 	switch ( $_POST['do'] ) {
! 		case 'save' :
! 			$msg = wp_save_image($attachment_id);
! 			$msg = json_encode($msg);
! 			die($msg);
! 			break;
! 		case 'scale' :
! 			$msg = wp_save_image($attachment_id);
! 			break;
! 		case 'restore' :
! 			$msg = wp_restore_image($attachment_id);
! 			break;
! 	}
! 
! 	wp_image_editor($attachment_id, $msg);
! 	die();
! 	break;
! case 'set-post-thumbnail':
! 	$post_ID = intval( $_POST['post_id'] );
! 	if ( !current_user_can( 'edit_post', $post_ID ) )
! 		die( '-1' );
! 	$thumbnail_id = intval( $_POST['thumbnail_id'] );
! 
! 	check_ajax_referer( "set_post_thumbnail-$post_ID" );
! 
! 	if ( $thumbnail_id == '-1' ) {
! 		if ( delete_post_thumbnail( $post_ID ) )
! 			die( _wp_post_thumbnail_html() );
! 		else
! 			die( '0' );
! 	}
! 
! 	if ( set_post_thumbnail( $post_ID, $thumbnail_id ) )
! 		die( _wp_post_thumbnail_html( $thumbnail_id ) );
! 	die( '0' );
! 	break;
! case 'date_format' :
! 	die( date_i18n( sanitize_option( 'date_format', $_POST['date'] ) ) );
! 	break;
! case 'time_format' :
! 	die( date_i18n( sanitize_option( 'time_format', $_POST['date'] ) ) );
! 	break;
! case 'wp-fullscreen-save-post' :
! 	$post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
! 
! 	$post = $post_type = null;
! 
! 	if ( $post_id )
! 		$post = get_post( $post_id );
! 
! 	if ( $post )
! 		$post_type = $post->post_type;
! 	elseif ( isset( $_POST['post_type'] ) && post_type_exists( $_POST['post_type'] ) )
! 		$post_type = $_POST['post_type'];
! 
! 	check_ajax_referer('update-' . $post_type . '_' . $post_id, '_wpnonce');
! 
! 	$post_id = edit_post();
! 
! 	if ( is_wp_error($post_id) ) {
! 		if ( $post_id->get_error_message() )
! 			$message = $post_id->get_error_message();
! 		else
! 			$message = __('Save failed');
! 
! 		echo json_encode( array( 'message' => $message, 'last_edited' => '' ) );
! 		die();
! 	} else {
! 		$message = __('Saved.');
! 	}
! 
! 	if ( $post ) {
! 		$last_date = mysql2date( get_option('date_format'), $post->post_modified );
! 		$last_time = mysql2date( get_option('time_format'), $post->post_modified );
! 	} else {
! 		$last_date = date_i18n( get_option('date_format') );
! 		$last_time = date_i18n( get_option('time_format') );
! 	}
! 
! 	if ( $last_id = get_post_meta($post_id, '_edit_last', true) ) {
! 		$last_user = get_userdata($last_id);
! 		$last_edited = sprintf( __('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), $last_date, $last_time );
! 	} else {
! 		$last_edited = sprintf( __('Last edited on %1$s at %2$s'), $last_date, $last_time );
! 	}
! 
! 	echo json_encode( array( 'message' => $message, 'last_edited' => $last_edited ) );
! 	die();
! 	break;
! case 'wp-remove-post-lock' :
! 	if ( empty( $_POST['post_ID'] ) || empty( $_POST['active_post_lock'] ) )
! 		die( '0' );
! 	$post_id = (int) $_POST['post_ID'];
! 	if ( ! $post = get_post( $post_id ) )
! 		die( '0' );
! 
! 	check_ajax_referer( 'update-' . $post->post_type . '_' . $post_id );
! 
! 	if ( ! current_user_can( 'edit_post', $post_id ) )
! 		die( '-1' );
! 
! 	$active_lock = array_map( 'absint', explode( ':', $_POST['active_post_lock'] ) );
! 	if ( $active_lock[1] != get_current_user_id() )
! 		die( '0' );
! 
! 	$new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', AUTOSAVE_INTERVAL * 2 ) + 5 ) . ':' . $active_lock[1];
! 	update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) );
! 	die( '1' );
! case 'dismiss-wp-pointer' :
! 	$pointer = $_POST['pointer'];
! 	if ( $pointer != sanitize_key( $pointer ) )
! 		die( '0' );
! 
! //	check_ajax_referer( 'dismiss-pointer_' . $pointer );
! 
! 	$dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ) );
  
! 	if ( in_array( $pointer, $dismissed ) )
! 		die( '0' );
  
! 	$dismissed[] = $pointer;
! 	$dismissed = implode( ',', $dismissed );
  
! 	update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $dismissed );
! 	die( '1' );
! 	break;
! default :
! 	do_action( 'wp_ajax_' . $_POST['action'] );
! 	die('0');
! 	break;
! endswitch;
! ?>
--- 13,71 ----
   *
   * @since 2.1.0
   */
! define( 'DOING_AJAX', true );
! define( 'WP_ADMIN', true );
  
! // Require an action parameter
! if ( empty( $_REQUEST['action'] ) )
  	die( '0' );
  
! /** Load WordPress Bootstrap */
! require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
  
! /** Load WordPress Administration APIs */
! require_once( ABSPATH . 'wp-admin/includes/admin.php' );
  
! /** Load Ajax Handlers for WordPress Core */
! require_once( ABSPATH . 'wp-admin/includes/ajax-actions.php' );
  
! @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
! @header( 'X-Robots-Tag: noindex' );
  
! send_nosniff_header();
  
! do_action( 'admin_init' );
  
! $core_actions_get = array(
! 	'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache',
! 	'autocomplete-user', 'dashboard-widgets', 'logged-in',
! );
! 
! $core_actions_post = array(
! 	'oembed-cache', 'image-editor', 'delete-comment', 'delete-tag', 'delete-link',
! 	'delete-meta', 'delete-post', 'trash-post', 'untrash-post', 'delete-page', 'dim-comment',
! 	'add-link-category', 'add-tag', 'get-tagcloud', 'get-comments', 'replyto-comment',
! 	'edit-comment', 'add-menu-item', 'add-meta', 'add-user', 'autosave', 'closed-postboxes',
! 	'hidden-columns', 'update-welcome-panel', 'menu-get-metabox', 'wp-link-ajax',
! 	'menu-locations-save', 'menu-quick-search', 'meta-box-order', 'get-permalink',
! 	'sample-permalink', 'inline-save', 'inline-save-tax', 'find_posts', 'widgets-order',
! 	'save-widget', 'set-post-thumbnail', 'date_format', 'time_format', 'wp-fullscreen-save-post',
! 	'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment',
! );
! 
! // Register core Ajax calls.
! if ( ! empty( $_GET['action'] ) && in_array( $_GET['action'], $core_actions_get ) )
! 	add_action( 'wp_ajax_' . $_GET['action'], 'wp_ajax_' . str_replace( '-', '_', $_GET['action'] ), 1 );
! 
! if ( ! empty( $_POST['action'] ) && in_array( $_POST['action'], $core_actions_post ) )
! 	add_action( 'wp_ajax_' . $_POST['action'], 'wp_ajax_' . str_replace( '-', '_', $_POST['action'] ), 1 );
! 
! add_action( 'wp_ajax_nopriv_autosave', 'wp_ajax_nopriv_autosave', 1 );
! 
! if ( is_user_logged_in() )
! 	do_action( 'wp_ajax_' . $_REQUEST['action'] ); // Authenticated actions
! else
! 	do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] ); // Non-admin actions
  
! // Default status
! die( '0' );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/admin-functions.php ./wordpress-3.4/wp-admin/admin-functions.php
*** ./wordpress-3.3.2/wp-admin/admin-functions.php	2008-08-11 15:26:31.000000000 -0500
--- ./wordpress-3.4/wp-admin/admin-functions.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 13,16 ****
  
  /** WordPress Administration API: Includes all Administration functions. */
  require_once(ABSPATH . 'wp-admin/includes/admin.php');
- ?>
\ No newline at end of file
--- 13,15 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/admin-header.php ./wordpress-3.4/wp-admin/admin-header.php
*** ./wordpress-3.3.2/wp-admin/admin-header.php	2011-11-30 21:37:22.000000000 -0600
--- ./wordpress-3.4/wp-admin/admin-header.php	2012-06-06 15:34:24.000000000 -0500
***************
*** 11,17 ****
  	require_once( './admin.php' );
  
  // In case admin-header.php is included in a function.
! global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version, $is_iphone,
  	$current_site, $update_title, $total_update_count, $parent_file;
  
  // Catch plugins that include admin-header.php before admin.php completes.
--- 11,17 ----
  	require_once( './admin.php' );
  
  // In case admin-header.php is included in a function.
! global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version,
  	$current_site, $update_title, $total_update_count, $parent_file;
  
  // Catch plugins that include admin-header.php before admin.php completes.
***************
*** 55,61 ****
  		'uid': '<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>',
  		'time':'<?php echo time() ?>'
  	},
! 	ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>',
  	pagenow = '<?php echo $current_screen->id; ?>',
  	typenow = '<?php echo $current_screen->post_type; ?>',
  	adminpage = '<?php echo $admin_body_class; ?>',
--- 55,61 ----
  		'uid': '<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>',
  		'time':'<?php echo time() ?>'
  	},
! 	ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
  	pagenow = '<?php echo $current_screen->id; ?>',
  	typenow = '<?php echo $current_screen->post_type; ?>',
  	adminpage = '<?php echo $admin_body_class; ?>',
***************
*** 85,97 ****
  $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
  $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
  $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
  
! if ( $is_iphone ) { ?>
! <style type="text/css">.row-actions{visibility:visible;}</style>
! <?php } ?>
  </head>
  <body class="wp-admin no-js <?php echo apply_filters( 'admin_body_class', '' ) . " $admin_body_class"; ?>">
! <script type="text/javascript">document.body.className = document.body.className.replace('no-js','js');</script>
  
  <div id="wpwrap">
  <?php require(ABSPATH . 'wp-admin/menu-header.php'); ?>
--- 85,110 ----
  $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
  $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
  $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
+ $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
  
! if ( wp_is_mobile() )
! 	$admin_body_class .= ' mobile';
! 
! $admin_body_class .= ' no-customize-support';
! 
! ?>
  </head>
  <body class="wp-admin no-js <?php echo apply_filters( 'admin_body_class', '' ) . " $admin_body_class"; ?>">
! <script type="text/javascript">
! 	document.body.className = document.body.className.replace('no-js','js');
! </script>
! 
! <?php
! // If the customize-loader script is enqueued, make sure the customize
! // body classes are correct as early as possible.
! if ( wp_script_is( 'customize-loader', 'queue' ) && current_user_can( 'edit_theme_options' ) )
! 	wp_customize_support_script();
! ?>
  
  <div id="wpwrap">
  <?php require(ABSPATH . 'wp-admin/menu-header.php'); ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/admin.php ./wordpress-3.4/wp-admin/admin.php
*** ./wordpress-3.3.2/wp-admin/admin.php	2011-10-31 16:28:17.000000000 -0500
--- ./wordpress-3.4/wp-admin/admin.php	2012-02-28 14:29:33.000000000 -0600
***************
*** 12,27 ****
   * @since 2.3.2
   */
  if ( ! defined('WP_ADMIN') )
! 	define('WP_ADMIN', TRUE);
  
  if ( ! defined('WP_NETWORK_ADMIN') )
! 	define('WP_NETWORK_ADMIN', FALSE);
  
  if ( ! defined('WP_USER_ADMIN') )
! 	define('WP_USER_ADMIN', FALSE);
  
  if ( ! WP_NETWORK_ADMIN && ! WP_USER_ADMIN ) {
! 	define('WP_BLOG_ADMIN', TRUE);
  }
  
  if ( isset($_GET['import']) && !defined('WP_LOAD_IMPORTERS') )
--- 12,27 ----
   * @since 2.3.2
   */
  if ( ! defined('WP_ADMIN') )
! 	define('WP_ADMIN', true);
  
  if ( ! defined('WP_NETWORK_ADMIN') )
! 	define('WP_NETWORK_ADMIN', false);
  
  if ( ! defined('WP_USER_ADMIN') )
! 	define('WP_USER_ADMIN', false);
  
  if ( ! WP_NETWORK_ADMIN && ! WP_USER_ADMIN ) {
! 	define('WP_BLOG_ADMIN', true);
  }
  
  if ( isset($_GET['import']) && !defined('WP_LOAD_IMPORTERS') )
***************
*** 30,36 ****
  require_once(dirname(dirname(__FILE__)) . '/wp-load.php');
  
  if ( get_option('db_upgraded') ) {
! 	$wp_rewrite->flush_rules();
  	update_option( 'db_upgraded',  false );
  
  	/**
--- 30,36 ----
  require_once(dirname(dirname(__FILE__)) . '/wp-load.php');
  
  if ( get_option('db_upgraded') ) {
! 	flush_rewrite_rules();
  	update_option( 'db_upgraded',  false );
  
  	/**
***************
*** 229,233 ****
  
  if ( !empty($_REQUEST['action']) )
  	do_action('admin_action_' . $_REQUEST['action']);
- 
- ?>
--- 228,230 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/admin-post.php ./wordpress-3.4/wp-admin/admin-post.php
*** ./wordpress-3.3.2/wp-admin/admin-post.php	2011-04-28 10:24:49.000000000 -0500
--- ./wordpress-3.4/wp-admin/admin-post.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 29,33 ****
  	$action .= '_' . $_REQUEST['action'];
  
  do_action($action);
- 
- ?>
\ No newline at end of file
--- 29,31 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/async-upload.php ./wordpress-3.4/wp-admin/async-upload.php
*** ./wordpress-3.3.2/wp-admin/async-upload.php	2011-12-10 18:03:24.000000000 -0600
--- ./wordpress-3.4/wp-admin/async-upload.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 66,70 ****
  	$type = $_REQUEST['type'];
  	echo apply_filters("async_upload_{$type}", $id);
  }
- 
- ?>
--- 66,68 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/comment.php ./wordpress-3.4/wp-admin/comment.php
*** ./wordpress-3.3.2/wp-admin/comment.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/comment.php	2012-02-07 13:13:30.000000000 -0600
***************
*** 65,71 ****
  	$comment_id = absint( $_GET['c'] );
  
  	if ( !$comment = get_comment( $comment_id ) )
! 		comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'javascript:history.go(-1)') );
  
  	if ( !current_user_can( 'edit_comment', $comment_id ) )
  		comment_footer_die( __('You are not allowed to edit this comment.') );
--- 65,71 ----
  	$comment_id = absint( $_GET['c'] );
  
  	if ( !$comment = get_comment( $comment_id ) )
! 		comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">' . __('Go back') . '</a>.', 'javascript:history.go(-1)') );
  
  	if ( !current_user_can( 'edit_comment', $comment_id ) )
  		comment_footer_die( __('You are not allowed to edit this comment.') );
***************
*** 73,81 ****
  	if ( 'trash' == $comment->comment_approved )
  		comment_footer_die( __('This comment is in the Trash. Please move it out of the Trash if you want to edit it.') );
  
- 	if ( 'spam' == $comment->comment_approved )
- 		comment_footer_die( __('This comment is marked as Spam. Please mark it as Not Spam if you want to edit it.') );
- 
  	$comment = get_comment_to_edit( $comment_id );
  
  	include('./edit-form-comment.php');
--- 73,78 ----
***************
*** 222,228 ****
  	$noredir = isset($_REQUEST['noredir']);
  
  	if ( !$comment = get_comment($comment_id) )
! 		comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit-comments.php') );
  	if ( !current_user_can( 'edit_comment', $comment->comment_ID ) )
  		comment_footer_die( __('You are not allowed to edit comments on this post.') );
  
--- 219,225 ----
  	$noredir = isset($_REQUEST['noredir']);
  
  	if ( !$comment = get_comment($comment_id) )
! 		comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">' . __('Go back') . '</a>.', 'edit-comments.php') );
  	if ( !current_user_can( 'edit_comment', $comment->comment_ID ) )
  		comment_footer_die( __('You are not allowed to edit comments on this post.') );
  
***************
*** 295,299 ****
  } // end switch
  
  include('./admin-footer.php');
- 
- ?>
--- 292,294 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/credits.php ./wordpress-3.4/wp-admin/credits.php
*** ./wordpress-3.3.2/wp-admin/credits.php	2011-12-08 10:55:55.000000000 -0600
--- ./wordpress-3.4/wp-admin/credits.php	2012-06-07 10:34:21.000000000 -0500
***************
*** 17,23 ****
  
  	$results = get_site_transient( 'wordpress_credits_' . $locale );
  
! 	if ( ! is_array( $results ) ) {
  		$response = wp_remote_get( "http://api.wordpress.org/core/credits/1.0/?version=$wp_version&locale=$locale" );
  
  		if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
--- 17,25 ----
  
  	$results = get_site_transient( 'wordpress_credits_' . $locale );
  
! 	if ( ! is_array( $results )
! 		|| ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 )
! 	) {
  		$response = wp_remote_get( "http://api.wordpress.org/core/credits/1.0/?version=$wp_version&locale=$locale" );
  
  		if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
***************
*** 44,56 ****
  
  list( $display_version ) = explode( '-', $wp_version );
  
! include( './admin-header.php' );
  ?>
  <div class="wrap about-wrap">
  
  <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
  
! <div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! Using WordPress %s will improve your looks, personality, and web publishing experience. Okay, just the last one, but still. :)' ), $display_version ); ?></div>
  
  <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
--- 46,58 ----
  
  list( $display_version ) = explode( '-', $wp_version );
  
! include( ABSPATH . 'wp-admin/admin-header.php' );
  ?>
  <div class="wrap about-wrap">
  
  <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
  
! <div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s is already making your website better, faster, and more attractive, just like you!' ), $display_version ); ?></div>
  
  <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
***************
*** 73,79 ****
  		'http://wordpress.org/about/',
  		/* translators: Url to the codex documentation on contributing to WordPress used on the credits page */
  		__( 'http://codex.wordpress.org/Contributing_to_WordPress' ) ) . '</p>';
! 	include( './admin-footer.php' );
  	exit;
  }
  
--- 75,81 ----
  		'http://wordpress.org/about/',
  		/* translators: Url to the codex documentation on contributing to WordPress used on the credits page */
  		__( 'http://codex.wordpress.org/Contributing_to_WordPress' ) ) . '</p>';
! 	include( ABSPATH . 'wp-admin/admin-footer.php' );
  	exit;
  }
  
***************
*** 134,140 ****
  </div>
  <?php
  
! include( './admin-footer.php' );
  
  return;
  
--- 136,142 ----
  </div>
  <?php
  
! include( ABSPATH . 'wp-admin/admin-footer.php' );
  
  return;
  
***************
*** 157,161 ****
  __( 'Internationalization' );
  __( 'External Libraries' );
  __( 'Icon Design' );
- 
- ?>
--- 159,161 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/colors-classic.css ./wordpress-3.4/wp-admin/css/colors-classic.css
*** ./wordpress-3.3.2/wp-admin/css/colors-classic.css	2011-12-06 19:06:02.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/colors-classic.css	2012-06-01 20:58:27.000000000 -0500
***************
*** 1 ****
! html,.wp-dialog{background-color:#fff;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#D1E5EE;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#D1E5EE;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background-color:#f5fafd;background-image:-ms-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-moz-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-o-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f7fcfe),to(#eff8ff));background-image:-webkit-linear-gradient(top,#f7fcfe,#eff8ff);background-image:linear-gradient(top,#f7fcfe,#eff8ff);}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#D1E5EE;text-shadow:#fff 0 1px 0;-moz-box-shadow:0 1px 0 #fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#174f69;}.wrap .add-new-h2{background:#f1f1f1;}.subtitle{color:#777;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#f7fcfe;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}div.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#000;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff;}.post-com-count span{background-color:#bbb;color:#fff;}.post-com-count:hover span{background-color:#d54e21;}.quicktags,.search{background-color:#ccc;color:#000;}.side-info h5{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#D0DFE9;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat td{color:#555;}.widefat p,.widefat ol,.widefat ul{color:#333;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}.quicktags-toolbar input{background:#fff;background-image:-ms-linear-gradient(bottom,#e5f0f8,#fff);background-image:-moz-linear-gradient(bottom,#e5f0f8,#fff);background-image:-o-linear-gradient(bottom,#e5f0f8,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#e5f0f8),to(#fff));background-image:-webkit-linear-gradient(bottom,#e5f0f8,#fff)!important;background-image:linear-gradient(bottom,#e5f0f8,#fff);}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777;}.login #nav a,.login #backtoblog a{color:#21759b!important;}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#b0c8d7;}#media-items .media-item,.media-item .describe,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.welcome-panel{border-color:#d1e5ee;}.welcome-panel p{color:#777;}.welcome-panel-column p{color:#464646;}.welcome-panel h3{text-shadow:1px 1px 1px white;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#d1e5ee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px;}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background-color:#f7fcfe;}.postbox h3{color:#174f69;}.widget .widget-top{color:#174f69;}.sidebar-name:hover h3,.postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#d0dfe9 1px solid;}#wphead h1 a{color:#174f69;}#footer a:link,#footer a:visited{text-decoration:none;}#footer a:hover{color:#000;text-decoration:underline;}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#cfdfe9;background-color:#cfdfe9;background-image:url("../images/ed-bg-vs.gif?ver=20101102");}.quicktags-toolbar input{border-color:#b2c4c8;}.quicktags-toolbar input:hover{border-color:#d0dfe9;background:#f0f8fe;}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar{border-color:#d0dfe9;}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar *{color:#555;}#poststuff #editor-toolbar .active{border-color:#d0dfe9 #d0dfe9 #eff8ff;background-color:#eff8ff;color:#333;}#post-status-info{background-color:#eff8ff;}.wp-editor-wrap .wp_themeSkin *,.wp-editor-wrap .wp_themeSkin a:hover,.wp-editor-wrap .wp_themeSkin a:link,.wp-editor-wrap .wp_themeSkin a:visited,.wp-editor-wrap .wp_themeSkin a:active{color:#000;}.wp-editor-wrap .wp_themeSkin table.mceLayout{border-color:#bed1dd #bed1dd #d0dfe9;}#editorcontainer #content,#editorcontainer .wp-editor-wrap .wp_themeSkin .mceIframeContainer{-moz-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);-webkit-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);}.wp-editor-wrap .wp_themeSkin iframe{background:transparent;}.wp-editor-wrap .wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp-editor-wrap .wp_themeSkin .mceButton{border-color:#B0C8D7;background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp-editor-wrap .wp_themeSkin a.mceButtonEnabled:hover{border-color:#5589AA!important;background-color:#c9c9c9;background-image:-ms-linear-gradient(bottom,#bdccd5,#fff);background-image:-moz-linear-gradient(bottom,#bdccd5,#fff);background-image:-o-linear-gradient(bottom,#bdccd5,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#bdccd5),to(#fff));background-image:-webkit-linear-gradient(bottom,#bdccd5,#fff)!important;background-image:linear-gradient(bottom,#bdccd5,#fff);}.wp-editor-wrap .wp_themeSkin a.mceButton:active,.wp-editor-wrap .wp_themeSkin a.mceButtonEnabled:active,.wp-editor-wrap .wp_themeSkin a.mceButtonSelected:active,.wp-editor-wrap .wp_themeSkin a.mceButtonActive,.wp-editor-wrap .wp_themeSkin a.mceButtonActive:active,.wp-editor-wrap .wp_themeSkin a.mceButtonActive:hover{background:#B0C8D7!important;background-image:-ms-linear-gradient(bottom,#fff,#cfdfe9);background-image:-moz-linear-gradient(bottom,#fff,#cfdfe9);background-image:-o-linear-gradient(bottom,#fff,#cfdfe9);background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#cfdfe9));background-image:-webkit-linear-gradient(bottom,#fff,#cfdfe9)!important;background-image:linear-gradient(bottom,#fff,#cfdfe9);border-color:#5589AA!important;}.wp-editor-wrap .wp_themeSkin .mceButtonDisabled{border-color:#B0C8D7!important;}.wp-editor-wrap .wp_themeSkin .mceListBox .mceText,.wp-editor-wrap .wp_themeSkin .mceListBox .mceOpen{border-color:#B0C8D7;background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp-editor-wrap .wp_themeSkin .mceListBox .mceOpen{border-left:0!important;}.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxHover .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxHover:active .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxSelected .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxSelected .mceText,.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:active .mceText{background:#B0C8D7;border-color:#5589AA!important;}.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp-editor-wrap .wp_themeSkin .mceListBoxHover .mceText,.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxHover .mceOpen{border-color:#5589AA!important;background-color:#c9c9c9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp-editor-wrap .wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceAction,.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceOpen{border-color:#B0C8D7;}.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp-editor-wrap .wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp-editor-wrap .wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceAction:hover{border-color:#5589AA!important;}.wp-editor-wrap .wp_themeSkin table.mceSplitButton td{background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp-editor-wrap .wp_themeSkin table.mceSplitButton:hover td{background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp-editor-wrap .wp_themeSkin .mceSplitButtonActive{background-color:#B0C8D7;}.wp-editor-wrap .wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp-editor-wrap .wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.wp-editor-wrap .wp_themeSkin .mceColorSplitMenu a.mceMoreColors{border-color:#fff;}.wp-editor-wrap .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2;}.wp-editor-wrap .wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A;}.wp-editor-wrap .wp_themeSkin .mceMenu{border-color:#ddd;}.wp-editor-wrap .wp_themeSkin .mceMenu table{background-color:#ebeaeb;}.wp-editor-wrap .wp_themeSkin .mceMenu .mceText{color:#000;}.wp-editor-wrap .wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp-editor-wrap .wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5;}.wp-editor-wrap .wp_themeSkin td.mceMenuItemSeparator{background-color:#aaa;}.wp-editor-wrap .wp_themeSkin .mceMenuItemTitle a{background-color:#ccc;border-bottom-color:#aaa;}.wp-editor-wrap .wp_themeSkin .mceMenuItemTitle span.mceText{color:#000;}.wp-editor-wrap .wp_themeSkin .mceMenuItemDisabled .mceText{color:#888;}.wp-editor-wrap .wp_themeSkin tr.mceFirst td.mceToolbar{background:#cfdfe9 url("../images/ed-bg-vs.gif?ver=20101102") repeat-x scroll left top;border-color:#cfdfe9;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}.wp-editor-wrap .wp-switch-editor{background-color:#f5fafd;border-color:#d1e5ee #d1e5ee #d1e5ee;color:#999;}.wp-editor-wrap.tmce-active .switch-tmce,.wp-editor-wrap.html-active .switch-html{background-color:#eff8ff;border-color:#d1e5ee #d1e5ee #eff8ff;color:#333;}.wp-editor-wrap.quicktags-toolbar input{color:#464646;border-color:#d1e5ee;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff);}.wp-editor-wrap .quicktags-toolbar,.wp-editor-wrap.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #ccc;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:-o-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:-webkit-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:linear-gradient(bottom,#cfdfe9,#eff8ff);}.wp-editor-wrap .quicktags-toolbar input:hover{border-color:#aaa;background:#ddd;}.wp-editor-wrap.wp_themeSkin .mceButton,.wp-editor-wrap.wp_themeSkin .mceListBox .mceText,.wp-editor-wrap.wp_themeSkin .mceListBox .mceOpen{border-color:#ccc;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff);}.wp-editor-wrap.wp_themeSkin a.mceButtonEnabled:hover{border-color:#a0a0a0;background:#ddd;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff);background-image:linear-gradient(bottom,#cfdfe9,#fff);}#titlediv #title{border-color:#bdccd5;}#editorcontainer{border-color:#bdccd5 #bdccd5 #d0dfe9;}#post-status-info{border-color:#d0dfe9 #bdccd5 #bdccd5;}.editwidget .widget-inside{border-color:#d0dfe9;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenuback,#adminmenuwrap{background-color:#EFF8FF;border-color:#D1E5EE;}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y;}#adminmenu li.wp-menu-separator{background:#D1E5EE;border-color:#bed1dd;}#adminmenu div.separator{border-color:#D1E5EE;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark-vs.png) no-repeat -1px 6px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows-vs.png) no-repeat -2px 6px;}#adminmenu a.menu-top,.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#fff;border-bottom-color:#cae6ff;}#adminmenu li.wp-menu-open{border-color:#d1e5ee;}#adminmenu li.menu-top:hover>a,#adminmenu li.menu-top.focused>a,#adminmenu li.menu-top>a:focus{background-color:#e0f1ff;text-shadow:0 1px 0 rgba(255,255,255,0.4);}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#5589AA;background-image:-ms-linear-gradient(bottom,#5589AA,#619bbb);background-image:-moz-linear-gradient(bottom,#5589AA,#619bbb);background-image:-o-linear-gradient(bottom,#5589AA,#619bbb);background-image:-webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589AA,#619bbb);background-image:linear-gradient(bottom,#5589AA,#619bbb);}#adminmenu .wp-menu-arrow div{background-color:#5589AA;background-image:-ms-linear-gradient(right bottom,#5589AA,#619bbb);background-image:-moz-linear-gradient(right bottom,#5589AA,#619bbb);background-image:-o-linear-gradient(right bottom,#5589AA,#619bbb);background-image:-webkit-gradient(linear,right bottom,left top,from(#5589AA),to(#619bbb));background-image:-webkit-linear-gradient(right bottom,#5589AA,#619bbb);background-image:linear-gradient(right bottom,#5589AA,#619bbb);}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#fff;border-bottom-color:#cae6ff;background:#e0f1ff;}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e0f1ff;border-color:#cae6ff;}.folded #adminmenu li.menu-top li:hover a{background-image:none;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#5A8FAD;border-bottom-color:#5589AA;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#5A8FAD;border-bottom-color:#5589AA;}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#EFF8FF;color:#333;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;}#adminmenu .wp-submenu ul{background-color:#fff;}#adminmenu .wp-submenu-wrap,#adminmenu .wp-submenu ul{border-color:#d0dfe9;}#adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4);}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:#e8eff4;background-color:#EFF8FF;}#adminmenu div.wp-submenu{background-color:transparent;}#collapse-menu{color:#A0C3D5;}#collapse-menu:hover{color:#5A8FAD;}#collapse-button{border-color:#d0dfe9;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff);}#collapse-menu:hover #collapse-button{border-color:#A0C3D5;}#collapse-button div{background:transparent url(../images/arrows-vs.png) no-repeat 0 -72px;}.folded #collapse-button div{background-position:0 -108px;}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -60px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -60px -1px;}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -271px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -271px -1px;}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -120px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -120px -1px;}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -90px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -90px -1px;}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -150px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -150px -1px;}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -30px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -30px -1px;}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll 0 -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll 0 -1px;}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -180px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -180px -1px;}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -300px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -300px -1px;}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -210px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -210px -1px;}.icon16.icon-settings,#icon-options-general,#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -240px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -240px -1px;}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -360px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -360px -1px;}.icon32.icon-post,#icon-edit,#icon-post{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -552px -5px;}.icon32.icon-dashboard,#icon-index{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -137px -5px;}.icon32.icon-media,#icon-upload{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -251px -5px;}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -190px -5px;}.icon32.icon-page,#icon-edit-pages,#icon-page{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -312px -5px;}.icon32.icon-comments,#icon-edit-comments{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -72px -5px;}.icon32.icon-appearance,#icon-themes{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -11px -5px;}.icon32.icon-plugins,#icon-plugins{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -370px -5px;}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -600px -5px;}.icon32.icon-tools,#icon-tools,#icon-admin{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -432px -5px;}.icon32.icon-settings,#icon-options-general{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -492px -5px;}.icon32.icon-site,#icon-ms-admin{background:transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -659px -5px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-meta{background-color:#EFF8FF;border-color:#D1E5EE;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.05);}#contextual-help-back{background:#fff;}.contextual-help-tabs a:hover{background-color:#ceeaff;color:#333;}#contextual-help-back,.contextual-help-tabs .active{border-color:#D1E5EE;}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#000;}#screen-options-link-wrap,#contextual-help-link-wrap{background-color:#eff8ff;border-right:1px solid #D1E5EE;border-left:1px solid #D1E5EE;border-bottom:1px solid #D1E5EE;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff);}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#screen-meta-links a.show-settings{background:transparent url(../images/arrows.png) no-repeat right 3px;}#screen-meta-links a.show-settings.screen-meta-active{background:transparent url(../images/arrows.png) no-repeat right -33px;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}div.star img{border-left:1px solid #fff;border-right:1px solid #fff;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-vs.gif?ver=20101102') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21;}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-top-color:#fff;border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo-vs.png?ver=20101102) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f7fcfe;border-color:#d0dfe9;}#available-widgets .widget-holder{background-color:#f7fcfe;border-color:#d0dfe9;}#available-widgets .widget-description{color:#555;}.sidebar-name{color:#464646;background-color:#f7fcfe;background-image:-ms-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:-moz-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:-o-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:-webkit-gradient(linear,left top,left bottom,from(#ECF8FE),to(#f7fcfe));background-image:-webkit-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:linear-gradient(top,#ECF8FE,#f7fcfe);text-shadow:#fff 0 1px 0;border-color:#d0dfe9;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}.sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px;}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#menu-management .menu-edit{border-color:#d0dfe9;}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#d0dfe9;}#nav-menu-header{border-bottom-color:#d0dfe9;}#nav-menu-footer{border-top-color:#fff;}#menu-management .nav-tabs-arrow a{color:#C1C1C1;}#menu-management .nav-tabs-arrow a:hover{color:#D54E21;}#menu-management .nav-tabs-arrow a:active{color:#464646;}#menu-management .nav-tab-active{border-color:#dfdfdf;}#menu-management .nav-tab{background:#f7fcfe;border-color:#d0dfe9;}.js .input-with-default-title{color:#aaa;}#cancel-save{color:#f00;}#cancel-save:hover{background-color:#F00;color:#fff;}.list-container{border-color:#dfdfdf;}.menu-item-handle{border-color:#d0dfe9;}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc;}.item-type{color:#999;}.item-controls .menu-item-delete:hover{color:#f00;}.nav-menus-php .item-edit{background:transparent url(../images/arrows-vs.png) no-repeat 8px 10px;border-bottom-color:#eff8ff;}.item-edit:hover{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 10px;}.menu-item-settings{border-color:#d0dfe9;}.link-to-original{color:#777;border-color:#d0dfe9;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.submitbox .submitcancel{color:#21759B;border-bottom-color:#21759B;}.submitbox .submitcancel:hover{background:#21759B;color:#fff;}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}#menu-management .nav-tab-active{background:#eff8ff;border-bottom-color:#eff8ff;}#upload-form label{color:#777;}.fullscreen-overlay{background:#fff;}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#BED1DD;}#fullscreen-topbar{border-bottom-color:#D1E5EE;}.about-wrap h1{color:#333;text-shadow:1px 1px 1px white;}.about-text{color:#777;}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,0.3);}.about-wrap h2 .nav-tab{color:#21759B;}.about-wrap h2 .nav-tab:hover{color:#d54e21;}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333;}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px white;color:#464646;}.about-wrap h3{color:#333;text-shadow:1px 1px 1px white;}.about-wrap .feature-section h4{color:#464646;}.about-wrap .feature-section img{background:#fff;border-color:#dfdfdf;-moz-box-shadow:0 0 6px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 6px rgba(0,0,0,0.3);box-shadow:0 0 6px rgba(0,0,0,0.3);}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf;}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf;}.about-wrap .point-releases h3:first-child{border:0;}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px white;}.about-wrap li.wp-person img.gravatar{-moz-box-shadow:0 0 4px rgba(0,0,0,0.4);-webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);box-shadow:0 0 4px rgba(0,0,0,0.4);}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px white;}.freedoms-php .about-wrap ol li{color:#999;}.freedoms-php .about-wrap ol p{color:#464646;}.rtl .bar{border-right-color:none;border-left-color:#99d;}.rtl .post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}.rtl #screen-meta-links a.show-settings{background-position:left 3px;}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px;}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left;}.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 6px;}.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows-vs.png) no-repeat 8px 6px;}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:none;border-left-color:#d1e5ee;}.rtl #adminmenu .wp-submenu-wrap,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4);}.rtl #collapse-button div{background-position:0 -108px;}.rtl.folded #collapse-button div{background-position:0 -72px;}.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px;}.rtl .tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-rtl-vs.gif?ver=20100610') repeat-x scroll right -379px;}.rtl #post-body .misc-pub-section{border-right-color:none;border-left-color:#d1e5ee;}.rtl .sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px;}.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px;}
\ No newline at end of file
--- 1 ----
! html,.wp-dialog{background-color:#fff}* html input,* html .widget{border-color:#dfdfdf}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{border-color:#dfdfdf;background-color:#fff;color:#333}select{color:#000}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="button"]:focus,input[type="submit"]:focus,input[type="reset"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="url"]:focus,select:focus{border-color:#d1e5ee}kbd,code{background:#eaeaea}input[readonly]{background-color:#eee}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1}.find-box{background-color:#f1f1f1}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#d1e5ee}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff}.widefat{border-color:#d1e5ee;background-color:#fff}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff}input.disabled,textarea.disabled{background-color:#ccc}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background-color:#f5fafd;background-image:-ms-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-moz-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-o-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f7fcfe),to(#eff8ff));background-image:-webkit-linear-gradient(top,#f7fcfe,#eff8ff);background-image:linear-gradient(top,#f7fcfe,#eff8ff)}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#d1e5ee;text-shadow:#fff 0 1px 0;-moz-box-shadow:0 1px 0 #fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#21759b}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.wrap h2{color:#174f69}.wrap .add-new-h2{background:#f1f1f1}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:#808080}.ac_results li{color:#101010}.alternate,.alt{background-color:#f7fcfe}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd}.bar{background-color:#e8e8e8;border-right-color:#99d}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00}div.error a{color:#c00}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit,#commentsdiv #add-new-comment{border-color:#dfdfdf}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{background-color:#eff8ff;border-color:#d1e5ee}.ui-autocomplete li a.ui-state-hover{background-color:#def1ff}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#d54e21}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759b url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9fd0d5!important;background:#298cba!important}a:hover,a:active,a:focus{color:#d54e21}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}.submitbox .submit{background-color:#464646;color:#ccc}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#d0dfe9}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0}.widefat td{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}#plugin-information .action-button{background-color:#d54e21;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9}input.readonly,textarea.readonly{background-color:#ddd}.quicktags-toolbar input{background:#fff;background-image:-ms-linear-gradient(bottom,#e5f0f8,#fff);background-image:-moz-linear-gradient(bottom,#e5f0f8,#fff);background-image:-o-linear-gradient(bottom,#e5f0f8,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#e5f0f8),to(#fff));background-image:-webkit-linear-gradient(bottom,#e5f0f8,#fff)!important;background-image:linear-gradient(bottom,#e5f0f8,#fff)}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.login #nav a,.login #backtoblog a{color:#21759b!important}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important}#footer{color:#777;border-color:#b0c8d7}#media-items .media-item,.media-item .describe,.imgedit-group{border-color:#dfdfdf}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf}.plugins .active,.plugins .active th,.plugins .active td{color:#000}.plugins .inactive a{color:#579}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved{background-color:#ffffe0}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b}.welcome-panel{border-color:#d1e5ee}.welcome-panel p{color:#777}.welcome-panel-column p{color:#464646}.welcome-panel h3{text-shadow:1px 1px 1px white}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#d1e5ee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background-color:#f7fcfe}.postbox h3{color:#174f69}.widget .widget-top{color:#174f69}.sidebar-name:hover h3,.postbox h3:hover{color:#000}.curtime #timestamp{background-image:url(../images/date-button.gif)}#quicktags #ed_link{color:#00f}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555}.login #backtoblog a{color:#464646}#wphead{border-bottom:#d0dfe9 1px solid}#wphead h1 a{color:#174f69}#footer a:link,#footer a:visited{text-decoration:none}#footer a:hover{color:#000;text-decoration:underline}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}#quicktags{border-color:#cfdfe9;background-color:#cfdfe9;background-image:url("../images/ed-bg-vs.gif?ver=20101102")}.quicktags-toolbar input{border-color:#b2c4c8}.quicktags-toolbar input:hover{border-color:#d0dfe9;background:#f0f8fe}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar{border-color:#d0dfe9}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar *{color:#555}#poststuff #editor-toolbar .active{border-color:#d0dfe9 #d0dfe9 #eff8ff;background-color:#eff8ff;color:#333}#post-status-info{background-color:#eff8ff}.wp-editor-wrap .wp_themeSkin *,.wp-editor-wrap .wp_themeSkin a:hover,.wp-editor-wrap .wp_themeSkin a:link,.wp-editor-wrap .wp_themeSkin a:visited,.wp-editor-wrap .wp_themeSkin a:active{color:#000}.wp-editor-wrap .wp_themeSkin table.mceLayout{border-color:#bed1dd #bed1dd #d0dfe9}#editorcontainer #content,#editorcontainer .wp-editor-wrap .wp_themeSkin .mceIframeContainer{-moz-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);-webkit-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1)}.wp-editor-wrap .wp_themeSkin iframe{background:transparent}.wp-editor-wrap .wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5}.wp-editor-wrap .wp_themeSkin .mceButton{border-color:#b0c8d7;background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff)}.wp-editor-wrap .wp_themeSkin a.mceButtonEnabled:hover{border-color:#5589aa!important;background-color:#c9c9c9;background-image:-ms-linear-gradient(bottom,#bdccd5,#fff);background-image:-moz-linear-gradient(bottom,#bdccd5,#fff);background-image:-o-linear-gradient(bottom,#bdccd5,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#bdccd5),to(#fff));background-image:-webkit-linear-gradient(bottom,#bdccd5,#fff)!important;background-image:linear-gradient(bottom,#bdccd5,#fff)}.wp-editor-wrap .wp_themeSkin a.mceButton:active,.wp-editor-wrap .wp_themeSkin a.mceButtonEnabled:active,.wp-editor-wrap .wp_themeSkin a.mceButtonSelected:active,.wp-editor-wrap .wp_themeSkin a.mceButtonActive,.wp-editor-wrap .wp_themeSkin a.mceButtonActive:active,.wp-editor-wrap .wp_themeSkin a.mceButtonActive:hover{background:#b0c8d7!important;background-image:-ms-linear-gradient(bottom,#fff,#cfdfe9);background-image:-moz-linear-gradient(bottom,#fff,#cfdfe9);background-image:-o-linear-gradient(bottom,#fff,#cfdfe9);background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#cfdfe9));background-image:-webkit-linear-gradient(bottom,#fff,#cfdfe9)!important;background-image:linear-gradient(bottom,#fff,#cfdfe9);border-color:#5589aa!important}.wp-editor-wrap .wp_themeSkin .mceButtonDisabled{border-color:#b0c8d7!important}.wp-editor-wrap .wp_themeSkin .mceListBox .mceText,.wp-editor-wrap .wp_themeSkin .mceListBox .mceOpen{border-color:#b0c8d7;background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff)}.wp-editor-wrap .wp_themeSkin .mceListBox .mceOpen{border-left:0!important}.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxHover .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxHover:active .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxSelected .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxSelected .mceText,.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:active .mceText{background:#b0c8d7;border-color:#5589aa!important}.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp-editor-wrap .wp_themeSkin .mceListBoxHover .mceText,.wp-editor-wrap .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp-editor-wrap .wp_themeSkin .mceListBoxHover .mceOpen{border-color:#5589aa!important;background-color:#c9c9c9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff)}.wp-editor-wrap .wp_themeSkin select.mceListBox{border-color:#b2b2b2;background-color:#fff}.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceAction,.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceOpen{border-color:#b0c8d7}.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp-editor-wrap .wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp-editor-wrap .wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp-editor-wrap .wp_themeSkin .mceSplitButton a.mceAction:hover{border-color:#5589aa!important}.wp-editor-wrap .wp_themeSkin table.mceSplitButton td{background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff)}.wp-editor-wrap .wp_themeSkin table.mceSplitButton:hover td{background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff)}.wp-editor-wrap .wp_themeSkin .mceSplitButtonActive{background-color:#b0c8d7}.wp-editor-wrap .wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#b2b2b2}.wp-editor-wrap .wp_themeSkin .mceColorSplitMenu a{border-color:#b2b2b2}.wp-editor-wrap .wp_themeSkin .mceColorSplitMenu a.mceMoreColors{border-color:#fff}.wp-editor-wrap .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0a246a;background-color:#b6bdd2}.wp-editor-wrap .wp_themeSkin a.mceMoreColors:hover{border-color:#0a246a}.wp-editor-wrap .wp_themeSkin .mceMenu{border-color:#ddd}.wp-editor-wrap .wp_themeSkin .mceMenu table{background-color:#ebeaeb}.wp-editor-wrap .wp_themeSkin .mceMenu .mceText{color:#000}.wp-editor-wrap .wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp-editor-wrap .wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5}.wp-editor-wrap .wp_themeSkin td.mceMenuItemSeparator{background-color:#aaa}.wp-editor-wrap .wp_themeSkin .mceMenuItemTitle a{background-color:#ccc;border-bottom-color:#aaa}.wp-editor-wrap .wp_themeSkin .mceMenuItemTitle span.mceText{color:#000}.wp-editor-wrap .wp_themeSkin .mceMenuItemDisabled .mceText{color:#888}.wp-editor-wrap .wp_themeSkin tr.mceFirst td.mceToolbar{background:#cfdfe9 url("../images/ed-bg-vs.gif?ver=20101102") repeat-x scroll left top;border-color:#cfdfe9}.wp-admin #mceModalBlocker{background:#000}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5}.wp-editor-wrap .wp-switch-editor{background-color:#f5fafd;border-color:#d1e5ee #d1e5ee #d1e5ee;color:#999}.wp-editor-wrap.tmce-active .switch-tmce,.wp-editor-wrap.html-active .switch-html{background-color:#eff8ff;border-color:#d1e5ee #d1e5ee #eff8ff;color:#333}.wp-editor-wrap.quicktags-toolbar input{color:#464646;border-color:#d1e5ee;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff)}.wp-editor-wrap .quicktags-toolbar,.wp-editor-wrap.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #ccc;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:-o-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:-webkit-linear-gradient(bottom,#cfdfe9,#eff8ff);background-image:linear-gradient(bottom,#cfdfe9,#eff8ff)}.wp-editor-wrap .quicktags-toolbar input:hover{border-color:#aaa;background:#ddd}.wp-editor-wrap.wp_themeSkin .mceButton,.wp-editor-wrap.wp_themeSkin .mceListBox .mceText,.wp-editor-wrap.wp_themeSkin .mceListBox .mceOpen{border-color:#ccc;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff)}.wp-editor-wrap.wp_themeSkin a.mceButtonEnabled:hover{border-color:#a0a0a0;background:#ddd;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff);background-image:linear-gradient(bottom,#cfdfe9,#fff)}#titlediv #title{border-color:#bdccd5}#editorcontainer{border-color:#bdccd5 #bdccd5 #d0dfe9}#post-status-info{border-color:#d0dfe9 #bdccd5 #bdccd5}.editwidget .widget-inside{border-color:#d0dfe9}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap{background-color:#eff8ff;border-color:#d1e5ee}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y}#adminmenu li.wp-menu-separator{background:#d1e5ee;border-color:#bed1dd}#adminmenu div.separator{border-color:#d1e5ee}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark-vs.png) no-repeat -1px 6px}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows-vs.png) no-repeat -2px 6px}#adminmenu a.menu-top,.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#fff;border-bottom-color:#cae6ff}#adminmenu li.wp-menu-open{border-color:#d1e5ee}#adminmenu li.menu-top:hover>a,#adminmenu li.menu-top.focused>a,#adminmenu li.menu-top>a:focus{background-color:#e0f1ff;text-shadow:0 1px 0 rgba(255,255,255,0.4)}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#5589aa;background-image:-ms-linear-gradient(bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom,#5589aa,#619bbb);background-image:-webkit-gradient(linear,left bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589aa,#619bbb);background-image:linear-gradient(bottom,#5589aa,#619bbb)}#adminmenu .wp-menu-arrow div{background-color:#5589aa;background-image:-ms-linear-gradient(right bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(right bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(right bottom,#5589aa,#619bbb);background-image:-webkit-gradient(linear,right bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(right bottom,#5589aa,#619bbb);background-image:linear-gradient(right bottom,#5589aa,#619bbb)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#fff;border-bottom-color:#cae6ff;background:#e0f1ff}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e0f1ff;border-color:#cae6ff}.folded #adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#5a8fad;border-bottom-color:#5589aa}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#5a8fad;border-bottom-color:#5589aa}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#eff8ff;color:#333}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333}#adminmenu .wp-submenu ul{background-color:#fff}#adminmenu .wp-submenu-wrap,#adminmenu .wp-submenu ul{border-color:#d0dfe9}#adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4)}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:#e8eff4;background-color:#eff8ff}#adminmenu div.wp-submenu{background-color:transparent}#collapse-menu{color:#a0c3d5}#collapse-menu:hover{color:#5a8fad}#collapse-button{border-color:#d0dfe9;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff)}#collapse-menu:hover #collapse-button{border-color:#a0c3d5}#collapse-button div{background:transparent url(../images/arrows-vs.png) no-repeat 0 -72px}.folded #collapse-button div{background-position:0 -108px}@media only screen and (max-width:900px){#adminmenu li.menu-top{border-top-color:#fff;border-bottom-color:#cae6ff}#adminmenu li.wp-has-current-submenu,#adminmenu li.current.menu-top{background-color:#5589aa;background-image:-ms-linear-gradient(bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom,#5589aa,#619bbb);background-image:-webkit-gradient(linear,left bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589aa,#619bbb);background-image:linear-gradient(bottom,#5589aa,#619bbb)}#adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu,#adminmenu li.current.menu-top{border-top-color:#5a8fad;border-bottom-color:#5589aa}#adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4)}#collapse-button div{background-position:0 -108px}}.icon16,.icon32,div.wp-menu-image{background-color:transparent;background-repeat:no-repeat}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image{background-image:url('../images/menu-vs.png?ver=20120201')}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background-position:-59px -33px}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background-position:-59px -1px}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background-position:-269px -33px}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-post.current div.wp-menu-image{background-position:-269px -1px}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background-position:-119px -33px}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-media.current div.wp-menu-image{background-position:-119px -1px}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background-position:-89px -33px}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-links.current div.wp-menu-image{background-position:-89px -1px}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background-position:-149px -33px}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-page.current div.wp-menu-image{background-position:-149px -1px}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background-position:-29px -33px}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background-position:-29px -1px}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background-position:1px -33px}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-appearance.current div.wp-menu-image{background-position:1px -1px}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background-position:-179px -33px}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-plugins.current div.wp-menu-image{background-position:-179px -1px}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background-position:-300px -33px}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background-position:-300px -1px}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background-position:-209px -33px}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background-position:-209px -1px}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background-position:-239px -33px}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-settings.current div.wp-menu-image{background-position:-239px -1px}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background-position:-359px -33px}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-site.current div.wp-menu-image{background-position:-359px -1px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin{background-image:url(../images/icons32-vs.png?ver=20111206)}.icon32.icon-post,#icon-edit,#icon-post{background-position:-552px -5px}.icon32.icon-dashboard,#icon-index{background-position:-137px -5px}.icon32.icon-media,#icon-upload{background-position:-251px -5px}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background-position:-190px -5px}.icon32.icon-page,#icon-edit-pages,#icon-page{background-position:-312px -5px}.icon32.icon-comments,#icon-edit-comments{background-position:-72px -5px}.icon32.icon-appearance,#icon-themes{background-position:-11px -5px}.icon32.icon-plugins,#icon-plugins{background-position:-370px -5px}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background-position:-600px -5px}.icon32.icon-tools,#icon-tools,#icon-admin{background-position:-432px -5px}.icon32.icon-settings,#icon-options-general{background-position:-492px -5px}.icon32.icon-site,#icon-ms-admin{background-position:-659px -5px}@media only screen and (-webkit-min-device-pixel-ratio:1.5){.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin{background-image:url(../images/icons32-vs-2x.png?ver=20120412);background-size:708px 45px}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image{background-image:url('../images/menu-2x.png?ver=20120412');background-size:390px 64px}}table.diff .diff-deletedline{background-color:#fdd}table.diff .diff-deletedline del{background-color:#f99}table.diff .diff-addedline{background-color:#dfd}table.diff .diff-addedline ins{background-color:#9f9}#att-info{background-color:#e4f2fd}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21}#screen-meta{background-color:#eff8ff;border-color:#d1e5ee;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.05)}#contextual-help-back{background:#fff}.contextual-help-tabs a:hover{background-color:#ceeaff;color:#333}#contextual-help-back,.contextual-help-tabs .active{border-color:#d1e5ee}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#000}#screen-options-link-wrap,#contextual-help-link-wrap{background-color:#eff8ff;border-right:1px solid #d1e5ee;border-left:1px solid #d1e5ee;border-bottom:1px solid #d1e5ee;background-image:-ms-linear-gradient(bottom,#eff8ff,#eff8ff);background-image:-moz-linear-gradient(bottom,#def1ff,#eff8ff);background-image:-o-linear-gradient(bottom,#def1ff,#eff8ff);background-image:-webkit-gradient(linear,left bottom,left top,from(#def1ff),to(#eff8ff));background-image:-webkit-linear-gradient(bottom,#def1ff,#eff8ff);background-image:linear-gradient(bottom,#def1ff,#eff8ff)}#screen-meta-links a.show-settings{color:#606060}#screen-meta-links a.show-settings:hover{color:#000}#screen-meta-links a.show-settings{background:transparent url(../images/arrows-vs.png) no-repeat right 4px}#screen-meta-links a.show-settings.screen-meta-active{background:transparent url(../images/arrows-vs.png) no-repeat right -31px}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border:1px solid #ccc}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#d54e21}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-vs.gif?ver=20101102') repeat-x scroll left -379px}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{border-top-color:#fff;border-bottom-color:#eee}#minor-publishing{border-bottom-color:#ddd}#post-body .misc-pub-section{border-left-color:#eee}.post-com-count span{background-color:#bbb}.form-table .color-palette td{border-color:#fff}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0}#header-logo{background:transparent url(../images/wp-logo-vs.png?ver=20101102) no-repeat scroll center center}.popular-tags,.feature-filter{background-color:#fff;border-color:#dfdfdf}div.widgets-sortables,#widgets-left .inactive{background-color:#f7fcfe;border-color:#d0dfe9}#available-widgets .widget-holder{background-color:#f7fcfe;border-color:#d0dfe9}#available-widgets .widget-description{color:#555}.sidebar-name{color:#464646;background-color:#f7fcfe;background-image:-ms-linear-gradient(top,#ecf8fe,#f7fcfe);background-image:-moz-linear-gradient(top,#ecf8fe,#f7fcfe);background-image:-o-linear-gradient(top,#ecf8fe,#f7fcfe);background-image:-webkit-gradient(linear,left top,left bottom,from(#ecf8fe),to(#f7fcfe));background-image:-webkit-linear-gradient(top,#ecf8fe,#f7fcfe);background-image:linear-gradient(top,#ecf8fe,#f7fcfe);text-shadow:#fff 0 1px 0;border-color:#d0dfe9;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.sidebar-name:hover,#removing-widget{color:#d54e21}#removing-widget span{color:black}.sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px}.in-widget-title{color:#606060}.deleting .widget-title *{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf}.comment-ays,.comment-ays th{border-color:#ddd}.comment-ays th{background-color:#f1f1f1}#menu-management .menu-edit{border-color:#d0dfe9}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#d0dfe9}#nav-menu-header{border-bottom-color:#d0dfe9}#nav-menu-footer{border-top-color:#fff}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#d54e21}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#f7fcfe;border-color:#d0dfe9}.js .input-with-default-title{color:#aaa}#cancel-save{color:#f00}#cancel-save:hover{background-color:#f00;color:#fff}.list-container{border-color:#dfdfdf}.menu-item-handle{border-color:#d0dfe9}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc}.item-type{color:#999}.item-controls .menu-item-delete:hover{color:#f00}.nav-menus-php .item-edit{background:transparent url(../images/arrows-vs.png) no-repeat 8px 10px;border-bottom-color:#eff8ff}.item-edit:hover{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 10px}.menu-item-settings{border-color:#d0dfe9}.link-to-original{color:#777;border-color:#d0dfe9}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#21759b;border-bottom-color:#21759b}.submitbox .submitcancel:hover{background:#21759b;color:#fff}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}#menu-management .nav-tab-active{background:#eff8ff;border-bottom-color:#eff8ff}#upload-form label{color:#777}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#bed1dd}#fullscreen-topbar{border-bottom-color:#d1e5ee}.about-wrap h1{color:#333;text-shadow:1px 1px 1px white}.about-text{color:#777}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,0.3)}.about-wrap h2 .nav-tab{color:#21759b}.about-wrap h2 .nav-tab:hover{color:#d54e21}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px white;color:#464646}.about-wrap h3{color:#333;text-shadow:1px 1px 1px white}.about-wrap .feature-section h4{color:#464646}.about-wrap .feature-section img{background:#fff;border:1px #ccc solid;-moz-box-shadow:0 1px 3px rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.3);box-shadow:0 1px 3px rgba(0,0,0,0.3)}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf}.about-wrap .point-releases h3:first-child{border:0}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px white}.about-wrap li.wp-person img.gravatar{-moz-box-shadow:0 0 4px rgba(0,0,0,0.4);-webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);box-shadow:0 0 4px rgba(0,0,0,0.4)}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px white}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.rtl .bar{border-right-color:none;border-left-color:#99d}.rtl .post-com-count{background-image:url(../images/bubble_bg-rtl.gif)}.rtl #screen-meta-links a.show-settings{background-position:left 3px}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left}.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 6px}.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows-vs.png) no-repeat 8px 6px}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:none;border-left-color:#d1e5ee}.rtl #adminmenu .wp-submenu-wrap,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl #collapse-button div{background-position:0 -108px}.rtl.folded #collapse-button div{background-position:0 -72px}@media only screen and (max-width:900px){.rtl #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl #collapse-button div{background-position:0 -72px}}.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px}.rtl .tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-rtl-vs.gif?ver=20100610') repeat-x scroll right -379px}.rtl #post-body .misc-pub-section{border-right-color:none;border-left-color:#d1e5ee}.rtl .sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px}.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/colors-classic.dev.css ./wordpress-3.4/wp-admin/css/colors-classic.dev.css
*** ./wordpress-3.3.2/wp-admin/css/colors-classic.dev.css	2011-12-06 18:37:34.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/colors-classic.dev.css	2012-06-01 20:16:35.000000000 -0500
***************
*** 45,50 ****
--- 45,71 ----
  select {
  	border-color: #dfdfdf;
  	background-color: #fff;
+ 	color: #333;
+ }
+ 
+ select {
+ 	color: #000;
+ }
+ 
+ textarea:focus,
+ input[type="text"]:focus,
+ input[type="password"]:focus,
+ input[type="file"]:focus,
+ input[type="button"]:focus,
+ input[type="submit"]:focus,
+ input[type="reset"]:focus,
+ input[type="email"]:focus,
+ input[type="number"]:focus,
+ input[type="search"]:focus,
+ input[type="tel"]:focus,
+ input[type="url"]:focus,
+ select:focus {
+ 	border-color: #d1e5ee;
  }
  
  kbd,
***************
*** 75,81 ****
  
  body,
  #wpbody,
! .form-table .pre {
  	color: #333;
  }
  
--- 96,103 ----
  
  body,
  #wpbody,
! .form-table .pre,
! .ui-autocomplete li a {
  	color: #333;
  }
  
***************
*** 136,141 ****
--- 158,167 ----
  	border-top-color: #ccc;
  }
  
+ ul.category-tabs li {
+ 	border-color: transparent;
+ }
+ 
  div.tabs-panel,
  .wp-tab-panel,
  ul.category-tabs li.tabs,
***************
*** 287,294 ****
  	border-color: #c00 !important;
  }
  
! .submit {
! 	border-color: #DFDFDF;
  }
  
  .highlight {
--- 313,321 ----
  	border-color: #c00 !important;
  }
  
! .submit,
! #commentsdiv #add-new-comment {
! 	border-color: #dfdfdf;
  }
  
  .highlight {
***************
*** 309,314 ****
--- 336,350 ----
  	color: #9a9a9a;
  }
  
+ .ui-autocomplete {
+ 	background-color: #eff8ff;
+ 	border-color: #d1e5ee;
+ }
+ 
+ .ui-autocomplete li a.ui-state-hover {
+ 	background-color: #def1ff;
+ }
+ 
  .post-com-count {
  	background-image: url(../images/bubble_bg.gif);
  	color: #fff;
***************
*** 1408,1609 ****
  	background-position: 0 -108px;
  }
  
  /* menu and screen icons */
  .icon16.icon-dashboard,
  #adminmenu .menu-icon-dashboard div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -60px -33px;
  }
  
  #adminmenu .menu-icon-dashboard:hover div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.current div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -60px -1px;
  }
  
  .icon16.icon-post,
  #adminmenu .menu-icon-post div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -271px -33px;
  }
  
  #adminmenu .menu-icon-post:hover div.wp-menu-image,
! #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -271px -1px;
  }
  
  .icon16.icon-media,
  #adminmenu .menu-icon-media div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -120px -33px;
  }
  
  #adminmenu .menu-icon-media:hover div.wp-menu-image,
! #adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -120px -1px;
  }
  
  .icon16.icon-links,
  #adminmenu .menu-icon-links div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -90px -33px;
  }
  
  #adminmenu .menu-icon-links:hover div.wp-menu-image,
! #adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -90px -1px;
  }
  
  .icon16.icon-page,
  #adminmenu .menu-icon-page div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -150px -33px;
  }
  
  #adminmenu .menu-icon-page:hover div.wp-menu-image,
! #adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -150px -1px;
  }
  
  .icon16.icon-comments,
  #adminmenu .menu-icon-comments div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -30px -33px;
  }
  
  #adminmenu .menu-icon-comments:hover div.wp-menu-image,
  #adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-comments.current div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -30px -1px;
  }
  
  .icon16.icon-appearance,
  #adminmenu .menu-icon-appearance div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll 0 -33px;
  }
  
  #adminmenu .menu-icon-appearance:hover div.wp-menu-image,
! #adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll 0 -1px;
  }
  
  .icon16.icon-plugins,
  #adminmenu .menu-icon-plugins div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -180px -33px;
  }
  
  #adminmenu .menu-icon-plugins:hover div.wp-menu-image,
! #adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -180px -1px;
  }
  
  .icon16.icon-users,
  #adminmenu .menu-icon-users div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -300px -33px;
  }
  
  #adminmenu .menu-icon-users:hover div.wp-menu-image,
  #adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-users.current div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -300px -1px;
  }
  
  .icon16.icon-tools,
  #adminmenu .menu-icon-tools div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -210px -33px;
  }
  
  #adminmenu .menu-icon-tools:hover div.wp-menu-image,
  #adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-tools.current div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -210px -1px;
  }
  
  .icon16.icon-settings,
- #icon-options-general,
  #adminmenu .menu-icon-settings div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -240px -33px;
  }
  
  #adminmenu .menu-icon-settings:hover div.wp-menu-image,
! #adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -240px -1px;
  }
  
  .icon16.icon-site,
  #adminmenu .menu-icon-site div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -360px -33px;
  }
  
  #adminmenu .menu-icon-site:hover div.wp-menu-image,
! #adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu-vs.png?ver=20111128') no-repeat scroll -360px -1px;
  }
  /* end menu and screen icons */
  
  /* Screen Icons */
  .icon32.icon-post,
  #icon-edit,
  #icon-post {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -552px -5px;
  }
  
  .icon32.icon-dashboard,
  #icon-index {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -137px -5px;
  }
  
  .icon32.icon-media,
  #icon-upload {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -251px -5px;
  }
  
  .icon32.icon-links,
  #icon-link-manager,
  #icon-link,
  #icon-link-category {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -190px -5px;
  }
  
  .icon32.icon-page,
  #icon-edit-pages,
  #icon-page {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -312px -5px;
  }
  
  .icon32.icon-comments,
  #icon-edit-comments {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -72px -5px;
  }
  
  .icon32.icon-appearance,
  #icon-themes {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -11px -5px;
  }
  
  .icon32.icon-plugins,
  #icon-plugins {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -370px -5px;
  }
  
  .icon32.icon-users,
  #icon-users,
  #icon-profile,
  #icon-user-edit {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -600px -5px;
  }
  
  .icon32.icon-tools,
  #icon-tools,
  #icon-admin {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -432px -5px;
  }
  
  .icon32.icon-settings,
  #icon-options-general {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -492px -5px;
  }
  
  .icon32.icon-site,
  #icon-ms-admin {
! 	background: transparent url(../images/icons32-vs.png?ver=20111206) no-repeat -659px -5px;
  }
- /* end screen icons */
  
  
  /* Diff */
  table.diff .diff-deletedline {
--- 1443,1822 ----
  	background-position: 0 -108px;
  }
  
+ /* Auto-folding of the admin menu */
+ @media only screen and (max-width: 900px) {
+ 	#adminmenu li.menu-top {
+ 		border-top-color: #ffffff;
+ 		border-bottom-color: #cae6ff;
+ 	}
+ 
+ 	#adminmenu li.wp-has-current-submenu,
+ 	#adminmenu li.current.menu-top {
+ 		background-color: #5589AA; /* Fallback */
+ 		background-image: -ms-linear-gradient(bottom, #5589AA, #619bbb); /* IE10 */
+ 		background-image: -moz-linear-gradient(bottom, #5589AA, #619bbb); /* Firefox */
+ 		background-image: -o-linear-gradient(bottom, #5589AA, #619bbb); /* Opera */
+ 		background-image: -webkit-gradient(linear, left bottom, left top, from(#5589AA), to(#619bbb)); /* old Webkit */
+ 		background-image: -webkit-linear-gradient(bottom, #5589AA, #619bbb); /* new Webkit */
+ 		background-image: linear-gradient(bottom, #5589AA, #619bbb); /* proposed W3C Markup */
+ 	}
+ 
+ 	#adminmenu li.menu-top li:hover a {
+ 		background-image: none;
+ 	}
+ 
+ 	#adminmenu li.wp-has-current-submenu,
+ 	#adminmenu li.current.menu-top {
+ 		border-top-color: #5A8FAD;
+ 		border-bottom-color: #5589AA;
+ 	}
+ 
+ 	#adminmenu .wp-has-current-submenu .wp-submenu-wrap {
+ 		-moz-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		-webkit-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 	}
+ 
+ 	#collapse-button div {
+ 		background-position: 0 -108px;
+ 	}
+ }
+ 
  /* menu and screen icons */
+ .icon16,
+ .icon32,
+ div.wp-menu-image {
+ 	background-color: transparent;
+ 	background-repeat: no-repeat;
+ }
+ 
+ .icon16.icon-dashboard,
+ .menu-icon-dashboard div.wp-menu-image,
+ .icon16.icon-post,
+ .menu-icon-post div.wp-menu-image,
+ .icon16.icon-media,
+ .menu-icon-media div.wp-menu-image,
+ .icon16.icon-links,
+ .menu-icon-links div.wp-menu-image,
+ .icon16.icon-page,
+ .menu-icon-page div.wp-menu-image,
+ .icon16.icon-comments,
+ .menu-icon-comments div.wp-menu-image,
+ .icon16.icon-appearance,
+ .menu-icon-appearance div.wp-menu-image,
+ .icon16.icon-plugins,
+ .menu-icon-plugins div.wp-menu-image,
+ .icon16.icon-users,
+ .menu-icon-users div.wp-menu-image,
+ .icon16.icon-tools,
+ .menu-icon-tools div.wp-menu-image,
+ .icon16.icon-settings,
+ .menu-icon-settings div.wp-menu-image,
+ .icon16.icon-site,
+ .menu-icon-site div.wp-menu-image {
+ 	background-image: url('../images/menu-vs.png?ver=20120201');
+ }
+ 
  .icon16.icon-dashboard,
  #adminmenu .menu-icon-dashboard div.wp-menu-image {
! 	background-position: -59px -33px;
  }
  
  #adminmenu .menu-icon-dashboard:hover div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.current div.wp-menu-image {
! 	background-position: -59px -1px;
  }
  
  .icon16.icon-post,
  #adminmenu .menu-icon-post div.wp-menu-image {
! 	background-position: -269px -33px;
  }
  
  #adminmenu .menu-icon-post:hover div.wp-menu-image,
! #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-post.current div.wp-menu-image {
! 	background-position: -269px -1px;
  }
  
  .icon16.icon-media,
  #adminmenu .menu-icon-media div.wp-menu-image {
! 	background-position: -119px -33px;
  }
  
  #adminmenu .menu-icon-media:hover div.wp-menu-image,
! #adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-media.current div.wp-menu-image {
! 	background-position: -119px -1px;
  }
  
  .icon16.icon-links,
  #adminmenu .menu-icon-links div.wp-menu-image {
! 	background-position: -89px -33px;
  }
  
  #adminmenu .menu-icon-links:hover div.wp-menu-image,
! #adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-links.current div.wp-menu-image {
! 	background-position: -89px -1px;
  }
  
  .icon16.icon-page,
  #adminmenu .menu-icon-page div.wp-menu-image {
! 	background-position: -149px -33px;
  }
  
  #adminmenu .menu-icon-page:hover div.wp-menu-image,
! #adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-page.current div.wp-menu-image {
! 	background-position: -149px -1px;
  }
  
  .icon16.icon-comments,
  #adminmenu .menu-icon-comments div.wp-menu-image {
! 	background-position: -29px -33px;
  }
  
  #adminmenu .menu-icon-comments:hover div.wp-menu-image,
  #adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-comments.current div.wp-menu-image {
! 	background-position: -29px -1px;
  }
  
  .icon16.icon-appearance,
  #adminmenu .menu-icon-appearance div.wp-menu-image {
! 	background-position: 1px -33px;
  }
  
  #adminmenu .menu-icon-appearance:hover div.wp-menu-image,
! #adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-appearance.current div.wp-menu-image {
! 	background-position: 1px -1px;
  }
  
  .icon16.icon-plugins,
  #adminmenu .menu-icon-plugins div.wp-menu-image {
! 	background-position: -179px -33px;
  }
  
  #adminmenu .menu-icon-plugins:hover div.wp-menu-image,
! #adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-plugins.current div.wp-menu-image {
! 	background-position: -179px -1px;
  }
  
  .icon16.icon-users,
  #adminmenu .menu-icon-users div.wp-menu-image {
! 	background-position: -300px -33px;
  }
  
  #adminmenu .menu-icon-users:hover div.wp-menu-image,
  #adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-users.current div.wp-menu-image {
! 	background-position: -300px -1px;
  }
  
  .icon16.icon-tools,
  #adminmenu .menu-icon-tools div.wp-menu-image {
! 	background-position: -209px -33px;
  }
  
  #adminmenu .menu-icon-tools:hover div.wp-menu-image,
  #adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-tools.current div.wp-menu-image {
! 	background-position: -209px -1px;
  }
  
  .icon16.icon-settings,
  #adminmenu .menu-icon-settings div.wp-menu-image {
! 	background-position: -239px -33px;
  }
  
  #adminmenu .menu-icon-settings:hover div.wp-menu-image,
! #adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-settings.current div.wp-menu-image {
! 	background-position: -239px -1px;
  }
  
  .icon16.icon-site,
  #adminmenu .menu-icon-site div.wp-menu-image {
! 	background-position: -359px -33px;
  }
  
  #adminmenu .menu-icon-site:hover div.wp-menu-image,
! #adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-site.current div.wp-menu-image {
! 	background-position: -359px -1px;
  }
  /* end menu and screen icons */
  
  /* Screen Icons */
  .icon32.icon-post,
  #icon-edit,
+ #icon-post,
+ .icon32.icon-dashboard,
+ #icon-index,
+ .icon32.icon-media,
+ #icon-upload,
+ .icon32.icon-links,
+ #icon-link-manager,
+ #icon-link,
+ #icon-link-category,
+ .icon32.icon-page,
+ #icon-edit-pages,
+ #icon-page,
+ .icon32.icon-comments,
+ #icon-edit-comments,
+ .icon32.icon-appearance,
+ #icon-themes,
+ .icon32.icon-plugins,
+ #icon-plugins,
+ .icon32.icon-users,
+ #icon-users,
+ #icon-profile,
+ #icon-user-edit,
+ .icon32.icon-tools,
+ #icon-tools,
+ #icon-admin,
+ .icon32.icon-settings,
+ #icon-options-general,
+ .icon32.icon-site,
+ #icon-ms-admin {
+ 	background-image: url(../images/icons32-vs.png?ver=20111206);
+ }
+ 
+ .icon32.icon-post,
+ #icon-edit,
  #icon-post {
! 	background-position: -552px -5px;
  }
  
  .icon32.icon-dashboard,
  #icon-index {
! 	background-position: -137px -5px;
  }
  
  .icon32.icon-media,
  #icon-upload {
! 	background-position: -251px -5px;
  }
  
  .icon32.icon-links,
  #icon-link-manager,
  #icon-link,
  #icon-link-category {
! 	background-position: -190px -5px;
  }
  
  .icon32.icon-page,
  #icon-edit-pages,
  #icon-page {
! 	background-position: -312px -5px;
  }
  
  .icon32.icon-comments,
  #icon-edit-comments {
! 	background-position: -72px -5px;
  }
  
  .icon32.icon-appearance,
  #icon-themes {
! 	background-position: -11px -5px;
  }
  
  .icon32.icon-plugins,
  #icon-plugins {
! 	background-position: -370px -5px;
  }
  
  .icon32.icon-users,
  #icon-users,
  #icon-profile,
  #icon-user-edit {
! 	background-position: -600px -5px;
  }
  
  .icon32.icon-tools,
  #icon-tools,
  #icon-admin {
! 	background-position: -432px -5px;
  }
  
  .icon32.icon-settings,
  #icon-options-general {
! 	background-position: -492px -5px;
  }
  
  .icon32.icon-site,
  #icon-ms-admin {
! 	background-position: -659px -5px;
  }
  
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
+ 	.icon32.icon-post,
+ 	#icon-edit,
+ 	#icon-post,
+ 	.icon32.icon-dashboard,
+ 	#icon-index,
+ 	.icon32.icon-media,
+ 	#icon-upload,
+ 	.icon32.icon-links,
+ 	#icon-link-manager,
+ 	#icon-link,
+ 	#icon-link-category,
+ 	.icon32.icon-page,
+ 	#icon-edit-pages,
+ 	#icon-page,
+ 	.icon32.icon-comments,
+ 	#icon-edit-comments,
+ 	.icon32.icon-appearance,
+ 	#icon-themes,
+ 	.icon32.icon-plugins,
+ 	#icon-plugins,
+ 	.icon32.icon-users,
+ 	#icon-users,
+ 	#icon-profile,
+ 	#icon-user-edit,
+ 	.icon32.icon-tools,
+ 	#icon-tools,
+ 	#icon-admin,
+ 	.icon32.icon-settings,
+ 	#icon-options-general,
+ 	.icon32.icon-site,
+ 	#icon-ms-admin {
+ 		background-image: url(../images/icons32-vs-2x.png?ver=20120412);
+ 		background-size: 708px 45px;
+ 	}
+ 
+ 	.icon16.icon-dashboard,
+ 	.menu-icon-dashboard div.wp-menu-image,
+ 	.icon16.icon-post,
+ 	.menu-icon-post div.wp-menu-image,
+ 	.icon16.icon-media,
+ 	.menu-icon-media div.wp-menu-image,
+ 	.icon16.icon-links,
+ 	.menu-icon-links div.wp-menu-image,
+ 	.icon16.icon-page,
+ 	.menu-icon-page div.wp-menu-image,
+ 	.icon16.icon-comments,
+ 	.menu-icon-comments div.wp-menu-image,
+ 	.icon16.icon-appearance,
+ 	.menu-icon-appearance div.wp-menu-image,
+ 	.icon16.icon-plugins,
+ 	.menu-icon-plugins div.wp-menu-image,
+ 	.icon16.icon-users,
+ 	.menu-icon-users div.wp-menu-image,
+ 	.icon16.icon-tools,
+ 	.menu-icon-tools div.wp-menu-image,
+ 	.icon16.icon-settings,
+ 	.menu-icon-settings div.wp-menu-image,
+ 	.icon16.icon-site,
+ 	.menu-icon-site div.wp-menu-image {
+ 		background-image: url('../images/menu-2x.png?ver=20120412');
+ 		background-size: 390px 64px;
+ 	}
+ }
+ /* end screen icons */
  
  /* Diff */
  table.diff .diff-deletedline {
***************
*** 1674,1685 ****
  	border-right: 1px solid #D1E5EE;
  	border-left: 1px solid #D1E5EE;
  	border-bottom: 1px solid #D1E5EE;
! 	background-image: -ms-linear-gradient(bottom, #eff8ff, #fff); /* IE10 */
! 	background-image: -moz-linear-gradient(bottom, #eff8ff, #fff); /* Firefox */
! 	background-image: -o-linear-gradient(bottom, #eff8ff, #fff); /* Opera */
! 	background-image: -webkit-gradient(linear, left bottom, left top, from(#eff8ff), to(#fff)); /* old Webkit */
! 	background-image: -webkit-linear-gradient(bottom, #eff8ff, #fff); /* new Webkit */
! 	background-image: linear-gradient(bottom, #eff8ff, #fff); /* proposed W3C Markup */
  }
  
  #screen-meta-links a.show-settings {
--- 1887,1898 ----
  	border-right: 1px solid #D1E5EE;
  	border-left: 1px solid #D1E5EE;
  	border-bottom: 1px solid #D1E5EE;
! 	background-image: -ms-linear-gradient(bottom, #eff8ff, #eff8ff); /* IE10 */
! 	background-image: -moz-linear-gradient(bottom, #def1ff, #eff8ff); /* Firefox */
! 	background-image: -o-linear-gradient(bottom, #def1ff, #eff8ff); /* Opera */
! 	background-image: -webkit-gradient(linear, left bottom, left top, from(#def1ff), to(#eff8ff)); /* old Webkit */
! 	background-image: -webkit-linear-gradient(bottom, #def1ff, #eff8ff); /* new Webkit */
! 	background-image: linear-gradient(bottom, #def1ff, #eff8ff); /* proposed W3C Markup */
  }
  
  #screen-meta-links a.show-settings {
***************
*** 1691,1701 ****
  }
  
  #screen-meta-links a.show-settings {
! 	background: transparent url(../images/arrows.png) no-repeat right 3px;
  }
  
  #screen-meta-links a.show-settings.screen-meta-active  {
! 	background: transparent url(../images/arrows.png) no-repeat right -33px;
  }
  
  /* end screen options and help tabs */
--- 1904,1914 ----
  }
  
  #screen-meta-links a.show-settings {
! 	background: transparent url(../images/arrows-vs.png) no-repeat right 4px;
  }
  
  #screen-meta-links a.show-settings.screen-meta-active  {
! 	background: transparent url(../images/arrows-vs.png) no-repeat right -31px;
  }
  
  /* end screen options and help tabs */
***************
*** 1713,1732 ****
  }
  
  /* Install Plugins */
- .star-average,
- .star.star-rating {
- 	background-color: #fc0;
- }
- 
- div.star.select:hover {
- 	background-color: #d00;
- }
- 
- div.star img {
- 	border-left: 1px solid #fff;
- 	border-right: 1px solid #fff;
- }
- 
  #plugin-information .fyi ul {
  	background-color: #eaf3fa;
  }
--- 1926,1931 ----
***************
*** 1835,1841 ****
  }
  
  #post-body .misc-pub-section {
! 	border-right-color: #eee;
  }
  
  .post-com-count span {
--- 2034,2040 ----
  }
  
  #post-body .misc-pub-section {
! 	border-left-color: #eee;
  }
  
  .post-com-count span {
***************
*** 1883,1896 ****
  	border-color: #DFDFDF;
  }
  
- #theme-information .action-button {
- 	border-top-color: #DFDFDF;
- }
- 
- .theme-listing br.line {
- 	border-bottom-color: #ccc;
- }
- 
  div.widgets-sortables,
  #widgets-left .inactive {
  	background-color: #f7fcfe;
--- 2082,2087 ----
***************
*** 2108,2114 ****
  	border-bottom-color: #eff8ff;
  }
  
- /* custom header & background pages */
  #upload-form label {
  	color: #777;
  }
--- 2299,2304 ----
***************
*** 2170,2180 ****
  
  .about-wrap .feature-section img {
  	background: #fff;
! 	border-color: #dfdfdf;
  
! 	-moz-box-shadow: 0 0 6px rgba( 0, 0, 0, 0.3 );
! 	-webkit-box-shadow: 0 0 6px rgba( 0, 0, 0, 0.3 );
! 	box-shadow: 0 0 6px rgba( 0, 0, 0, 0.3 );
  }
  
  .about-wrap .point-releases {
--- 2360,2370 ----
  
  .about-wrap .feature-section img {
  	background: #fff;
! 	border: 1px #ccc solid;
  
! 	-moz-box-shadow:    0 1px 3px rgba( 0, 0, 0, 0.3 );
! 	-webkit-box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.3 );
! 	box-shadow:         0 1px 3px rgba( 0, 0, 0, 0.3 );
  }
  
  .about-wrap .point-releases {
***************
*** 2272,2277 ****
--- 2462,2480 ----
  	background-position: 0 -72px;
  }
  
+ /* Auto-folding of the admin menu for RTL */
+ @media only screen and (max-width: 900px) {
+ 	.rtl #adminmenu .wp-has-current-submenu .wp-submenu-wrap{
+ 		-moz-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		-webkit-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 	}
+ 
+ 	.rtl #collapse-button div {
+ 		background-position: 0 -72px;
+ 	}
+ }
+ 
  /* edit image */
  .rtl .meta-box-sortables .postbox:hover .handlediv {
  	background: transparent url(../images/arrows-vs.png) no-repeat 6px 7px;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/colors-fresh.css ./wordpress-3.4/wp-admin/css/colors-fresh.css
*** ./wordpress-3.3.2/wp-admin/css/colors-fresh.css	2011-12-06 19:06:02.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/colors-fresh.css	2012-06-01 20:58:27.000000000 -0500
***************
*** 1 ****
! html,.wp-dialog{background-color:#fff;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{border-color:#dfdfdf;background-color:#fff;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="button"]:focus,input[type="submit"]:focus,input[type="reset"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="url"]:focus,select:focus{border-color:#bbb;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}.widefat{border-color:#dfdfdf;background-color:#f9f9f9;}textarea.widefat{background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#dfdfdf;text-shadow:#fff 0 1px 0;-moz-box-shadow:0 1px 0 #fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#464646;}.wrap .add-new-h2{background:#f1f1f1;}.subtitle{color:#777;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#fcfcfc;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}div.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#000;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff;}.post-com-count span{background-color:#bbb;color:#fff;}.post-com-count:hover span{background-color:#d54e21;}.quicktags,.search{background-color:#ccc;color:#000;}.side-info h5{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat td{color:#555;}.widefat p,.widefat ol,.widefat ul{color:#333;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777;}.login #nav a,.login #backtoblog a{color:#21759b!important;}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#dfdfdf;}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.welcome-panel{border-color:#dfdfdf;}.welcome-panel p{color:#777;}.welcome-panel-column p{color:#464646;}.welcome-panel h3{text-shadow:1px 1px 1px white;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px;}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background-color:#f5f5f5;background-image:-ms-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-moz-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-o-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:linear-gradient(top,#f9f9f9,#f5f5f5);}.postbox h3{color:#464646;}.widget .widget-top{color:#222;}.sidebar-name:hover h3,.postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#FFFBCC;border-color:#E6DB55;color:#555;}#screen-meta{background-color:#f1f1f1;border-color:#ccc;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.05);}#contextual-help-back{background:#fff;}.contextual-help-tabs a:hover{color:#333;}#contextual-help-back,.contextual-help-tabs .active{border-color:#ccc;}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#000;}#screen-options-link-wrap,#contextual-help-link-wrap{background-color:#e3e3e3;border-right:1px solid transparent;border-left:1px solid transparent;border-bottom:1px solid transparent;background-image:-ms-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-moz-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-o-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#f1f1f1));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:linear-gradient(bottom,#dfdfdf,#f1f1f1);}#screen-meta-links a.show-settings{color:#777;}#screen-meta-links a.show-settings:hover{color:#000;}#screen-meta-links a.show-settings{background:transparent url(../images/arrows.png) no-repeat right 3px;}#screen-meta-links a.show-settings.screen-meta-active{background:transparent url(../images/arrows.png) no-repeat right -33px;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#dfdfdf 1px solid;}#wphead h1 a{color:#464646;}#footer a:link,#footer a:visited{text-decoration:none;}#footer a:hover{color:#000;text-decoration:underline;}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#titlediv #title{border-color:#ccc;}#post-status-info{border-color:#dfdfdf #ccc #ccc;background-color:#eaeaea;}.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenuback,#adminmenuwrap{background-color:#ececec;border-color:#ccc;}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y;}#adminmenu li.wp-menu-separator{background:#dfdfdf;border-color:#cfcfcf;}#adminmenu div.separator{border-color:#e1e1e1;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark.png) no-repeat -1px 6px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows.png) no-repeat -2px 6px;}#adminmenu a.menu-top,.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;}#adminmenu li.wp-menu-open{border-color:#dfdfdf;}#adminmenu li.menu-top:hover>a,#adminmenu li.menu-top.focused>a,#adminmenu li.menu-top>a:focus{background-color:#e4e4e4;text-shadow:0 1px 0 rgba(255,255,255,0.4);}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#777;background-image:-ms-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080);}#adminmenu .wp-menu-arrow div{background-color:#777;background-image:-ms-linear-gradient(right bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(right bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(right bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(right bottom,#6d6d6d,#808080);background-image:linear-gradient(right bottom,#6d6d6d,#808080);}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:#E4E4E4;}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#E4E4E4;border-color:#ccc;}.folded #adminmenu li.menu-top li:hover a{background-image:none;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#808080;border-bottom-color:#6d6d6d;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#808080;border-bottom-color:#6d6d6d;}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#EAF2FA;color:#333;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;}#adminmenu .wp-submenu ul{background-color:#fff;}#adminmenu .wp-submenu-wrap,#adminmenu .wp-submenu ul{border-color:#dfdfdf;}#adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4);}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:#dfdfdf;background-color:#ececec;}#adminmenu div.wp-submenu{background-color:transparent;}#collapse-menu{color:#aaa;}#collapse-menu:hover{color:#999;}#collapse-button{border-color:#ccc;background-color:#f4f4f4;background-image:-ms-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(bottom,#dfdfdf,#fff);}#collapse-menu:hover #collapse-button{border-color:#aaa;}#collapse-button div{background:transparent url(../images/arrows.png) no-repeat 0 -72px;}.folded #collapse-button div{background-position:0 -108px;}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -60px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -60px -1px;}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -271px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -271px -1px;}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -120px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -120px -1px;}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -90px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -90px -1px;}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -150px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -150px -1px;}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -30px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -30px -1px;}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll 0 -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll 0 -1px;}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -180px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -180px -1px;}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -300px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -300px -1px;}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -210px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -210px -1px;}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -240px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -240px -1px;}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -360px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20111128') no-repeat scroll -360px -1px;}.icon32.icon-post,#icon-edit,#icon-post{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -552px -5px;}.icon32.icon-dashboard,#icon-index{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -137px -5px;}.icon32.icon-media,#icon-upload{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -251px -5px;}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -190px -5px;}.icon32.icon-page,#icon-edit-pages,#icon-page{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -312px -5px;}.icon32.icon-comments,#icon-edit-comments{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -72px -5px;}.icon32.icon-appearance,#icon-themes{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -11px -5px;}.icon32.icon-plugins,#icon-plugins{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -370px -5px;}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -600px -5px;}.icon32.icon-tools,#icon-tools,#icon-admin{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -432px -5px;}.icon32.icon-settings,#icon-options-general{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -492px -5px;}.icon32.icon-site,#icon-ms-admin{background:transparent url(../images/icons32.png?ver=20111206) no-repeat -659px -5px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}div.star img{border-left:1px solid #fff;border-right:1px solid #fff;}.widefat div.star img{border-left:1px solid #f9f9f9;border-right:1px solid #f9f9f9;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits.gif?ver=20100610') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21;}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-top-color:#fff;border-bottom-color:#dfdfdf;}#minor-publishing{border-bottom-color:#dfdfdf;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo.png?ver=20110504) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#fcfcfc;border-color:#dfdfdf;}#available-widgets .widget-holder{background-color:#fcfcfc;border-color:#dfdfdf;}#available-widgets .widget-description{color:#555;}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#dfdfdf;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}.sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px;}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#menu-management .menu-edit{border-color:#dfdfdf;}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf;}#nav-menu-header{border-bottom-color:#dfdfdf;}#nav-menu-footer{border-top-color:#fff;}#menu-management .nav-tabs-arrow a{color:#C1C1C1;}#menu-management .nav-tabs-arrow a:hover{color:#D54E21;}#menu-management .nav-tabs-arrow a:active{color:#464646;}#menu-management .nav-tab-active{border-color:#dfdfdf;}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf;}.js .input-with-default-title{color:#aaa;}#cancel-save{color:#f00;}#cancel-save:hover{background-color:#F00;color:#fff;}.list-container{border-color:#DFDFDF;}.menu-item-handle{border-color:#dfdfdf;}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc;}.item-type{color:#999;}.item-controls .menu-item-delete:hover{color:#f00;}.nav-menus-php .item-edit{background:transparent url(../images/arrows.png) no-repeat 8px 10px;border-bottom-color:#eee;}.item-edit:hover{background:transparent url(../images/arrows-dark.png) no-repeat 8px 10px;}.menu-item-settings{border-color:#dfdfdf;}.link-to-original{color:#777;border-color:#dfdfdf;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.submitbox .submitcancel{color:#21759B;border-bottom-color:#21759B;}.submitbox .submitcancel:hover{background:#21759B;color:#fff;}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}#menu-management .nav-tab-active{background:#f9f9f9;border-bottom-color:#f9f9f9;}#upload-form label{color:#777;}.fullscreen-overlay{background:#fff;}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc;}#fullscreen-topbar{border-bottom-color:#DFDFDF;}.about-wrap h1{color:#333;text-shadow:1px 1px 1px white;}.about-text{color:#777;}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,0.3);}.about-wrap h2 .nav-tab{color:#21759B;}.about-wrap h2 .nav-tab:hover{color:#d54e21;}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333;}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px white;color:#464646;}.about-wrap h3{color:#333;text-shadow:1px 1px 1px white;}.about-wrap .feature-section h4{color:#464646;}.about-wrap .feature-section img{background:#fff;border-color:#dfdfdf;-moz-box-shadow:0 0 6px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 6px rgba(0,0,0,0.3);box-shadow:0 0 6px rgba(0,0,0,0.3);}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px white;}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf;}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf;}.about-wrap .point-releases h3:first-child{border:0;}.about-wrap li.wp-person img.gravatar{-moz-box-shadow:0 0 4px rgba(0,0,0,0.4);-webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);box-shadow:0 0 4px rgba(0,0,0,0.4);}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px white;}.freedoms-php .about-wrap ol li{color:#999;}.freedoms-php .about-wrap ol p{color:#464646;}.rtl .bar{border-right-color:none;border-left-color:#99d;}.rtl .post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}.rtl #screen-meta-links a.show-settings{background-position:left 3px;}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px;}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left;}.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark.png) no-repeat 8px 6px;}.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows.png) no-repeat 8px 6px;}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:none;border-left-color:#dfdfdf;}.rtl #adminmenu .wp-submenu-wrap,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4);}.rtl #collapse-button div{background-position:0 -108px;}.rtl.folded #collapse-button div{background-position:0 -72px;}.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px;}.rtl .tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits-rtl.gif?ver=20100610') repeat-x scroll right -379px;}.rtl #post-body .misc-pub-section{border-right-color:none;border-left-color:#eee;}.rtl .sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px;}.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px;}
\ No newline at end of file
--- 1 ----
! html,.wp-dialog{background-color:#fff}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{border-color:#dfdfdf;background-color:#fff;color:#333}select{color:#000}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="button"]:focus,input[type="submit"]:focus,input[type="reset"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="url"]:focus,select:focus{border-color:#bbb}kbd,code{background:#eaeaea}input[readonly]{background-color:#eee}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1}.find-box{background-color:#f1f1f1}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}.widefat{border-color:#dfdfdf;background-color:#f9f9f9}textarea.widefat{background-color:#fff}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff}input.disabled,textarea.disabled{background-color:#ccc}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle{background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec)}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#dfdfdf;text-shadow:#fff 0 1px 0;-moz-box-shadow:0 1px 0 #fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#21759b}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.wrap h2{color:#464646}.wrap .add-new-h2{background:#f1f1f1}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:#808080}.ac_results li{color:#101010}.alternate,.alt{background-color:#fcfcfc}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd}.bar{background-color:#e8e8e8;border-right-color:#99d}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00}div.error a{color:#c00}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit,#commentsdiv #add-new-comment{border-color:#dfdfdf}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{background-color:#efefef;border-color:#bbb}.ui-autocomplete li a.ui-state-hover{background-color:#ddd}.post-com-count{background-image:url(../images/bubble_bg.gif);color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#d54e21}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759b url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9fd0d5!important;background:#298cba!important}a:hover,a:active,a:focus{color:#d54e21}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}.submitbox .submit{background-color:#464646;color:#ccc}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#dfdfdf}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0}.widefat td{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}#plugin-information .action-button{background-color:#d54e21;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.login #nav a,.login #backtoblog a{color:#21759b!important}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important}#footer{color:#777;border-color:#dfdfdf}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf}.plugins .active,.plugins .active th,.plugins .active td{color:#000}.plugins .inactive a{color:#579}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved{background-color:#ffffe0}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b}.welcome-panel{border-color:#dfdfdf}.welcome-panel p{color:#777}.welcome-panel-column p{color:#464646}.welcome-panel h3{text-shadow:1px 1px 1px white}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background-color:#f5f5f5;background-image:-ms-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-moz-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-o-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:linear-gradient(top,#f9f9f9,#f5f5f5)}.postbox h3{color:#464646}.widget .widget-top{color:#222}.sidebar-name:hover h3,.postbox h3:hover{color:#000}.curtime #timestamp{background-image:url(../images/date-button.gif)}#quicktags #ed_link{color:#00f}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555}#screen-meta{background-color:#f1f1f1;border-color:#ccc;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.05)}#contextual-help-back{background:#fff}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active{border-color:#ccc}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{background-color:#e3e3e3;border-right:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background-image:-ms-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-moz-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-o-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#f1f1f1));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:linear-gradient(bottom,#dfdfdf,#f1f1f1)}#screen-meta-links a.show-settings{color:#777}#screen-meta-links a.show-settings:hover{color:#333}#screen-meta-links a.show-settings{background:transparent url(../images/arrows.png) no-repeat right 4px}#screen-meta-links a.show-settings.screen-meta-active{background:transparent url(../images/arrows.png) no-repeat right -31px}.login #backtoblog a{color:#464646}#wphead{border-bottom:#dfdfdf 1px solid}#wphead h1 a{color:#464646}#footer a:link,#footer a:visited{text-decoration:none}#footer a:hover{text-decoration:underline}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}#titlediv #title{border-color:#ccc}#post-status-info{border-color:#dfdfdf #ccc #ccc;background-color:#eaeaea}.editwidget .widget-inside{border-color:#dfdfdf}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap{background-color:#ececec;border-color:#ccc}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y}#adminmenu li.wp-menu-separator{background:#dfdfdf;border-color:#cfcfcf}#adminmenu div.separator{border-color:#e1e1e1}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark.png) no-repeat -1px 6px}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows.png) no-repeat -2px 6px}#adminmenu a.menu-top,.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover>a,#adminmenu li.menu-top.focused>a,#adminmenu li.menu-top>a:focus{background-color:#e4e4e4;text-shadow:0 1px 0 rgba(255,255,255,0.4)}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#777;background-image:-ms-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080)}#adminmenu .wp-menu-arrow div{background-color:#777;background-image:-ms-linear-gradient(right bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(right bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(right bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(right bottom,#6d6d6d,#808080);background-image:linear-gradient(right bottom,#6d6d6d,#808080)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:#e4e4e4}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e4e4e4;border-color:#ccc}.folded #adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#808080;border-bottom-color:#6d6d6d}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#808080;border-bottom-color:#6d6d6d}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#eaf2fa;color:#333}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333}#adminmenu .wp-submenu ul{background-color:#fff}#adminmenu .wp-submenu-wrap,#adminmenu .wp-submenu ul{border-color:#dfdfdf}#adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4)}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:#dfdfdf;background-color:#ececec}#adminmenu div.wp-submenu{background-color:transparent}#collapse-menu{color:#aaa}#collapse-menu:hover{color:#999}#collapse-button{border-color:#ccc;background-color:#f4f4f4;background-image:-ms-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(bottom,#dfdfdf,#fff)}#collapse-menu:hover #collapse-button{border-color:#aaa}#collapse-button div{background:transparent url(../images/arrows.png) no-repeat 0 -72px}.folded #collapse-button div{background-position:0 -108px}@media only screen and (max-width:900px){#adminmenu li.menu-top{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf}#adminmenu li.wp-has-current-submenu,#adminmenu li.current.menu-top{background-color:#777;background-image:-ms-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080)}#adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu,#adminmenu li.current.menu-top{border-top-color:#808080;border-bottom-color:#6d6d6d}#adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4)}#collapse-button div{background-position:0 -108px}}.icon16,.icon32,div.wp-menu-image{background-color:transparent;background-repeat:no-repeat}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image{background-image:url('../images/menu.png?ver=20120201')}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background-position:-59px -33px}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background-position:-59px -1px}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background-position:-269px -33px}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-post.current div.wp-menu-image{background-position:-269px -1px}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background-position:-119px -33px}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-media.current div.wp-menu-image{background-position:-119px -1px}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background-position:-89px -33px}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-links.current div.wp-menu-image{background-position:-89px -1px}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background-position:-149px -33px}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-page.current div.wp-menu-image{background-position:-149px -1px}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background-position:-29px -33px}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background-position:-29px -1px}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background-position:1px -33px}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-appearance.current div.wp-menu-image{background-position:1px -1px}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background-position:-179px -33px}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-plugins.current div.wp-menu-image{background-position:-179px -1px}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background-position:-300px -33px}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background-position:-300px -1px}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background-position:-209px -33px}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background-position:-209px -1px}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background-position:-239px -33px}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-settings.current div.wp-menu-image{background-position:-239px -1px}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background-position:-359px -33px}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-site.current div.wp-menu-image{background-position:-359px -1px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin{background-image:url(../images/icons32.png?ver=20111206)}.icon32.icon-post,#icon-edit,#icon-post{background-position:-552px -5px}.icon32.icon-dashboard,#icon-index{background-position:-137px -5px}.icon32.icon-media,#icon-upload{background-position:-251px -5px}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background-position:-190px -5px}.icon32.icon-page,#icon-edit-pages,#icon-page{background-position:-312px -5px}.icon32.icon-comments,#icon-edit-comments{background-position:-72px -5px}.icon32.icon-appearance,#icon-themes{background-position:-11px -5px}.icon32.icon-plugins,#icon-plugins{background-position:-370px -5px}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background-position:-600px -5px}.icon32.icon-tools,#icon-tools,#icon-admin{background-position:-432px -5px}.icon32.icon-settings,#icon-options-general{background-position:-492px -5px}.icon32.icon-site,#icon-ms-admin{background-position:-659px -5px}@media only screen and (-webkit-min-device-pixel-ratio:1.5){.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin{background-image:url(../images/icons32-2x.png?ver=20120412);background-size:708px 45px}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image{background-image:url('../images/menu-2x.png?ver=20120412');background-size:390px 64px}}table.diff .diff-deletedline{background-color:#fdd}table.diff .diff-deletedline del{background-color:#f99}table.diff .diff-addedline{background-color:#dfd}table.diff .diff-addedline ins{background-color:#9f9}#att-info{background-color:#e4f2fd}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border:1px solid #ccc}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#d54e21}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits.gif?ver=20100610') repeat-x scroll left -379px}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{border-top-color:#fff;border-bottom-color:#dfdfdf}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{border-left-color:#eee}.post-com-count span{background-color:#bbb}.form-table .color-palette td{border-color:#fff}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0}#header-logo{background:transparent url(../images/wp-logo.png?ver=20110504) no-repeat scroll center center}.popular-tags,.feature-filter{background-color:#fff;border-color:#dfdfdf}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fcfcfc;border-color:#dfdfdf}#available-widgets .widget-description{color:#555}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#dfdfdf;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.sidebar-name:hover,#removing-widget{color:#d54e21}#removing-widget span{color:black}.sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px}.in-widget-title{color:#606060}.deleting .widget-title *{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf}.comment-ays,.comment-ays th{border-color:#ddd}.comment-ays th{background-color:#f1f1f1}#menu-management .menu-edit{border-color:#dfdfdf}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#nav-menu-footer{border-top-color:#fff}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#d54e21}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:#f00}#cancel-save:hover{background-color:#f00;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc}.item-type{color:#999}.item-controls .menu-item-delete:hover{color:#f00}.nav-menus-php .item-edit{background:transparent url(../images/arrows.png) no-repeat 8px 10px;border-bottom-color:#eee}.item-edit:hover{background:transparent url(../images/arrows-dark.png) no-repeat 8px 10px}.menu-item-settings{border-color:#dfdfdf}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#21759b;border-bottom-color:#21759b}.submitbox .submitcancel:hover{background:#21759b;color:#fff}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}#menu-management .nav-tab-active{background:#f9f9f9;border-bottom-color:#f9f9f9}#upload-form label{color:#777}.about-wrap h1{color:#333;text-shadow:1px 1px 1px white}.about-text{color:#777}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,0.3)}.about-wrap h2 .nav-tab{color:#21759b}.about-wrap h2 .nav-tab:hover{color:#d54e21}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px white;color:#464646}.about-wrap h3{color:#333;text-shadow:1px 1px 1px white}.about-wrap .feature-section h4{color:#464646}.about-wrap .feature-section img{background:#fff;border:1px #ccc solid;-moz-box-shadow:0 1px 3px rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.3);box-shadow:0 1px 3px rgba(0,0,0,0.3)}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px white}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf}.about-wrap .point-releases h3:first-child{border:0}.about-wrap li.wp-person img.gravatar{-moz-box-shadow:0 0 4px rgba(0,0,0,0.4);-webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);box-shadow:0 0 4px rgba(0,0,0,0.4)}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px white}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.rtl .bar{border-right-color:none;border-left-color:#99d}.rtl .post-com-count{background-image:url(../images/bubble_bg-rtl.gif)}.rtl #screen-meta-links a.show-settings{background-position:left 3px}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left}.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark.png) no-repeat 8px 6px}.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows.png) no-repeat 8px 6px}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:none;border-left-color:#dfdfdf}.rtl #adminmenu .wp-submenu-wrap,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl #collapse-button div{background-position:0 -108px}.rtl.folded #collapse-button div{background-position:0 -72px}@media only screen and (max-width:900px){.rtl #adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl #collapse-button div{background-position:0 -72px}}.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.rtl .tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits-rtl.gif?ver=20100610') repeat-x scroll right -379px}.rtl #post-body .misc-pub-section{border-right-color:none;border-left-color:#eee}.rtl .sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px}.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/colors-fresh.dev.css ./wordpress-3.4/wp-admin/css/colors-fresh.dev.css
*** ./wordpress-3.3.2/wp-admin/css/colors-fresh.dev.css	2011-12-06 18:37:34.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/colors-fresh.dev.css	2012-06-01 20:16:35.000000000 -0500
***************
*** 40,45 ****
--- 40,50 ----
  select {
  	border-color: #dfdfdf;
  	background-color: #fff;
+ 	color: #333;
+ }
+ 
+ select {
+ 	color: #000;
  }
  
  textarea:focus,
***************
*** 86,92 ****
  
  body,
  #wpbody,
! .form-table .pre {
  	color: #333;
  }
  
--- 91,98 ----
  
  body,
  #wpbody,
! .form-table .pre,
! .ui-autocomplete li a {
  	color: #333;
  }
  
***************
*** 144,149 ****
--- 150,159 ----
  	border-top-color: #ccc;
  }
  
+ ul.category-tabs li {
+ 	border-color: transparent;
+ }
+ 
  div.tabs-panel,
  .wp-tab-panel,
  ul.category-tabs li.tabs,
***************
*** 182,189 ****
  .sidebar-name,
  #nav-menu-header,
  #nav-menu-footer,
! .menu-item-handle,
! #fullscreen-topbar {
  	background-color: #f1f1f1; /* Fallback */
  	background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); /* IE10 */
  	background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); /* Firefox */
--- 192,198 ----
  .sidebar-name,
  #nav-menu-header,
  #nav-menu-footer,
! .menu-item-handle {
  	background-color: #f1f1f1; /* Fallback */
  	background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); /* IE10 */
  	background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); /* Firefox */
***************
*** 295,302 ****
  	border-color: #c00 !important;
  }
  
! .submit {
! 	border-color: #DFDFDF;
  }
  
  .highlight {
--- 304,312 ----
  	border-color: #c00 !important;
  }
  
! .submit,
! #commentsdiv #add-new-comment {
! 	border-color: #dfdfdf;
  }
  
  .highlight {
***************
*** 317,322 ****
--- 327,341 ----
  	color: #9a9a9a;
  }
  
+ .ui-autocomplete {
+ 	background-color: #efefef;
+ 	border-color: #bbb;
+ }
+ 
+ .ui-autocomplete li a.ui-state-hover {
+ 	background-color: #ddd;
+ }
+ 
  .post-com-count {
  	background-image: url(../images/bubble_bg.gif);
  	color: #fff;
***************
*** 804,819 ****
  .contextual-help-tabs .active a,
  .contextual-help-tabs .active a:hover {
  	background: #fff;
! 	color: #000;
  }
  
  /* screen options and help tabs */
  #screen-options-link-wrap,
  #contextual-help-link-wrap {
  	background-color: #e3e3e3; /* Fallback */
! 	border-right: 1px solid transparent;
! 	border-left: 1px solid transparent;
! 	border-bottom: 1px solid transparent;
  	background-image: -ms-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* IE10 */
  	background-image: -moz-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Firefox */
  	background-image: -o-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Opera */
--- 823,838 ----
  .contextual-help-tabs .active a,
  .contextual-help-tabs .active a:hover {
  	background: #fff;
! 	color: #333;
  }
  
  /* screen options and help tabs */
  #screen-options-link-wrap,
  #contextual-help-link-wrap {
  	background-color: #e3e3e3; /* Fallback */
! 	border-right: 1px solid #ccc;
! 	border-left: 1px solid #ccc;
! 	border-bottom: 1px solid #ccc;
  	background-image: -ms-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* IE10 */
  	background-image: -moz-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Firefox */
  	background-image: -o-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Opera */
***************
*** 827,841 ****
  }
  
  #screen-meta-links a.show-settings:hover {
! 	color: #000;
  }
  
  #screen-meta-links a.show-settings {
! 	background: transparent url(../images/arrows.png) no-repeat right 3px;
  }
  
  #screen-meta-links a.show-settings.screen-meta-active {
! 	background: transparent url(../images/arrows.png) no-repeat right -33px;
  }
  
  /* end screen options and help tabs */
--- 846,860 ----
  }
  
  #screen-meta-links a.show-settings:hover {
! 	color: #333;
  }
  
  #screen-meta-links a.show-settings {
! 	background: transparent url(../images/arrows.png) no-repeat right 4px;
  }
  
  #screen-meta-links a.show-settings.screen-meta-active {
! 	background: transparent url(../images/arrows.png) no-repeat right -31px;
  }
  
  /* end screen options and help tabs */
***************
*** 858,864 ****
  }
  
  #footer a:hover {
- 	color: #000;
  	text-decoration: underline;
  }
  
--- 877,882 ----
***************
*** 1099,1299 ****
  	background-position: 0 -108px;
  }
  
  /* menu and screen icons */
  .icon16.icon-dashboard,
  #adminmenu .menu-icon-dashboard div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -60px -33px;
  }
  
  #adminmenu .menu-icon-dashboard:hover div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.current div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -60px -1px;
  }
  
  .icon16.icon-post,
  #adminmenu .menu-icon-post div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -271px -33px;
  }
  
  #adminmenu .menu-icon-post:hover div.wp-menu-image,
! #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -271px -1px;
  }
  
  .icon16.icon-media,
  #adminmenu .menu-icon-media div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -120px -33px;
  }
  
  #adminmenu .menu-icon-media:hover div.wp-menu-image,
! #adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -120px -1px;
  }
  
  .icon16.icon-links,
  #adminmenu .menu-icon-links div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -90px -33px;
  }
  
  #adminmenu .menu-icon-links:hover div.wp-menu-image,
! #adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -90px -1px;
  }
  
  .icon16.icon-page,
  #adminmenu .menu-icon-page div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -150px -33px;
  }
  
  #adminmenu .menu-icon-page:hover div.wp-menu-image,
! #adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -150px -1px;
  }
  
  .icon16.icon-comments,
  #adminmenu .menu-icon-comments div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -30px -33px;
  }
  
  #adminmenu .menu-icon-comments:hover div.wp-menu-image,
  #adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-comments.current div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -30px -1px;
  }
  
  .icon16.icon-appearance,
  #adminmenu .menu-icon-appearance div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll 0 -33px;
  }
  
  #adminmenu .menu-icon-appearance:hover div.wp-menu-image,
! #adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll 0 -1px;
  }
  
  .icon16.icon-plugins,
  #adminmenu .menu-icon-plugins div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -180px -33px;
  }
  
  #adminmenu .menu-icon-plugins:hover div.wp-menu-image,
! #adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -180px -1px;
  }
  
  .icon16.icon-users,
  #adminmenu .menu-icon-users div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -300px -33px;
  }
  
  #adminmenu .menu-icon-users:hover div.wp-menu-image,
  #adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-users.current div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -300px -1px;
  }
  
  .icon16.icon-tools,
  #adminmenu .menu-icon-tools div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -210px -33px;
  }
  
  #adminmenu .menu-icon-tools:hover div.wp-menu-image,
  #adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-tools.current div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -210px -1px;
  }
  
  .icon16.icon-settings,
  #adminmenu .menu-icon-settings div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -240px -33px;
  }
  
  #adminmenu .menu-icon-settings:hover div.wp-menu-image,
! #adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -240px -1px;
  }
  
  .icon16.icon-site,
  #adminmenu .menu-icon-site div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -360px -33px;
  }
  
  #adminmenu .menu-icon-site:hover div.wp-menu-image,
! #adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image {
! 	background: transparent url('../images/menu.png?ver=20111128') no-repeat scroll -360px -1px;
  }
  /* end menu and screen icons */
  
  /* Screen Icons */
  .icon32.icon-post,
  #icon-edit,
  #icon-post {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -552px -5px;
  }
  
  .icon32.icon-dashboard,
  #icon-index {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -137px -5px;
  }
  
  .icon32.icon-media,
  #icon-upload {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -251px -5px;
  }
  
  .icon32.icon-links,
  #icon-link-manager,
  #icon-link,
  #icon-link-category {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -190px -5px;
  }
  
  .icon32.icon-page,
  #icon-edit-pages,
  #icon-page {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -312px -5px;
  }
  
  .icon32.icon-comments,
  #icon-edit-comments {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -72px -5px;
  }
  
  .icon32.icon-appearance,
  #icon-themes {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -11px -5px;
  }
  
  .icon32.icon-plugins,
  #icon-plugins {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -370px -5px;
  }
  
  .icon32.icon-users,
  #icon-users,
  #icon-profile,
  #icon-user-edit {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -600px -5px;
  }
  
  .icon32.icon-tools,
  #icon-tools,
  #icon-admin {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -432px -5px;
  }
  
  .icon32.icon-settings,
  #icon-options-general {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -492px -5px;
  }
  
  .icon32.icon-site,
  #icon-ms-admin {
! 	background: transparent url(../images/icons32.png?ver=20111206) no-repeat -659px -5px;
  }
- /* end screen icons */
  
  
  /* Diff */
  table.diff .diff-deletedline {
--- 1120,1499 ----
  	background-position: 0 -108px;
  }
  
+ /* Auto-folding of the admin menu */
+ @media only screen and (max-width: 900px) {
+ 	#adminmenu li.menu-top {
+ 		border-top-color: #f9f9f9;
+ 		border-bottom-color: #dfdfdf;
+ 	}
+ 
+ 	#adminmenu li.wp-has-current-submenu,
+ 	#adminmenu li.current.menu-top {
+ 		background-color: #777; /* Fallback */
+ 		background-image: -ms-linear-gradient(bottom, #6d6d6d, #808080); /* IE10 */
+ 		background-image: -moz-linear-gradient(bottom, #6d6d6d, #808080); /* Firefox */
+ 		background-image: -o-linear-gradient(bottom, #6d6d6d, #808080); /* Opera */
+ 		background-image: -webkit-gradient(linear, left bottom, left top, from(#6d6d6d), to(#808080)); /* old Webkit */
+ 		background-image: -webkit-linear-gradient(bottom, #6d6d6d, #808080); /* new Webkit */
+ 		background-image: linear-gradient(bottom, #6d6d6d, #808080); /* proposed W3C Markup */
+ 	}
+ 
+ 	#adminmenu li.menu-top li:hover a {
+ 		background-image: none;
+ 	}
+ 
+ 	#adminmenu li.wp-has-current-submenu,
+ 	#adminmenu li.current.menu-top {
+ 		border-top-color: #808080;
+ 		border-bottom-color: #6d6d6d;
+ 	}
+ 
+ 	#adminmenu .wp-has-current-submenu .wp-submenu-wrap {
+ 		-moz-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		-webkit-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 	}
+ 
+ 	#collapse-button div {
+ 		background-position: 0 -108px;
+ 	}
+ }
+ 
  /* menu and screen icons */
+ .icon16,
+ .icon32,
+ div.wp-menu-image {
+ 	background-color: transparent;
+ 	background-repeat: no-repeat;
+ }
+ 
+ .icon16.icon-dashboard,
+ .menu-icon-dashboard div.wp-menu-image,
+ .icon16.icon-post,
+ .menu-icon-post div.wp-menu-image,
+ .icon16.icon-media,
+ .menu-icon-media div.wp-menu-image,
+ .icon16.icon-links,
+ .menu-icon-links div.wp-menu-image,
+ .icon16.icon-page,
+ .menu-icon-page div.wp-menu-image,
+ .icon16.icon-comments,
+ .menu-icon-comments div.wp-menu-image,
+ .icon16.icon-appearance,
+ .menu-icon-appearance div.wp-menu-image,
+ .icon16.icon-plugins,
+ .menu-icon-plugins div.wp-menu-image,
+ .icon16.icon-users,
+ .menu-icon-users div.wp-menu-image,
+ .icon16.icon-tools,
+ .menu-icon-tools div.wp-menu-image,
+ .icon16.icon-settings,
+ .menu-icon-settings div.wp-menu-image,
+ .icon16.icon-site,
+ .menu-icon-site div.wp-menu-image {
+ 	background-image: url('../images/menu.png?ver=20120201');
+ }
+ 
  .icon16.icon-dashboard,
  #adminmenu .menu-icon-dashboard div.wp-menu-image {
! 	background-position: -59px -33px;
  }
  
  #adminmenu .menu-icon-dashboard:hover div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-dashboard.current div.wp-menu-image {
! 	background-position: -59px -1px;
  }
  
  .icon16.icon-post,
  #adminmenu .menu-icon-post div.wp-menu-image {
! 	background-position: -269px -33px;
  }
  
  #adminmenu .menu-icon-post:hover div.wp-menu-image,
! #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-post.current div.wp-menu-image {
! 	background-position: -269px -1px;
  }
  
  .icon16.icon-media,
  #adminmenu .menu-icon-media div.wp-menu-image {
! 	background-position: -119px -33px;
  }
  
  #adminmenu .menu-icon-media:hover div.wp-menu-image,
! #adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-media.current div.wp-menu-image {
! 	background-position: -119px -1px;
  }
  
  .icon16.icon-links,
  #adminmenu .menu-icon-links div.wp-menu-image {
! 	background-position: -89px -33px;
  }
  
  #adminmenu .menu-icon-links:hover div.wp-menu-image,
! #adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-links.current div.wp-menu-image {
! 	background-position: -89px -1px;
  }
  
  .icon16.icon-page,
  #adminmenu .menu-icon-page div.wp-menu-image {
! 	background-position: -149px -33px;
  }
  
  #adminmenu .menu-icon-page:hover div.wp-menu-image,
! #adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-page.current div.wp-menu-image {
! 	background-position: -149px -1px;
  }
  
  .icon16.icon-comments,
  #adminmenu .menu-icon-comments div.wp-menu-image {
! 	background-position: -29px -33px;
  }
  
  #adminmenu .menu-icon-comments:hover div.wp-menu-image,
  #adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-comments.current div.wp-menu-image {
! 	background-position: -29px -1px;
  }
  
  .icon16.icon-appearance,
  #adminmenu .menu-icon-appearance div.wp-menu-image {
! 	background-position: 1px -33px;
  }
  
  #adminmenu .menu-icon-appearance:hover div.wp-menu-image,
! #adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-appearance.current div.wp-menu-image {
! 	background-position: 1px -1px;
  }
  
  .icon16.icon-plugins,
  #adminmenu .menu-icon-plugins div.wp-menu-image {
! 	background-position: -179px -33px;
  }
  
  #adminmenu .menu-icon-plugins:hover div.wp-menu-image,
! #adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-plugins.current div.wp-menu-image {
! 	background-position: -179px -1px;
  }
  
  .icon16.icon-users,
  #adminmenu .menu-icon-users div.wp-menu-image {
! 	background-position: -300px -33px;
  }
  
  #adminmenu .menu-icon-users:hover div.wp-menu-image,
  #adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-users.current div.wp-menu-image {
! 	background-position: -300px -1px;
  }
  
  .icon16.icon-tools,
  #adminmenu .menu-icon-tools div.wp-menu-image {
! 	background-position: -209px -33px;
  }
  
  #adminmenu .menu-icon-tools:hover div.wp-menu-image,
  #adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,
  #adminmenu .menu-icon-tools.current div.wp-menu-image {
! 	background-position: -209px -1px;
  }
  
  .icon16.icon-settings,
  #adminmenu .menu-icon-settings div.wp-menu-image {
! 	background-position: -239px -33px;
  }
  
  #adminmenu .menu-icon-settings:hover div.wp-menu-image,
! #adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-settings.current div.wp-menu-image {
! 	background-position: -239px -1px;
  }
  
  .icon16.icon-site,
  #adminmenu .menu-icon-site div.wp-menu-image {
! 	background-position: -359px -33px;
  }
  
  #adminmenu .menu-icon-site:hover div.wp-menu-image,
! #adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,
! #adminmenu .menu-icon-site.current div.wp-menu-image {
! 	background-position: -359px -1px;
  }
  /* end menu and screen icons */
  
  /* Screen Icons */
  .icon32.icon-post,
  #icon-edit,
+ #icon-post,
+ .icon32.icon-dashboard,
+ #icon-index,
+ .icon32.icon-media,
+ #icon-upload,
+ .icon32.icon-links,
+ #icon-link-manager,
+ #icon-link,
+ #icon-link-category,
+ .icon32.icon-page,
+ #icon-edit-pages,
+ #icon-page,
+ .icon32.icon-comments,
+ #icon-edit-comments,
+ .icon32.icon-appearance,
+ #icon-themes,
+ .icon32.icon-plugins,
+ #icon-plugins,
+ .icon32.icon-users,
+ #icon-users,
+ #icon-profile,
+ #icon-user-edit,
+ .icon32.icon-tools,
+ #icon-tools,
+ #icon-admin,
+ .icon32.icon-settings,
+ #icon-options-general,
+ .icon32.icon-site,
+ #icon-ms-admin {
+ 	background-image: url(../images/icons32.png?ver=20111206);
+ }
+ 
+ .icon32.icon-post,
+ #icon-edit,
  #icon-post {
! 	background-position: -552px -5px;
  }
  
  .icon32.icon-dashboard,
  #icon-index {
! 	background-position: -137px -5px;
  }
  
  .icon32.icon-media,
  #icon-upload {
! 	background-position: -251px -5px;
  }
  
  .icon32.icon-links,
  #icon-link-manager,
  #icon-link,
  #icon-link-category {
! 	background-position: -190px -5px;
  }
  
  .icon32.icon-page,
  #icon-edit-pages,
  #icon-page {
! 	background-position: -312px -5px;
  }
  
  .icon32.icon-comments,
  #icon-edit-comments {
! 	background-position: -72px -5px;
  }
  
  .icon32.icon-appearance,
  #icon-themes {
! 	background-position: -11px -5px;
  }
  
  .icon32.icon-plugins,
  #icon-plugins {
! 	background-position: -370px -5px;
  }
  
  .icon32.icon-users,
  #icon-users,
  #icon-profile,
  #icon-user-edit {
! 	background-position: -600px -5px;
  }
  
  .icon32.icon-tools,
  #icon-tools,
  #icon-admin {
! 	background-position: -432px -5px;
  }
  
  .icon32.icon-settings,
  #icon-options-general {
! 	background-position: -492px -5px;
  }
  
  .icon32.icon-site,
  #icon-ms-admin {
! 	background-position: -659px -5px;
  }
  
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
+ 	.icon32.icon-post,
+ 	#icon-edit,
+ 	#icon-post,
+ 	.icon32.icon-dashboard,
+ 	#icon-index,
+ 	.icon32.icon-media,
+ 	#icon-upload,
+ 	.icon32.icon-links,
+ 	#icon-link-manager,
+ 	#icon-link,
+ 	#icon-link-category,
+ 	.icon32.icon-page,
+ 	#icon-edit-pages,
+ 	#icon-page,
+ 	.icon32.icon-comments,
+ 	#icon-edit-comments,
+ 	.icon32.icon-appearance,
+ 	#icon-themes,
+ 	.icon32.icon-plugins,
+ 	#icon-plugins,
+ 	.icon32.icon-users,
+ 	#icon-users,
+ 	#icon-profile,
+ 	#icon-user-edit,
+ 	.icon32.icon-tools,
+ 	#icon-tools,
+ 	#icon-admin,
+ 	.icon32.icon-settings,
+ 	#icon-options-general,
+ 	.icon32.icon-site,
+ 	#icon-ms-admin {
+ 		background-image: url(../images/icons32-2x.png?ver=20120412);
+ 		background-size: 708px 45px;
+ 	}
+ 
+ 	.icon16.icon-dashboard,
+ 	.menu-icon-dashboard div.wp-menu-image,
+ 	.icon16.icon-post,
+ 	.menu-icon-post div.wp-menu-image,
+ 	.icon16.icon-media,
+ 	.menu-icon-media div.wp-menu-image,
+ 	.icon16.icon-links,
+ 	.menu-icon-links div.wp-menu-image,
+ 	.icon16.icon-page,
+ 	.menu-icon-page div.wp-menu-image,
+ 	.icon16.icon-comments,
+ 	.menu-icon-comments div.wp-menu-image,
+ 	.icon16.icon-appearance,
+ 	.menu-icon-appearance div.wp-menu-image,
+ 	.icon16.icon-plugins,
+ 	.menu-icon-plugins div.wp-menu-image,
+ 	.icon16.icon-users,
+ 	.menu-icon-users div.wp-menu-image,
+ 	.icon16.icon-tools,
+ 	.menu-icon-tools div.wp-menu-image,
+ 	.icon16.icon-settings,
+ 	.menu-icon-settings div.wp-menu-image,
+ 	.icon16.icon-site,
+ 	.menu-icon-site div.wp-menu-image {
+ 		background-image: url('../images/menu-2x.png?ver=20120412');
+ 		background-size: 390px 64px;
+ 	}
+ }
+ /* end screen icons */
  
  /* Diff */
  table.diff .diff-deletedline {
***************
*** 1342,1366 ****
  }
  
  /* Install Plugins */
- .star-average,
- .star.star-rating {
- 	background-color: #fc0;
- }
- 
- div.star.select:hover {
- 	background-color: #d00;
- }
- 
- div.star img {
- 	border-left: 1px solid #fff;
- 	border-right: 1px solid #fff;
- }
- 
- .widefat div.star img {
- 	border-left: 1px solid #f9f9f9;
- 	border-right: 1px solid #f9f9f9;
- }
- 
  #plugin-information .fyi ul {
  	background-color: #eaf3fa;
  }
--- 1542,1547 ----
***************
*** 1469,1475 ****
  }
  
  #post-body .misc-pub-section {
! 	border-right-color: #eee;
  }
  
  .post-com-count span {
--- 1650,1656 ----
  }
  
  #post-body .misc-pub-section {
! 	border-left-color: #eee;
  }
  
  .post-com-count span {
***************
*** 1517,1536 ****
  	border-color: #DFDFDF;
  }
  
- #theme-information .action-button {
- 	border-top-color: #DFDFDF;
- }
- 
- .theme-listing br.line {
- 	border-bottom-color: #ccc;
- }
- 
  div.widgets-sortables,
! #widgets-left .inactive {
! 	background-color: #fcfcfc;
! 	border-color: #dfdfdf;
! }
! 
  #available-widgets .widget-holder {
  	background-color: #fcfcfc;
  	border-color: #dfdfdf;
--- 1698,1705 ----
  	border-color: #DFDFDF;
  }
  
  div.widgets-sortables,
! #widgets-left .inactive,
  #available-widgets .widget-holder {
  	background-color: #fcfcfc;
  	border-color: #dfdfdf;
***************
*** 1657,1666 ****
  	color: #fff;
  }
  
! .list-container {
! 	border-color: #DFDFDF;
! }
! 
  .menu-item-handle {
  	border-color: #dfdfdf;
  }
--- 1826,1832 ----
  	color: #fff;
  }
  
! .list-container,
  .menu-item-handle {
  	border-color: #dfdfdf;
  }
***************
*** 1735,1759 ****
  	border-bottom-color: #f9f9f9;
  }
  
- /* custom header & background pages */
  #upload-form label {
  	color: #777;
  }
- /* custom header & background pages */
- 
- /* full screen */
- .fullscreen-overlay {
- 	background: #fff;
- }
- 
- .wp-fullscreen-focus #wp-fullscreen-title,
- .wp-fullscreen-focus #wp-fullscreen-container {
- 	border-color: #ccc;
- }
- 
- #fullscreen-topbar {
- 	border-bottom-color: #DFDFDF;
- }
  
  /* Begin About Pages */
  
--- 1901,1909 ----
***************
*** 1797,1807 ****
  
  .about-wrap .feature-section img {
  	background: #fff;
! 	border-color: #dfdfdf;
  
! 	-moz-box-shadow: 0 0 6px rgba( 0, 0, 0, 0.3 );
! 	-webkit-box-shadow: 0 0 6px rgba( 0, 0, 0, 0.3 );
! 	box-shadow: 0 0 6px rgba( 0, 0, 0, 0.3 );
  }
  
  .about-wrap h4.wp-people-group {
--- 1947,1957 ----
  
  .about-wrap .feature-section img {
  	background: #fff;
! 	border: 1px #ccc solid;
  
! 	-moz-box-shadow:    0 1px 3px rgba( 0, 0, 0, 0.3 );
! 	-webkit-box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.3 );
! 	box-shadow:         0 1px 3px rgba( 0, 0, 0, 0.3 );
  }
  
  .about-wrap h4.wp-people-group {
***************
*** 1899,1904 ****
--- 2049,2067 ----
  	background-position: 0 -72px;
  }
  
+ /* Auto-folding of the admin menu for RTL */
+ @media only screen and (max-width: 900px) {
+ 	.rtl #adminmenu .wp-has-current-submenu .wp-submenu-wrap{
+ 		-moz-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		-webkit-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 		box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 );
+ 	}
+ 
+ 	.rtl #collapse-button div {
+ 		background-position: 0 -72px;
+ 	}
+ }
+ 
  /* Edit Image */
  .rtl .meta-box-sortables .postbox:hover .handlediv {
  	background: transparent url(../images/arrows.png) no-repeat 6px 7px;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/customize-controls.css ./wordpress-3.4/wp-admin/css/customize-controls.css
*** ./wordpress-3.3.2/wp-admin/css/customize-controls.css	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/customize-controls.css	2012-06-08 14:40:31.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ body{overflow:hidden}#customize-controls a{text-decoration:none}.customize-section{border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;margin:0}.control-section.customize-section:hover,.control-section.customize-section.open{border-top-color:#808080}.control-section.customize-section:hover{border-bottom-color:#6d6d6d}.customize-section.open:hover{border-bottom-color:#dfdfdf}.customize-section:last-child{box-shadow:0 1px 0 0 #fff}.customize-section-title{margin:0;padding:15px 20px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cannot-expand .customize-section-title{cursor:auto}.customize-section-content{display:none;padding:10px 20px 15px;overflow:hidden}.control-section .customize-section-title{padding:10px 20px;font-size:15px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;text-shadow:0 1px 0 #fff;background-color:#f5f5f5;background-image:-webkit-linear-gradient(top,#f5f5f5,#eee);background-image:-moz-linear-gradient(top,#f5f5f5,#eee);background-image:-ms-linear-gradient(top,#f5f5f5,#eee);background-image:-o-linear-gradient(top,#f5f5f5,#eee);background-image:linear-gradient(top,#f5f5f5,#eee)}.control-section:hover .customize-section-title,.control-section .customize-section-title:hover,.control-section.open .customize-section-title{color:#fff;text-shadow:0 -1px 0 #333;background-color:#808080;background-image:-webkit-linear-gradient(top,#808080,#6d6d6d);background-image:-moz-linear-gradient(top,#808080,#6d6d6d);background-image:-ms-linear-gradient(top,#808080,#6d6d6d);background-image:-o-linear-gradient(top,#808080,#6d6d6d);background-image:linear-gradient(top,#808080,#6d6d6d)}.control-section.open .customize-section-title{border-bottom:1px solid #6d6d6d}.customize-section.open .customize-section-content{display:block;background:#fdfdfd}.customize-section-title:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:6px 6px 0;position:absolute;top:25px;right:20px;z-index:1}.cannot-expand .customize-section-title:after{display:none}.customize-section-title:hover:after{border-color:#aaa transparent}.control-section .customize-section-title:hover:after{border-color:#eee transparent}.control-section .customize-section-title:after{top:15px}#customize-info .customize-section-content{background:transparent}#customize-info .preview-notice{font-size:13px;line-height:24px;color:#999}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;color:#333;display:block;text-shadow:0 1px 0 #fff}#customize-info .theme-screenshot{width:258px;border:1px solid #ccc}#customize-info .theme-description{margin-top:1em;color:#777;line-height:20px}#customize-controls .submit{text-align:center}#customize-theme-controls>ul,#customize-theme-controls .customize-section-content{margin:0}#customize-header-actions .button-primary{float:right;margin-top:11px}#customize-header-actions img{display:none;float:right;margin-top:13px;margin-right:4px}.saving #customize-header-actions img{display:block}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control-title{display:block;line-height:24px;font-weight:bold}.customize-control select,.customize-control input[type="text"],.customize-control input[type="radio"],.customize-control input[type="checkbox"],.customize-control-color .color-picker,.customize-control-checkbox label,.customize-control-upload div{line-height:28px}.customize-control input[type="text"]{width:98%;line-height:18px;margin:0}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control-checkbox input{margin-right:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio label{line-height:20px}.customize-control-radio input{margin-right:5px}#customize-preview iframe{width:100%;height:100%}.customize-section .dropdown{float:left;display:block;position:relative;cursor:pointer;-webkit-border-radius:3px;border-radius:3px}.customize-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;background-color:#eee;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:15px;border-color:#ccc;border-style:solid;border-width:1px 1px 1px 0;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.customize-control .dropdown-arrow:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:4px 4px 0 4px;position:absolute;top:50%;margin-top:-1px;right:4px;z-index:1}.customize-section .dropdown:hover .dropdown-content,.customize-control .dropdown:hover .dropdown-arrow{border-color:#aaa}.customize-section .dropdown:hover .dropdown-arrow:after{border-color:#aaa transparent}.customize-control .dropdown-status{display:none;max-width:112px;color:#777}.customize-control-color .color-picker-hex,.customize-control-color .farbtastic-placeholder{display:none}.customize-control-color.open .color-picker-hex,.customize-control-color.open .farbtastic-placeholder{display:block}.customize-control-color .dropdown{margin-right:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#fff;border:1px solid rgba(0,0,0,0.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,0.25)}.customize-section input[type="text"].color-picker-hex{float:left;width:85px;font-family:monospace;text-align:center}.customize-section input[type="text"].color-picker-hex:focus::-webkit-input-placeholder{color:transparent}.customize-section input[type="text"].color-picker-hex:-moz-placeholder{color:#999}.customize-control-color .farbtastic-placeholder{width:100%;margin:5px 0 10px;float:left}.customize-control-color .farbtastic{margin:0 auto}.customize-control-image .library,.customize-control-image .actions{display:none;float:left;width:100%}.customize-control-image.open .library,.customize-control-image.open .actions{display:block}.customize-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.customize-section .customize-control-image .dropdown-status{padding:4px 5px}.customize-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.customize-section .customize-control-image .actions{text-align:right}.customize-section .customize-control-image .library ul{border-bottom:1px solid #dfdfdf;float:left;width:100%;margin:10px 0 0}.customize-section .customize-control-image .library li{color:#999;float:left;padding:3px 5px;margin:0;border-style:solid;border-color:transparent;border-width:1px 1px 0 1px}.customize-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#777;background:#fdfdfd;border-color:#dfdfdf;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.customize-section .customize-control-image .library-content{display:none;width:100%;float:left;padding:10px 0}.customize-section .customize-control-image .library-content.library-selected{display:block}.customize-section .customize-control-image .library .thumbnail{display:block;width:100%}.customize-section .customize-control-image .library .thumbnail:hover img{border-color:#21759b}.customize-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:4px;background:#fff;border:1px solid #dfdfdf}.customize-section .customize-control-upload .upload-fallback,.customize-section .customize-control-image .upload-fallback{display:none}.customize-section .customize-control-upload .upload-dropzone,.customize-section .customize-control-image .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;color:#777;position:relative;cursor:default}.customize-section .customize-control-upload .upload-dropzone.supports-drag-drop,.customize-section .customize-control-image .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;-moz-transition:border-color .1s;-ms-transition:border-color .1s;-o-transition:border-color .1s;transition:border-color .1s}.customize-section .customize-control-upload .library ul li,.customize-section .customize-control-image .library ul li{cursor:pointer}.customize-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,.customize-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios .wp-full-overlay{position:relative}.ios #customize-preview{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}body.cheatin{min-width:0;background:#f9f9f9;padding:50px}body.cheatin p{max-width:700px;margin:0 auto;padding:2em;font-size:14px;background:#fff;border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/customize-controls.dev.css ./wordpress-3.4/wp-admin/css/customize-controls.dev.css
*** ./wordpress-3.3.2/wp-admin/css/customize-controls.dev.css	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/customize-controls.dev.css	2012-06-08 14:22:11.000000000 -0500
***************
*** 0 ****
--- 1,537 ----
+ body {
+ 	overflow: hidden;
+ }
+ 
+ #customize-controls a {
+ 	text-decoration: none;
+ }
+ 
+ .customize-section {
+ 	border-top: 1px solid #fff;
+ 	border-bottom: 1px solid #dfdfdf;
+ 	margin: 0;
+ }
+ 
+ .control-section.customize-section:hover,
+ .control-section.customize-section.open {
+ 	border-top-color: #808080;
+ }
+ 
+ .control-section.customize-section:hover {
+ 	border-bottom-color: #6d6d6d;
+ }
+ 
+ .customize-section.open:hover {
+ 	border-bottom-color: #dfdfdf;
+ }
+ 
+ .customize-section:last-child {
+ 	box-shadow: 0 1px 0 0px #fff;
+ }
+ 
+ .customize-section-title {
+ 	margin: 0;
+ 	padding: 15px 20px;
+ 	position: relative;
+ 
+ 	cursor: pointer;
+ 
+ 	-webkit-user-select: none;
+ 	-moz-user-select: none;
+ 	user-select: none;
+ }
+ 
+ .cannot-expand .customize-section-title {
+ 	cursor: auto;
+ }
+ 
+ .customize-section-content {
+ 	display: none;
+ 	padding: 10px 20px 15px;
+ 	overflow: hidden;
+ }
+ 
+ .control-section .customize-section-title {
+ 	padding: 10px 20px;
+ 	font-size: 15px;
+ 	font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
+ 	font-weight: normal;
+ 	text-shadow: 0 1px 0 #fff;
+ 
+ 	background-color: #f5f5f5;
+ 	background-image: -webkit-linear-gradient( top, #f5f5f5, #eee );
+ 	background-image:    -moz-linear-gradient( top, #f5f5f5, #eee );
+ 	background-image:     -ms-linear-gradient( top, #f5f5f5, #eee );
+ 	background-image:      -o-linear-gradient( top, #f5f5f5, #eee );
+ 	background-image:         linear-gradient( top, #f5f5f5, #eee );
+ }
+ 
+ .control-section:hover .customize-section-title,
+ .control-section .customize-section-title:hover,
+ .control-section.open .customize-section-title {
+ 	color: #fff;
+ 	text-shadow: 0 -1px 0 #333;
+ 	background-color: #808080;
+ 	background-image: -webkit-linear-gradient( top, #808080, #6d6d6d );
+ 	background-image:    -moz-linear-gradient( top, #808080, #6d6d6d );
+ 	background-image:     -ms-linear-gradient( top, #808080, #6d6d6d );
+ 	background-image:      -o-linear-gradient( top, #808080, #6d6d6d );
+ 	background-image:         linear-gradient( top, #808080, #6d6d6d );
+ }
+ 
+ .control-section.open .customize-section-title {
+ 	border-bottom: 1px solid #6d6d6d;
+ }
+ 
+ .customize-section.open .customize-section-content {
+ 	display: block;
+ 	background: #fdfdfd;
+ }
+ 
+ .customize-section-title:after {
+ 	content: '';
+ 	width: 0;
+ 	height: 0;
+ 	border-color: #ccc transparent;
+ 	border-style: solid;
+ 	border-width: 6px 6px 0;
+ 	position: absolute;
+ 	top: 25px;
+ 	right: 20px;
+ 	z-index: 1;
+ }
+ 
+ .cannot-expand .customize-section-title:after {
+ 	display: none;
+ }
+ 
+ .customize-section-title:hover:after {
+ 	border-color: #aaa transparent;
+ }
+ 
+ .control-section .customize-section-title:hover:after {
+ 	border-color: #eee transparent;
+ }
+ 
+ .control-section .customize-section-title:after {
+ 	top: 15px;
+ }
+ 
+ #customize-info .customize-section-content {
+ 	background: transparent;
+ }
+ 
+ #customize-info .preview-notice {
+ 	font-size: 13px;
+ 	line-height: 24px;
+ 	color: #999;
+ }
+ 
+ #customize-info .theme-name {
+ 	font-size: 20px;
+ 	font-weight: 200;
+ 	line-height: 24px;
+ 	color: #333;
+ 	display: block;
+ 	text-shadow: 0 1px 0 #fff;
+ }
+ 
+ #customize-info .theme-screenshot {
+ 	width: 258px;
+ 	border: 1px solid #ccc;
+ }
+ 
+ #customize-info .theme-description {
+ 	margin-top: 1em;
+ 	color: #777;
+ 	line-height: 20px;
+ }
+ 
+ #customize-controls .submit {
+ 	text-align: center;
+ }
+ 
+ #customize-theme-controls > ul,
+ #customize-theme-controls .customize-section-content {
+ 	margin: 0;
+ }
+ 
+ #customize-header-actions .button-primary {
+ 	float: right;
+ 	margin-top: 11px;
+ }
+ 
+ #customize-header-actions img {
+ 	display: none;
+ 	float: right;
+ 	margin-top: 13px;
+ 	margin-right: 4px;
+ }
+ 
+ .saving #customize-header-actions img {
+ 	display: block;
+ }
+ 
+ .customize-control {
+ 	width: 100%;
+ 	float: left;
+ 	clear: both;
+ 	margin-bottom: 8px;
+ }
+ 
+ .customize-control-title {
+ 	display: block;
+ 	line-height: 24px;
+ 	font-weight: bold;
+ }
+ 
+ .customize-control select,
+ .customize-control input[type="text"],
+ .customize-control input[type="radio"],
+ .customize-control input[type="checkbox"],
+ .customize-control-color .color-picker,
+ .customize-control-checkbox label,
+ .customize-control-upload div {
+ 	line-height: 28px;
+ }
+ 
+ .customize-control input[type="text"] {
+ 	width: 98%;
+ 	line-height: 18px;
+ 	margin: 0;
+ }
+ 
+ .customize-control select {
+ 	min-width: 50%;
+ 	max-width: 100%;
+ 	height: 28px;
+ 	line-height: 28px;
+ }
+ 
+ .customize-control-checkbox input {
+ 	margin-right: 5px;
+ }
+ 
+ .customize-control-radio {
+ 	padding: 5px 0 10px;
+ }
+ 
+ .customize-control-radio .customize-control-title {
+ 	margin-bottom: 0;
+ 	line-height: 22px;
+ }
+ 
+ .customize-control-radio label {
+ 	line-height: 20px;
+ }
+ 
+ .customize-control-radio input {
+ 	margin-right: 5px;
+ }
+ 
+ #customize-preview iframe {
+ 	width: 100%;
+ 	height: 100%;
+ }
+ 
+ /*
+  * Style for custom settings
+  */
+ 
+ /*
+  * Dropdowns
+  */
+ .customize-section .dropdown {
+ 	float: left;
+ 	display: block;
+ 	position: relative;
+ 	cursor: pointer;
+ 
+ 	-webkit-border-radius: 3px;
+ 	border-radius: 3px;
+ }
+ 
+ .customize-section .dropdown-content {
+ 	overflow: hidden;
+ 	float: left;
+ 	min-width: 30px;
+ 	height: 16px;
+ 	line-height: 16px;
+ 	margin-right: 16px;
+ 	padding: 4px 5px;
+ 	background-color: #eee;
+ 	border: 1px solid #ccc;
+ 	-webkit-border-radius: 3px 0 0 3px;
+ 	border-radius: 3px 0 0 3px;
+ 
+ 	-webkit-user-select: none;
+ 	-moz-user-select: none;
+ 	user-select: none;
+ }
+ 
+ .customize-control .dropdown-arrow {
+ 	position: absolute;
+ 	top: 0;
+ 	bottom: 0;
+ 	right: 0;
+ 	width: 15px;
+ 
+ 	border-color: #ccc;
+ 	border-style: solid;
+ 	border-width: 1px 1px 1px 0;
+ 	-webkit-border-radius: 0 3px 3px 0;
+ 	border-radius: 0 3px 3px 0;
+ }
+ 
+ .customize-control .dropdown-arrow:after {
+ 	content: '';
+ 	width: 0;
+ 	height: 0;
+ 	border-color: #ccc transparent;
+ 	border-style: solid;
+ 	border-width: 4px 4px 0 4px;
+ 	position: absolute;
+ 	top: 50%;
+ 	margin-top: -1px;
+ 	right: 4px;
+ 	z-index: 1;
+ }
+ 
+ .customize-section .dropdown:hover .dropdown-content,
+ .customize-control .dropdown:hover .dropdown-arrow {
+ 	border-color: #aaa;
+ }
+ 
+ .customize-section .dropdown:hover .dropdown-arrow:after {
+ 	border-color: #aaa transparent;
+ }
+ 
+ .customize-control .dropdown-status {
+ 	display: none;
+ 	max-width: 112px;
+ 	color: #777;
+ }
+ 
+ /*
+  * Color Picker
+  */
+ .customize-control-color .color-picker-hex,
+ .customize-control-color .farbtastic-placeholder {
+ 	display: none;
+ }
+ 
+ .customize-control-color.open .color-picker-hex,
+ .customize-control-color.open .farbtastic-placeholder {
+ 	display: block;
+ }
+ 
+ .customize-control-color .dropdown {
+ 	margin-right: 5px;
+ 	margin-bottom: 5px;
+ }
+ 
+ .customize-control-color .dropdown .dropdown-content {
+ 	background-color: #fff;
+ 	border: 1px solid rgba( 0, 0, 0, 0.15 );
+ }
+ 
+ .customize-control-color .dropdown:hover .dropdown-content {
+ 	border-color: rgba( 0, 0, 0, 0.25 );
+ }
+ 
+ .customize-section input[type="text"].color-picker-hex {
+ 	float: left;
+ 	width: 85px;
+ 	font-family: monospace;
+ 	text-align: center;
+ }
+ 
+ /* The centered cursor overlaps the placeholder in webkit. Hide it when selected. */
+ .customize-section input[type="text"].color-picker-hex:focus::-webkit-input-placeholder {
+ 	color: transparent;
+ }
+ .customize-section input[type="text"].color-picker-hex:-moz-placeholder {
+ 	color: #999;
+ }
+ 
+ .customize-control-color .farbtastic-placeholder {
+ 	width: 100%;
+ 	margin: 5px 0 10px;
+ 	float: left;
+ }
+ 
+ .customize-control-color .farbtastic {
+ 	margin: 0 auto;
+ }
+ 
+ /*
+  * Image Picker
+  */
+ .customize-control-image .library,
+ .customize-control-image .actions {
+ 	display: none;
+ 	float: left;
+ 	width: 100%;
+ }
+ 
+ .customize-control-image.open .library,
+ .customize-control-image.open .actions {
+ 	display: block;
+ }
+ 
+ .customize-section .customize-control-image .dropdown-content {
+ 	height: auto;
+ 	min-height: 24px;
+ 	min-width: 40px;
+ 	padding: 0;
+ }
+ 
+ .customize-section .customize-control-image .dropdown-status {
+ 	padding: 4px 5px;
+ }
+ 
+ .customize-section .customize-control-image .preview-thumbnail img {
+ 	display: block;
+ 	width: 100%;
+ 	max-width: 122px;
+ 	max-height: 98px;
+ 	margin: 0 auto;
+ }
+ 
+ .customize-section .customize-control-image .actions {
+ 	text-align: right;
+ }
+ 
+ .customize-section .customize-control-image .library ul {
+ 	border-bottom: 1px solid #dfdfdf;
+ 	float: left;
+ 	width: 100%;
+ 	margin: 10px 0 0;
+ }
+ 
+ .customize-section .customize-control-image .library li {
+ 	color: #999;
+ 	float: left;
+ 	padding: 3px 5px;
+ 	margin: 0;
+ 	border-style: solid;
+ 	border-color: transparent;
+ 	border-width: 1px 1px 0 1px;
+ }
+ 
+ .customize-section .customize-control-image .library li.library-selected {
+ 	margin-bottom: -1px;
+ 	padding-bottom: 4px;
+ 
+ 	color: #777;
+ 	background: #fdfdfd;
+ 	border-color: #dfdfdf;
+ 	-webkit-border-radius: 3px 3px 0 0;
+ 	border-radius: 3px 3px 0 0 ;
+ }
+ 
+ .customize-section .customize-control-image .library-content {
+ 	display: none;
+ 	width: 100%;
+ 	float: left;
+ 	padding: 10px 0;
+ }
+ 
+ .customize-section .customize-control-image .library-content.library-selected {
+ 	display: block;
+ }
+ 
+ .customize-section .customize-control-image .library .thumbnail {
+ 	display: block;
+ 	width: 100%;
+ }
+ 
+ .customize-section .customize-control-image .library .thumbnail:hover img {
+ 	border-color: #21759b;
+ }
+ 
+ .customize-section .customize-control-image .library .thumbnail img {
+ 	display: block;
+ 	max-width: 90%;
+ 	max-height: 80px;
+ 
+ 	margin: 5px auto;
+ 	padding: 4px;
+ 	background: #fff;
+ 	border: 1px solid #dfdfdf;
+ }
+ 
+ .customize-section .customize-control-upload .upload-fallback,
+ .customize-section .customize-control-image .upload-fallback {
+ 	display: none;
+ }
+ 
+ .customize-section .customize-control-upload .upload-dropzone,
+ .customize-section .customize-control-image .upload-dropzone {
+ 	display: none;
+ 	padding: 15px 10px;
+ 	border: 3px dashed #dfdfdf;
+ 	margin: 5px auto;
+ 	text-align: center;
+ 	color: #777;
+ 	position: relative;
+ 	cursor: default;
+ }
+ 
+ .customize-section .customize-control-upload .upload-dropzone.supports-drag-drop,
+ .customize-section .customize-control-image .upload-dropzone.supports-drag-drop {
+ 	display: block;
+ 	-webkit-transition: border-color 0.1s;
+ 	-moz-transition:    border-color 0.1s;
+ 	-ms-transition:     border-color 0.1s;
+ 	-o-transition:      border-color 0.1s;
+ 	transition:         border-color 0.1s;
+ }
+ 
+ .customize-section .customize-control-upload .library ul li,
+ .customize-section .customize-control-image .library ul li {
+ 	cursor: pointer;
+ }
+ 
+ .customize-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,
+ .customize-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over {
+ 	border-color: #83b4d8;
+ }
+ 
+ /**
+  * iOS can't scroll iframes,
+  * instead it expands the iframe size to match the size of the content
+  */
+ .ios .wp-full-overlay {
+ 	position: relative;
+ }
+ 
+ .ios #customize-preview {
+ 	position: relative;
+ }
+ 
+ .ios #customize-controls .wp-full-overlay-sidebar-content {
+ 	-webkit-overflow-scrolling: touch;
+ }
+ 
+ /**
+  * Handle cheaters.
+  */
+ body.cheatin {
+ 	min-width: 0;
+ 	background: #f9f9f9;
+ 	padding: 50px;
+ }
+ 
+ body.cheatin p {
+ 	max-width: 700px;
+ 	margin: 0 auto;
+ 	padding: 2em;
+ 	font-size: 14px;
+ 
+ 	background: #fff;
+ 	border: 1px solid #dfdfdf;
+ 
+ 	-webkit-border-radius: 3px;
+ 	border-radius:         3px;
+ }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/customize-controls-rtl.css ./wordpress-3.4/wp-admin/css/customize-controls-rtl.css
*** ./wordpress-3.3.2/wp-admin/css/customize-controls-rtl.css	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/customize-controls-rtl.css	2012-05-30 16:12:36.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ .control-section .customize-section-title{font-family:Tahoma,Arial,sans-serif}.customize-section-title:after{right:auto;left:20px}#customize-header-actions .button-primary{float:left}#customize-header-actions img{float:left;margin-right:0;margin-left:4px}.customize-control{float:right}.customize-control-radio input,.customize-control-checkbox input{margin-right:0;margin-left:5px}.customize-section .dropdown{float:right}.customize-section .dropdown-content{float:right;margin-right:0;margin-left:16px;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.customize-control .dropdown-arrow{right:auto;left:0;border-color:#ccc;border-style:solid;border-width:1px 0 1px 1px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.customize-control .dropdown-arrow:after{right:auto;left:4px}.customize-control-color .dropdown{margin-right:0;margin-left:5px}.customize-section input[type="text"].color-picker-hex,.customize-control-color .farbtastic-placeholder{float:right}.customize-section .customize-control-image .actions{text-align:left}.customize-control-image .library,.customize-control-image .actions,.customize-section .customize-control-image .library ul,.customize-section .customize-control-image .library li,.customize-section .customize-control-image .library-content{float:right}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/customize-controls-rtl.dev.css ./wordpress-3.4/wp-admin/css/customize-controls-rtl.dev.css
*** ./wordpress-3.3.2/wp-admin/css/customize-controls-rtl.dev.css	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/customize-controls-rtl.dev.css	2012-05-30 16:12:36.000000000 -0500
***************
*** 0 ****
--- 1,86 ----
+ .control-section .customize-section-title {
+ 	font-family: Tahoma, Arial, sans-serif;
+ }
+ .customize-section-title:after {
+ 	right: auto;
+ 	left: 20px;
+ }
+ 
+ #customize-header-actions .button-primary {
+ 	float: left;
+ }
+ 
+ #customize-header-actions img {
+ 	float: left;
+ 	margin-right: 0;
+ 	margin-left: 4px;
+ }
+ 
+ .customize-control {
+ 	float: right;
+ }
+ 
+ .customize-control-radio input,
+ .customize-control-checkbox input {
+ 	margin-right: 0;
+ 	margin-left: 5px;
+ }
+ 
+ /*
+  * Dropdowns
+  */
+ .customize-section .dropdown {
+ 	float: right;
+ }
+ 
+ .customize-section .dropdown-content {
+ 	float: right;
+ 	margin-right: 0px;
+ 	margin-left: 16px;
+ 	-webkit-border-radius: 0 3px 3px 0;
+ 	border-radius: 0 3px 3px 0;
+ }
+ 
+ .customize-control .dropdown-arrow {
+ 	right: auto;
+ 	left: 0;
+ 
+ 	border-color: #ccc;
+ 	border-style: solid;
+ 	border-width: 1px 0 1px 1px;
+ 	-webkit-border-radius: 3px 0 0 3px;
+ 	border-radius: 3px 0 0 3px;
+ }
+ 
+ .customize-control .dropdown-arrow:after {
+ 	right: auto;
+ 	left: 4px;
+ }
+ 
+ /*
+  * Color Picker
+  */
+ .customize-control-color .dropdown {
+ 	margin-right: 0;
+ 	margin-left: 5px;
+ }
+ 
+ .customize-section input[type="text"].color-picker-hex,
+ .customize-control-color .farbtastic-placeholder {
+ 	float: right;
+ }
+ 
+ /*
+  * Image Picker
+  */
+ .customize-section .customize-control-image .actions {
+ 	text-align: left;
+ }
+ 
+ .customize-control-image .library,
+ .customize-control-image .actions,
+ .customize-section .customize-control-image .library ul,
+ .customize-section .customize-control-image .library li,
+ .customize-section .customize-control-image .library-content {
+ 	float: right;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/ie.css ./wordpress-3.4/wp-admin/css/ie.css
*** ./wordpress-3.3.2/wp-admin/css/ie.css	2011-11-30 15:19:39.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/ie.css	2012-06-10 09:38:44.000000000 -0500
***************
*** 1 ****
! .welcome-panel .wp-badge{position:absolute;}.welcome-panel .welcome-panel-column{margin:0 -25px 0 4%;}#wp-fullscreen-title{width:97%;}#wp_mce_fullscreen_ifr{background-color:#f9f9f9;}#wp-fullscreen-tagline{color:#888;font-size:14px;}#adminmenushadow{display:none;}#adminmenuback{left:0;background-image:none;}#adminmenuwrap{position:static;}#adminmenu{position:relative;}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1;}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd;}#adminmenu .separator{font-size:1px;line-height:1px;}#adminmenu .wp-submenu ul{margin:0;}.folded #adminmenu .wp-submenu ul{margin-left:5px;}#adminmenu li.menu-top{margin-bottom:-2px;}#adminmenu li.wp-not-current-submenu:hover .wp-menu-arrow{display:none;}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 4px 4px 10px;zoom:100%;}.js.folded #adminmenu .menu-top{height:30px;}.js.folded #adminmenu .wp-submenu{margin:-1px 0 0 0;}.js.folded #adminmenu li.menu-top{display:block;zoom:100%;}ul#adminmenu{z-index:99;}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto;}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal;}#wpcontent #adminmenu .wp-submenu li{padding:0;}#collapse-menu{line-height:23px;}#wpadminbar .ab-comments-icon{padding-top:7px;}table.fixed th,table.fixed td{border-top:1px solid #ddd;}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary,#wpbody-content input.button-highlighted{overflow:visible;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:none;}#dashboard-widgets h3 a{height:14px;line-height:14px;}#dashboard_browser_nag{color:#fff;}#dashboard_browser_nag .browser-icon{position:relative;}.tablenav-pages .current-page{vertical-align:middle;}#wpbody-content .postbox{border:1px solid #dfdfdf;}#wpbody-content .postbox h3{margin-bottom:-1px;}.major-publishing-actions,.wp-submenu,.wp-submenu li,.wp-menu-toggle,#template,#template div,#editcat,#addcat{zoom:100%;}.wp-menu-arrow{height:28px;}.submitbox{margin-top:10px;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%;}.inline-edit-row p.submit{zoom:100%;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%;}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%;}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%;}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em;}#titlediv #title{width:98%;}a.button{line-height:1.4em;margin:1px;padding:2px 6px;}#screen-options-wrap{overflow:hidden;}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{display:block;zoom:100%;}p.search-box{position:static;float:right;margin:-3px 0 4px;}#editorcontainer #content{overflow:auto;margin:auto;width:98%;}form#template div{width:100%;}#ed_toolbar input,#ed_reply_toolbar input{overflow:visible;padding:0 4px;}#poststuff h2{font-size:1.6em;}#bh{margin:7px 10px 0 0;float:right;}div#dashboard-widgets{padding-right:1px;}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block;}.tagchecklist span a{margin:4px 0 0 -9px;}.tablenav .button-secondary,.nav .button-secondary{padding-top:2px;padding-bottom:2px;}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px;}.tablenav .actions select{width:155px;}table.ie-fixed{table-layout:fixed;}.widefat tr,.widefat th{margin-bottom:0;border-spacing:0;}.widefat th input{margin:0 0 0 5px;}.widefat .check-column{padding:6px 0 2px;}.widefat tbody th.check-column{padding:4px 0 22px;}.widefat{empty-cells:show;border-collapse:collapse;}.tablenav a.button-secondary{display:inline-block;padding:2px 5px;}.inactive-sidebar .widgets-sortables{padding-bottom:8px;}#available-widgets .widget-holder{padding-bottom:65px;}#widgets-left .inactive{padding-bottom:10px;}.widget-liquid-right .widget,.inactive-sidebar .widget{position:relative;}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA;}#wpcontent #ajax-loading,#wpcontent .ajax-loading{vertical-align:baseline;}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{background-color:#ffffe0;}.imgedit-submit{width:300px;}#nav-menus-frame,#wpbody,.menu li{zoom:100%;}#update-nav-menu #post-body{overflow:hidden;}.menu li{min-width:100%;}.menu li.sortable-placeholder{min-width:400px;}.about-wrap img.element-screenshot{padding:2px;}.about-wrap .feature-section img,.about-wrap .feature-section .image-mask{border-width:1px;border-style:solid;}.about-wrap .feature-section.three-col img{margin-left:0;}* html .row-actions{visibility:visible;}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative;}* html #editorcontainer{padding:0;}* html #poststuff h2{margin-left:0;}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF;}* html .feature-filter .feature-group li{width:145px;}* html .widget-top .widget-title-action a{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;}* html div.widget-liquid-left{width:99%;}* html .widgets-sortables{height:50px;}* html a#content_resize{right:-2px;}* html .widget-title h4{width:205px;}* html #removing-widget .in-widget-title{display:none;}* html .media-item .pinkynail{height:32px;width:40px;}* html .describe .field input.text,* html .describe .field textarea{width:440px;}* html input{border:1px solid #dfdfdf;}* html .meta-box-sortables .postbox .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}* html .edit-box{display:inline;}* html .inner-sidebar #side-sortables,* html .postbox-container .meta-box-sortables{height:300px;}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center;}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center;}* html #adminmenu{margin-left:-80px;}* html .folded #adminmenu{margin-left:-22px;}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0;}* html #footer{margin:0;}* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle{background:none;}* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -206px;}* html #adminmenu div.wp-menu-image{height:29px;}
\ No newline at end of file
--- 1 ----
! .wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column{margin:0 -25px 0 4%}#wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#888;font-size:14px}#adminmenushadow{display:none}#adminmenuback{left:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu ul{margin:0}.folded #adminmenu .wp-submenu ul{margin-left:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu li.wp-not-current-submenu:hover .wp-menu-arrow{display:none}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 4px 4px 10px;zoom:100%}.js.folded #adminmenu .menu-top{height:30px}.js.folded #adminmenu .wp-submenu{margin:-1px 0 0 0}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}table.fixed th,table.fixed td{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary,#wpbody-content input.button-highlighted{overflow:visible}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:none}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox h3{margin-bottom:-1px}.major-publishing-actions,.wp-submenu,.wp-submenu li,.wp-menu-toggle,#template,#template div,#editcat,#addcat{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}a.button{line-height:1.4em;margin:1px;padding:2px 6px}#screen-options-wrap{overflow:hidden}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.tagchecklist span a{margin:4px 0 0 -9px}.tablenav .button-secondary,.nav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}table.ie-fixed{table-layout:fixed}.widefat tr,.widefat th{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat .check-column{padding:6px 0 2px}.widefat tbody th.check-column{padding:4px 0 22px}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.widget-liquid-right .widget,.inactive-sidebar .widget{position:relative}#wpcontent .button-primary-disabled{color:#9fd0d5;background:#298cba}#wpcontent #ajax-loading,#wpcontent .ajax-loading{vertical-align:baseline}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.about-wrap img.element-screenshot{padding:2px}.about-wrap .feature-section img,.about-wrap .feature-section .image-mask{border-width:1px;border-style:solid}.about-wrap .feature-section.three-col img{margin-left:0}.available-theme{display:inline}.available-theme ul{margin:0}.about-wrap .three-col-images img{margin:0 .6% 10px}.about-wrap .three-col-images .last-feature,.about-wrap .three-col-images .first-feature{float:none}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-left:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #dfdfdf}* html .feature-filter .feature-group li{width:145px}* html .widget-top .widget-title-action a{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{right:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .meta-box-sortables .postbox .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-left:-80px}* html .folded #adminmenu{margin-left:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #footer{margin:0}* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle{background:0}* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px}* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -206px}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/ie.dev.css ./wordpress-3.4/wp-admin/css/ie.dev.css
*** ./wordpress-3.3.2/wp-admin/css/ie.dev.css	2011-11-30 15:19:39.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/ie.dev.css	2012-06-10 09:26:38.000000000 -0500
***************
*** 1,4 ****
! /* Fixes for IE bugs */
  .welcome-panel .wp-badge {
  	position: absolute;
  }
--- 1,13 ----
! /* Fixes for IE 7 bugs */
! 
! .wp-editor-wrap .wp-editor-container textarea.wp-editor-area {
! 	width: 97%;
! }
! 
! #post-body.columns-2 #postbox-container-1 {
! 	padding-left: 19px;
! }
! 
  .welcome-panel .wp-badge {
  	position: absolute;
  }
***************
*** 277,284 ****
  	width: 100%;
  }
  
! #ed_toolbar input,
! #ed_reply_toolbar input {
  	overflow: visible;
  	padding: 0 4px;
  }
--- 286,292 ----
  	width: 100%;
  }
  
! .wp-editor-container .quicktags-toolbar input {
  	overflow: visible;
  	padding: 0 4px;
  }
***************
*** 424,429 ****
--- 430,451 ----
  	margin-left: 0;
  }
  
+ .available-theme {
+ 	display: inline;
+ }
+ 
+ .available-theme ul {
+ 	margin: 0;
+ }
+ 
+ .about-wrap .three-col-images img {
+ 	margin: 0 0.6% 10px;
+ }
+ 
+ .about-wrap .three-col-images .last-feature,
+ .about-wrap .three-col-images .first-feature {
+ 	float: none;
+ }
  
  /* IE6 leftovers */
  * html .row-actions {
***************
*** 500,506 ****
  	display: inline;
  }
  
- * html .inner-sidebar #side-sortables,
  * html .postbox-container .meta-box-sortables {
  	height: 300px;
  }
--- 522,527 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/ie-rtl.css ./wordpress-3.4/wp-admin/css/ie-rtl.css
*** ./wordpress-3.3.2/wp-admin/css/ie-rtl.css	2011-11-23 18:40:31.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/ie-rtl.css	2012-03-23 16:58:28.000000000 -0500
***************
*** 1 ****
! body{direction:rtl;width:99.5%;}.rtl #adminmenuback{left:auto;right:0;background-image:none;}.rtl #adminmenuback,.rtl #adminmenuwrap{border-width:0 0 0 1px;}#plupload-upload-ui{zoom:1;}.post-com-count-wrapper a.post-com-count{float:none;}#adminmenu .wp-submenu ul{width:99%;}#adminmenu .wp-submenu .wp-submenu .wp-submenu-wrap,#adminmenu .wp-menu-open .wp-submenu .wp-submenu-wrap{border:1px solid #dfdfdf;}.folded #adminmenu .wp-submenu{right:30px;top:-4px;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 6px 4px;}#adminmenu .wp-menu-arrow{display:none!important;}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 10px 4px 4px;}div.quicktags-toolbar input{min-width:0;}.inline-edit-row fieldset label span.title{float:right;}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;}p.search-box{float:left;}#bh{margin:7px 10px 0 0;float:left;}.postbox div.inside,.wp-editor-wrap .wp-editor-container .wp-editor-area,#nav-menu-theme-locations .howto select{width:97.5%;}div#dashboard-widgets{padding-right:0;padding-left:1px;}#dashboard_quick_press h4{text-align:right;}.tagchecklist span a{margin:4px -9px 0 0;}.widefat th input{margin:0 5px 0 0;}#TB_window{width:670px;position:absolute;top:50%;left:50%;margin-right:335px!important;}#dashboard_plugins{direction:ltr;}#dashboard_plugins h3.hndle{direction:rtl;}#dashboard_incoming_links ul li,#dashboard_secondary ul li,#dashboard_primary ul li,p.row-actions{width:100%;}#post-status-info{height:25px;}p.submit{height:22px;}.inner-sidebar{position:static;}form#widgets-filter{position:static;}.menu-item-depth-0{margin-left:0;}.menu-item-depth-1{margin-left:-30px;}.menu-item-depth-2{margin-left:-60px;}.menu-item-depth-3{margin-left:-90px;}.menu-item-depth-4{margin-left:-120px;}.menu-item-depth-5{margin-left:-150px;}.menu-item-depth-6{margin-left:-180px;}.menu-item-depth-7{margin-left:-210px;}.menu-item-depth-8{margin-left:-240px;}.menu-item-depth-9{margin-left:-270px;}.menu-item-depth-10{margin-left:-300px;}.menu-item-depth-11{margin-left:-330px;}#menu-management,.nav-menus-php .menu-edit,#nav-menu-header .submitbox{zoom:1;}.nav-menus-php label{max-width:90%!important;}p.button-controls,.nav-menus-php .tabs-panel{max-width:90%;}.nav-menus-php .major-publishing-actions .publishing-action{float:none;}#wpbody #nav-menu-header label{float:none;}#nav-menu-header{margin-top:-10px;}#nav-menu-footer{margin-bottom:-20px;}#update-nav-menu .publishing-action{max-width:200px;}#nav-menus-frame #update-nav-menu .delete-action{margin-top:-25px;float:left;}#menu-to-edit li{margin-top:-10px;margin-bottom:-10px;}.sortable-placeholder{margin-top:0!important;margin-left:0!important;margin-bottom:13px!important;padding:0!important;}.auto-add-pages{clear:both;float:none;}#nav-menus-frame .open-label span{float:none;display:inline-block;}#nav-menus-frame .delete-action{float:none;}
\ No newline at end of file
--- 1 ----
! body{direction:rtl;width:99.5%}.rtl #adminmenuback{left:auto;right:0;background-image:none}.rtl #adminmenuback,.rtl #adminmenuwrap{border-width:0 0 0 1px}#plupload-upload-ui{zoom:1}.post-com-count-wrapper a.post-com-count{float:none}#adminmenu .wp-submenu ul{width:99%}#adminmenu .wp-submenu .wp-submenu .wp-submenu-wrap,#adminmenu .wp-menu-open .wp-submenu .wp-submenu-wrap{border:1px solid #dfdfdf}.folded #adminmenu .wp-submenu{right:30px;top:-4px}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 6px 4px}#adminmenu .wp-menu-arrow{display:none!important}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 10px 4px 4px}div.quicktags-toolbar input{min-width:0}.inline-edit-row fieldset label span.title{float:right}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}p.search-box{float:left}#bh{margin:7px 10px 0 0;float:left}.postbox div.inside,.wp-editor-wrap .wp-editor-container .wp-editor-area,#nav-menu-theme-locations .howto select{width:97.5%}div#dashboard-widgets{padding-right:0;padding-left:1px}#dashboard_quick_press h4{text-align:right}.tagchecklist span a{margin:4px -9px 0 0}.widefat th input{margin:0 5px 0 0}#TB_window{width:670px;position:absolute;top:50%;left:50%;margin-right:335px!important}#dashboard_plugins{direction:ltr}#dashboard_plugins h3.hndle{direction:rtl}#dashboard_incoming_links ul li,#dashboard_secondary ul li,#dashboard_primary ul li,p.row-actions{width:100%}#post-status-info{height:25px}p.submit{height:22px}form#widgets-filter{position:static}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:-30px}.menu-item-depth-2{margin-left:-60px}.menu-item-depth-3{margin-left:-90px}.menu-item-depth-4{margin-left:-120px}.menu-item-depth-5{margin-left:-150px}.menu-item-depth-6{margin-left:-180px}.menu-item-depth-7{margin-left:-210px}.menu-item-depth-8{margin-left:-240px}.menu-item-depth-9{margin-left:-270px}.menu-item-depth-10{margin-left:-300px}.menu-item-depth-11{margin-left:-330px}#menu-management,.nav-menus-php .menu-edit,#nav-menu-header .submitbox{zoom:1}.nav-menus-php label{max-width:90%!important}p.button-controls,.nav-menus-php .tabs-panel{max-width:90%}.nav-menus-php .major-publishing-actions .publishing-action{float:none}#wpbody #nav-menu-header label{float:none}#nav-menu-header{margin-top:-10px}#nav-menu-footer{margin-bottom:-20px}#update-nav-menu .publishing-action{max-width:200px}#nav-menus-frame #update-nav-menu .delete-action{margin-top:-25px;float:left}#menu-to-edit li{margin-top:-10px;margin-bottom:-10px}.sortable-placeholder{margin-top:0!important;margin-left:0!important;margin-bottom:13px!important;padding:0!important}.auto-add-pages{clear:both;float:none}#nav-menus-frame .open-label span{float:none;display:inline-block}#nav-menus-frame .delete-action{float:none}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/ie-rtl.dev.css ./wordpress-3.4/wp-admin/css/ie-rtl.dev.css
*** ./wordpress-3.3.2/wp-admin/css/ie-rtl.dev.css	2011-11-23 18:40:31.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/ie-rtl.dev.css	2012-03-23 16:41:00.000000000 -0500
***************
*** 126,135 ****
  	height:22px;
  }
  
- .inner-sidebar { /* fix edit single comment */
- 	position: static;
- }
- 
  form#widgets-filter { /* fix widget page */
  	position: static;
  }
--- 126,131 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/install.css ./wordpress-3.4/wp-admin/css/install.css
*** ./wordpress-3.3.2/wp-admin/css/install.css	2011-11-17 19:56:50.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/install.css	2012-02-08 00:00:51.000000000 -0600
***************
*** 1 ****
! html{background:#f9f9f9;}body{background:#fff;color:#333;font-family:sans-serif;margin:2em auto;padding:1em 2em;-webkit-border-radius:3px;border-radius:3px;border:1px solid #dfdfdf;max-width:700px;}a{color:#21759B;text-decoration:none;}a:hover{color:#D54E21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:30px 0 0 0;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5;}code,.code{font-size:14px;}ul,ol,dl{padding:5px 5px 5px 22px;}a img{border:0;}abbr{border:0;font-variant:normal;}#logo{margin:6px 0 14px 0;border-bottom:none;text-align:center;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}textarea{border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif;width:695px;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top;}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;border-bottom:8px solid #fff;width:140px;vertical-align:top;}.form-table code{line-height:18px;font-size:14px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;border:1px #DFDFDF solid;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif;}.form-table input[type=text],.form-table input[type=password]{width:206px;}.form-table th p{font-weight:normal;}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0;}.form-table.install-success td p{margin:0;font-size:14px;}.form-table.install-success td code{margin:0;font-size:18px;}#error-page{margin-top:50px;}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px;}#error-page code,.code{font-family:Consolas,Monaco,monospace;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0;}body.rtl{font-family:Tahoma,arial;}.rtl h1{font-family:arial;margin:5px -4px 0 0;}.rtl ul,.rtl ol{padding:5px 22px 5px 5px;}.rtl .step,.rtl th,.rtl .form-table th{text-align:right;}.rtl .submit input,.rtl .button,.rtl .button-secondary{margin-right:0;}.rtl #user_login,.rtl #admin_email,.rtl #pass1,.rtl #pass2{direction:ltr;}
\ No newline at end of file
--- 1 ----
! html{background:#f9f9f9}body{background:#fff;color:#333;font-family:sans-serif;margin:2em auto;padding:1em 2em;-webkit-border-radius:3px;border-radius:3px;border:1px solid #dfdfdf;max-width:700px}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:30px 0 0 0;padding:0;padding-bottom:7px}h2{font-size:16px}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5}code,.code{font-size:14px}ul,ol,dl{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}#logo{margin:6px 0 14px 0;border-bottom:0;text-align:center}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.submit input,.button,.button-secondary{font-family:sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top}textarea{border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif;width:695px}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;border-bottom:8px solid #fff;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:2px;border:1px #dfdfdf solid;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif}.form-table input[type=text],.form-table input[type=password]{width:206px}.form-table th p{font-weight:normal}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0}body.rtl{font-family:Tahoma,arial}.rtl h1{font-family:arial;margin:5px -4px 0 0}.rtl ul,.rtl ol{padding:5px 22px 5px 5px}.rtl .step,.rtl th,.rtl .form-table th{text-align:right}.rtl .submit input,.rtl .button,.rtl .button-secondary{margin-right:0}.rtl #dbname,.rtl #uname,.rtl #pwd,.rtl #dbhost,.rtl #prefix,.rtl #user_login,.rtl #admin_email,.rtl #pass1,.rtl #pass2{direction:ltr}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/install.dev.css ./wordpress-3.4/wp-admin/css/install.dev.css
*** ./wordpress-3.3.2/wp-admin/css/install.dev.css	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/install.dev.css	2012-02-07 23:55:54.000000000 -0600
***************
*** 240,246 ****
  }
  
  .rtl ul,
! .rtl  ol {
  	padding: 5px 22px 5px 5px;
  }
  
--- 239,245 ----
  }
  
  .rtl ul,
! .rtl ol {
  	padding: 5px 22px 5px 5px;
  }
  
***************
*** 256,261 ****
--- 255,265 ----
  	margin-right: 0;
  }
  
+ .rtl #dbname,
+ .rtl #uname,
+ .rtl #pwd,
+ .rtl #dbhost,
+ .rtl #prefix,
  .rtl #user_login,
  .rtl #admin_email,
  .rtl #pass1,
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/media.css ./wordpress-3.4/wp-admin/css/media.css
*** ./wordpress-3.3.2/wp-admin/css/media.css	2011-11-10 14:33:26.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/media.css	2012-02-01 08:37:52.000000000 -0600
***************
*** 1 ****
! div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:normal;}.media-upload-form p.help{margin:0;padding:0;}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em 0;padding:0;}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left;}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left;}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left;}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{margin:0 0 5px;}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}thead.media-item-info tr{background-color:transparent;}.form-table thead.media-item-info{border:8px solid #fff;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:sans-serif;font-style:italic;font-weight:normal;}#media-upload .ui-sortable .media-item{cursor:move;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1em 0 3px;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;}p.media-types{margin:1em;}tr.not-image{display:none;}table.not-image tr.not-image{display:table-row;}table.not-image tr.image-only{display:none;}
\ No newline at end of file
--- 1 ----
! div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}form{margin:1em}#search-filter{text-align:right}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:normal}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:0;text-align:justify;margin:0 0 1em 0;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:0}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload p.help,#media-upload label.help{font-family:sans-serif;font-style:italic;font-weight:normal}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:10px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-items a.delete{display:block;float:right}#media-upload .widefat{width:626px;border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #dadada}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #dadada;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5a5a5a}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{margin:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/media-rtl.css ./wordpress-3.4/wp-admin/css/media-rtl.css
*** ./wordpress-3.3.2/wp-admin/css/media-rtl.css	2011-11-19 15:50:33.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/media-rtl.css	2012-02-01 08:37:52.000000000 -0600
***************
*** 1 ****
! body#media-upload ul#sidemenu{left:auto;right:0;}#search-filter{text-align:left;}.align .field label{padding:0 23px 0 0;margin:0 3px 0 1em;}.image-align-none-label,.image-align-left-label,.image-align-center-label,.image-align-right-label{background-position:center right;}tr.image-size label{margin:0 5px 0 0;}.file-error{margin:0 50px 5px 0;}.progress{left:auto;right:0;}.describe td{padding:0 0 0 5px;}#media-upload .describe th.label{text-align:right;}.menu_order{float:left;}.media-upload-form label.form-help,td.help,#media-upload p.help,#media-upload label.help{font-family:Tahoma,Arial;}#gallery-settings #basic th.label{padding:5px 0 5px 5px;}#gallery-settings .title,h3.media-title{font-family:Tahoma,Arial;}#gallery-settings .describe th.label{text-align:right;}#gallery-settings label,#gallery-settings legend{margin-right:0;margin-left:15px;}#gallery-settings .align .field label{margin:0 3px 0 1em;}#sort-buttons{margin:3px 0 -8px 25px;text-align:left;}#sort-buttons #asc,#sort-buttons #showall{padding-left:0;padding-right:5px;}#sort-buttons span{margin-right:0;margin-left:25px;}
\ No newline at end of file
--- 1 ----
! body#media-upload ul#sidemenu{left:auto;right:0}#search-filter{text-align:left}.align .field label{padding:0 23px 0 0;margin:0 3px 0 1em}.image-align-none-label,.image-align-left-label,.image-align-center-label,.image-align-right-label{background-position:center right}tr.image-size label{margin:0 5px 0 0}.file-error{margin:0 50px 5px 0}.progress{left:auto;right:0}.describe td{padding:0 0 0 5px}#media-upload .describe th.label{text-align:right}.menu_order{float:left}.media-upload-form label.form-help,td.help,#media-upload p.help,#media-upload label.help{font-family:Tahoma,Arial}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title,h3.media-title{font-family:Tahoma,Arial}#gallery-settings .describe th.label{text-align:right}#gallery-settings label,#gallery-settings legend{margin-right:0;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#sort-buttons{margin:3px 0 -8px 25px;text-align:left}#sort-buttons #asc,#sort-buttons #showall{padding-left:0;padding-right:5px}#sort-buttons span{margin-right:0;margin-left:25px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/wp-admin.css ./wordpress-3.4/wp-admin/css/wp-admin.css
*** ./wordpress-3.3.2/wp-admin/css/wp-admin.css	2011-12-08 16:55:18.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/wp-admin.css	2012-06-12 12:58:23.000000000 -0500
***************
*** 1 ****
! #wpwrap{height:auto;min-height:100%;width:100%;position:relative;}#wpcontent{height:100%;}#wpcontent,#footer{margin-left:165px;}.folded #wpcontent,.folded #footer{margin-left:52px;}#wpbody-content{padding-bottom:65px;float:left;width:100%;}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu .wp-submenu,#adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-has-current-submenu .wp-submenu{width:145px;}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1;}#adminmenu{clear:left;margin:0;padding:0;list-style:none;}.folded #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:32px;}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative;}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block;}.inner-sidebar #side-sortables,.columns-2 .inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0;}.has-right-sidebar .inner-sidebar{display:block;}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px;}.has-right-sidebar #post-body-content{margin-right:300px;}#post-body-content #side-sortables.empty-container{border:0 none;height:0;}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0;}#col-left{width:35%;}#col-right{float:right;clear:right;width:65%;}.col-wrap{padding:0 7px;}.alignleft{float:left;}.alignright{float:right;}.textleft{text-align:left;}.textright{text-align:right;}.clear{clear:both;}.screen-reader-text,.screen-reader-text span{position:absolute;left:-1000em;height:1px;width:1px;overflow:hidden;}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js{display:none;}input[type="text"],input[type="password"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}input[type="checkbox"],input[type="radio"]{vertical-align:text-bottom;}html,body{height:100%;margin:0;padding:0;}body{font-family:sans-serif;font-size:12px;line-height:1.4em;min-width:600px;}body.iframe{min-width:0;}body.login{background:#fbfbfb;min-width:0;}iframe,img{border:0;}td,textarea,input,select{font-family:inherit;font-size:inherit;font-weight:inherit;}td,textarea{line-height:inherit;}input,select{line-height:15px;}a,input,select{outline:0;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}p{margin:1em 0;}blockquote{margin:1em;}label{cursor:pointer;}li,dd{margin-bottom:6px;}textarea,input,select{margin:1px;padding:3px;}h1,h2,h3,h4,h5,h6{display:block;font-weight:bold;}h1{font-size:2em;margin:.67em 0;}h2{font-size:1.5em;margin:.83em 0;}h3{font-size:1.17em;margin:1em 0;}h4{font-size:1em;margin:1.33em 0;}h5{font-size:.83em;margin:1.67em 0;}h6{font-size:.67em;margin:2.33em 0;}ul,ol{padding:0;}ul{list-style:none;}ol{list-style-type:decimal;margin-left:2em;}ul.ul-disc{list-style:disc outside;}ul.ul-square{list-style:square outside;}ol.ol-decimal{list-style:decimal outside;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em;}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em;}.code,code{font-family:Consolas,Monaco,monospace;}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px;}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;white-space:nowrap;font-size:12px;float:left;}.subsubsub a{line-height:2;padding:.2em;text-decoration:none;}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal;}.subsubsub a.current{font-weight:bold;background:none;border:none;}.subsubsub li{display:inline;margin:0;padding:0;}.widefat,div.updated,div.error,.wrap .add-new-h2,textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select,.tablenav .tablenav-pages a,.tablenav-pages span.current,#titlediv #title,.postbox,#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea,.imgedit-menu div,.plugin-update-tr .update-message,#poststuff .inside .the-tagcloud,.login form,#login_error,.login .message,#menu-management .menu-edit,.nav-menus-php .list-container,.menu-item-handle,.link-to-original,.nav-menus-php .major-publishing-actions .form-invalid,.press-this #message,#TB_window,.tbtitle,.highlight,.feature-filter,#widget-list .widget-top,.editwidget .widget-inside{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;}.widefat{border-spacing:0;width:100%;clear:both;margin:0;}.widefat *{word-wrap:break-word;}.widefat a{text-decoration:none;}.widefat thead th:first-of-type{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;}.widefat thead th:last-of-type{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.widefat td,.widefat th{border-width:1px 0;border-style:solid;}.widefat tfoot th{border-bottom:none;}.widefat .no-items td{border-bottom-width:0;}.widefat td{font-size:12px;padding:4px 7px 2px;vertical-align:top;}.widefat td p,.widefat td ol,.widefat td ul{font-size:12px;}.widefat th{padding:7px 7px 8px;text-align:left;line-height:1.3em;font-size:14px;}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top;}.widefat .check-column{width:2.2em;padding:11px 0 0;vertical-align:top;}.widefat tbody th.check-column{padding:9px 0 22px;}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center;}.widefat th#comments{vertical-align:middle;}.wrap{margin:4px 15px 0 0;}div.updated,div.error{padding:0 .6em;margin:5px 15px 2px;}div.updated p,div.error p{margin:.5em 0;padding:2px;}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:5px 0 15px;}.wrap h2,.subtitle{font-weight:normal;margin:0;text-shadow:#fff 0 1px 0;}.wrap h2{font-size:23px;padding:9px 15px 4px 0;line-height:29px;}.subtitle{font-size:14px;padding-left:25px;}.wrap .add-new-h2{font-family:sans-serif;margin-left:4px;padding:3px 8px;position:relative;top:-3px;text-decoration:none;font-size:12px;border:0 none;}.wrap h2.long-header{padding-right:0;}.fade-1000,.fade-600,.fade-400,.fade-300{opacity:0;-moz-transition-property:opacity;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;}.fade-1000{-moz-transition-duration:1s;-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s;}.fade-600{-moz-transition-duration:.6s;-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s;}.fade-400{-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s;}.fade-300{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;}.fade-trigger{opacity:1;}div.sidebar-name h3,#menu-management .nav-tab,#dashboard_plugins h5,a.rsswidget,#dashboard_right_now td.b,#dashboard-widgets h4,.tool-box .title,#poststuff h3,.metabox-holder h3,.pressthis a,#your-profile legend,.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title,.tablenav .displaying-num,.widefat th,.quicktags,.search{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;}h2 .nav-tab,.wrap h2,.subtitle,.login form .input{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;}.quicktags,.search{font-size:12px;}.icon32{float:left;height:34px;margin:7px 8px 0 0;width:36px;}.icon16{height:18px;width:18px;padding:6px 6px;margin:-6px 0 0 -8px;float:left;}.key-labels label{line-height:24px;}.pre{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.howto{font-style:italic;display:block;font-family:sans-serif;}p.install-help{margin:8px 0;font-style:italic;}.no-break{white-space:nowrap;}.wp-admin select{padding:2px;height:2em;}.wp-admin select[multiple]{height:auto;}select option{padding:2px;}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}form p.submit a.cancel:hover{text-decoration:none;}.submit input,.button,input.button,.button-primary,input.button-primary,.button-secondary,input.button-secondary,.button-highlighted,input.button-highlighted,#postcustomstuff .submit input{text-decoration:none;font-size:12px!important;line-height:13px;padding:3px 8px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:11px;border-radius:11px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{min-width:80px;text-align:center;}textarea.all-options,input.all-options{width:250px;}input.large-text,textarea.large-text{width:99%;}input.regular-text,#adduser .form-field input{width:25em;}input.small-text{width:50px;}#doaction,#doaction2,#post-query-submit{margin-right:8px;}.tablenav select[name="action"],.tablenav select[name="action2"]{width:130px;}.tablenav select[name="m"]{width:155px;}.tablenav select#cat{width:170px;}#wpcontent option{padding:2px;}#timezone_string option{margin-left:1em;}label,#your-profile label+a{vertical-align:middle;}#misc-publishing-actions label{vertical-align:baseline;}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none;}.indicator-hint{padding-top:8px;}p.search-box{float:right;margin:0;}#major-publishing-actions{padding:10px 10px 8px;clear:both;border-top:none;}#delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left;}#publishing-action{text-align:right;float:right;line-height:23px;}#post-body #minor-publishing{padding-bottom:10px;}#post-body #misc-publishing-actions{padding:0;}#post-body .misc-pub-section{border-right-width:1px;border-right-style:solid;border-top:0;border-bottom:0;min-height:30px;float:left;max-width:32%;}#post-body .misc-pub-section-last{border-right:0;}#misc-publishing-actions{padding:6px 0 0;}.misc-pub-section{padding:6px 10px 8px;border-width:1px 0;border-style:solid;}.misc-pub-section:first-child{border-top-width:0;}.misc-pub-section-last{border-bottom-width:0;}#minor-publishing-actions{padding:10px 10px 2px 8px;text-align:right;}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;-webkit-box-shadow:0 1px 0 #fff;-moz-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}#save-post{float:left;}#minor-publishing .ajax-loading{padding:3px 0 0 4px;float:left;}.preview{float:right;}#sticky-span{margin-left:18px;}.side-info{margin:0;padding:4px;font-size:11px;}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom-width:1px;border-bottom-style:solid;}.side-info ul{margin:0;padding-left:18px;list-style:square;}a.button,a.button-primary,a.button-secondary{line-height:15px;padding:3px 10px;white-space:nowrap;-webkit-border-radius:10px;}.approve,.unapproved .unapprove{display:none;}.unapproved .approve,.spam .approve,.trash .approve{display:inline;}td.action-links,th.action-links{text-align:right;}.describe .del-link{padding-left:5px;}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.plugins .plugin-update{padding:0;}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:bold;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}.ajax-feedback{visibility:hidden;vertical-align:bottom;}#ajax-response.alignleft{margin-left:2em;}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;left:0;right:0;filter:inherit;}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block;}.fullscreen-fader{z-index:200000;}.fullscreen-active .fullscreen-fader{display:none;}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;left:0;}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px;}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px;}#wp-fullscreen-container{padding:4px 10px 50px;}#wp-fullscreen-title,#wp-fullscreen-container{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s;}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:none;resize:none;}#wp-fullscreen-tagline{color:#BBB;font-size:18px;float:right;padding-top:5px;}#fullscreen-topbar{position:fixed;top:0;left:0;z-index:150050;border-bottom-style:solid;border-bottom-width:1px;min-width:800px;width:100%;height:40px;}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto;}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:left;}#wp-fullscreen-save{float:right;padding:2px 2px 0 5px;}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px;}#wp-fullscreen-central-toolbar{margin:auto;padding:0;}#wp-fullscreen-buttons>div{float:left;}#wp-fullscreen-mode-bar{padding:1px 14px 0 0;}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:left;margin:1px 0 0 0;padding:2px 6px 2px;border-width:1px 1px 1px 0;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-webkit-gradient(linear,left bottom,left top,from(#e4e4e4),to(#f9f9f9));}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background-color:#eee;background-image:-moz-linear-gradient(bottom,#f9f9f9,#e0e0e0);background-image:-webkit-gradient(linear,left bottom,left top,from(#f9f9f9),to(#e0e0e0));}#wp-fullscreen-modes a:first-child{border-width:1px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}#wp-fullscreen-buttons .active a{background:inherit;}#wp-fullscreen-buttons .hidden{display:none;}#wp-fullscreen-buttons .disabled{opacity:.5;}.wp-html-mode #wp-fullscreen-buttons div{display:none;}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block;}#fullscreen-topbar.fullscreen-make-sticky{display:block!important;}#wp-fullscreen-save img{vertical-align:middle;}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:4px;display:none;}#wp-fullscreen-buttons .mce_image .mce_image{background-image:url('../images/menu.png?ver=20111128');background-position:-124px -38px;}#wp-fullscreen-buttons .mce_image .mce_image:hover{background-position:-124px -6px;}.fullscreen-active #TB_overlay{z-index:150100;}.fullscreen-active #TB_window{z-index:150102;}#wp_mce_fullscreen_ifr{background:transparent;}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none;}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top;}#adminmenu a,#sidemenu a,#taglist a,#catlist a{text-decoration:none;}#screen-options-wrap,#contextual-help-wrap{margin:0;padding:8px 20px 12px;position:relative;overflow:auto;}#screen-meta .screen-reader-text{visibility:hidden;}#screen-meta-links{margin:0 24px 0 0;}#screen-meta{display:none;position:relative;margin:0 15px 0 5px;border-width:0 1px 1px;border-style:none solid solid;}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:22px;padding:0;margin:0 0 0 6px;font-family:sans-serif;}#screen-options-link-wrap,#contextual-help-link-wrap,#screen-meta{-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}#screen-meta-links a.show-settings{text-decoration:none;z-index:1;padding:0 16px 0 6px;height:22px;line-height:22px;font-size:12px;display:block;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#screen-meta-links a.show-settings:hover{text-decoration:none;}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block;}.toggle-arrow-active{background-position:bottom left;}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px;}.metabox-prefs label{display:inline-block;padding-right:15px;white-space:nowrap;line-height:30px;}.metabox-prefs label input{margin:0 5px 0 2px;}.metabox-prefs label a{display:none;}#contextual-help-wrap{padding:0;margin-left:-4px;}#contextual-help-columns{position:relative;}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border-width:0 1px;border-style:solid;}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px;}.contextual-help-tabs{float:left;width:150px;margin:0;}.contextual-help-tabs ul{margin:1em 0;}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:1px 0;border-color:transparent;}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none;}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-width:1px 0 1px 1px;border-style:solid;}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto;}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em;}.help-tab-content.active{display:block;}.help-tab-content li{list-style-type:disc;margin-left:18px;}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto;}#adminmenuback,#adminmenuwrap{border-width:0 1px 0 0;border-style:solid;}#adminmenuwrap{position:relative;float:left;}#adminmenushadow{position:absolute;top:0;right:0;bottom:0;width:6px;z-index:20;}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;user-select:none;}#adminmenu .wp-submenu{list-style:none;padding:0;margin:0;overflow:hidden;}#adminmenu li .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{display:none;position:absolute;top:-1px;left:146px;z-index:999;overflow:hidden;}.js #adminmenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.no-js #adminmenu .wp-has-submenu:hover .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu li.focused .wp-submenu{display:block;}#adminmenu .wp-has-current-submenu .wp-submenu{position:relative;z-index:2;top:auto;left:auto;right:auto;bottom:auto;padding:0;}#adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;}.folded #adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{top:-5px;left:26px;}#adminmenu .wp-submenu.sub-open,#adminmenu li.focused.wp-not-current-submenu .wp-submenu,.folded #adminmenu li.focused.wp-has-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.no-js #adminmenu .wp-has-submenu:hover .wp-submenu,.no-js.folded #adminmenu .wp-has-current-submenu:hover .wp-submenu{padding:0 8px 8px 0;}.no-js #adminmenu .wp-has-current-submenu:hover .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu{padding:0;}#adminmenu .wp-submenu a{font-size:12px;line-height:18px;}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-size:13px;line-height:18px;}#adminmenu div.wp-submenu-head{display:none;}.folded #adminmenu div.wp-submenu-head{display:block;}.folded #adminmenu a.menu-top,body.no-js #adminmenu .wp-menu-toggle,.folded #adminmenu div.wp-menu-toggle{display:none;}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px;}.folded #adminmenu div.wp-menu-image{width:32px;}#adminmenu li{margin:0;padding:0;cursor:pointer;}#adminmenu a{display:block;line-height:18px;padding:2px 5px;}#adminmenu li.menu-top{min-height:29px;position:relative;}#adminmenu a.menu-top{font-weight:bold;line-height:18px;min-width:10em;padding:5px 5px;border-width:1px 0 1px;border-style:solid;}#adminmenu li.wp-menu-open{border-width:0 0 1px;border-style:solid;}#adminmenu .wp-submenu ul{padding:4px 0;}#adminmenu .wp-submenu a{margin:0;}#adminmenu li li{margin-left:8px;}#adminmenu .wp-submenu a,#adminmenu li li a,.folded #adminmenu .wp-not-current-submenu li a{padding-left:12px;}#adminmenu .wp-not-current-submenu li a{padding-left:18px;}.folded #adminmenu li li{margin-left:0;}.folded #adminmenu li li a{padding-left:0;}.wp-menu-arrow{display:none;cursor:auto;z-index:25;position:absolute;right:100%;margin:0;height:30px;width:6px;-moz-transform:translate(146px);-webkit-transform:translate(146px);-o-transform:translate(146px);-ms-transform:translate(146px);transform:translate(146px);}#adminmenu li.wp-has-current-submenu .wp-menu-arrow,#adminmenu li.menu-top:hover .wp-menu-arrow,#adminmenu li.current .wp-menu-arrow,#adminmenu li.focused .wp-menu-arrow,#adminmenu li.menu-top.wp-has-submenu:hover .wp-menu-arrow div{display:block;}#adminmenu li.wp-not-current-submenu:hover .wp-menu-arrow div{display:none;}#adminmenu li.menu-top:hover .wp-menu-arrow,#adminmenu li.menu-top.focused .wp-menu-arrow{z-index:1001;}#adminmenu .wp-menu-arrow div{position:absolute;top:7px;left:-1px;width:14px;height:15px;-moz-transform:matrix(-0.6,1,0.6,1,0,0);-webkit-transform:matrix(-0.6,1,0.6,1,0,0);-o-transform:matrix(-0.6,1,0.6,1,0,0);-ms-transform:matrix(-0.6,1,0.6,1,0,0);transform:matrix(-0.6,1,0.6,1,0,0);}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(145px);-webkit-transform:translate(145px);-o-transform:translate(145px);-ms-transform:translate(145px);transform:translate(145px);height:28px;border-width:1px 0;border-style:solid;}.folded .wp-menu-arrow{-moz-transform:translate(33px);-webkit-transform:translate(33px);-o-transform:translate(33px);-ms-transform:translate(33px);transform:translate(33px);}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{width:15px;top:6px;border-width:0 0 1px 1px;border-style:solid;}.wp-menu-arrow,.folded #adminmenu li.menu-top:hover .wp-menu-arrow{display:none;}.folded #adminmenu li.current:hover .wp-menu-arrow,.folded #adminmenu li.menu-top.wp-menu-open:hover .wp-menu-arrow{display:block;z-index:125;}#adminmenu .wp-submenu li{padding:0;margin:0;}.folded #adminmenu li.menu-top{border-width:1px 0;border-style:solid none;}#adminmenu .wp-menu-image img{float:left;padding:5px 0 0 2px;opacity:.6;filter:alpha(opacity=60);}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100);}#adminmenu li.wp-menu-separator{height:3px;padding:0;margin:0;border-width:1px 0;border-style:solid;cursor:inherit;}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0 0;border-style:solid;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 4px 5px 10px;cursor:default;border-width:1px 0;border-style:solid;}#adminmenu li .wp-submenu-wrap{border-width:1px 1px 1px 0;border-style:solid solid solid none;position:relative;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;}#adminmenu li.wp-menu-open .wp-submenu-wrap{border:0 none;}.folded #adminmenu .wp-submenu .wp-submenu-wrap{margin-top:3px;}.folded #adminmenu .wp-has-current-submenu{margin-bottom:1px;}.folded #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0;}.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{margin-top:4px;}.folded #adminmenu .wp-submenu ul{border-width:0 0 0 1px;border-style:solid;}.folded #adminmenu .wp-submenu a{padding-left:10px;}.folded #adminmenu a.wp-has-submenu{margin-left:40px;}#adminmenu .wp-menu-toggle{width:18px;clear:right;float:right;margin:1px 0 0;height:27px;padding:1px 2px 0 0;cursor:pointer;}#adminmenu .wp-menu-image a{height:24px;}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:sans-serif;font-size:9px;line-height:17px;font-weight:bold;margin-top:1px;margin-left:7px;-webkit-border-radius:10px;border-radius:10px;}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px;}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none;}#collapse-menu{font-size:12px;line-height:34px;}.folded #collapse-menu span{display:none;}#collapse-button,#collapse-button div{width:15px;height:15px;}#collapse-button{float:left;margin:8px 6px;border-width:1px;border-style:solid;-webkit-border-radius:10px;border-radius:10px;}.post-com-count-wrapper{min-width:22px;font-family:sans-serif;}.post-com-count{height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;}.post-com-count span{font-size:11px;font-weight:bold;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;}strong .post-com-count{background-position:center -55px;}.post-com-count:hover{background-position:center -3px;}.column-response .post-com-count{float:left;margin-right:5px;text-align:center;}.response-links{float:left;}#the-comment-list .attachment-80x60{padding:4px 8px;}body.admin-bar #wpcontent,body.admin-bar #adminmenu{padding-top:28px;}.narrow{width:70%;margin-bottom:40px;}.narrow p{line-height:150%;}.widefat th,.widefat td{overflow:hidden;}.widefat th{font-weight:normal;}.widefat td p{margin:2px 0 .8em;}.widefat .column-comment p{margin:.6em 0;}.postbox-container{float:left;}.postbox-container .meta-box-sortables{min-height:350px;}.postbox-container .meta-box-sortables.empty-container,#side-sortables.empty-container{border:3px dashed #CCC;height:350px;}.postbox .hndle{cursor:move;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.postbox.closed .hndle{-webkit-border-radius:3px;border-radius:3px;}.hndle a{font-size:11px;font-weight:normal;}.postbox .handlediv{float:right;width:27px;height:30px;cursor:pointer;}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px;}.widget,.postbox,.stuffbox{margin-bottom:20px;padding:0;border-width:1px;border-style:solid;line-height:1;}.widget .widget-top,.postbox h3,.stuffbox h3{margin-top:1px;border-bottom-width:1px;border-bottom-style:solid;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.postbox .inside,.stuffbox .inside{padding:0 10px;line-height:1.4em;}.postbox .inside{margin:10px 0;position:relative;}.postbox.closed h3{border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;}.postbox table.form-table{margin-bottom:0;}.temp-border{border:1px dotted #ccc;}.columns-prefs label{padding:0 5px;}#wpbody-content .metabox-holder{padding-top:10px;}#dashboard-widgets .meta-box-sortables{margin:0 8px;}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px;}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0;}#the-comment-list p.comment-author img{float:left;margin-right:8px;}#the-comment-list p.comment-author strong a{border:none;}#the-comment-list td{vertical-align:top;}#the-comment-list td.comment{word-wrap:break-word;}.welcome-panel{margin:20px 8px;padding:30px 10px 20px;border-width:1px 0;border-style:solid;position:relative;line-height:1.6em;overflow:auto;}.welcome-panel h3{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:32px;font-weight:normal;line-height:1.2;margin:.1em 0 .8em;}.welcome-panel h4{font-size:14px;}.welcome-panel .welcome-panel-close{position:absolute;top:0;right:10px;padding:8px 3px;font-size:13px;text-decoration:none;}.welcome-panel .welcome-panel-close:before{background:url('../images/xit.gif') 0 17% no-repeat;content:' ';height:100%;width:10px;left:-12px;position:absolute;}.welcome-panel .welcome-panel-close:hover:before{background-position:100% 17%;}.welcome-panel .wp-badge{float:left;margin-bottom:20px;}.welcome-panel-content{max-width:1500px;}.welcome-panel-content .about-description,.welcome-panel h3{margin-left:190px;}.welcome-panel p.welcome-panel-dismiss{clear:both;padding:1em 0 0 0;}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative;padding-left:25px;}.welcome-panel .welcome-panel-column{margin:0 5% 0 -25px;padding-left:25px;width:30%;min-width:200px;float:left;}.welcome-panel .welcome-panel-column.welcome-panel-last{margin-right:0;}.welcome-panel h4 .icon16{margin-left:-32px;}.welcome-panel .welcome-panel-column ul{margin:1.6em 1em 1em 1.3em;}.welcome-panel .welcome-panel-column li{list-style-type:disc;padding-left:2px;}table.fixed{table-layout:fixed;}.fixed .column-rating,.fixed .column-visible{width:8%;}.fixed .column-date,.fixed .column-parent,.fixed .column-links{width:10%;}.fixed .column-response,.fixed .column-author,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{width:15%;}.fixed .column-comments{width:4em;padding:8px 0;text-align:left;}.fixed .column-comments .vers{padding-left:3px;}.fixed .column-comments a{float:left;}.fixed .column-slug{width:25%;}.fixed .column-posts{width:10%;}.fixed .column-icon{width:80px;}#commentsdiv .fixed .column-author,#comments-form .fixed .column-author{width:20%;}#commentsdiv.postbox .inside{margin:0;padding:0;}#commentsdiv.postbox .inside .row-actions{line-height:18px;}#commentsdiv.postbox .inside td{padding:1em 10px;}#commentsdiv.postbox .inside .column-author{width:33%;}#commentsdiv.postbox .inside p{margin:6px 10px 8px;}#commentsdiv.postbox .column-comment p{margin:.6em 0;}#commentsdiv.postbox #replyrow td{padding:0;}.sorting-indicator{display:none;width:7px;height:4px;margin-top:8px;margin-left:7px;background-image:url(../images/sort.gif);background-repeat:no-repeat;}.fixed .column-comments .sorting-indicator{margin-top:3px;}.widefat th.sortable,.widefat th.sorted{padding:0;}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px;}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0;}th.sortable a span,th.sorted a span{float:left;cursor:pointer;}th.sorted.asc .sorting-indicator,th.desc:hover span.sorting-indicator{display:block;background-position:0 0;}th.sorted.desc .sorting-indicator,th.asc:hover span.sorting-indicator{display:block;background-position:-7px 0;}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px;}.tablenav-pages .current-page{text-align:center;}.tablenav-pages .next-page{margin-left:2px;}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0;}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle;}.tablenav.themes{max-width:98%;}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;line-height:30px;font-size:12px;}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none;}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px;}.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:active{cursor:default;}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-style:italic;}.tablenav .actions{padding:2px 8px 0 0;}.tablenav .delete{margin-right:20px;}.view-switch{float:right;margin:6px 8px 0;}.view-switch a{text-decoration:none;}.filter{float:left;margin:-5px 0 0 10px;}.filter .subsubsub{margin-left:-10px;margin-top:13px;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}span.post-state-format{font-weight:normal;}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%;}tr.inline-edit-row td,#wpbody-content .inline-edit-row fieldset .inline-edit-col{padding:0 .5em;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%;}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%;}#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%;}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%;}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px;}.inline-edit-row fieldset .inline-edit-group{clear:both;}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0;}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px;}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px;}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0;}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em;}.inline-edit-row .input-text-wrap input[type=text]{width:100%;}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom;}.inline-edit-row fieldset label textarea{width:100%;height:4em;}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em;}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em;}.inline-edit-row h4{text-transform:uppercase;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-style:italic;line-height:1.8em;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px;}.inline-edit-row fieldset .inline-edit-date{float:left;}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em;}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em;}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em;}.inline-edit-row .catshow,.inline-edit-row .cathide{cursor:pointer;}ul.cat-checklist{height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0;}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px;}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:sans-serif;font-style:normal;font-size:11px;}table .inline-edit-row fieldset ul.cat-hover{height:auto;max-height:30em;overflow-y:auto;position:absolute;}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em;}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%;}.quick-edit-row-post fieldset label.inline-edit-status{float:left;}#bulk-titles{line-height:140%;}#bulk-titles div{margin:.2em .3em;}#bulk-titles div a{cursor:pointer;display:block;float:left;height:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px;}#titlediv{position:relative;margin-bottom:20px;}#titlediv label{cursor:text;}#titlediv div.inside{margin:0;}#poststuff #titlewrap{border:0;padding:0;}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;width:100%;outline:none;}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:8px 10px;}#wp-fullscreen-title-prompt-text{left:0;padding:11px;}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px;}input#link_description,input#link_url{width:98%;}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px;}#edit-slug-box{height:1em;margin-top:8px;padding:0 10px;}#editable-post-name-full{display:none;}#editable-post-name input{width:16em;}.postarea h3 label{float:left;}#submitpost #ajax-loading,#submitpost .ajax-loading{vertical-align:middle;}#wpcontent .ajax-loading{visibility:hidden;}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;}.submitbox .submitdelete{text-decoration:none;padding:1px 2px;}.submitbox .submitdelete,.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid;}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px;}.inside-submitbox #post_status{margin:2px 0 2px -2px;}#post-status-select,#post-format{line-height:2.5em;margin-top:3px;}#post-body #normal-sortables{min-height:50px;}.postbox{position:relative;min-width:255px;}#trackback_url{width:99%;}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:right;padding:0 12px;margin:0;}.category-add input[type="text"],.category-add select{width:100%;max-width:260px;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}.press-this #side-sortables .category-tabs li,.has-right-sidebar #side-sortables .category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em;}.no-js #side-sortables .category-tabs li.hide-if-no-js{display:none;}#side-sortables .category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none;}#side-sortables .category-tabs{margin:8px 0 3px;}#category-adder h4{margin:10px 0;}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:3px 7px;}#side-sortables .submitbox .submit input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none;}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0;}#side-sortables .comments-box,#normal-sortables .comments-box{border:0 none;}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px;}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0;}#commentsdiv img.waiting{padding-left:5px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px;}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}form#tags-filter{position:relative;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none;}.commentlist .avatar{vertical-align:text-top;}#post-body .tagsdiv #newtag{margin-right:5px;width:16em;}#side-sortables input#post_password{width:94%;}#side-sortables .tagsdiv #newtag{width:68%;}#post-status-info{border-width:0 1px 1px;border-style:none solid solid;width:100%;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}#post-status-info td{font-size:12px;}.autosave-info{padding:2px 15px;text-align:right;}#editorcontent #post-status-info{border:none;}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 2px;position:relative;top:-2px;}#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize{top:20px;}#wp-word-count{display:block;padding:2px 10px;}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top;}#aa,#jj,#hh,#mn{padding:1px;font-size:12px;}#jj,#hh,#mn{width:2em;}#aa{width:3.4em;}.curtime #timestamp{background-repeat:no-repeat;background-position:left top;padding-left:18px;}#timestampdiv{padding-top:5px;line-height:23px;}#timestampdiv p{margin:8px 0 6px;}#timestampdiv input{border-width:1px;border-style:solid;}#postcustomstuff .updatemeta,#postcustomstuff .deletemeta{margin:auto;}#postcustomstuff thead th{padding:5px 8px 8px;}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:5px 8px;}#side-sortables #postcustom #postcustomstuff .submit{padding:0 5px;}#side-sortables #postcustom #postcustomstuff td.left input{margin:3px 3px 0;}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px;margin:3px;}#postcustomstuff table{margin:0;width:100%;border-width:1px;border-style:solid;border-spacing:0;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:95%;margin:8px 0 8px 8px;}#postcustomstuff th.left,#postcustomstuff td.left{width:38%;}#postcustomstuff #newmeta .submit{padding:0 8px;}#postcustomstuff .submit input,#postcustomstuff table #addmetasub{width:auto;}#postcustomstuff #newmetaleft{vertical-align:top;}#postcustomstuff #newmetaleft a{padding:0 10px;text-decoration:none;}table.diff{width:100%;}table.diff col.content{width:50%;}table.diff tr{background-color:transparent;}table.diff td,table.diff th{padding:.5em;font-family:Consolas,Monaco,monospace;border:none;}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none;}.category-adder{margin-left:120px;padding:4px 0;}.category-adder h4{margin:0 0 8px;}#side-sortables .category-adder{margin:0;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word;}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid;}.form-wrap p,.form-wrap label{font-size:11px;}.form-wrap label{display:block;padding:2px;font-size:12px;}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%;}p.description,.form-wrap p{margin:2px 0 5px;}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:sans-serif;}.form-wrap .form-field{margin:0 0 10px;padding:8px;}.col-wrap h3{margin:12px 0;font-size:1.1em;}.col-wrap p.submit{margin-top:-10px;}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px;}#poststuff .tagsdiv .howto{margin:0 0 6px 8px;}.ajaxtag .newtag{position:relative;}.tagsdiv .newtag{width:180px;}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px;}#post-body-content .tagsdiv .the-tags{margin:0 5px;}p.popular-tags{-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;line-height:2em;max-width:1000px;padding:8px 12px 12px;text-align:justify;}p.popular-tags a{padding:0 3px;}.tagcloud{width:97%;margin:0 0 40px;text-align:justify;}.tagcloud h3{margin:2px 0 12px;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}.media-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default;}.media-item.media-blank .describe{border:0;}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px;}.media-item .describe .align th{padding-top:0;}.media-item .media-item-info tr{background-color:transparent;}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top;}.media-item thead.media-item-info td{padding:4px 10px 0;}.media-item .media-item-info .A1B1{padding:0 0 0 10px;}.media-item td.savesend{padding-bottom:15px;}.media-item .thumbnail{max-height:128px;max-width:128px;}#wpbody-content #async-upload-wrap a{display:none;}.media-upload-form{margin-top:20px;}.media-upload-form td label{margin-right:6px;margin-left:2px;}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:bold;}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:bold;}.media-upload-form th.label label{font-weight:bold;margin:.5em;font-size:13px;}.media-upload-form th.label label span{padding:0 5px;}abbr.required{border:medium none;text-decoration:none;}.media-item .describe input[type="text"],.media-item .describe textarea{width:460px;}.media-item .describe p.help{margin:0;padding:0 0 0 5px;}.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:15px;}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on,.media-item.open img.pinkynail{display:none;}.media-item.open .describe-toggle-off{display:block;}#media-items .media-item{border-style:solid;border-width:1px;min-height:36px;position:relative;margin-top:-1px;width:100%;}#media-items{width:623px;}#media-items:empty{border:0 none;}.media-item .filename{line-height:36px;overflow:hidden;padding:0 10px;}.media-item .error-div{padding-left:10px;}.media-item .pinkynail{float:left;margin:2px 2px 0;max-width:40px;max-height:32px;}.media-item .startopen,.media-item .startclosed{display:none;}.media-item .original{position:relative;height:34px;}.media-item .progress{float:right;height:22px;margin:6px 10px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;border:1px solid #d1d1d1;background:#fff;background-image:linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-o-linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-moz-linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-webkit-linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-ms-linear-gradient(bottom,#fff 0,#f7f7f7 100%);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.1);box-shadow:inset 0 0 3px rgba(0,0,0,0.1);}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-24px;background-color:#83B4D8;background-image:linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-o-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-moz-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-webkit-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-ms-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.3);box-shadow:0 0 3px rgba(0,0,0,0.3);}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0 8px;text-shadow:0 1px 0 rgba(255,255,255,0.4);color:rgba(0,0,0,0.6);}.upload-php .fixed .column-parent{width:25%;}.js .html-uploader #plupload-upload-ui{display:none;}.js .html-uploader #html-upload-ui{display:block;}.media-upload-form .media-item.error{margin:0;padding:0;}.media-upload-form .media-item.error p,.media-item .error-div{line-height:16px;font-size:12px;margin:10px;padding:0;}.media-item .error-div a.dismiss{float:right;padding-left:15px;}.find-box{width:500px;height:300px;overflow:hidden;padding:33px 5px 40px;position:absolute;z-index:1000;}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%;}.find-box-inside{overflow:auto;width:100%;height:100%;}.find-box-search{padding:12px;border-width:1px;border-style:none none solid;}#find-posts-response{margin:8px 0;padding:0 1px;}#find-posts-response table{width:100%;}#find-posts-response .found-radio{padding:5px 0 0 8px;width:15px;}.find-box-buttons{width:480px;margin:8px;}.find-box-search label{padding-right:6px;}.find-box #resize-se{position:absolute;right:1px;bottom:1px;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px;}.drag-drop #drag-drop-area{border:4px dashed #DDD;height:200px;}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px;}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none;}.drag-drop .drag-drop-inside p{text-align:center;}.drag-drop-inside p.drag-drop-info{font-size:20px;}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block;}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8;}#plupload-upload-ui{position:relative;}.describe .image-editor{vertical-align:top;}.imgedit-wrap{position:relative;}.imgedit-settings p{margin:8px 0;}.describe .imgedit-wrap table td{vertical-align:top;padding-top:0;}.imgedit-wrap p,.describe .imgedit-wrap table td{font-size:11px;line-height:18px;}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px;}td.imgedit-settings input{vertical-align:middle;}.imgedit-wait{position:absolute;top:0;background:#FFF url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none;}.media-disabled,.imgedit-settings .disabled{color:grey;}.imgedit-wait-spin{padding:0 4px 4px;vertical-align:bottom;visibility:hidden;}.imgedit-menu{margin:0 0 12px;min-width:300px;}.imgedit-menu div{float:left;width:32px;height:32px;}.imgedit-crop-wrap{position:relative;}.imgedit-crop{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;margin:0 8px 0 0;}.imgedit-crop.disabled:hover{background-position:-9px -31px;}.imgedit-crop:hover{background-position:-9px -1px;}.imgedit-rleft{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;margin:0 3px;}.imgedit-rleft.disabled:hover{background-position:-46px -31px;}.imgedit-rleft:hover{background-position:-46px -1px;}.imgedit-rright{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;margin:0 8px 0 3px;}.imgedit-rright.disabled:hover{background-position:-77px -31px;}.imgedit-rright:hover{background-position:-77px -1px;}.imgedit-flipv{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;margin:0 3px;}.imgedit-flipv.disabled:hover{background-position:-115px -31px;}.imgedit-flipv:hover{background-position:-115px -1px;}.imgedit-fliph{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;margin:0 8px 0 3px;}.imgedit-fliph.disabled:hover{background-position:-147px -31px;}.imgedit-fliph:hover{background-position:-147px -1px;}.imgedit-undo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;margin:0 3px;}.imgedit-undo.disabled:hover{background-position:-184px -31px;}.imgedit-undo:hover{background-position:-184px -1px;}.imgedit-redo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;margin:0 8px 0 3px;}.imgedit-redo.disabled:hover{background-position:-215px -31px;}.imgedit-redo:hover{background-position:-215px -1px;}.imgedit-applyto img{margin:0 8px 0 0;}.imgedit-group-top{margin:5px 0;}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block;}.imgedit-help{display:none;font-style:italic;margin-bottom:8px;}.imgedit-help ul li{font-size:11px;}a.imgedit-help-toggle{text-decoration:none;}#wpbody-content .imgedit-response div{width:600px;margin:8px;}.form-table td.imgedit-response{padding:0;}.imgedit-submit{margin:8px 0;}.imgedit-submit-btn{margin-left:20px;}.imgedit-wrap .nowrap{white-space:nowrap;}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle;}.imgedit-group{border-width:1px;border-style:solid;-webkit-border-radius:8px;border-radius:8px;margin-bottom:8px;padding:2px 10px;}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both;}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:12px;}.form-table th,.form-wrap label{font-weight:normal;text-shadow:#fff 0 1px 0;}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px;}.form-table th.th-full{width:auto;}.form-table div.color-option{display:block;clear:both;margin-top:12px;}.form-table input.tog{margin-top:2px;margin-right:2px;float:left;}.form-table td p{margin-top:4px;}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px;}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px;}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid;}.commentlist li li{border-bottom:0;padding:0;}.commentlist p{padding:0;margin:0 0 .8em;}#replyrow input{border-width:1px;border-style:solid;}#replyrow td{padding:2px;}#replysubmit{margin:0;padding:0 7px 3px;text-align:center;}#replysubmit img.waiting,.inline-edit-save img.waiting{padding:4px 10px 0;vertical-align:top;float:right;}#replysubmit .button{margin-right:5px;}#replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center;}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em;}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center;}#edithead .inside input{width:180px;}#edithead label{padding:2px 0;}#replycontainer{padding:5px;}#replycontent{height:120px;}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px;}.comment-ays th{border-right-style:solid;border-right-width:1px;}.trash-undo-inside,.spam-undo-inside{margin:1px 8px 1px 0;line-height:16px;}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle;}.stuffbox .editcomment{clear:none;}#comment-status-radio p{margin:3px 0 5px;}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle;}#comment-status-radio label{padding:5px 0;}.commentlist .avatar{vertical-align:text-top;}.theme-install-php .tablenav{height:auto;}.available-theme{display:inline-block;margin-bottom:10px;margin-right:25px;overflow:hidden;padding:20px;vertical-align:top;width:240px;}.available-theme a.screenshot{width:240px;height:180px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden;}.available-theme img{width:240px;}.available-theme h3{margin:15px 0 5px;}#current-theme{margin:1em 0 1.5em;}#current-theme a{border-bottom:none;}#current-theme h3{font-size:17px;font-weight:normal;margin:0;}#current-theme .theme-description{margin-top:5px;}#current-theme img{float:left;border-width:1px;border-style:solid;margin-right:1em;margin-bottom:1.5em;width:150px;}.theme-options span{text-transform:uppercase;font-size:13px;}.theme-options a{font-size:15px;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:bold;text-decoration:none;}#TB_window #TB_title{background-color:#222;color:#cfcfcf;}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px;}.theme-install-php h4{margin:2.5em 0 8px;}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;min-height:100px;width:100%;}.appearance_page_custom-header #upload-form p label{font-size:12px;}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0;}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle;}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px;}.appearance_page_custom-header .available-headers label img{vertical-align:middle;}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf;}div#custom-background-image img{max-width:400px;max-height:300px;}.nav-tab{border-style:solid;border-color:#dfdfdf #dfdfdf #fff;border-width:1px 1px 0;color:#aaa;text-shadow:#fff 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.nav-tab-active{border-width:1px;color:#464646;}.nav-tab:hover,.nav-tab-active{border-color:#ccc #ccc #fff;}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;}h2 .nav-tab{padding:4px 10px 6px;font-weight:200;font-size:20px;line-height:24px;}#dashboard_right_now .versions .b,#post-status-display,#post-visibility-display,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,.media-item .percent,.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,.button-highlighted,input.button-highlighted,#quicktags #ed_strong,#ed_reply_toolbar #ed_reply_strong,.item-controls .item-order a,.feature-filter .feature-name{font-weight:bold;}.plugins p{margin:0 4px;padding:0;}.plugins .desc p{margin:0 0 8px;}.plugins td.desc{line-height:1.5em;}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em;}.plugins .desc ul{list-style-type:disc;}.plugins .row-actions-visible{padding:0;}.plugins tbody th.check-column{padding:7px 0;}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0;}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap;}.plugins .second,.plugins .row-actions-visible{padding:0 0 5px;}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px;}.plugin-update-tr .update-message{margin:5px;padding:3px 5px;}.plugin-install-php h4{margin:2.5em 0 8px;}#profile-page .form-table textarea{width:500px;margin-bottom:6px;}#profile-page .form-table #rich_editing{margin-right:5px;}#your-profile legend{font-size:22px;}#your-profile #rich_editing{border:none;}#display_name{width:15em;}#createuser .form-field input{width:25em;}.pressthis{margin:20px 0;}.pressthis a{display:inline-block;width:113px;position:relative;cursor:move;color:#333;background:#dfdfdf;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0.07,#e6e6e6),color-stop(0.77,#d8d8d8));background-image:-moz-linear-gradient(center bottom,#e6e6e6 7%,#d8d8d8 77%);background-repeat:no-repeat;background-image-position:10px 8px;-webkit-border-radius:5px;border-radius:5px;border:1px #b4b4b4 solid;font-style:normal;line-height:16px;font-size:14px;text-decoration:none;text-shadow:#fff 0 1px 0;}.pressthis a:hover,.pressthis a:active{color:#333;}.pressthis a:hover:after{transform:skew(20deg) rotate(9deg);-webkit-transform:skew(20deg) rotate(9deg);-moz-transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,0.7);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.7);-moz-box-shadow:0 10px 8px rgba(0,0,0,0.7);}.pressthis a span{background:url(../images/press-this.png) no-repeat -45px 5px;padding:8px 0 8px 32px;display:inline-block;}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:transparent;transform:skew(20deg) rotate(6deg);-webkit-transform:skew(20deg) rotate(6deg);-moz-transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,0.6);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.6);-moz-box-shadow:0 10px 8px rgba(0,0,0,0.6);}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:sans-serif;}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle;}#footer{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;border-top-width:1px;border-top-style:solid;}#footer p{margin:0;line-height:20px;}#footer a{text-decoration:none;}#footer a:hover{text-decoration:underline;}.about-wrap{position:relative;margin:25px 40px 0 20px;min-width:770px;max-width:1050px;font-size:15px;}.about-wrap div.updated,.about-wrap div.error{display:none!important;}.about-wrap p{line-height:1.6em;}.about-wrap h1{margin:.2em 200px 0 0;line-height:1.2em;font-size:2.8em;font-weight:200;}.about-text,.about-description,.about-wrap li.wp-person a.web{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:normal;line-height:1.6em;font-size:20px;}.about-description{margin-top:1.4em;}.about-text{margin:1em 200px 1.4em 0;min-height:60px;font-size:24px;}.about-wrap h3{font-size:24px;margin-bottom:1em;padding-top:20px;}.about-wrap .changelog{padding-bottom:10px;overflow:hidden;}.about-wrap .changelog li{list-style-type:disc;margin-left:3em;}.about-wrap .feature-section h4{margin-bottom:.6em;}.about-wrap .feature-section p{margin-top:.6em;}.about-wrap code{font-size:14px;}html.ie8 .about-wrap img.element-screenshot{padding:2px;}.about-wrap .point-releases{margin-top:5px;}.about-wrap .changelog.point-releases h3{padding-top:35px;}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px;}.wp-badge{padding-top:142px;height:50px;width:173px;font-weight:bold;font-size:14px;text-align:center;margin:0 -5px;background:url('../images/wp-badge.png?ver=20111120') no-repeat;}.about-wrap .wp-badge{position:absolute;top:0;right:0;}.about-wrap h2.nav-tab-wrapper{padding-left:6px;}.about-wrap h2 .nav-tab{padding:4px 10px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;}.about-wrap h2 .nav-tab-active{font-weight:bold;padding-top:3px;}.about-wrap .feature-section .left-feature,.about-wrap .feature-section img,.about-wrap .feature-section .right-feature{float:left;}.about-wrap .feature-section{min-height:100px;overflow:hidden;clear:both;}.about-wrap .feature-section img{margin:5px auto;border:none;-webkit-border-radius:3px;border-radius:3px;}html.ie8 .about-wrap .feature-section img,html.ie8 .about-wrap .feature-section .image-mask{border-width:1px;border-style:solid;}.about-wrap .feature-section.text-features{width:31%;float:left;overflow:visible;}.about-wrap .feature-section.text-features div{width:112%;}.about-wrap .feature-section.screenshot-features{width:67%;margin-top:1.33em;float:right;clear:none;overflow:visible;}.about-wrap .feature-section.screenshot-features .angled-right{margin-top:-1em;margin-left:2.5em;}.about-wrap .feature-section.screenshot-features .angled-right p{margin-left:290px;}.about-wrap .feature-section .angled-right h4,.about-wrap .feature-section .angled-left h4{margin-top:0;}.about-wrap .feature-section .angled-right img,.about-wrap .feature-section .angled-left img{margin-top:.1em;margin-right:30px;}.about-wrap .feature-section.three-col{padding-top:15px;margin-bottom:0;}.about-wrap .feature-section.three-col div{width:30%;margin-right:4.999999999%;float:left;}.about-wrap .feature-section.three-col h4{margin:0 0 .6em 0;}.about-wrap .feature-section.three-col img{margin:.5em 0 .5em 5px;max-width:100%;float:none;}html.ie8 .about-wrap .feature-section.three-col img{margin-left:0;}.about-wrap .feature-section.three-col .last-feature{margin-right:0;}.about-wrap .feature-section .feature-images{width:300px;position:absolute;margin-top:1.1em;}.about-wrap .feature-section .feature-images img{width:250px;height:150px;margin-right:5px;}.about-wrap .feature-section.images-stagger-left,.about-wrap .feature-section.images-stagger-right{min-height:265px;}.about-wrap .feature-section.images-stagger-right .angled-right,.about-wrap .feature-section.images-stagger-left .angled-left{margin-bottom:-30px;}.about-wrap .feature-section.images-stagger-left .angled-left{margin-left:5px;}.about-wrap .feature-section .angled-right{float:right;}.about-wrap .feature-section.images-stagger-right .feature-images{right:0;}.about-wrap .feature-section.images-stagger-left .feature-images{left:0;}.about-wrap .feature-section.images-stagger-right .left-feature{margin-right:350px;}.about-wrap .feature-section.images-stagger-left .right-feature{margin-left:350px;}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:bold;}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px;}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px;}.about-wrap ul.wp-people-group{overflow:hidden;padding:5px;margin:0 -15px 0 -5px;}.about-wrap ul.compact{margin-bottom:0;}.about-wrap li.wp-person{float:left;margin-right:10px;}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px;}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px;}.about-wrap li.wp-person{height:70px;width:280px;padding-bottom:15px;}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0;}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0;}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none;}.about-wrap p.wp-credits-list a{white-space:nowrap;}.freedoms-php .about-wrap ol{margin:40px 60px;}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:bold;}.freedoms-php .about-wrap ol p{font-weight:normal;margin:.6em 0;}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%;}.wp-editor-container textarea.wp-editor-area{width:99.9%;}#template div{margin-right:190px;}p.pagenav{margin:0;display:inline;}.pagenav span{font-weight:bold;margin:0 6px;}.row-title{font-size:13px!important;font-weight:bold;}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:1px;}.row-actions{visibility:hidden;padding:2px 0 0;}tr:hover .row-actions,div.comment-item:hover .row-actions{visibility:visible;}.row-actions-visible{padding:2px 0 0;}.form-table .pre{padding:8px;margin:0;}table.form-table td .updated{font-size:13px;}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto;}.tagchecklist strong{margin-left:-8px;position:absolute;}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left;}#poststuff h3,.metabox-holder h3{font-size:15px;font-weight:normal;padding:7px 10px;margin:0;line-height:1;}#poststuff .inside{margin:6px 0 8px;}#post-visibility-select,#post-formats-select{line-height:1.5em;margin-top:3px;}#poststuff #submitdiv .inside{margin:0;padding:0;}#titlediv,#poststuff .postarea{margin-bottom:20px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}#templateside ul li a{text-decoration:none;}.tool-box .title{margin:8px 0;font-size:18px;font-weight:normal;line-height:24px;}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px;}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0;}#sidemenu a.current{font-weight:normal;padding-left:6px;padding-right:6px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid;}#sidemenu li a .count-0{display:none;}.plugin-install #description,.plugin-install-network #description{width:60%;}table .vers,table .column-visible,table .column-rating{text-align:left;}.error-message{color:red;font-weight:bold;}body.iframe{height:98%;}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px;}td.media-icon img{max-width:80px;max-height:60px;}.screen-per-page{width:3em;}.list-ajax-loading{float:right;margin-right:9px;margin-top:-1px;}.tablenav .list-ajax-loading{margin-top:7px;}#howto{font-size:11px;margin:0 5px;display:block;}.importers td{padding-right:14px;}.importers{font-size:16px;width:auto;}#namediv table{width:100%;}#namediv td.first{width:10px;white-space:nowrap;}#namediv input{width:98%;}#namediv p{margin:10px 0;}#submitdiv h3{margin-bottom:0!important;}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute;}br.clear{height:2px;line-height:2px;}.checkbox{border:none;margin:0;padding:0;}fieldset{border:0;padding:0;margin:0;}.post-categories{display:inline;margin:0;padding:0;}.post-categories li{display:inline;}.edit-box{display:none;}h3:hover .edit-box{display:inline;}.index-php form .input-text-wrap{background:#fff;border-style:solid;border-width:1px;padding:2px 3px;border-color:#ccc;}#dashboard-widgets form .input-text-wrap input{border:0 none;outline:none;margin:0;padding:0;width:99%;color:#333;}form .textarea-wrap{background:#fff;border-style:solid;border-width:1px;padding:2px;border-color:#ccc;}#dashboard-widgets form .textarea-wrap textarea{border:0 none;padding:0;outline:none;width:99%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit input{margin:0;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0;}#dashboard-widgets a{text-decoration:none;}#dashboard-widgets h3 a{text-decoration:underline;}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:30px;padding:0;top:5px;}#dashboard-widgets h4{font-weight:normal;font-size:13px;margin:0 0 .2em;padding:0;}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px;}#dashboard_right_now .inside{font-size:12px;padding-top:20px;}#dashboard_right_now p.sub{padding:5px 0 15px;color:#8f8f8f;font-size:14px;position:absolute;top:-17px;left:15px;}#dashboard_right_now .table{margin:0;padding:0;position:relative;}#dashboard_right_now .table_content{float:left;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now .table_discussion{float:right;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now table td{padding:3px 0;white-space:nowrap;}#dashboard_right_now table tr.first td{border-top:none;}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-size:14px;width:1%;}#dashboard_right_now td.b a{font-size:18px;}#dashboard_right_now td.b a:hover{color:#d54e21;}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777;}#dashboard_right_now .t a{white-space:nowrap;}#dashboard_right_now .spam{color:red;}#dashboard_right_now .waiting{color:#e66f00;}#dashboard_right_now .approved{color:green;}#dashboard_right_now .versions{padding:6px 10px 12px;clear:both;}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px;}#dashboard_recent_comments h3{margin-bottom:0;}#dashboard_recent_comments .inside{margin-top:0;}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:sans-serif;font-size:10px;}#dashboard_recent_comments .subsubsub{float:none;white-space:normal;}#the-comment-list{position:relative;}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid;}#the-comment-list .pingback{padding-left:9px!important;}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px;}#the-comment-list .comment-item:first-child{border-top:none;}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0;}#the-comment-list .comment-item h4{line-height:1.7em;margin-top:-0.4em;color:#777;}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal;}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline;}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block;}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:12px;}#dashboard_quick_press h4{font-family:sans-serif;float:left;width:5em;clear:both;font-weight:normal;text-align:right;font-size:12px;}#dashboard_quick_press h4 label{margin-right:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 5em;}#dashboard_quick_press .wp-media-buttons{margin:0 0 .5em 5em;padding:0;}#dashboard_quick_press .wp-media-buttons a{color:#777;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1em 0 10px;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{vertical-align:middle;visibility:hidden;margin:4px 6px 0 0;}#dashboard_recent_drafts ul,#dashboard_recent_drafts p{margin:0;padding:0;}#dashboard_recent_drafts ul{list-style:none;}#dashboard_recent_drafts ul li{margin-bottom:1em;}#dashboard_recent_drafts h4{line-height:1.7em;}#dashboard_recent_drafts h4 abbr{font-weight:normal;font-family:sans-serif;font-size:12px;color:#999;margin-left:3px;}.rss-widget ul{margin:0;padding:0;list-style:none;}a.rsswidget{font-size:13px;line-height:1.7em;}.rss-widget ul li{line-height:1.5em;margin-bottom:12px;}.rss-widget span.rss-date{color:#999;font-size:12px;margin-left:3px;}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0;}.rss-widget cite:before{content:'\2014';}#dashboard_plugins h4{line-height:1.7em;}#dashboard_plugins h5{font-weight:normal;font-size:13px;margin:0;display:inline;line-height:1.4em;}#dashboard_plugins h5 a{line-height:1.4em;}#dashboard_plugins .inside span{font-size:12px;padding-left:5px;}#dashboard_plugins p{margin:.3em 0 1.4em;line-height:1.4em;}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word;}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:bold;}#dashboard_browser_nag a{text-decoration:underline;}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px;}#dashboard_browser_nag .browser-icon{margin-top:-35px;}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b;}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;color:#fff;}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff;}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;text-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;background:transparent none;color:#fff;}#dashboard_browser_nag a{color:#fff;}#dashboard_browser_nag.browser-insecure a.browse-happy-link,#dashboard_browser_nag.browser-insecure a.update-browser-link{text-shadow:#871b15 0 1px 0;}#dashboard_browser_nag a.browse-happy-link,#dashboard_browser_nag a.update-browser-link{text-shadow:#d29a04 0 1px 0;}.login *{margin:0;padding:0;}.login form{margin-left:8px;padding:26px 24px 46px;font-weight:normal;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;}.login form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.login .button-primary{font-size:13px!important;line-height:16px;padding:3px 10px;float:right;}#login form p{margin-bottom:0;}#login form p.submit{padding:0;}.login label{color:#777;font-size:14px;}.login form .forgetmenot label{font-size:12px;line-height:19px;}.login form p{margin-bottom:24px;}.login h1 a{background:url(../images/logo-login.png) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#login{width:320px;padding:114px 0 0;margin:auto;}#login_error,.login .message{margin:0 0 16px 8px;padding:12px;}.login #nav,.login #backtoblog{text-shadow:#fff 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0;}#backtoblog{padding:12px 16px 0;}.login form .input{font-weight:200;font-size:24px;line-height:1;width:100%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:none;-moz-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);}.login input{color:#555;}.login #pass-strength-result{width:250px;font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center;}#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static;}.rtl #dashboard_right_now p.musub{padding-left:0;padding-right:16px;}#dashboard_right_now td.b a.musublink{font-size:16px;}#dashboard_right_now div.musubtable{border-top:none;}#dashboard_right_now div.musubtable .t{white-space:normal;}.wp-list-table .site-deleted{background:#ff8573;}.wp-list-table .site-spammed{background:#faafaa;}.wp-list-table .site-archived{background:#ffebe8;}.wp-list-table .site-mature{background:#fecac2;}#nav-menus-frame{margin-left:300px;}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:24px;}.no-js #wpbody-content #menu-settings-column{padding-top:31px;}#menu-settings-column .inside{clear:both;}.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50);}.metabox-holder-disabled .button-controls .select-all{display:none;}#wpbody{position:relative;}#menu-management-liquid{float:left;min-width:100%;}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;}#menu-management .menu-edit{margin-bottom:20px;}.nav-menus-php #post-body{padding:10px;border-width:1px 0;border-style:solid;}#nav-menu-header,#nav-menu-footer{padding:0 10px;}#nav-menu-header{border-bottom:1px solid;}#nav-menu-footer{border-top:1px solid;}.nav-menus-php #post-body div.updated,.nav-menus-php #post-body div.error{margin:0;}.nav-menus-php #post-body-content{position:relative;}#menu-management .menu-add-new abbr{font-weight:bold;}#menu-management .nav-tabs-nav{margin:0 20px;}#menu-management .nav-tabs-arrow{width:10px;padding:0 5px 4px;cursor:pointer;position:absolute;top:0;line-height:22px;font-size:18px;text-shadow:0 1px 0 #fff;}#menu-management .nav-tabs-arrow-left{left:0;}#menu-management .nav-tabs-arrow-right{right:0;text-align:right;}#menu-management .nav-tabs-wrapper{width:100%;height:28px;margin-bottom:-1px;overflow:hidden;}#menu-management .nav-tabs{padding-left:20px;padding-right:10px;}.js #menu-management .nav-tabs{float:left;margin-left:0;margin-right:-400px;}#menu-management .nav-tab{margin-bottom:0;font-size:14px;}#select-nav-menu-container{text-align:right;padding:0 10px 3px 10px;margin-bottom:5px;}#select-nav-menu{width:100px;display:inline;}#menu-name-label{margin-top:-2px;}#wpbody .open-label{display:block;float:left;}#wpbody .open-label span{padding-right:10px;}.js .input-with-default-title{font-style:italic;}#menu-management .inside{padding:0 10px;}.postbox .howto input{width:180px;float:right;}.customlinkdiv .howto input{width:200px;}#nav-menu-theme-locations .howto select{width:100%;}#nav-menu-theme-locations .button-controls{text-align:right;}.add-menu-item-view-all{height:400px;}#menu-container .submit{margin:0 0 10px;padding:0;}.nav-menus-php .meta-sep,.nav-menus-php .submitdelete,.nav-menus-php .submitcancel{display:block;float:left;margin:4px 0;line-height:15px;}.meta-sep{padding:0 2px;}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px;}.list-controls{float:left;margin-top:5px;}.add-to-menu{float:right;}.postbox img.waiting{display:none;vertical-align:middle;}.button-controls{clear:both;margin:10px 0;}.show-all,.hide-all{cursor:pointer;}.hide-all{display:none;}#menu-name{width:270px;}#manage-menu .inside{padding:0;}#available-links dt{display:block;}#add-custom-link .howto{font-size:12px;}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px;}.menu-item-textbox{width:180px;}.nav-menus-php .howto span{margin-top:4px;display:block;float:left;}.quick-search{width:190px;}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px;}.nav-menus-php .list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px;}.nav-menus-php .postbox p.submit{margin-bottom:0;}.nav-menus-php .list li{display:none;margin:0;margin-bottom:5px;}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block;}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px;}#menu-container .inside{padding-bottom:10px;}.menu{padding-top:1em;}#menu-to-edit{padding:1em 0;}.menu ul{width:100%;}.menu li{margin-bottom:0;position:relative;}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:13px 0 0 0;}.menu-item-handle{border:1px solid #dfdfdf;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #FFF;overflow:hidden;word-wrap:break-word;}#menu-to-edit .menu-item-invalid .menu-item-handle{background-color:#f6c9cc;background-image:-ms-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-moz-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-o-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-webkit-gradient(linear,left bottom,left top,from(#f6c9cc),to(#fdf8ff));background-image:-webkit-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:linear-gradient(bottom,#f6c9cc,#fdf8ff);}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.no-js .menu-item-edit-active .item-edit{display:none;}.js .menu-item-handle{cursor:move;}.menu li.deleting .menu-item-handle{background-image:none;text-shadow:0;}.menu-item-handle .item-title{font-size:12px;font-weight:bold;padding:7px 0;line-height:20px;display:block;margin-right:13em;}li.menu-item.ui-sortable-helper dl{margin-top:0;}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px;}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px;}.menu-item-depth-0{margin-left:0;}.menu-item-depth-1{margin-left:30px;}.menu-item-depth-2{margin-left:60px;}.menu-item-depth-3{margin-left:90px;}.menu-item-depth-4{margin-left:120px;}.menu-item-depth-5{margin-left:150px;}.menu-item-depth-6{margin-left:180px;}.menu-item-depth-7{margin-left:210px;}.menu-item-depth-8{margin-left:240px;}.menu-item-depth-9{margin-left:270px;}.menu-item-depth-10{margin-left:300px;}.menu-item-depth-11{margin-left:330px;}.menu-item-depth-0 .menu-item-transport{margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-left:-30px;}.menu-item-depth-2 .menu-item-transport{margin-left:-60px;}.menu-item-depth-3 .menu-item-transport{margin-left:-90px;}.menu-item-depth-4 .menu-item-transport{margin-left:-120px;}.menu-item-depth-5 .menu-item-transport{margin-left:-150px;}.menu-item-depth-6 .menu-item-transport{margin-left:-180px;}.menu-item-depth-7 .menu-item-transport{margin-left:-210px;}.menu-item-depth-8 .menu-item-transport{margin-left:-240px;}.menu-item-depth-9 .menu-item-transport{margin-left:-270px;}.menu-item-depth-10 .menu-item-transport{margin-left:-300px;}.menu-item-depth-11 .menu-item-transport{margin-left:-330px;}body.menu-max-depth-0{min-width:950px!important;}body.menu-max-depth-1{min-width:980px!important;}body.menu-max-depth-2{min-width:1010px!important;}body.menu-max-depth-3{min-width:1040px!important;}body.menu-max-depth-4{min-width:1070px!important;}body.menu-max-depth-5{min-width:1100px!important;}body.menu-max-depth-6{min-width:1130px!important;}body.menu-max-depth-7{min-width:1160px!important;}body.menu-max-depth-8{min-width:1190px!important;}body.menu-max-depth-9{min-width:1220px!important;}body.menu-max-depth-10{min-width:1250px!important;}body.menu-max-depth-11{min-width:1280px!important;}.item-type{font-size:12px;padding-right:10px;}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px;}.item-controls a{text-decoration:none;}.item-controls a:hover{cursor:pointer;}.item-controls .item-order{padding-right:10px;}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.menu-instructions-inactive{display:none;}.menu-item-settings{display:block;width:400px;padding:10px 0 10px 10px;border:solid;border-width:0 1px 1px 1px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}.menu-item-edit-active .menu-item-settings{display:block;}.menu-item-edit-inactive .menu-item-settings{display:none;}.add-menu-item-pagelinks{margin:.5em auto;text-align:center;}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;font-size:12px;font-style:italic;}.link-to-original a{padding-left:4px;font-style:normal;}.hidden-field{display:none;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left;}.description-thin{width:190px;height:40px;}.description-wide{width:390px;}.menu-item-actions{padding-top:15px;}#cancel-save{cursor:pointer;}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 5px;}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:5px 0 1px;}.nav-menus-php .major-publishing-actions .delete-action{vertical-align:middle;text-align:left;float:left;padding-right:15px;margin-top:5px;}.menu-name-label span,.auto-add-pages label{font-size:12px;font-style:normal;}.menu-name-label{margin-right:15px;}.auto-add-pages input{margin-top:0;}.auto-add-pages{margin-top:4px;float:left;}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid;padding:1px 2px;text-decoration:none;}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px;border:0 none;}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden;}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block;}div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.action-links{font-weight:normal;margin:6px 0 0;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em;}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px;}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em;}#plugin-information h2{clear:none!important;margin-right:200px;}#plugin-information .fyi{margin:0 10px 50px;width:210px;}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0;}#plugin-information .fyi h2.mainheader{padding:5px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .fyi li{margin-right:0;}#plugin-information #section-holder{padding:10px;}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none;}#plugin-information #section-screenshots li img{vertical-align:text-top;}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em;}#plugin-information .updated,#plugin-information pre{margin-right:215px;}#plugin-information pre{padding:7px;overflow:auto;}body.press-this{color:#333;margin:0;padding:0;min-width:675px;min-height:400px;}img{border:none;}.press-this #wphead{height:32px;margin-right:5px;margin-bottom:5px;}.press-this #header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.press-this #wphead h1{font-weight:normal;font-size:16px;line-height:32px;margin:0;float:left;}.press-this #wphead h1 a{text-decoration:none;}.press-this #wphead h1 a:hover{text-decoration:underline;}.press-this-sidebar{float:right;width:200px;padding-top:10px;}.press-this #title{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}.press-this .tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0;}.press-this #titlediv{margin:0;}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 0;}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block;}.press-this #poststuff{margin:0 10px 10px;}#poststuff #editor-toolbar{height:30px;}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0;}.posting{margin-right:212px;position:relative;}.press-this .inner-sidebar{width:200px;}.press-this .inner-sidebar .sleeve{padding-top:5px;}.press-this #submitdiv p{margin:0;padding:6px;}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf;}.press-this #publish{float:right;}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1;}.press-this #tagsdiv-post_tag h3,.press-this #categorydiv h3{cursor:pointer;}.press-this #submitdiv h3{cursor:default;}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px;}#TB_window{border:1px solid #333;}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0;}.postbox:hover .handlediv,.stuffbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px;}.press-this #submitdiv:hover .handlediv{background:none;}.tbtitle{font-size:1.7em;outline:none;padding:3px 4px;border-color:#dfdfdf;}.press-this .actions{float:right;margin:-19px 0 0;}.press-this #extra-fields .actions{margin:-25px -7px 0 0;}.press-this .actions li{float:left;list-style:none;margin-right:10px;}#extra-fields .button{margin-right:5px;}#photo_saving{margin:0 8px 8px;vertical-align:middle;}#img_container_container{overflow:auto;}#extra-fields{margin-top:10px;position:relative;}#extra-fields h2{margin:12px;}#waiting{margin-top:10px;}#extra-fields .postbox{margin-bottom:5px;}#extra-fields .titlewrap{padding:0;overflow:auto;height:100px;}#img_container a{display:block;float:left;overflow:hidden;vertical-align:center;}#img_container img,#img_container a{width:68px;height:68px;}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer;}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative;}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-1px;}#embed-code{width:100%;height:98px;}.press-this .categorydiv div.tabs-panel{height:100px;}.press-this .tagsdiv .newtag{width:130px;}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:357px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent;}#saving{display:inline;vertical-align:middle;}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px;}#TB_ajaxContent h3{margin-bottom:.25em;}.error a{text-decoration:underline;}.updated a{text-decoration:none;padding-bottom:2px;}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden;}input.newtag ~ div.taghint{visibility:visible;}input.newtag:focus ~ div.taghint{visibility:hidden;}#mce_fullscreen_container{background:#fff;}#photo-add-url-div input[type="text"]{width:300px;}.alignleft h3{margin:0;}h3 span{font-weight:normal;}#template textarea{font-family:Consolas,Monaco,monospace;font-size:12px;width:97%;background:#f9f9f9;outline:none;}#template p{width:97%;}#templateside{float:right;width:190px;word-wrap:break-word;}#templateside h3,#postcustomstuff p.submit{margin:0;}#templateside h4{margin:1em 0 0;}#templateside ol,#templateside ul{margin:.5em;padding:0;}#templateside li{margin:4px 0;}#templateside ul li a span.highlight{display:block;}.nonessential{font-size:11px;font-style:italic;padding-left:12px;}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:bold;border:0 none;}#documentation{margin-top:10px;}#documentation label{line-height:22px;vertical-align:top;font-weight:bold;}.fileedit-sub{padding:10px 0 8px;line-height:180%;}.theme-listing .theme-item{display:inline-block;width:200px;border:thin solid #ccc;vertical-align:top;}.theme-listing .theme-item h3{text-align:center;font-size:14px;font-style:italic;margin:0;padding:0;}.theme-listing .theme-item img{max-width:150px;max-height:150px;}.theme-listing .theme-item-info span,.theme-listing .theme-item:hover .theme-item-info span.dots{display:none;}.theme-listing .theme-item:hover .theme-item-info span{display:inline;}.theme-listing .theme-item-info span.action-links{font-weight:bold;text-align:center;}.theme-listing br.line{border-bottom-width:1px;border-bottom-style:solid;margin-bottom:3px;}#theme-information .available-theme,.available-theme{padding:20px 15px;}#theme-information .available-theme{overflow:visible;width:440px;}#theme-information .theme-preview-img{float:left;margin:5px 25px 10px 15px;width:300px;}#theme-information .action-button{border-top-width:1px;border-top-style:solid;margin:10px 5px 0;}#theme-information .action-button #cancel,#theme-information .action-button #install{margin:10px 5px;}#theme-information .action-button #cancel{float:left;}#theme-information .action-button #install{float:right;}#theme-information .available-theme h3{margin:1em 0;}body#theme-information{height:auto;}.feature-filter{padding:8px 12px 0;}.feature-filter .feature-group{float:left;margin:5px 10px 10px;}.feature-filter .feature-group li{display:inline;float:left;list-style-type:none;padding-right:25px;min-width:150px;}.feature-container{width:100%;overflow:auto;margin-bottom:10px;}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px;}div#widgets-left{margin-left:5px;margin-right:325px;}div#widgets-right{width:285px;margin:0 auto;}div.widget-liquid-right{float:right;clear:right;width:300px;}.widget-liquid-right .widget,.inactive-sidebar .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden;}.widget-liquid-right .sidebar-description{margin-bottom:10px;}.inactive-sidebar .widget{margin:0 10px 20px;float:left;}div.sidebar-name h3{font-weight:normal;font-size:15px;margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap;}div.sidebar-name{cursor:pointer;font-size:13px;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}.js .closed .sidebar-name{-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none;}.widget-liquid-right .widgets-sortables{padding:15px 0 0;}#available-widgets .widget-holder{padding:7px 5px 0;}#available-widgets .widget{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;}.inactive-sidebar{padding:5px 5px 0;}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;background:transparent;float:left;}#widget-list .widget-description{padding:5px 8px;}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:26px;width:250px;}.inactive-sidebar .widget-placeholder{margin:0 10px 20px;float:left;}div.widgets-holder-wrap{padding:0;margin:10px 0 20px;}#widgets-left #available-widgets{background-color:transparent;border:0 none;}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px;}.widget .widget-top{margin-bottom:-1px;font-size:12px;font-weight:bold;height:26px;overflow:hidden;}.widget-top .widget-title{padding:7px 9px;}.widget-top .widget-title-action{float:right;}a.widget-action{display:block;width:24px;height:26px;}#available-widgets a.widget-action{display:none;}.widget-top a.widget-action{background:transparent url(../images/arrows.png) no-repeat 4px 6px;}.widget-top a.widget-action:hover{background:transparent url(../images/arrows-dark.png) no-repeat 4px 6px;}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:12px;line-height:16px;}.widget-inside,.widget-description{display:none;}#available-widgets .widget-description{display:block;}.widget .widget-inside p{margin:0 0 1em;padding:0;}.widget-title h4{margin:0;line-height:1;overflow:hidden;white-space:nowrap;}.widgets-sortables{min-height:90px;}.widget-control-actions{margin-top:8px;}.widget-control-actions a{text-decoration:none;}.widget-control-actions a:hover{text-decoration:underline;}.widget-control-actions .ajax-feedback{padding-bottom:3px;}.widget-control-actions div.alignleft{margin-top:6px;}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:12px;}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:none;}.widget-control-edit{display:block;font-size:12px;font-weight:normal;line-height:26px;padding:0 8px 0 0;}a.widget-control-edit{text-decoration:none;}.widget-control-edit .add,.widget-control-edit .edit{display:none;}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,.inactive-sidebar .widget-control-edit .edit{display:inline;}.editwidget{margin:0 auto 15px;}.editwidget .widget-inside{display:block;padding:10px;}.inactive p.description{margin:5px 15px 10px;}#available-widgets p.description{margin:0 12px 12px;}.widget-position{margin-top:8px;}.inactive{padding-top:2px;}.sidebar-name-arrow{float:right;height:29px;width:26px;}.widget-title .in-widget-title{font-size:12px;white-space:nowrap;}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;line-height:1;}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none;}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px;}.widgets_access #access-off{display:inline;}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block;}.widgets_access .closed .sidebar-name{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default;}@media only screen and(max-width:768px){#col-left{width:100%;}#col-right{width:100%;}}@media only screen and(min-width:769px){#col-left{width:35%;}#col-right{width:65%;}}@media only screen and(max-width:860px){#col-left{width:35%;}#col-right{width:65%;}}@media only screen and(min-width:980px){#col-left{width:35%;}#col-right{width:65%;}}@media only screen and(max-width:768px){#col-left{width:100%;}#col-right{width:100%;}.form-field input,.form-field textarea{width:99%;}.form-wrap .form-field{padding:0;}#profile-page .form-table textarea{max-width:400px;width:auto;}}
\ No newline at end of file
--- 1 ----
! #wpwrap{height:auto;min-height:100%;width:100%;position:relative}#wpcontent{height:100%}#wpcontent,#footer{margin-left:165px}.folded #wpcontent,.folded #footer{margin-left:52px}#wpbody-content{padding-bottom:65px;float:left;width:100%}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu .wp-submenu,#adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-has-current-submenu .wp-submenu{width:145px}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:0;padding:0;list-style:none}.folded #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:32px}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.inner-sidebar #side-sortables,.columns-2 .inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.col-wrap{padding:0 7px}.alignleft{float:left}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span{position:absolute;left:-1000em;height:1px;width:1px;overflow:hidden}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js{display:none}input[type="text"],input[type="password"],input[type="number"],input[type="search"],input[type="email"],input[type="url"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}input[type="checkbox"],input[type="radio"]{vertical-align:text-top;padding:0;margin:1px 0 0}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration{display:none}html,body{height:100%;margin:0;padding:0}body{font-family:sans-serif;font-size:12px;line-height:1.4em;min-width:600px}body.iframe{min-width:0}body.login{background:#fbfbfb;min-width:0}iframe,img{border:0}td,textarea,input,select{font-family:inherit;font-size:inherit;font-weight:inherit}td,textarea{line-height:inherit}input,select{line-height:15px}a,input,select{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}p{margin:1em 0}blockquote{margin:1em}label{cursor:pointer}li,dd{margin-bottom:6px}textarea,input,select{margin:1px;padding:3px}h1,h2,h3,h4,h5,h6{display:block;font-weight:bold}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ul,ol{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;white-space:nowrap;font-size:12px;float:left}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal}.subsubsub a.current{font-weight:bold;background:0;border:0}.subsubsub li{display:inline;margin:0;padding:0}.widefat,div.updated,div.error,.wrap .add-new-h2,textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select,.tablenav .tablenav-pages a,.tablenav-pages span.current,#titlediv #title,.postbox,#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea,.imgedit-menu div,.plugin-update-tr .update-message,#poststuff .inside .the-tagcloud,.login form,#login_error,.login .message,#menu-management .menu-edit,.nav-menus-php .list-container,.menu-item-handle,.link-to-original,.nav-menus-php .major-publishing-actions .form-invalid,.press-this #message,#TB_window,.tbtitle,.highlight,.feature-filter,#widget-list .widget-top,.editwidget .widget-inside{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat thead th:first-of-type{-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.widefat thead th:last-of-type{-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.widefat td,.widefat th{border-width:1px 0;border-style:solid}.widefat tfoot th{border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{font-size:12px;padding:4px 7px 2px;vertical-align:top}.widefat td p,.widefat td ol,.widefat td ul{font-size:12px}.widefat th{padding:7px 7px 8px;text-align:left;line-height:1.3em;font-size:14px}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:11px 0 0;vertical-align:top}.widefat tbody th.check-column{padding:9px 0 22px}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:4px 15px 0 0}div.updated,div.error{padding:0 .6em;margin:5px 15px 2px}div.updated p,div.error p{margin:.5em 0;padding:2px}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:5px 0 15px}.wrap h2,.subtitle{font-weight:normal;margin:0;text-shadow:#fff 0 1px 0}.wrap h2{font-size:23px;padding:9px 15px 4px 0;line-height:29px}.subtitle{font-size:14px;padding-left:25px}.wrap .add-new-h2{font-family:sans-serif;margin-left:4px;padding:3px 8px;position:relative;top:-3px;text-decoration:none;font-size:12px;border:0 none}.wrap h2.long-header{padding-right:0}div.sidebar-name h3,#menu-management .nav-tab,#dashboard_plugins h5,a.rsswidget,#dashboard_right_now td.b,#dashboard-widgets h4,.tool-box .title,#poststuff h3,.metabox-holder h3,.pressthis a,#your-profile legend,.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title,.tablenav .displaying-num,.widefat th,.quicktags,.search{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif}h2 .nav-tab,.wrap h2,.subtitle,.login form .input{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif}.quicktags,.search{font-size:12px}.icon32{float:left;height:34px;margin:7px 8px 0 0;width:36px}.icon16{height:18px;width:18px;padding:6px 6px;margin:-6px 0 0 -8px;float:left}.key-labels label{line-height:24px}.pre{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.howto{font-style:italic;display:block;font-family:sans-serif}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}.wp-admin select{padding:2px;height:2em}.wp-admin select[multiple]{height:auto}select option{padding:2px}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}form p.submit a.cancel:hover{text-decoration:none}.submit input,.button,input.button,.button-primary,input.button-primary,.button-secondary,input.button-secondary,.button-highlighted,input.button-highlighted,#postcustomstuff .submit input{text-decoration:none;font-size:12px!important;line-height:13px;padding:3px 8px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:11px;border-radius:11px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{min-width:80px;text-align:center}textarea.all-options,input.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text,#adduser .form-field input{width:25em}input.small-text{width:50px}input[type="number"].small-text{width:60px}#doaction,#doaction2,#post-query-submit{margin-right:8px}.tablenav select[name="action"],.tablenav select[name="action2"]{width:130px}.tablenav select[name="m"]{width:155px}.tablenav select#cat{width:170px}#wpcontent option{padding:2px}#timezone_string option{margin-left:1em}label,#your-profile label+a{vertical-align:middle}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}input[type="text"].ui-autocomplete-loading{background:transparent url('../images/loading.gif') no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{border-bottom-right-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-width:1px;border-style:solid}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px}.ui-autocomplete li a.ui-state-hover{cursor:pointer}#major-publishing-actions{padding:10px 10px 8px;clear:both;border-top:1px solid #f5f5f5;margin-top:-2px}#delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px;border-width:1px 0;border-style:solid}.misc-pub-section:first-child{border-top-width:0}.misc-pub-section-last{border-bottom-width:0}#minor-publishing-actions{padding:10px 10px 2px 8px;text-align:right}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;-webkit-box-shadow:0 1px 0 #fff;-moz-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}#save-post{float:left}#minor-publishing .ajax-loading{padding:3px 0 0 4px;float:left}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom-width:1px;border-bottom-style:solid}.side-info ul{margin:0;padding-left:18px;list-style:square}a.button,a.button-primary,a.button-secondary{line-height:15px;padding:3px 10px;white-space:nowrap;-webkit-border-radius:10px}.approve,.unapproved .unapprove{display:none}.unapproved .approve,.spam .approve,.trash .approve{display:inline}td.action-links,th.action-links{text-align:right}.describe .del-link{padding-left:5px}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.plugins .plugin-update{padding:0}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:bold}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0}.ajax-feedback{visibility:hidden;vertical-align:bottom}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#sidemenu a,#taglist a,#catlist a{text-decoration:none}#screen-options-wrap,#contextual-help-wrap{margin:0;padding:8px 20px 12px;position:relative;overflow:auto}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 24px 0 0}#screen-meta{display:none;position:relative;margin:0 15px 0 5px;border-width:0 1px 1px;border-style:none solid solid}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:23px;padding:0;margin:0 0 0 6px;font-family:sans-serif}#screen-options-link-wrap,#contextual-help-link-wrap,#screen-meta{-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#screen-meta-links .screen-meta-toggle{position:relative;top:-1px}#screen-meta-links a.show-settings{text-decoration:none;z-index:1;padding:1px 16px 0 6px;height:22px;line-height:22px;font-size:12px;display:block;text-shadow:rgba(255,255,255,0.7) 0 1px 0}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;white-space:nowrap;line-height:30px}.metabox-prefs label input{margin:0 5px 0 2px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}#contextual-help-wrap{padding:0;margin-left:-4px}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border-width:0 1px;border-style:solid}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:1px 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-width:1px 0 1px 1px;border-style:solid}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}#adminmenuback,#adminmenuwrap{border-width:0 1px 0 0;border-style:solid}#adminmenuwrap{position:relative;float:left}#adminmenushadow{position:absolute;top:0;right:0;bottom:0;width:6px;z-index:20}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;user-select:none}#adminmenu .wp-submenu{list-style:none;padding:0;margin:0;overflow:hidden}#adminmenu li .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{display:none;position:absolute;top:-1px;left:146px;z-index:999;overflow:hidden}.js #adminmenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.no-js #adminmenu .wp-has-submenu:hover .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu li.focused .wp-submenu{display:block}#adminmenu .wp-has-current-submenu .wp-submenu{position:relative;z-index:2;top:auto;left:auto;right:auto;bottom:auto;padding:0}#adminmenu .wp-has-current-submenu .wp-submenu-wrap{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.folded #adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{top:-5px;left:26px}#adminmenu .wp-submenu.sub-open,#adminmenu li.focused.wp-not-current-submenu .wp-submenu,.folded #adminmenu li.focused.wp-has-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.no-js #adminmenu .wp-has-submenu:hover .wp-submenu,.no-js.folded #adminmenu .wp-has-current-submenu:hover .wp-submenu{padding:0 8px 8px 0}.no-js #adminmenu .wp-has-current-submenu:hover .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu{padding:0}#adminmenu .wp-submenu a{font-size:12px;line-height:18px}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-size:13px;line-height:18px}#adminmenu div.wp-submenu-head{display:none}.folded #adminmenu div.wp-submenu-head{display:block}.folded #adminmenu a.menu-top,body.no-js #adminmenu .wp-menu-toggle,.folded #adminmenu div.wp-menu-toggle{display:none}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px}.folded #adminmenu div.wp-menu-image{width:30px}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px}#adminmenu li.menu-top{min-height:29px;position:relative}#adminmenu a.menu-top{font-weight:bold;line-height:18px;min-width:10em;padding:5px 5px;border-width:1px 0 1px;border-style:solid}#adminmenu li.wp-menu-open{border-width:0 0 1px;border-style:solid}#adminmenu .wp-submenu ul{padding:4px 0}#adminmenu .wp-submenu a{margin:0}#adminmenu li li{margin-left:8px}#adminmenu .wp-submenu a,#adminmenu li li a,.folded #adminmenu .wp-not-current-submenu li a{padding-left:12px}#adminmenu .wp-not-current-submenu li a{padding-left:18px}.folded #adminmenu li li{margin-left:0}.folded #adminmenu li li a{padding-left:0}.wp-menu-arrow{display:none;cursor:auto;z-index:25;position:absolute;right:100%;margin:0;height:30px;width:6px;-moz-transform:translate(146px);-webkit-transform:translate(146px);-o-transform:translate(146px);-ms-transform:translate(146px);transform:translate(146px)}#adminmenu li.wp-has-current-submenu .wp-menu-arrow,#adminmenu li.menu-top:hover .wp-menu-arrow,#adminmenu li.current .wp-menu-arrow,#adminmenu li.focused .wp-menu-arrow,#adminmenu li.menu-top.wp-has-submenu:hover .wp-menu-arrow div{display:block}#adminmenu li.wp-not-current-submenu:hover .wp-menu-arrow div{display:none}#adminmenu li.menu-top:hover .wp-menu-arrow,#adminmenu li.menu-top.focused .wp-menu-arrow{z-index:1001}.ie8 #adminmenu li.menu-top:hover .wp-menu-arrow{display:none}#adminmenu .wp-menu-arrow div{position:absolute;top:7px;left:-1px;width:14px;height:15px;-moz-transform:matrix(-0.6,1,0.6,1,0,0);-webkit-transform:matrix(-0.6,1,0.6,1,0,0);-o-transform:matrix(-0.6,1,0.6,1,0,0);-ms-transform:matrix(-0.6,1,0.6,1,0,0);transform:matrix(-0.6,1,0.6,1,0,0)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(145px);-webkit-transform:translate(145px);-o-transform:translate(145px);-ms-transform:translate(145px);transform:translate(145px);height:28px;border-width:1px 0;border-style:solid}.folded .wp-menu-arrow{-moz-transform:translate(33px);-webkit-transform:translate(33px);-o-transform:translate(33px);-ms-transform:translate(33px);transform:translate(33px)}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{width:15px;top:6px;border-width:0 0 1px 1px;border-style:solid}.wp-menu-arrow,.folded #adminmenu li.menu-top:hover .wp-menu-arrow{display:none}.folded #adminmenu li.current:hover .wp-menu-arrow,.folded #adminmenu li.menu-top.wp-menu-open:hover .wp-menu-arrow{display:block;z-index:125}#adminmenu .wp-submenu li{padding:0;margin:0}.folded #adminmenu li.menu-top{border-width:1px 0;border-style:solid none}#adminmenu .wp-menu-image img{float:left;padding:5px 0 0 2px;opacity:.6;filter:alpha(opacity=60)}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:3px;padding:0;margin:0;border-width:1px 0;border-style:solid;cursor:inherit}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0 0;border-style:solid}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 4px 5px 10px;cursor:default;border-width:1px 0;border-style:solid}#adminmenu li .wp-submenu-wrap{border-width:1px 1px 1px 0;border-style:solid solid solid none;position:relative;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}#adminmenu li.wp-menu-open .wp-submenu-wrap{border:0 none}.folded #adminmenu .wp-submenu .wp-submenu-wrap{margin-top:3px}.folded #adminmenu .wp-has-current-submenu{margin-bottom:1px}.folded #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.folded #adminmenu .wp-has-current-submenu .wp-submenu-wrap{margin-top:4px}.folded #adminmenu .wp-submenu ul{border-width:0 0 0 1px;border-style:solid}.folded #adminmenu .wp-submenu a{padding-left:10px}.folded #adminmenu a.wp-has-submenu{margin-left:40px}#adminmenu .wp-menu-toggle{width:18px;clear:right;float:right;margin:1px 0 0;height:27px;padding:1px 2px 0 0;cursor:pointer}#adminmenu .wp-menu-image a{height:24px}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:sans-serif;font-size:9px;line-height:17px;font-weight:bold;margin-top:1px;margin-left:7px;-webkit-border-radius:10px;border-radius:10px}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:12px;line-height:34px}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;margin:8px 6px;border-width:1px;border-style:solid;-webkit-border-radius:10px;border-radius:10px}@media only screen and (max-width:900px){#wpcontent,#footer{margin-left:52px}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu li.menu-top{width:32px}#adminmenu .wp-has-current-submenu .wp-submenu{display:none;position:absolute;width:145px;z-index:999;overflow:hidden}#adminmenu .wp-has-current-submenu .wp-submenu.sub-open{display:block}#adminmenu li .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu{top:-5px;left:26px}#adminmenu li.focused.wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open{padding:0 8px 8px 0}#adminmenu div.wp-submenu-head{display:block}#adminmenu a.menu-top,#adminmenu div.wp-menu-toggle{display:none}#adminmenu div.wp-menu-image{width:30px}#adminmenu .wp-not-current-submenu li a{padding-left:12px}#adminmenu li li{margin-left:0}#adminmenu li li a{padding-left:0}.wp-menu-arrow{-moz-transform:translate(33px);-webkit-transform:translate(33px);-o-transform:translate(33px);-ms-transform:translate(33px);transform:translate(33px)}#adminmenu li.menu-top:hover .wp-menu-arrow{display:none}#adminmenu li.current:hover .wp-menu-arrow,#adminmenu li.menu-top.wp-menu-open:hover .wp-menu-arrow{display:block;z-index:125}#adminmenu li.menu-top{border-width:1px 0;border-style:solid none}#adminmenu .wp-submenu .wp-submenu-wrap{margin-top:3px}#adminmenu .wp-has-current-submenu{margin-bottom:1px}#adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}#adminmenu .wp-has-current-submenu .wp-submenu-wrap{margin-top:4px}#adminmenu .wp-submenu ul{border-width:0 0 0 1px;border-style:solid}#adminmenu .wp-submenu a{padding-left:10px}#adminmenu a.wp-has-submenu{margin-left:40px}#collapse-menu{display:none}}.post-com-count-wrapper{min-width:22px;font-family:sans-serif}.post-com-count{height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat}.post-com-count span{font-size:11px;font-weight:bold;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px}strong .post-com-count{background-position:center -55px}.post-com-count:hover{background-position:center -3px}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}#the-comment-list .attachment-80x60{padding:4px 8px}html.wp-toolbar{padding-top:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat th,.widefat td{overflow:hidden}.widefat th{font-weight:normal}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}#dashboard-widgets.columns-1 .postbox-container{width:100%}#dashboard-widgets.columns-2 .postbox-container{width:49.5%}#dashboard-widgets.columns-2 #postbox-container-2,#dashboard-widgets.columns-2 #postbox-container-3,#dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#dashboard-widgets.columns-3 .postbox-container{width:33.5%}#dashboard-widgets.columns-3 #postbox-container-1{width:33%}#dashboard-widgets.columns-3 #postbox-container-3,#dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets.columns-4 .postbox-container{width:25%}.postbox-container .meta-box-sortables{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.postbox-container .meta-box-sortables:empty{min-height:0;height:0}.metabox-holder .postbox-container .empty-container,#post-body.columns-2 #side-sortables:empty{border:3px dashed #ccc;height:250px}.metabox-holder.columns-1 .postbox-container .empty-container,.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#poststuff{padding-top:10px}#poststuff #post-body{padding:0}#post-body-content{width:100%;float:left}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}@media only screen and (min-width:800px) and (max-width:1200px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets.metabox-holder .postbox-container .empty-container,#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0 none;height:0;min-height:0}.index-php .screen-layout,.index-php .columns-prefs{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (max-width:850px){#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 .empty-container,#poststuff #postbox-container-1 #side-sortables:empty{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.screen-layout,.columns-prefs{display:none}}.postbox .hndle{cursor:move;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.postbox.closed .hndle{-webkit-border-radius:3px;border-radius:3px}.hndle a{font-size:11px;font-weight:normal}.postbox .handlediv{float:right;width:27px;height:30px;cursor:pointer}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px}.widget,.postbox,.stuffbox{margin-bottom:20px;padding:0;border-width:1px;border-style:solid;line-height:1}.widget .widget-top,.postbox h3,.stuffbox h3{margin-top:1px;border-bottom-width:1px;border-bottom-style:solid;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stuffbox h3{cursor:auto}.postbox .inside,.stuffbox .inside{padding:0 10px;line-height:1.4em}.postbox .inside{margin:10px 0;position:relative}.postbox.closed h3{border:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#dashboard-widgets-wrap{margin:0 -8px}#wpbody-content .metabox-holder{padding-top:10px}#dashboard-widgets .meta-box-sortables{margin:0 8px}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:0}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}.welcome-panel{margin:20px 8px;padding:30px 10px 20px;border-width:1px 0;border-style:solid;position:relative;line-height:1.6em;overflow:auto}.welcome-panel h3{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:32px;font-weight:normal;line-height:1.2;margin:.1em 0 .8em}.welcome-panel h4{font-size:14px}.welcome-panel .welcome-panel-close{position:absolute;top:0;right:10px;padding:8px 3px;font-size:13px;text-decoration:none}.welcome-panel .welcome-panel-close:before{background:url('../images/xit.gif') 0 17% no-repeat;content:' ';height:100%;width:10px;left:-12px;position:absolute}.welcome-panel .welcome-panel-close:hover:before{background-position:100% 17%}.welcome-panel .wp-badge{float:left;margin-bottom:20px}.welcome-panel-content{max-width:1500px}.welcome-panel-content .about-description,.welcome-panel h3{margin-left:190px}.welcome-panel p.welcome-panel-dismiss{clear:both;padding:1em 0 0 0}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative;padding-left:26px}.welcome-panel .welcome-panel-column{margin:0 5% 0 -25px;padding-left:25px;width:30%;min-width:200px;float:left}.welcome-panel .welcome-panel-column.welcome-panel-last{margin-right:0}.welcome-panel h4 .icon16{margin-left:-32px}.welcome-panel .welcome-panel-column ul{margin:1.6em 1em 1em 1.3em}.welcome-panel .welcome-panel-column li{list-style-type:disc;padding-left:2px}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-date,.fixed .column-parent,.fixed .column-links{width:10%}.fixed .column-response,.fixed .column-author,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{width:15%}.fixed .column-comments{width:4em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}.fixed .column-comments a{float:left}.fixed .column-slug{width:25%}.fixed .column-posts{width:10%}.fixed .column-icon{width:80px}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv #add-new-comment{border-width:0 0 1px;border-style:none none solid}#commentsdiv .comments-box{border:0 none}#commentsdiv .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv img.waiting{padding-left:5px}.sorting-indicator{display:none;width:7px;height:4px;margin-top:8px;margin-left:7px;background-image:url(../images/sort.gif);background-repeat:no-repeat}.fixed .column-comments .sorting-indicator{margin-top:3px}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:left;cursor:pointer}th.sorted.asc .sorting-indicator,th.desc:hover span.sorting-indicator{display:block;background-position:0 0}th.sorted.desc .sorting-indicator,th.asc:hover span.sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{text-align:center}.tablenav-pages .next-page{margin-left:2px}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:active{cursor:default}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-style:italic}.tablenav .actions{padding:2px 8px 0 0}.tablenav .delete{margin-right:20px}.view-switch{float:right;margin:6px 8px 0}.view-switch a{text-decoration:none}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}span.post-state-format{font-weight:normal}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}tr.inline-edit-row td,#wpbody-content .inline-edit-row fieldset .inline-edit-col{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}.inline-edit-row .catshow,.inline-edit-row .cathide{cursor:pointer}ul.cat-checklist{height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:sans-serif;font-style:normal;font-size:11px}table .inline-edit-row fieldset ul.cat-hover{height:auto;max-height:30em;overflow-y:auto;position:absolute}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.quick-edit-row-post fieldset label.inline-edit-status{float:left}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:left;height:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px}#titlediv{position:relative;margin-bottom:20px}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;width:100%;outline:0}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:8px 10px}#wp-fullscreen-title-prompt-text{left:0;padding:11px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{height:1em;margin-top:8px;padding:0 10px}#editable-post-name-full{display:none}#editable-post-name input{width:16em}.postarea h3 label{float:left}#submitpost #ajax-loading,#submitpost .ajax-loading{vertical-align:middle}#wpcontent .ajax-loading{visibility:hidden}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}.submitbox .submitdelete,.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select,#post-format{line-height:2.5em;margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:right;padding:0 12px;margin:0}.category-add input[type="text"],.category-add select{width:100%;max-width:260px}.press-this #side-sortables .category-tabs li,ul.category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}.category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none}.category-tabs{margin:8px 0 3px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px}ul.category-tabs li,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0}#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}form#tags-filter{position:relative}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em}td.post-title p,td.plugin-title p{margin:6px 0}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none}.commentlist .avatar{vertical-align:text-top}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{border-width:0 1px 1px;border-style:none solid solid;width:100%;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#post-status-info td{font-size:12px}.autosave-info{padding:2px 15px;text-align:right}#editorcontent #post-status-info{border:0}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 2px;position:relative;top:-2px}#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize{top:20px}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top}#aa,#jj,#hh,#mn{padding:1px;font-size:12px}#jj,#hh,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{background-repeat:no-repeat;background-position:left top;padding-left:18px}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}#postcustomstuff .updatemeta,#postcustomstuff .deletemeta{margin:auto}#postcustomstuff thead th{padding:5px 8px 8px}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:5px 8px}#side-sortables #postcustom #postcustomstuff .submit{padding:0 5px}#side-sortables #postcustom #postcustomstuff td.left input{margin:3px 3px 0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px;margin:3px}#postcustomstuff table{margin:0;width:100%;border-width:1px;border-style:solid;border-spacing:0}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:95%;margin:8px 0 8px 8px}#postcustomstuff th.left,#postcustomstuff td.left{width:38%}#postcustomstuff #newmeta .submit{padding:0 8px}#postcustomstuff .submit input,#postcustomstuff table #addmetasub{width:auto}#postcustomstuff #newmetaleft{vertical-align:top}#postcustomstuff #newmetaleft a{padding:0 10px;text-decoration:none}table.diff{width:100%}table.diff col.content{width:50%}table.diff tr{background-color:transparent}table.diff td,table.diff th{padding:.5em;font-family:Consolas,Monaco,monospace;border:0}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0}#post-body ul.add-menu-item-tabs li{padding:8px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}.colunms-1 .categorydiv div.tabs-panel,.taxonomy div.tabs-panel{margin:0 5px 0 125px}.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul{list-style:none;padding:0;margin:0}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap p,.form-wrap label{font-size:11px}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}p.description,.form-wrap p{margin:2px 0 5px}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:sans-serif}.form-wrap .form-field{margin:0 0 10px;padding:8px}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#poststuff .tagsdiv .howto{margin:0 0 6px 8px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;line-height:2em;max-width:1000px;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left}.ac_over{cursor:pointer}.ac_match{text-decoration:underline}table.links-table{width:100%}.links-table th{font-weight:normal;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table th,.links-table td{padding:5px 0}.links-table td label{margin-right:8px}.links-table td input[type="text"],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}.media-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:bold}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:bold}.media-upload-form th.label label{font-weight:bold;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type="text"],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:15px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on,.media-item.open img.pinkynail{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-style:solid;border-width:1px;min-height:36px;position:relative;margin-top:-1px;width:100%}#media-items{width:623px}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden;padding:0 10px}.media-item .error-div{padding-left:10px}.media-item .pinkynail{float:left;margin:2px 2px 0;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:6px 10px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;border:1px solid #d1d1d1;background:#fff;background-image:linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-o-linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-moz-linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-webkit-linear-gradient(bottom,#fff 0,#f7f7f7 100%);background-image:-ms-linear-gradient(bottom,#fff 0,#f7f7f7 100%);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.1);box-shadow:inset 0 0 3px rgba(0,0,0,0.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-24px;background-color:#83b4d8;background-image:linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-o-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-moz-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-webkit-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);background-image:-ms-linear-gradient(bottom,#72a7cf 0,#90c5ee 100%);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.3);box-shadow:0 0 3px rgba(0,0,0,0.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0 8px;text-shadow:0 1px 0 rgba(255,255,255,0.4);color:rgba(0,0,0,0.6)}.upload-php .fixed .column-parent{width:25%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item.error{margin:0;padding:0}.media-upload-form .media-item.error p,.media-item .error-div{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:right;margin:5px 4px 0 15px}.find-box{width:500px;height:300px;overflow:hidden;padding:33px 5px 40px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;width:100%;height:100%}.find-box-search{padding:12px;border-width:1px;border-style:none none solid}#find-posts-response{margin:8px 0;padding:0 1px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:5px 0 0 8px;width:15px}.find-box-buttons{width:480px;margin:8px}.find-box-search label{padding-right:6px}.find-box #resize-se{position:absolute;right:1px;bottom:1px}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #ddd;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0}.describe .imgedit-wrap table td{vertical-align:top;padding-top:0}.imgedit-wrap p,.describe .imgedit-wrap table td{font-size:11px;line-height:18px}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}td.imgedit-settings input{vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.media-disabled,.imgedit-settings .disabled{color:grey}.imgedit-wait-spin{padding:0 4px 4px;vertical-align:bottom;visibility:hidden}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;height:32px}.imgedit-crop-wrap{position:relative}.imgedit-crop{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;margin:0 8px 0 0}.imgedit-crop.disabled:hover{background-position:-9px -31px}.imgedit-crop:hover{background-position:-9px -1px}.imgedit-rleft{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;margin:0 3px}.imgedit-rleft.disabled:hover{background-position:-46px -31px}.imgedit-rleft:hover{background-position:-46px -1px}.imgedit-rright{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;margin:0 8px 0 3px}.imgedit-rright.disabled:hover{background-position:-77px -31px}.imgedit-rright:hover{background-position:-77px -1px}.imgedit-flipv{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;margin:0 3px}.imgedit-flipv.disabled:hover{background-position:-115px -31px}.imgedit-flipv:hover{background-position:-115px -1px}.imgedit-fliph{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;margin:0 8px 0 3px}.imgedit-fliph.disabled:hover{background-position:-147px -31px}.imgedit-fliph:hover{background-position:-147px -1px}.imgedit-undo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;margin:0 3px}.imgedit-undo.disabled:hover{background-position:-184px -31px}.imgedit-undo:hover{background-position:-184px -1px}.imgedit-redo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;margin:0 8px 0 3px}.imgedit-redo.disabled:hover{background-position:-215px -31px}.imgedit-redo:hover{background-position:-215px -1px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}.imgedit-help ul li{font-size:11px}a.imgedit-help-toggle{text-decoration:none}#wpbody-content .imgedit-response div{width:600px;margin:8px}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{border-width:1px;border-style:solid;-webkit-border-radius:8px;border-radius:8px;margin-bottom:8px;padding:2px 10px}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:12px}.form-table th,.form-wrap label{font-weight:normal;text-shadow:#fff 0 1px 0}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px}.form-table th.th-full{width:auto}.form-table div.color-option{display:block;clear:both;margin-top:12px}.form-table input.tog{margin-top:2px;margin-right:2px;float:left}.form-table td p{margin-top:4px}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#replyrow input{border-width:1px;border-style:solid}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 7px 3px;text-align:center}#replysubmit img.waiting,.inline-edit-save img.waiting{padding:4px 10px 0;vertical-align:top;float:right}#replysubmit .button{margin-right:5px}#replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px}.comment-ays th{border-right-style:solid;border-right-width:1px}.trash-undo-inside,.spam-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}#comment-status-radio label{padding:5px 0}.commentlist .avatar{vertical-align:text-top}.theme-install-php .tablenav{height:auto}h3.available-themes{margin:0 0 1em;float:left}.available-theme{display:inline-block;margin-right:10px;overflow:hidden;padding:20px 20px 20px 0;vertical-align:top;width:300px}.available-theme .screenshot{width:300px;height:225px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden}.available-theme img{width:300px}.available-theme h3{margin:15px 0 0}.available-theme .theme-author{line-height:18px}.available-theme .action-links{margin-top:10px;overflow:hidden}#current-theme .theme-info li,.theme-options li,.available-theme .action-links li{float:left;padding-right:10px;margin-right:10px;border-right:1px solid #dfdfdf}.available-theme .action-links li{padding-right:8px;margin-right:8px}#current-theme .theme-info li:last-child,.theme-options li:last-child,.available-theme .action-links li:last-child{padding-right:0;margin-right:0;border-right:0}.available-theme .action-links .delete-theme{float:right;margin-left:8px;margin-right:0}.available-theme .action-links .delete-theme a{color:red;padding:2px}.available-theme .action-links .delete-theme a:hover{background:red;color:#fff;text-decoration:none}.available-theme .action-links p{float:left}#current-theme{margin:20px 0 10px;padding:0 0 20px;border-bottom:1px solid #dfdfdf;overflow:hidden}#current-theme.has-screenshot{padding-left:330px}#current-theme h3{margin:0;font-size:12px;font-weight:normal;color:#999}#current-theme h4{margin:3px 0 16px;font-size:20px}#current-theme h4 span{margin-left:20px;font-size:12px;font-weight:normal}#current-theme a{border-bottom:0}#current-theme .theme-info{margin:1em 0;overflow:hidden}#current-theme .theme-description{margin-top:5px;max-width:600px;line-height:1.6em}#current-theme img{float:left;width:300px;margin-left:-330px;border-width:1px;border-style:solid}.theme-options{overflow:hidden;font-size:14px;padding-bottom:10px}.theme-options .load-customize{margin-right:30px;float:left}.theme-options span{float:left;margin-right:10px;text-transform:uppercase;font-size:11px;line-height:18px;color:#999}.theme-options ul{float:left;margin:0}@media only screen and (max-width:1200px){.available-theme,.available-theme .screenshot,#current-theme img{width:240px}.available-theme .screenshot{height:180px}.available-theme img{width:100%}#current-theme.has-screenshot{padding-left:270px}#current-theme img{margin-left:-270px}}#post-body ul.add-menu-item-tabs li.tabs a,#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:bold;text-decoration:none}#TB_window #TB_title{background-color:#222;color:#cfcfcf}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-install-php h4{margin:2.5em 0 8px}.appearance_page_custom-header #headimg{border:1px solid #dfdfdf;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}.nav-tab{border-style:solid;border-color:#dfdfdf #dfdfdf #fff;border-width:1px 1px 0;color:#aaa;text-shadow:#fff 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.nav-tab-active{border-width:1px;color:#464646}.nav-tab:hover,.nav-tab-active{border-color:#ccc #ccc #fff}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0}h2 .nav-tab{padding:4px 10px 6px;font-weight:200;font-size:20px;line-height:24px}#dashboard_right_now .versions .b,#post-status-display,#post-visibility-display,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,.media-item .percent,.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,.button-highlighted,input.button-highlighted,#quicktags #ed_strong,#ed_reply_toolbar #ed_reply_strong,.item-controls .item-order a,.feature-filter .feature-name{font-weight:bold}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions-visible{padding:0}.plugins tbody th.check-column{padding:7px 0}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0}.plugins .update th,.plugins .update td{border-bottom:0}.plugin-update-tr td{border-top:0}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .second,.plugins .row-actions-visible{padding:0 0 5px}.plugins .update .second,.plugins .update .row-actions-visible{padding-bottom:0}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{margin:5px;padding:3px 5px}.plugin-install-php h4{margin:2.5em 0 8px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#your-profile #rich_editing{border:0}#display_name{width:15em}#createuser .form-field input{width:25em}.pressthis{margin:20px 0}.pressthis a{display:inline-block;position:relative;cursor:move;color:#333;background:#dfdfdf;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0.07,#e6e6e6),color-stop(0.77,#d8d8d8));background-image:-webkit-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-moz-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-ms-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-o-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none;text-shadow:0 1px 0 #fff}.pressthis a:hover,.pressthis a:active{color:#333}.pressthis a:hover:after{transform:skew(20deg) rotate(9deg);-webkit-transform:skew(20deg) rotate(9deg);-moz-transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,0.7);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.7);-moz-box-shadow:0 10px 8px rgba(0,0,0,0.7)}.pressthis a span{background:url(../images/press-this.png?v=20120502) no-repeat 0 5px;padding:8px 11px 8px 27px;margin:0 5px;display:inline-block}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:transparent;transform:skew(20deg) rotate(6deg);-webkit-transform:skew(20deg) rotate(6deg);-moz-transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,0.6);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.6);-moz-box-shadow:0 10px 8px rgba(0,0,0,0.6)}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:sans-serif}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}#footer{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;border-top-width:1px;border-top-style:solid}#footer p{margin:0;line-height:20px}#footer a{text-decoration:none}#footer a:hover{text-decoration:underline}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.updated,.about-wrap div.error{display:none!important}.about-wrap p{line-height:1.6em}.about-wrap h1{margin:.2em 200px 0 0;line-height:1.2em;font-size:2.8em;font-weight:200}.about-text,.about-description,.about-wrap li.wp-person a.web{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:normal;line-height:1.6em;font-size:20px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1.4em 0;min-height:60px;font-size:24px}.about-wrap h3{font-size:24px;margin-bottom:1em;padding-top:20px}.about-wrap .changelog{overflow:hidden}.about-wrap .changelog li{list-style-type:disc;margin-left:3em}.about-wrap .feature-section{padding-bottom:20px}.about-wrap .feature-section h4{margin-bottom:.6em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code{font-size:14px}.about-wrap .point-releases{margin-top:5px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{padding-top:142px;height:50px;width:173px;font-weight:bold;font-size:14px;text-align:center;margin:0 -5px;background:url('../images/wp-badge.png?ver=20111120') no-repeat}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 10px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top}.about-wrap h2 .nav-tab-active{font-weight:bold;padding-top:3px}.about-wrap .feature-section img{border:0;margin:0 1.94% 10px 0;-webkit-border-radius:3px;border-radius:3px}.about-wrap .feature-section img.image-50{max-width:50%}.about-wrap .feature-section img.image-30{max-width:31.2381%}.ie8 .about-wrap .feature-section img{border-width:1px;border-style:solid}.about-wrap .feature-section.three-col{padding-top:15px;margin-bottom:0}.about-wrap .feature-section.three-col div{width:30%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.three-col h4{margin:0 0 .6em 0}.about-wrap .feature-section.three-col img{margin:.5em 0 .5em 5px;max-width:100%;float:none}.ie8 .about-wrap .feature-section.three-col img{margin-left:0}.about-wrap .feature-section.three-col .last-feature{margin-right:0}.about-wrap .three-col-images{text-align:center}.about-wrap .three-col-images img{margin:0 0 10px}.about-wrap .three-col-images .last-feature{float:right}.about-wrap .three-col-images .first-feature{float:left}.about-wrap .feature-section.images-stagger-right img{float:right;margin:0 5px 12px 12px}.about-wrap .feature-section.images-stagger-left img{float:left;margin:0 12px 12px 5px}@media only screen and (max-width:900px){.about-wrap .feature-section.images-stagger-left img,.about-wrap .feature-section.images-stagger-right img{clear:both}}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:bold}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{float:left;margin-right:10px}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:bold}.freedoms-php .about-wrap ol p{font-weight:normal;margin:.6em 0}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;left:0;padding:0;margin:0;z-index:10;overflow:auto;background:#f5f5f5;border-right:1px solid rgba(0,0,0,0.2)}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;box-shadow:-5px 0 4px -4px rgba(0,0,0,0.1) inset;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header,.wp-full-overlay-sidebar .wp-full-overlay-footer{position:absolute;left:0;right:0;height:45px;padding:0 20px;line-height:45px;z-index:10;margin:0}.wp-full-overlay-sidebar .wp-full-overlay-header{top:0;border-top:0;border-bottom:1px solid #fff;box-shadow:inset 0 -1px 0 0 #dfdfdf}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:0;border-top:1px solid #dfdfdf;box-shadow:inset 0 1px 0 0 #fff}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.wp-full-overlay .close-full-overlay{text-decoration:none}.wp-full-overlay .collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:50;display:block;width:19px;height:19px;margin-left:15px;padding:0;border-radius:50%;text-decoration:none}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:absolute;margin-top:2px;margin-left:2px;display:block;width:15px;height:15px;background:transparent url('../images/arrows.png') no-repeat 0 -72px}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:0 -108px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;color:#808080;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-label{color:#666}.wp-full-overlay,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main{-webkit-transition-property:left,right,top,bottom,width,margin;-moz-transition-property:left,right,top,bottom,width,margin;-ms-transition-property:left,right,top,bottom,width,margin;-o-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-ms-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url("../images/wpspin_light.gif") no-repeat fixed center center}#customize-container iframe,#theme-installer iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#theme-installer{display:none}#theme-installer.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 20px}.single-theme .install-theme-info{padding-top:15px}#theme-installer .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .star-holder{margin:14px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}#template div{margin-right:190px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:bold;margin:0 6px}.row-title{font-size:13px!important;font-weight:bold}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{visibility:hidden;padding:2px 0 0}.mobile .row-actions{visibility:visible}tr:hover .row-actions,div.comment-item:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3,.metabox-holder h3{font-size:15px;font-weight:normal;padding:7px 10px;margin:0;line-height:1}#poststuff .inside{margin:6px 0 8px}#poststuff .inside #parent_id,.inline-edit-row #post_parent{max-width:100%}#post-visibility-select,#post-formats-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#titlediv,#poststuff .postarea{margin-bottom:20px}#templateside ul li a{text-decoration:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:normal;line-height:24px}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:normal;padding-left:6px;padding-right:6px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid}#sidemenu li a .count-0{display:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .vers,table .column-visible,table .column-rating{text-align:left}.error-message{color:red;font-weight:bold}body.iframe{height:98%}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px}.list-ajax-loading{float:right;margin-right:9px;margin-top:-1px}.tablenav .list-ajax-loading{margin-top:7px}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-right:14px}.importers{font-size:16px;width:auto}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:0;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}.edit-box{display:none}h3:hover .edit-box{display:inline}.index-php form .input-text-wrap{background:#fff;border-style:solid;border-width:1px;padding:2px 3px;border-color:#ccc}#dashboard-widgets form .input-text-wrap input{border:0 none;outline:0;margin:0;padding:0;width:99%;color:#333}form .textarea-wrap{background:#fff;border-style:solid;border-width:1px;padding:2px;border-color:#ccc}#dashboard-widgets form .textarea-wrap textarea{border:0 none;padding:0;outline:0;width:99%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:0}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit input{margin:0}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:30px;padding:0;top:5px}#dashboard-widgets h4{font-weight:normal;font-size:13px;margin:0 0 .2em;padding:0}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px}#dashboard_right_now .inside{font-size:12px;padding-top:20px}#dashboard_right_now p.sub{padding:5px 0 15px;color:#8f8f8f;font-size:14px;position:absolute;top:-17px;left:15px}#dashboard_right_now .table{margin:0;padding:0;position:relative}#dashboard_right_now .table_content{float:left;border-top:#ececec 1px solid;width:45%}#dashboard_right_now .table_discussion{float:right;border-top:#ececec 1px solid;width:45%}#dashboard_right_now table td{padding:3px 0;white-space:nowrap}#dashboard_right_now table tr.first td{border-top:0}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-size:14px;width:1%}#dashboard_right_now td.b a{font-size:18px}#dashboard_right_now td.b a:hover{color:#d54e21}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777}#dashboard_right_now .t a{white-space:nowrap}#dashboard_right_now .spam{color:red}#dashboard_right_now .waiting{color:#e66f00}#dashboard_right_now .approved{color:green}#dashboard_right_now .versions{padding:6px 10px 12px;clear:both}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px}#dashboard_recent_comments h3{margin-bottom:0}#dashboard_recent_comments .inside{margin-top:0}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:sans-serif;font-size:10px}#dashboard_recent_comments .subsubsub{float:none;white-space:normal}#the-comment-list{position:relative}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid}#the-comment-list .pingback{padding-left:9px!important}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px}#the-comment-list .comment-item:first-child{border-top:0}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0}#the-comment-list .comment-item h4{line-height:1.7em;margin-top:-0.4em;color:#777}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:12px}#dashboard_quick_press h4{font-family:sans-serif;float:left;width:5em;clear:both;font-weight:normal;text-align:right;font-size:12px}#dashboard_quick_press h4 label{margin-right:10px}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 5em}#dashboard_quick_press .wp-media-buttons{margin:0 0 .5em 5em;padding:0}#dashboard_quick_press .wp-media-buttons a{color:#777}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:4.6em}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1em 0 10px}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{vertical-align:middle;visibility:hidden;margin:4px 6px 0 0}#dashboard_recent_drafts ul,#dashboard_recent_drafts p{margin:0;padding:0;word-wrap:break-word}#dashboard_recent_drafts ul{list-style:none}#dashboard_recent_drafts ul li{margin-bottom:1em}#dashboard_recent_drafts h4{line-height:1.7em;word-wrap:break-word}#dashboard_recent_drafts h4 abbr{font-weight:normal;font-family:sans-serif;font-size:12px;color:#999;margin-left:3px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:13px;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:12px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}#dashboard_plugins h4{line-height:1.7em}#dashboard_plugins h5{font-weight:normal;font-size:13px;margin:0;display:inline;line-height:1.4em}#dashboard_plugins h5 a{line-height:1.4em}#dashboard_plugins .inside span{font-size:12px;padding-left:5px}#dashboard_plugins p{margin:.3em 0 1.4em;line-height:1.4em}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:bold}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;color:#fff}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;text-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;background:transparent none;color:#fff}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag.browser-insecure a.browse-happy-link,#dashboard_browser_nag.browser-insecure a.update-browser-link{text-shadow:#871b15 0 1px 0}#dashboard_browser_nag a.browse-happy-link,#dashboard_browser_nag a.update-browser-link{text-shadow:#d29a04 0 1px 0}.login *{margin:0;padding:0}.login form{margin-left:8px;padding:26px 24px 46px;font-weight:normal;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px}.login form .forgetmenot{font-weight:normal;float:left;margin-bottom:0}.login .button-primary{font-size:13px!important;line-height:16px;padding:3px 10px;float:right}#login form p{margin-bottom:0}#login form p.submit{padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login form p{margin-bottom:24px}.login h1 a{background-image:url('../images/wordpress-logo.png?ver=20120216');background-size:274px 63px;background-position:top center;background-repeat:no-repeat;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block}@media only screen and (-webkit-min-device-pixel-ratio:1.5){.login h1 a{background-image:url('../images/wordpress-logo-2x.png?ver=20120412');background-size:274px 63px}.wp-badge{background-image:url('../images/wp-badge-2x.png?ver=20120516');background-size:173px 194px}}#login{width:320px;padding:114px 0 0;margin:auto}#login_error,.login .message{margin:0 0 16px 8px;padding:12px}.login #nav,.login #backtoblog{text-shadow:#fff 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0}#backtoblog{padding:12px 16px 0}.login form .input,.login input[type="text"]{color:#555;font-weight:200;font-size:24px;line-height:1;width:100%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:0;-moz-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2)}.login #pass-strength-result{width:250px;font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login form,.mobile #login .message,.mobile #login_error{margin-left:0}.mobile #login #nav,.mobile #login #backtoblog{margin-left:8px}.mobile #login h1 a{width:auto}#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static}.rtl #dashboard_right_now p.musub{padding-left:0;padding-right:16px}#dashboard_right_now td.b a.musublink{font-size:16px}#dashboard_right_now div.musubtable{border-top:0}#dashboard_right_now div.musubtable .t{white-space:normal}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}#nav-menus-frame{margin-left:300px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:24px}.no-js #wpbody-content #menu-settings-column{padding-top:31px}#menu-settings-column .inside{clear:both}.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}#menu-management-liquid{float:left;min-width:100%}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:10px;border-width:1px 0;border-style:solid}#nav-menu-header,#nav-menu-footer{padding:0 10px}#nav-menu-header{border-bottom:1px solid}#nav-menu-footer{border-top:1px solid}.nav-menus-php #post-body div.updated,.nav-menus-php #post-body div.error{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:bold}#menu-management .nav-tabs-nav{margin:0 20px}#menu-management .nav-tabs-arrow{width:10px;padding:0 5px 4px;cursor:pointer;position:absolute;top:0;line-height:22px;font-size:18px;text-shadow:0 1px 0 #fff}#menu-management .nav-tabs-arrow-left{left:0}#menu-management .nav-tabs-arrow-right{right:0;text-align:right}#menu-management .nav-tabs-wrapper{width:100%;height:28px;margin-bottom:-1px;overflow:hidden}#menu-management .nav-tabs{padding-left:20px;padding-right:10px}.js #menu-management .nav-tabs{float:left;margin-left:0;margin-right:-400px}#menu-management .nav-tab{margin-bottom:0;font-size:14px}#select-nav-menu-container{text-align:right;padding:0 10px 3px 10px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}#wpbody .open-label{display:block;float:left}#wpbody .open-label span{padding-right:10px}.js .input-with-default-title{font-style:italic}#menu-management .inside{padding:0 10px}.postbox .howto input{width:180px;float:right}.customlinkdiv .howto input{width:200px}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .meta-sep,.nav-menus-php .submitdelete,.nav-menus-php .submitcancel{display:block;float:left;margin:4px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.postbox img.waiting{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.show-all,.hide-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:4px;display:block;float:left}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0;margin-bottom:5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{padding:1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:13px 0 0 0}.menu-item-handle{border:1px solid #dfdfdf;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #fff;overflow:hidden;word-wrap:break-word}#menu-to-edit .menu-item-invalid .menu-item-handle{background-color:#f6c9cc;background-image:-ms-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-moz-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-o-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-webkit-gradient(linear,left bottom,left top,from(#f6c9cc),to(#fdf8ff));background-image:-webkit-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:linear-gradient(bottom,#f6c9cc,#fdf8ff)}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;text-shadow:0}.menu-item-handle .item-title{font-size:12px;font-weight:bold;padding:7px 0;line-height:20px;display:block;margin-right:13em}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{font-size:12px;padding-right:10px}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:400px;padding:10px 0 10px 10px;border:solid;border-width:0 1px 1px 1px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;font-size:12px;font-style:italic}.link-to-original a{padding-left:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px;height:40px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 5px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:5px 0 1px}.nav-menus-php .major-publishing-actions .delete-action{vertical-align:middle;text-align:left;float:left;padding-right:15px;margin-top:5px}.menu-name-label span,.auto-add-pages label{font-size:12px;font-style:normal}.menu-name-label{margin-right:15px}.auto-add-pages input{margin-top:0}.auto-add-pages{margin-top:4px;float:left}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid;padding:1px 2px;text-decoration:none}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px;border:0 none}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block}div.star-holder{position:relative;height:17px;width:100px;background:url('../images/stars.png?ver=20120307') repeat-x bottom left}div.star-holder .star-rating{background:url('../images/stars.png?ver=20120307') repeat-x top left;height:17px;float:left}div.action-links{font-weight:normal;margin:6px 0 0}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em}#plugin-information h2{clear:none!important;margin-right:200px}#plugin-information .fyi{margin:0 10px 50px;width:210px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi h2.mainheader{padding:5px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .fyi li{margin-right:0}#plugin-information #section-holder{padding:10px}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;max-width:100%;width:auto;height:auto}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em}#plugin-information #section-screenshots ol,#plugin-information .updated,#plugin-information pre{margin-right:215px}#plugin-information pre{padding:7px;overflow:auto}body.press-this{color:#333;margin:0;padding:0;min-width:675px;min-height:400px}img{border:0}.press-this #wphead{height:32px;margin-left:0;margin-right:0;margin-bottom:5px}.press-this #header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.press-this #wphead h1{font-weight:normal;font-size:16px;line-height:32px;margin:0;float:left}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this-sidebar{float:right;width:200px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0}.press-this #titlediv{margin:0}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 0}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #poststuff{margin:0 10px 10px}#poststuff #editor-toolbar{height:30px}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0}.posting{margin-right:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:right}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #tagsdiv-post_tag h3,.press-this #categorydiv h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px}#TB_window{border:1px solid #333}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.postbox:hover .handlediv,.stuffbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.press-this #submitdiv:hover .handlediv{background:0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border-color:#dfdfdf}.press-this .actions{float:right;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-25px -7px 0 0}.press-this .actions li{float:left;list-style:none;margin-right:10px}#extra-fields .button{margin-right:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:100px}#img_container a{display:block;float:left;overflow:hidden;vertical-align:center}#img_container img,#img_container a{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:130px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:357px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent}#saving{display:inline;vertical-align:middle}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px}#TB_ajaxContent h3{margin-bottom:.25em}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag ~ div.taghint{visibility:visible}input.newtag:focus ~ div.taghint{visibility:hidden}#mce_fullscreen_container{background:#fff}#photo-add-url-div input[type="text"]{width:300px}.alignleft h3{margin:0}h3 span{font-weight:normal}#template textarea{font-family:Consolas,Monaco,monospace;font-size:12px;width:97%;background:#f9f9f9;outline:0}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#templateside h3,#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em;padding:0}#templateside li{margin:4px 0}#templateside ul li a span.highlight{display:block}.nonessential{font-size:11px;font-style:italic;padding-left:12px}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:bold;border:0 none}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:top;font-weight:bold}.fileedit-sub{padding:10px 0 8px;line-height:180%}#filter-box{clear:both}.feature-filter{padding:8px 12px 0}.feature-filter .feature-group{float:left;margin:5px 10px 10px}.feature-filter .feature-group li{display:inline;float:left;list-style-type:none;padding-right:25px;width:150px}.feature-container{width:100%;overflow:auto;margin-bottom:10px}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px}div#widgets-left{margin-left:5px;margin-right:325px}div#widgets-right{width:285px;margin:0 auto}div.widget-liquid-right{float:right;clear:right;width:300px}.widget-liquid-right .widget,.inactive-sidebar .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden}.widget-liquid-right .sidebar-description{margin-bottom:10px}.inactive-sidebar .widget{margin:0 10px 20px;float:left}div.sidebar-name h3{font-weight:normal;font-size:15px;margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}div.sidebar-name{cursor:pointer;font-size:13px;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px}.js .closed .sidebar-name{-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none}.widget-liquid-right .widgets-sortables{padding:15px 0 0}#available-widgets .widget-holder{padding:7px 5px 0}#available-widgets .widget{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.inactive-sidebar{padding:5px 5px 0}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;background:transparent;float:left}#widget-list .widget-description{padding:5px 8px}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:26px;width:250px}.inactive-sidebar .widget-placeholder{margin:0 10px 20px;float:left}div.widgets-holder-wrap{padding:0;margin:10px 0 20px}#widgets-left #available-widgets{background-color:transparent;border:0 none}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px}.widget .widget-top{margin-bottom:-1px;font-size:12px;font-weight:bold;height:26px;overflow:hidden}.widget-top .widget-title{padding:7px 9px}.widget-top .widget-title-action{float:right}a.widget-action{display:block;width:24px;height:26px}#available-widgets a.widget-action{display:none}.widget-top a.widget-action{background:transparent url(../images/arrows.png) no-repeat 4px 6px}.widget-top a.widget-action:hover{background:transparent url(../images/arrows-dark.png) no-repeat 4px 6px}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:12px;line-height:16px}.widget-inside,.widget-description{display:none}#available-widgets .widget-description{display:block}.widget .widget-inside p{margin:0 0 1em;padding:0}.widget-title h4{margin:0;line-height:1;overflow:hidden;white-space:nowrap}.widgets-sortables{min-height:90px}.widget-control-actions{margin-top:8px}.widget-control-actions a{text-decoration:none}.widget-control-actions a:hover{text-decoration:underline}.widget-control-actions .ajax-feedback{padding-bottom:3px}.widget-control-actions div.alignleft{margin-top:6px}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:12px}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:0}.widget-control-edit{display:block;font-size:12px;font-weight:normal;line-height:26px;padding:0 8px 0 0}a.widget-control-edit{text-decoration:none}.widget-control-edit .add,.widget-control-edit .edit{display:none}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,.inactive-sidebar .widget-control-edit .edit{display:inline}.editwidget{margin:0 auto 15px}.editwidget .widget-inside{display:block;padding:10px}.inactive p.description{margin:5px 15px 10px}#available-widgets p.description{margin:0 12px 12px}.widget-position{margin-top:8px}.inactive{padding-top:2px}.sidebar-name-arrow{float:right;height:29px;width:26px}.widget-title .in-widget-title{font-size:12px;white-space:nowrap}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;line-height:1}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block}.widgets_access .closed .sidebar-name{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}@media only screen and (max-width:768px){#col-left{width:100%}#col-right{width:100%}}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left{width:100%}#col-right{width:100%}.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-zh-cn .howto,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn #utc-time,.locale-zh-cn #local-time,.locale-zh-cn p.install-help,.locale-zh-cn p.help,.locale-zh-cn p.description,.locale-zh-cn span.description,.locale-zh-cn .form-wrap p{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"æ¥·ä½“",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-ru-ru #dashboard_quick_press .input-text-wrap,.locale-ru-ru #dashboard_quick_press .textarea-wrap,.locale-ru-ru #dashboard_quick_press .wp-media-buttons{margin-left:5.7em}.locale-ru-ru #dashboard_quick_press h4{width:5.7em}.locale-ru-ru #dashboard-widgets #dashboard_quick_press form p.submit{margin-left:5.3em}.locale-ru-ru .inline-edit-row fieldset label span.title{width:auto;min-width:5em}.locale-ru-ru.press-this .posting{margin-right:257px}.locale-ru-ru.press-this #photo-add-url-div input[type="text"]{width:255px}.locale-ru-ru.press-this #side-sortables{width:245px}.locale-lt-lt #dashboard_quick_press .input-text-wrap,.locale-lt-lt #dashboard_quick_press .textarea-wrap,.locale-lt-lt #dashboard_quick_press .wp-media-buttons{margin-left:7em}.locale-lt-lt #dashboard_quick_press h4{width:7em}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/wp-admin.dev.css ./wordpress-3.4/wp-admin/css/wp-admin.dev.css
*** ./wordpress-3.3.2/wp-admin/css/wp-admin.dev.css	2011-12-08 16:55:18.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/wp-admin.dev.css	2012-06-12 12:11:09.000000000 -0500
***************
*** 39,45 ****
  20.0 - Settings
  21.0 - Admin Footer
  22.0 - About Pages
! 23.0 - Misc
  
  ------------------------------------------------------------------------*/
  
--- 39,47 ----
  20.0 - Settings
  21.0 - Admin Footer
  22.0 - About Pages
! 23.0 - Full Overlay w/ Sidebar
! 24.0 - Customize Loader
! 25.0 - Misc
  
  ------------------------------------------------------------------------*/
  
***************
*** 136,146 ****
  
  .has-right-sidebar #post-body-content {
  	margin-right: 300px;
! }
! 
! #post-body-content #side-sortables.empty-container {
! 	border: 0 none;
! 	height: 0;
  }
  
  /* 2 columns main area */
--- 139,146 ----
  
  .has-right-sidebar #post-body-content {
  	margin-right: 300px;
! 	float: none;
! 	width: auto;
  }
  
  /* 2 columns main area */
***************
*** 208,213 ****
--- 208,217 ----
  /* include margin and padding in the width calculation of input and textarea */
  input[type="text"],
  input[type="password"],
+ input[type="number"],
+ input[type="search"],
+ input[type="email"],
+ input[type="url"],
  textarea {
  	-moz-box-sizing: border-box;
  	-webkit-box-sizing: border-box;
***************
*** 217,223 ****
  
  input[type="checkbox"],
  input[type="radio"] {
! 	vertical-align: text-bottom;
  }
  
  /* general */
--- 221,237 ----
  
  input[type="checkbox"],
  input[type="radio"] {
! 	vertical-align: text-top;
! 	padding: 0;
! 	margin: 1px 0 0;
! }
! 
! input[type="search"] {
! 	-webkit-appearance: textfield;
! }
! 
! input[type="search"]::-webkit-search-decoration {
! 	display: none;
  }
  
  /* general */
***************
*** 630,682 ****
  }
  
  
- /* =CSS 3 transitions
- -------------------------------------------------------------- */
- 
- .fade-1000,
- .fade-600,
- .fade-400,
- .fade-300 {
- 	opacity: 0;
- 	-moz-transition-property: opacity;
- 	-webkit-transition-property: opacity;
- 	-o-transition-property: opacity;
- 	transition-property: opacity;
- }
- 
- .fade-1000 {
- 	-moz-transition-duration: 1s;
- 	-webkit-transition-duration: 1s;
- 	-o-transition-duration: 1s;
- 	transition-duration: 1s;
- }
- 
- .fade-600 {
- 	-moz-transition-duration: 0.6s;
- 	-webkit-transition-duration: 0.6s;
- 	-o-transition-duration: 0.6s;
- 	transition-duration: 0.6s;
- }
- 
- .fade-400 {
- 	-moz-transition-duration: 0.4s;
- 	-webkit-transition-duration: 0.4s;
- 	-o-transition-duration: 0.4s;
- 	transition-duration: 0.4s;
- }
- 
- .fade-300 {
- 	-moz-transition-duration: 0.3s;
- 	-webkit-transition-duration: 0.3s;
- 	-o-transition-duration: 0.3s;
- 	transition-duration: 0.3s;
- }
- 
- .fade-trigger {
- 	opacity: 1;
- }
- 
- 
  /*------------------------------------------------------------------------------
    1.0 - Text Styles
  ------------------------------------------------------------------------------*/
--- 644,649 ----
***************
*** 837,842 ****
--- 804,813 ----
  	width: 50px;
  }
  
+ input[type="number"].small-text {
+ 	width: 60px;
+ }
+ 
  #doaction,
  #doaction2,
  #post-query-submit {
***************
*** 892,897 ****
--- 863,909 ----
  	margin: 0;
  }
  
+ input[type="text"].ui-autocomplete-loading {
+ 	background: transparent url('../images/loading.gif') no-repeat right center;
+ 	visibility: visible;
+ }
+ 
+ ul#add-to-blog-users {
+ 	margin: 0 0 0 14px;
+ }
+ 
+ .ui-autocomplete-input.open {
+ 	border-bottom-right-radius: 0;
+ 	border-bottom-left-radius: 0;
+ }
+ 
+ .ui-autocomplete {
+ 	padding: 0;
+ 	margin: 0;
+ 	list-style: none;
+ 	position: absolute;
+ 	z-index: 10000;
+ 	border-bottom-right-radius: 3px;
+ 	border-bottom-left-radius: 3px;
+ 	border-width: 1px;
+ 	border-style: solid;
+ }
+ 
+ .ui-autocomplete li {
+ 	margin-bottom: 0;
+ 	white-space: nowrap;
+ 	text-align: left;
+ }
+ 
+ .ui-autocomplete li a {
+ 	display: block;
+ 	height: 100%;
+ 	padding: 4px 10px;
+ }
+ 
+ .ui-autocomplete li a.ui-state-hover {
+ 	cursor: pointer;
+ }
  
  /*------------------------------------------------------------------------------
    3.0 - Actions
***************
*** 900,906 ****
  #major-publishing-actions {
  	padding: 10px 10px 8px;
  	clear: both;
! 	border-top: none;
  }
  
  #delete-action {
--- 912,919 ----
  #major-publishing-actions {
  	padding: 10px 10px 8px;
  	clear: both;
! 	border-top: 1px solid #f5f5f5;
! 	margin-top: -2px;
  }
  
  #delete-action {
***************
*** 916,943 ****
  	line-height: 23px;
  }
  
- #post-body #minor-publishing {
- 	padding-bottom: 10px;
- }
- 
- #post-body #misc-publishing-actions {
- 	padding: 0;
- }
- 
- #post-body .misc-pub-section {
- 	border-right-width: 1px;
- 	border-right-style: solid;
- 	border-top: 0;
- 	border-bottom: 0;
- 	min-height: 30px;
- 	float: left;
- 	max-width: 32%;
- }
- 
- #post-body .misc-pub-section-last {
- 	border-right: 0;
- }
- 
  #misc-publishing-actions {
  	padding: 6px 0 0;
  }
--- 929,934 ----
***************
*** 1087,1347 ****
  }
  
  
- /* Distraction Free Writing mode
-  * =Overlay Styles
- -------------------------------------------------------------- */
- .fullscreen-overlay {
- 	z-index: 149999;
- 	display: none;
- 	position: fixed;
- 	top: 0;
- 	bottom: 0;
- 	left: 0;
- 	right: 0;
- 	filter: inherit;
- }
- 
- .fullscreen-active .fullscreen-overlay,
- .fullscreen-active #wp-fullscreen-body {
- 	display: block;
- }
- 
- .fullscreen-fader {
- 	z-index: 200000;
- }
- 
- .fullscreen-active .fullscreen-fader {
- 	display: none;
- }
- 
- /* =Overlay Body
- -------------------------------------------------------------- */
- #wp-fullscreen-body {
- 	width: 100%;
- 	z-index: 150005;
- 	display: none;
- 	position: absolute;
- 	top: 0;
- 	left: 0;
- }
- 
- #wp-fullscreen-wrap {
- 	margin: 0 auto 50px;
- 	position: relative;
- 	padding-top: 60px;
- }
- 
- #wp-fullscreen-title {
-     font-size: 1.7em;
-     line-height: 100%;
-     outline: medium none;
-     padding: 6px 7px;
-     width: 100%;
-     margin-bottom: 30px;
- }
- 
- #wp-fullscreen-container {
- 	padding: 4px 10px 50px;
- }
- 
- #wp-fullscreen-title,
- #wp-fullscreen-container {
- 	-webkit-border-radius: 0;
- 	border-radius: 0;
- 	border: 1px dashed transparent;
- 	background: transparent;
- 	-moz-transition-property: border-color;
- 	-moz-transition-duration: 0.6s;
- 	-webkit-transition-property: border-color;
- 	-webkit-transition-duration: 0.6s;
- 	-o-transition-property: border-color;
- 	-o-transition-duration: 0.6s;
- 	transition-property: border-color;
- 	transition-duration: 0.6s;
- }
- 
- #wp_mce_fullscreen {
- 	width: 100%;
- 	min-height: 300px;
- 	border: 0;
- 	background: transparent;
- 	font-family: Consolas, Monaco, monospace;
- 	line-height: 1.6em;
- 	padding: 0;
- 	overflow-y: hidden;
- 	outline: none;
- 	resize: none;
- }
- 
- #wp-fullscreen-tagline {
- 	color: #BBBBBB;
- 	font-size: 18px;
- 	float: right;
- 	padding-top: 5px;
- }
- 
- /* =Top bar
- -------------------------------------------------------------- */
- #fullscreen-topbar {
- 	position: fixed;
- 	top: 0;
- 	left: 0;
- 	z-index: 150050;
- 	border-bottom-style: solid;
- 	border-bottom-width: 1px;
- 	min-width: 800px;
- 	width: 100%;
- 	height: 40px;
- }
- 
- #wp-fullscreen-toolbar {
- 	padding: 6px 10px 0;
- 	clear: both;
- 	max-width: 1100px;
- 	min-width: 820px;
- 	margin: 0 auto;
- }
- 
- #wp-fullscreen-mode-bar,
- #wp-fullscreen-button-bar,
- #wp-fullscreen-close,
- #wp-fullscreen-count {
- 	float: left;
- }
- 
- #wp-fullscreen-save {
- 	float: right;
- 	padding: 2px 2px 0 5px;
- }
- 
- #wp-fullscreen-count,
- #wp-fullscreen-close {
- 	padding-top: 5px;
- }
- 
- #wp-fullscreen-central-toolbar {
- 	margin: auto;
- 	padding: 0;
- }
- 
- #wp-fullscreen-buttons > div {
- 	float: left;
- }
- 
- #wp-fullscreen-mode-bar {
- 	padding: 1px 14px 0 0;
- }
- 
- #wp-fullscreen-modes a {
- 	display: block;
- 	font-size: 11px;
- 	text-decoration: none;
- 	float: left;
- 	margin: 1px 0 0 0;
- 	padding: 2px 6px 2px;
- 	border-width: 1px 1px 1px 0;
- 	border-style: solid;
- 	border-color: #bbb;
- 	color: #777;
- 	text-shadow: 0 1px 0 #fff;
- 	background-color: #f4f4f4;
- 	background-image: -moz-linear-gradient(bottom,  #e4e4e4,  #f9f9f9);
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), to(#f9f9f9));
- }
- 
- #wp-fullscreen-modes a:hover,
- .wp-html-mode #wp-fullscreen-modes a:last-child,
- .wp-tmce-mode #wp-fullscreen-modes a:first-child {
- 	color: #333;
- 	border-color: #999;
- 	background-color: #eee;
- 	background-image: -moz-linear-gradient(bottom,  #f9f9f9,  #e0e0e0);
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#f9f9f9), to(#e0e0e0));
- }
- 
- #wp-fullscreen-modes a:first-child {
- 	border-width: 1px;
- 	-webkit-border-top-left-radius: 3px;
- 	-webkit-border-bottom-left-radius: 3px;
- 	border-top-left-radius: 3px;
- 	border-bottom-left-radius: 3px;
- }
- 
- #wp-fullscreen-modes a:last-child {
- 	-webkit-border-top-right-radius: 3px;
- 	-webkit-border-bottom-right-radius: 3px;
- 	border-top-right-radius: 3px;
- 	border-bottom-right-radius: 3px;
- }
- 
- #wp-fullscreen-buttons .active a {
- 	background: inherit;
- }
- 
- #wp-fullscreen-buttons .hidden {
- 	display: none;
- }
- 
- #wp-fullscreen-buttons .disabled {
- 	opacity: 0.5;
- }
- 
- .wp-html-mode #wp-fullscreen-buttons div {
- 	display: none;
- }
- 
- .wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both {
- 	display: block;
- }
- 
- #fullscreen-topbar.fullscreen-make-sticky {
- 	display: block !important;
- }
- 
- #wp-fullscreen-save img {
- 	vertical-align: middle;
- }
- 
- #wp-fullscreen-save img,
- #wp-fullscreen-save span {
- 	padding-right: 4px;
- 	display: none;
- }
- 
- #wp-fullscreen-buttons .mce_image .mce_image {
- 	background-image: url('../images/menu.png?ver=20111128');
- 	background-position: -124px -38px;
- }
- 
- #wp-fullscreen-buttons .mce_image .mce_image:hover {
- 	background-position: -124px -6px;
- }
- 
- /* =Thickbox Adjustments
- -------------------------------------------------------------- */
- .fullscreen-active #TB_overlay {
- 	z-index: 150100;
- }
- 
- .fullscreen-active #TB_window {
- 	z-index: 150102;
- }
- 
- /* =TinyMCE Adjustments
- -------------------------------------------------------------- */
- #wp_mce_fullscreen_ifr {
- 	background: transparent;
- }
- 
- #wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst {
- 	display : none;
- }
- 
- #wp-fullscreen-container .wp_themeSkin table td {
- 	vertical-align: top;
- }
- 
- 
  /*------------------------------------------------------------------------------
    6.0 - Admin Header
  ------------------------------------------------------------------------------*/
--- 1079,1084 ----
***************
*** 1384,1390 ****
  #screen-options-link-wrap,
  #contextual-help-link-wrap {
  	float: right;
! 	height: 22px;
  	padding: 0;
  	margin: 0 0 0 6px;
  	font-family: sans-serif;
--- 1121,1127 ----
  #screen-options-link-wrap,
  #contextual-help-link-wrap {
  	float: right;
! 	height: 23px;
  	padding: 0;
  	margin: 0 0 0 6px;
  	font-family: sans-serif;
***************
*** 1399,1408 ****
  	border-bottom-right-radius: 3px;
  }
  
  #screen-meta-links a.show-settings {
  	text-decoration: none;
  	z-index: 1;
! 	padding: 0 16px 0 6px;
  	height: 22px;
  	line-height: 22px;
  	font-size: 12px;
--- 1136,1150 ----
  	border-bottom-right-radius: 3px;
  }
  
+ #screen-meta-links .screen-meta-toggle {
+ 	position: relative;
+ 	top: -1px;
+ }
+ 
  #screen-meta-links a.show-settings {
  	text-decoration: none;
  	z-index: 1;
! 	padding: 1px 16px 0 6px;
  	height: 22px;
  	line-height: 22px;
  	font-size: 12px;
***************
*** 1445,1450 ****
--- 1187,1196 ----
  	margin: 0 5px 0 2px;
  }
  
+ .metabox-prefs .columns-prefs label input {
+ 	margin: 0 2px;
+ }
+ 
  .metabox-prefs label a {
  	display: none;
  }
***************
*** 1664,1670 ****
  }
  
  .folded #adminmenu div.wp-menu-image {
! 	width: 32px;
  }
  
  #adminmenu li {
--- 1410,1416 ----
  }
  
  .folded #adminmenu div.wp-menu-image {
! 	width: 30px;
  }
  
  #adminmenu li {
***************
*** 1762,1767 ****
--- 1508,1517 ----
  	z-index: 1001;
  }
  
+ .ie8 #adminmenu li.menu-top:hover .wp-menu-arrow {
+ 	display: none;
+ }
+ 
  #adminmenu .wp-menu-arrow div {
  	position: absolute;
  	top: 7px;
***************
*** 1966,1974 ****
  	border-radius: 10px;
  }
  
  
! /* List table styles */
! .post-com-count-wrapper {
  	min-width: 22px;
  	font-family: sans-serif;
  }
--- 1716,1842 ----
  	border-radius: 10px;
  }
  
+ /* Auto-folding of the admin menu */
+ @media only screen and (max-width: 900px) {
+ 	#wpcontent,
+ 	#footer {
+ 		margin-left: 52px;
+ 	}
  
! 	#adminmenuback,
! 	#adminmenuwrap,
! 	#adminmenu,
! 	#adminmenu li.menu-top {
! 		width: 32px;
! 	}
! 
! 	#adminmenu .wp-has-current-submenu .wp-submenu {
! 		display: none;
! 		position: absolute;
! 		width: 145px;
! 		z-index: 999;
! 		overflow: hidden;
! 	}
! 
! 	#adminmenu .wp-has-current-submenu .wp-submenu.sub-open {
! 		display: block;
! 	}
! 
! 	#adminmenu li .wp-submenu,
! 	#adminmenu .wp-has-current-submenu .wp-submenu {
! 		top: -5px;
! 		left: 26px;
! 	}
! 
! 	#adminmenu li.focused.wp-has-current-submenu .wp-submenu,
! 	#adminmenu .wp-has-current-submenu .wp-submenu.sub-open {
! 		padding: 0 8px 8px 0;
! 	}
! 
! 	#adminmenu div.wp-submenu-head {
! 		display: block;
! 	}
! 
! 	#adminmenu a.menu-top,
! 	#adminmenu div.wp-menu-toggle {
! 		display: none;
! 	}
! 
! 	#adminmenu div.wp-menu-image {
! 		width: 30px;
! 	}
! 
! 	#adminmenu .wp-not-current-submenu li a {
! 		padding-left: 12px;
! 	}
! 
! 	#adminmenu li li {
! 		margin-left: 0;
! 	}
! 
! 	#adminmenu li li a {
! 		padding-left: 0;
! 	}
! 
! 	.wp-menu-arrow {
! 		-moz-transform:    translate( 33px );
! 		-webkit-transform: translate( 33px );
! 		-o-transform:      translate( 33px );
! 		-ms-transform:     translate( 33px );
! 		transform:         translate( 33px );
! 	}
! 
! 	#adminmenu li.menu-top:hover .wp-menu-arrow {
! 		display: none;
! 	}
! 
! 	#adminmenu li.current:hover .wp-menu-arrow,
! 	#adminmenu li.menu-top.wp-menu-open:hover .wp-menu-arrow {
! 		display: block;
! 		z-index: 125;
! 	}
! 
! 	#adminmenu li.menu-top {
! 		border-width: 1px 0;
! 		border-style: solid none;
! 	}
! 
! 	#adminmenu .wp-submenu .wp-submenu-wrap {
! 		margin-top: 3px;
! 	}
! 
! 	#adminmenu .wp-has-current-submenu {
! 		margin-bottom: 1px;
! 	}
! 
! 	#adminmenu .wp-has-current-submenu.menu-top-last {
! 		margin-bottom: 0;
! 	}
! 
! 	#adminmenu .wp-has-current-submenu .wp-submenu-wrap {
! 		margin-top: 4px;
! 	}
! 
! 	#adminmenu .wp-submenu ul {
! 		border-width: 0 0 0 1px;
! 		border-style: solid;
! 	}
! 
! 	#adminmenu .wp-submenu a {
! 		padding-left: 10px;
! 	}
! 
! 	#adminmenu a.wp-has-submenu {
! 		margin-left: 40px;
! 	}
! 
! 	#collapse-menu {
! 		display: none;
! 	}
! }
! 
! /* List table styles */
! .post-com-count-wrapper {
  	min-width: 22px;
  	font-family: sans-serif;
  }
***************
*** 2023,2031 ****
    8.0 - Layout Blocks
  ------------------------------------------------------------------------------*/
  
! body.admin-bar #wpcontent,
! body.admin-bar #adminmenu {
  	padding-top: 28px;
  }
  
  .narrow {
--- 1891,1901 ----
    8.0 - Layout Blocks
  ------------------------------------------------------------------------------*/
  
! html.wp-toolbar {
  	padding-top: 28px;
+ 	-webkit-box-sizing: border-box;
+ 	-moz-box-sizing: border-box;
+ 	box-sizing: border-box;
  }
  
  .narrow {
***************
*** 2054,2071 ****
  	margin: 0.6em 0;
  }
  
  .postbox-container {
  	float: left;
  }
  
  .postbox-container .meta-box-sortables {
! 	min-height: 350px;
  }
  
! .postbox-container .meta-box-sortables.empty-container,
! #side-sortables.empty-container {
  	border: 3px dashed #CCCCCC;
! 	height: 350px;
  }
  
  .postbox .hndle {
--- 1924,2107 ----
  	margin: 0.6em 0;
  }
  
+ /* Screens with postboxes */
  .postbox-container {
  	float: left;
  }
  
+ #dashboard-widgets.columns-1 .postbox-container {
+ 	width: 100%;
+ }
+ 
+ #dashboard-widgets.columns-2 .postbox-container {
+ 	width: 49.5%;
+ }
+ 
+ #dashboard-widgets.columns-2 #postbox-container-2,
+ #dashboard-widgets.columns-2 #postbox-container-3,
+ #dashboard-widgets.columns-2 #postbox-container-4 {
+ 	float: right;
+ 	width: 50.5%;
+ }
+ 
+ #dashboard-widgets.columns-3 .postbox-container {
+ 	width: 33.5%;
+ }
+ 
+ #dashboard-widgets.columns-3 #postbox-container-1 {
+ 	width: 33%;
+ }
+ 
+ #dashboard-widgets.columns-3 #postbox-container-3,
+ #dashboard-widgets.columns-3 #postbox-container-4 {
+ 	float: right;
+ }
+ 
+ #dashboard-widgets.columns-4 .postbox-container {
+ 	width: 25%;
+ }
+ 
  .postbox-container .meta-box-sortables {
! 	-moz-box-sizing: border-box;
! 	-webkit-box-sizing: border-box;
! 	-ms-box-sizing: border-box;
! 	box-sizing: border-box;
! }
! 
! .postbox-container .meta-box-sortables:empty {
! 	min-height: 0;
! 	height: 0;
  }
  
! .metabox-holder .postbox-container .empty-container,
! #post-body.columns-2 #side-sortables:empty {
  	border: 3px dashed #CCCCCC;
! 	height: 250px;
! }
! 
! .metabox-holder.columns-1 .postbox-container .empty-container,
! .columns-2 #postbox-container-3 .empty-container,
! .columns-2 #postbox-container-4 .empty-container,
! .columns-3 #postbox-container-4 .empty-container {
! 	border: 0 none;
! 	height: 0;
! 	min-height: 0;
! }
! 
! #poststuff {
! 	padding-top: 10px;
! }
! 
! #poststuff #post-body {
! 	padding: 0;
! }
! 
! #post-body-content {
! 	width: 100%;
! 	float: left;
! }
! 
! #poststuff .postbox-container {
! 	width: 100%;
! }
! 
! #poststuff #post-body.columns-2 {
! 	margin-right: 300px;
! }
! 
! #post-body.columns-2 #postbox-container-1 {
! 	float: right;
! 	margin-right: -300px;
! 	width: 280px;
! }
! 
! #post-body.columns-2 #side-sortables {
! 	min-height: 250px;
! }
! 
! /* one column on the dash */
! @media only screen and (max-width: 799px) {
! 	#wpbody-content #dashboard-widgets .postbox-container {
! 		width: 100%;
! 	}
! 
! 	#wpbody-content .metabox-holder .postbox-container .empty-container {
! 		border: 0 none;
! 		height: 0;
! 		min-height: 0;
! 	}
! }
! 
! /* two columns on the dash, but keep the setting if one is selected */
! @media only screen and (min-width: 800px) and (max-width: 1200px) {
! 	#wpbody-content #dashboard-widgets .postbox-container {
! 		width: 49.5%;
! 	}
! 
! 	#wpbody-content #dashboard-widgets #postbox-container-2,
! 	#wpbody-content #dashboard-widgets #postbox-container-3,
! 	#wpbody-content #dashboard-widgets #postbox-container-4 {
! 		float: right;
! 		width: 50.5%;
! 	}
! 
! 	#dashboard-widgets.metabox-holder .postbox-container .empty-container,
! 	#dashboard-widgets #postbox-container-3 .empty-container,
! 	#dashboard-widgets #postbox-container-4 .empty-container {
! 		border: 0 none;
! 		height: 0;
! 		min-height: 0;
! 	}
! 
! 	#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container {
! 		width: 100%;
! 	}
! 
! 	#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container {
! 		border: 0 none;
! 		height: 0;
! 		min-height: 0;
! 	}
! 
! 	/* show the radio buttons for column prefs only for one or two columns */
! 	.index-php .screen-layout,
! 	.index-php .columns-prefs {
! 		display: block;
! 	}
! 
! 	.columns-prefs .columns-prefs-3,
! 	.columns-prefs .columns-prefs-4 {
! 		display: none;
! 	}
! }
! 
! /* one column on the post write/edit screen */
! @media only screen and (max-width: 850px) {
! 	#wpbody-content #poststuff #post-body {
! 		margin: 0;
! 	}
! 
! 	#wpbody-content #post-body.columns-2 #postbox-container-1 {
! 		margin-right: 0;
! 		width: 100%;
! 	}
! 
! 	#poststuff #postbox-container-1 .empty-container,
! 	#poststuff #postbox-container-1 #side-sortables:empty {
! 		border: 0 none;
! 		height: 0;
! 		min-height: 0;
! 	}
! 
! 	#poststuff #post-body.columns-2 #side-sortables {
! 		min-height: 0;
! 	}
! 
! 	/* hide the radio buttons for column prefs */
! 	.screen-layout,
! 	.columns-prefs {
! 		display: none;
! 	}
  }
  
  .postbox .hndle {
***************
*** 2121,2126 ****
--- 2157,2166 ----
  	user-select: none;
  }
  
+ .stuffbox h3 {
+ 	cursor: auto;
+ }
+ 
  .postbox .inside,
  .stuffbox .inside {
  	padding: 0 10px;
***************
*** 2156,2161 ****
--- 2196,2205 ----
    9.0 - Dashboard
  ------------------------------------------------------------------------------*/
  
+ #dashboard-widgets-wrap {
+ 	margin: 0 -8px;
+ }
+ 
  #wpbody-content .metabox-holder {
  	padding-top: 10px;
  }
***************
*** 2226,2241 ****
  }
  
  .welcome-panel .welcome-panel-close:before {
!     background: url('../images/xit.gif') 0 17% no-repeat;
!     content: ' ';
!     height: 100%;
!     width: 10px;
!     left: -12px;
!     position: absolute;
  }
  
  .welcome-panel .welcome-panel-close:hover:before {
!     background-position: 100% 17%;
  }
  
  .welcome-panel .wp-badge {
--- 2270,2285 ----
  }
  
  .welcome-panel .welcome-panel-close:before {
! 	background: url('../images/xit.gif') 0 17% no-repeat;
! 	content: ' ';
! 	height: 100%;
! 	width: 10px;
! 	left: -12px;
! 	position: absolute;
  }
  
  .welcome-panel .welcome-panel-close:hover:before {
! 	background-position: 100% 17%;
  }
  
  .welcome-panel .wp-badge {
***************
*** 2261,2267 ****
  	clear: both;
  	overflow: hidden;
  	position: relative;
! 	padding-left: 25px;
  }
  
  .welcome-panel .welcome-panel-column {
--- 2305,2311 ----
  	clear: both;
  	overflow: hidden;
  	position: relative;
! 	padding-left: 26px;
  }
  
  .welcome-panel .welcome-panel-column {
***************
*** 2344,2350 ****
  	width: 80px;
  }
  
- #commentsdiv .fixed .column-author,
  #comments-form .fixed .column-author {
  	width: 20%;
  }
--- 2388,2393 ----
***************
*** 2354,2381 ****
  	padding: 0;
  }
  
! #commentsdiv.postbox .inside .row-actions {
  	line-height:18px;
  }
  
! #commentsdiv.postbox .inside td {
! 	padding:1em 10px;
  }
  
! #commentsdiv.postbox .inside .column-author {
! 	width:33%;
  }
  
! #commentsdiv.postbox .inside p {
! 	margin:6px 10px 8px;
  }
  
! #commentsdiv.postbox .column-comment p {
! 	margin:0.6em 0;
  }
  
! #commentsdiv.postbox #replyrow td {
! 	padding:0;
  }
  
  .sorting-indicator {
--- 2397,2445 ----
  	padding: 0;
  }
  
! #commentsdiv .inside .row-actions {
  	line-height:18px;
  }
  
! #commentsdiv .inside .column-author {
! 	width: 25%;
! }
! 
! #commentsdiv .column-comment p {
! 	margin: 0.6em 0;
! 	padding: 0;
! }
! 
! #commentsdiv #replyrow td {
! 	padding: 0;
! }
! 
! #commentsdiv p {
! 	padding: 8px 10px;
! 	margin: 0;
! }
! 
! #commentsdiv #add-new-comment {
! 	border-width: 0 0 1px;
! 	border-style: none none solid;
  }
  
! #commentsdiv .comments-box {
! 	border: 0 none;
  }
  
! #commentsdiv .comments-box thead th {
! 	background: transparent;
! 	padding: 0 7px 4px;
! 	font-style: italic;
  }
  
! #commentsdiv .comments-box tr:last-child td {
! 	border-bottom: 0 none;
  }
  
! #commentsdiv img.waiting {
! 	padding-left: 5px;
  }
  
  .sorting-indicator {
***************
*** 2516,2522 ****
  	margin-top: 13px;
  }
  .screen-per-page {
! 	width: 3em;
  }
  
  #posts-filter fieldset {
--- 2580,2586 ----
  	margin-top: 13px;
  }
  .screen-per-page {
! 	width: 4em;
  }
  
  #posts-filter fieldset {
***************
*** 2955,3036 ****
  	max-width: 260px;
  }
  
- #post-body ul.category-tabs,
- #post-body ul.add-menu-item-tabs {
- 	float: left;
- 	width: 120px;
- 	text-align: right;
- 	/* Negative margin for the sake of those without JS: all tabs display */
- 	margin: 0 -120px 0 5px;
- 	padding: 0;
- }
- 
- #post-body ul.category-tabs li,
- #post-body ul.add-menu-item-tabs li {
- 	padding: 8px;
- }
- 
- #post-body ul.category-tabs li.tabs,
- #post-body ul.add-menu-item-tabs li.tabs {
- 	-webkit-border-top-left-radius: 3px;
- 	-webkit-border-bottom-left-radius: 3px;
- 	border-top-left-radius: 3px;
- 	border-bottom-left-radius: 3px;
- }
- 
- .wp-tab-panel,
- .categorydiv div.tabs-panel,
- .customlinkdiv div.tabs-panel,
- .posttypediv div.tabs-panel,
- .taxonomydiv div.tabs-panel,
- #linkcategorydiv div.tabs-panel {
- 	height: 200px;
- 	overflow: auto;
- 	padding: 0.5em 0.9em;
- 	border-style: solid;
- 	border-width: 1px;
- }
- 
- .nav-menus-php .customlinkdiv div.tabs-panel,
- .nav-menus-php .posttypediv div.tabs-panel,
- .nav-menus-php .taxonomydiv div.tabs-panel {
- 	height: auto;
- 	max-height: 205px;
- }
- 
- div.tabs-panel-active {
- 	display:block;
- }
- 
- div.tabs-panel-inactive {
- 	display:none;
- }
- 
- #post-body .categorydiv div.tabs-panel,
- .taxonomy div.tabs-panel,
- #post-body #linkcategorydiv div.tabs-panel {
- 	margin: 0 5px 0 125px;
- }
- 
  .press-this #side-sortables .category-tabs li,
! .has-right-sidebar #side-sortables .category-tabs li,
  #side-sortables .add-menu-item-tabs li,
  .wp-tab-bar li {
  	display: inline;
  	line-height: 1.35em;
  }
  
! .no-js #side-sortables .category-tabs li.hide-if-no-js {
   	display: none;
  }
  
! #side-sortables .category-tabs a,
  #side-sortables .add-menu-item-tabs a,
  .wp-tab-bar a {
  	text-decoration: none;
  }
  
! #side-sortables .category-tabs {
  	margin: 8px 0 3px;
  }
  
--- 3019,3043 ----
  	max-width: 260px;
  }
  
  .press-this #side-sortables .category-tabs li,
! ul.category-tabs li,
  #side-sortables .add-menu-item-tabs li,
  .wp-tab-bar li {
  	display: inline;
  	line-height: 1.35em;
  }
  
! .no-js .category-tabs li.hide-if-no-js {
   	display: none;
  }
  
! .category-tabs a,
  #side-sortables .add-menu-item-tabs a,
  .wp-tab-bar a {
  	text-decoration: none;
  }
  
! .category-tabs {
  	margin: 8px 0 3px;
  }
  
***************
*** 3043,3062 ****
  	margin-bottom: 3px;
  }
  
- .categorydiv ul,
- .customlinkdiv ul,
- .posttypediv ul,
- .taxonomydiv ul,
- #linkcategorydiv ul {
- 	list-style: none;
- 	padding: 0;
- 	margin: 0;
- }
- 
  #normal-sortables .postbox #replyrow .submit {
  	float: none;
  	margin: 0;
! 	padding: 3px 7px;
  }
  
  #side-sortables .submitbox .submit input,
--- 3050,3059 ----
  	margin-bottom: 3px;
  }
  
  #normal-sortables .postbox #replyrow .submit {
  	float: none;
  	margin: 0;
! 	padding: 0 7px 5px;
  }
  
  #side-sortables .submitbox .submit input,
***************
*** 3070,3105 ****
  	margin: 11px 0;
  }
  
- #side-sortables .comments-box,
- #normal-sortables .comments-box {
- 	border: 0 none;
- }
- 
  ul.category-tabs,
  ul.add-menu-item-tabs,
  ul.wp-tab-bar {
  	margin-top: 12px;
  }
  
! #side-sortables .comments-box thead th,
! #normal-sortables .comments-box thead th {
! 	background: transparent;
! 	padding: 0 7px 4px;
! 	font-style: italic;
! }
! 
! ul.category-tabs li.tabs,
  ul.add-menu-item-tabs li.tabs,
  .wp-tab-active {
  	border-style: solid solid none;
  	border-width: 1px 1px 0;
  }
  
- #commentsdiv img.waiting {
- 	padding-left: 5px;
- }
- 
- #post-body .category-tabs li.tabs,
  #post-body .add-menu-item-tabs li.tabs {
  	border-style: solid none solid solid;
  	border-width: 1px 0 1px 1px;
--- 3067,3085 ----
  	margin: 11px 0;
  }
  
  ul.category-tabs,
  ul.add-menu-item-tabs,
  ul.wp-tab-bar {
  	margin-top: 12px;
  }
  
! ul.category-tabs li,
  ul.add-menu-item-tabs li.tabs,
  .wp-tab-active {
  	border-style: solid solid none;
  	border-width: 1px 1px 0;
  }
  
  #post-body .add-menu-item-tabs li.tabs {
  	border-style: solid none solid solid;
  	border-width: 1px 0 1px 1px;
***************
*** 3121,3148 ****
  	position: relative;
  }
  
! .screen-per-page {
! 	width: 3em;
  }
  
! #posts-filter fieldset {
! 	float: left;
! 	margin: 0 1.5ex 1em 0;
! 	padding: 0;
! }
! 
! #posts-filter fieldset legend {
! 	padding: 0 0 .2em 1px;
! }
! 
! /* Edit posts */
! td.post-title strong, td.plugin-title strong {
! 	display: block;
! 	margin-bottom: .2em;
! }
! 
! td.post-title p, td.plugin-title p {
! 	margin: 6px 0;
  }
  
  /* Global classes */
--- 3101,3116 ----
  	position: relative;
  }
  
! /* Edit posts */
! td.post-title strong,
! td.plugin-title strong {
! 	display: block;
! 	margin-bottom: .2em;
  }
  
! td.post-title p,
! td.plugin-title p {
! 	margin: 6px 0;
  }
  
  /* Global classes */
***************
*** 3366,3372 ****
  	margin: 0;
  }
  
- #post-body ul.category-tabs,
  #post-body ul.add-menu-item-tabs {
  	float: left;
  	width: 120px;
--- 3334,3339 ----
***************
*** 3376,3387 ****
  	padding: 0;
  }
  
- #post-body ul.category-tabs li,
  #post-body ul.add-menu-item-tabs li {
  	padding: 8px;
  }
  
- #post-body ul.category-tabs li.tabs,
  #post-body ul.add-menu-item-tabs li.tabs {
  	-webkit-border-top-left-radius: 3px;
  	-webkit-border-bottom-left-radius: 3px;
--- 3343,3352 ----
***************
*** 3389,3399 ****
  	border-bottom-left-radius: 3px;
  }
  
  .categorydiv div.tabs-panel,
  .customlinkdiv div.tabs-panel,
  .posttypediv div.tabs-panel,
! .taxonomydiv div.tabs-panel,
! #linkcategorydiv div.tabs-panel {
  	height: 200px;
  	overflow: auto;
  	padding: 0.5em 0.9em;
--- 3354,3364 ----
  	border-bottom-left-radius: 3px;
  }
  
+ .wp-tab-panel,
  .categorydiv div.tabs-panel,
  .customlinkdiv div.tabs-panel,
  .posttypediv div.tabs-panel,
! .taxonomydiv div.tabs-panel {
  	height: 200px;
  	overflow: auto;
  	padding: 0.5em 0.9em;
***************
*** 3416,3432 ****
  	display:none;
  }
  
! #post-body .categorydiv div.tabs-panel,
! .taxonomy div.tabs-panel,
! #post-body #linkcategorydiv div.tabs-panel {
  	margin: 0 5px 0 125px;
  }
  
- .categorydiv ul,
  .customlinkdiv ul,
  .posttypediv ul,
! .taxonomydiv ul,
! #linkcategorydiv ul {
  	list-style: none;
  	padding: 0;
  	margin: 0;
--- 3381,3394 ----
  	display:none;
  }
  
! .colunms-1 .categorydiv div.tabs-panel,
! .taxonomy div.tabs-panel {
  	margin: 0 5px 0 125px;
  }
  
  .customlinkdiv ul,
  .posttypediv ul,
! .taxonomydiv ul {
  	list-style: none;
  	padding: 0;
  	margin: 0;
***************
*** 3439,3446 ****
  .categorydiv ul.categorychecklist ul,
  .customlinkdiv ul.categorychecklist ul,
  .posttypediv ul.categorychecklist ul,
! .taxonomydiv ul.categorychecklist ul,
! #linkcategorydiv ul.categorychecklist ul {
  	margin-left: 18px;
  }
  
--- 3401,3407 ----
  .categorydiv ul.categorychecklist ul,
  .customlinkdiv ul.categorychecklist ul,
  .posttypediv ul.categorychecklist ul,
! .taxonomydiv ul.categorychecklist ul {
  	margin-left: 18px;
  }
  
***************
*** 3589,3594 ****
--- 3550,3586 ----
  	text-decoration: underline;
  }
  
+ /* links tables */
+ table.links-table {
+ 	width: 100%;
+ }
+ 
+ .links-table th {
+ 	font-weight: normal;
+ 	text-align: left;
+ 	vertical-align: top;
+ 	min-width: 80px;
+ 	width: 20%;
+ 	word-wrap: break-word;
+ }
+ 
+ .links-table th,
+ .links-table td {
+ 	padding: 5px 0;
+ }
+ 
+ .links-table td label {
+ 	margin-right: 8px;
+ }
+ 
+ .links-table td input[type="text"],
+ .links-table td textarea {
+ 	width: 100%;
+ }
+ 
+ .links-table #link_rel {
+ 	max-width: 280px;
+ }
  
  /*------------------------------------------------------------------------------
    14.0 - Media Screen
***************
*** 3758,3766 ****
  
  .media-item .progress {
  	float: right;
!     height: 22px;
!     margin: 6px 10px 0 0;
!     width: 200px;
  	line-height: 2em;
  	padding: 0;
  	overflow: hidden;
--- 3750,3758 ----
  
  .media-item .progress {
  	float: right;
! 	height: 22px;
! 	margin: 6px 10px 0 0;
! 	width: 200px;
  	line-height: 2em;
  	padding: 0;
  	overflow: hidden;
***************
*** 3824,3837 ****
  .media-upload-form .media-item.error p,
  .media-item .error-div {
  	line-height: 16px;
! 	font-size: 12px;
! 	margin: 10px;
  	padding: 0;
  }
  
  .media-item .error-div a.dismiss {
  	float: right;
! 	padding-left: 15px;
  }
  
  /*------------------------------------------------------------------------------
--- 3816,3829 ----
  .media-upload-form .media-item.error p,
  .media-item .error-div {
  	line-height: 16px;
! 	margin: 5px 10px;
  	padding: 0;
  }
  
  .media-item .error-div a.dismiss {
+ 	display: block;
  	float: right;
! 	margin: 5px 4px 0 15px;
  }
  
  /*------------------------------------------------------------------------------
***************
*** 4396,4417 ****
  ------------------------------------------------------------------------------*/
  
  .theme-install-php .tablenav {
! 	height:auto;
  }
  
  .available-theme {
  	display: inline-block;
! 	margin-bottom: 10px;
! 	margin-right: 25px;
  	overflow: hidden;
! 	padding: 20px;
  	vertical-align: top;
! 	width: 240px;
  }
  
! .available-theme a.screenshot {
! 	width: 240px;
! 	height: 180px;
  	display: block;
  	border-width: 1px;
  	border-style: solid;
--- 4388,4413 ----
  ------------------------------------------------------------------------------*/
  
  .theme-install-php .tablenav {
! 	height: auto;
! }
! 
! h3.available-themes {
! 	margin: 0 0 1em;
! 	float: left;
  }
  
  .available-theme {
  	display: inline-block;
! 	margin-right: 10px;
  	overflow: hidden;
! 	padding: 20px 20px 20px 0;
  	vertical-align: top;
! 	width: 300px;
  }
  
! .available-theme .screenshot {
! 	width: 300px;
! 	height: 225px;
  	display: block;
  	border-width: 1px;
  	border-style: solid;
***************
*** 4420,4469 ****
  }
  
  .available-theme img {
! 	width: 240px;
  }
  
  .available-theme h3 {
! 	margin: 15px 0 5px;
  }
  
  #current-theme {
! 	margin: 1em 0 1.5em;
  }
  
! #current-theme a {
! 	border-bottom: none;
  }
  
  #current-theme h3 {
- 	font-size: 17px;
- 	font-weight: normal;
  	margin: 0;
  }
  
  #current-theme .theme-description {
  	margin-top: 5px;
  }
  
  #current-theme img {
  	float: left;
  	border-width: 1px;
  	border-style: solid;
! 	margin-right: 1em;
! 	margin-bottom: 1.5em;
! 	width: 150px;
  }
  
  .theme-options span {
  	text-transform: uppercase;
! 	font-size: 13px;
  }
  
! .theme-options a {
! 	font-size: 15px;
  }
  
- #post-body ul.category-tabs li.tabs a,
  #post-body ul.add-menu-item-tabs li.tabs a,
  #TB_window #TB_title a.tb-theme-preview-link,
  #TB_window #TB_title a.tb-theme-preview-link:visited {
--- 4416,4583 ----
  }
  
  .available-theme img {
! 	width: 300px;
  }
  
  .available-theme h3 {
! 	margin: 15px 0 0;
! }
! 
! .available-theme .theme-author {
! 	line-height: 18px;
! }
! 
! .available-theme .action-links {
! 	margin-top: 10px;
! 	overflow: hidden;
! }
! 
! #current-theme .theme-info li,
! .theme-options li,
! .available-theme .action-links li {
! 	float: left;
! 	padding-right: 10px;
! 	margin-right: 10px;
! 	border-right: 1px solid #dfdfdf;
! }
! 
! .available-theme .action-links li {
! 	padding-right: 8px;
! 	margin-right: 8px;
! }
! 
! #current-theme .theme-info li:last-child,
! .theme-options li:last-child,
! .available-theme .action-links li:last-child {
! 	padding-right: 0;
! 	margin-right: 0;
! 	border-right: 0;
! }
! 
! .available-theme .action-links .delete-theme {
! 	float: right;
! 	margin-left: 8px;
! 	margin-right: 0;
! }
! 
! .available-theme .action-links .delete-theme a {
! 	color: red;
! 	padding: 2px;
! }
! 
! .available-theme .action-links .delete-theme a:hover {
! 	background: red;
! 	color: #fff;
! 	text-decoration: none;
! }
! 
! .available-theme .action-links p {
! 	float: left;
  }
  
  #current-theme {
! 	margin: 20px 0 10px;
! 	padding: 0 0 20px;
! 	border-bottom: 1px solid #dfdfdf;
! 	overflow: hidden;
  }
  
! #current-theme.has-screenshot {
! 	padding-left: 330px;
  }
  
  #current-theme h3 {
  	margin: 0;
+ 	font-size: 12px;
+ 	font-weight: normal;
+ 	color: #999;
+ }
+ 
+ #current-theme h4 {
+ 	margin: 3px 0 16px;
+ 	font-size: 20px;
+ }
+ 
+ #current-theme h4 span {
+ 	margin-left: 20px;
+ 	font-size: 12px;
+ 	font-weight: normal;
+ }
+ 
+ #current-theme a {
+ 	border-bottom: none;
+ }
+ 
+ #current-theme .theme-info {
+ 	margin: 1em 0;
+ 	overflow: hidden;
  }
  
  #current-theme .theme-description {
  	margin-top: 5px;
+ 	max-width: 600px;
+ 	line-height: 1.6em;
  }
  
  #current-theme img {
  	float: left;
+ 	width: 300px;
+ 	margin-left: -330px;
+ 
  	border-width: 1px;
  	border-style: solid;
! }
! 
! .theme-options {
! 	overflow: hidden;
! 	font-size: 14px;
! 	padding-bottom: 10px;
! }
! 
! .theme-options .load-customize {
! 	margin-right: 30px;
! 	float: left;
  }
  
  .theme-options span {
+ 	float: left;
+ 	margin-right: 10px;
  	text-transform: uppercase;
! 	font-size: 11px;
! 	line-height: 18px;
! 	color: #999;
  }
  
! .theme-options ul {
! 	float: left;
! 	margin: 0;
! }
! 
! /* Allow for three-up on 1024px wide screens, e.g. tablets */
! @media only screen and (max-width: 1200px) {
! 	.available-theme,
! 	.available-theme .screenshot,
! 	#current-theme img {
! 		width: 240px;
! 	}
! 
! 	.available-theme .screenshot {
! 		height: 180px;
! 	}
! 
! 	.available-theme img {
! 		width: 100%;
! 	}
! 
! 	#current-theme.has-screenshot {
! 		padding-left: 270px;
! 	}
! 
! 	#current-theme img {
! 		margin-left: -270px;
! 	}
  }
  
  #post-body ul.add-menu-item-tabs li.tabs a,
  #TB_window #TB_title a.tb-theme-preview-link,
  #TB_window #TB_title a.tb-theme-preview-link:visited {
***************
*** 4494,4500 ****
  
  .appearance_page_custom-header #headimg {
  	border: 1px solid #DFDFDF;
- 	min-height: 100px;
  	width: 100%;
  }
  
--- 4608,4613 ----
***************
*** 4646,4660 ****
  	padding: 5px 7px 0;
  }
  
! #wpbody-content .plugins .plugin-title, #wpbody-content .plugins .theme-title {
  	padding-right: 12px;
  	white-space:nowrap;
  }
  
! .plugins .second, .plugins .row-actions-visible {
  	padding: 0 0 5px;
  }
  
  .plugins-php .widefat tfoot th,
  .plugins-php .widefat tfoot td {
  	border-top-style: solid;
--- 4759,4788 ----
  	padding: 5px 7px 0;
  }
  
! .plugins .update th,
! .plugins .update td {
! 	border-bottom: 0;
! }
! .plugin-update-tr td {
! 	border-top: 0;
! }
! 
! #wpbody-content .plugins .plugin-title,
! #wpbody-content .plugins .theme-title {
  	padding-right: 12px;
  	white-space:nowrap;
  }
  
! .plugins .second,
! .plugins .row-actions-visible {
  	padding: 0 0 5px;
  }
  
+ .plugins .update .second,
+ .plugins .update .row-actions-visible {
+ 	padding-bottom: 0;
+ }
+ 
  .plugins-php .widefat tfoot th,
  .plugins-php .widefat tfoot td {
  	border-top-style: solid;
***************
*** 4710,4742 ****
  
  .pressthis a {
  	display: inline-block;
- 	width: 113px;
  	position: relative;
  	cursor: move;
  	color: #333;
  	background: #dfdfdf;
! 	background-image: -webkit-gradient(
! 		linear,
! 		left bottom,
! 		left top,
! 		color-stop(0.07, rgb(230,230,230)),
! 		color-stop(0.77, rgb(216,216,216))
! 	);
! 	background-image: -moz-linear-gradient(
! 		center bottom,
! 		rgb(230,230,230) 7%,
! 		rgb(216,216,216) 77%
! 	);
! 	background-repeat: no-repeat;
! 	background-image-position: 10px 8px;
  	-webkit-border-radius: 5px;
  	border-radius: 5px;
! 	border: 1px #b4b4b4 solid;
  	font-style: normal;
  	line-height: 16px;
  	font-size: 14px;
  	text-decoration: none;
! 	text-shadow: #fff 0 1px 0px;
  }
  
  .pressthis a:hover,
--- 4838,4861 ----
  
  .pressthis a {
  	display: inline-block;
  	position: relative;
  	cursor: move;
  	color: #333;
  	background: #dfdfdf;
! 	background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.07, #e6e6e6), color-stop(0.77, #d8d8d8));
! 	background-image: -webkit-linear-gradient(bottom, #e6e6e6 7%, #d8d8d8 77%);
! 	background-image: -moz-linear-gradient(bottom, #e6e6e6 7%, #d8d8d8 77%);
! 	background-image: -ms-linear-gradient(bottom, #e6e6e6 7%, #d8d8d8 77%);
! 	background-image: -o-linear-gradient(bottom, #e6e6e6 7%, #d8d8d8 77%);
! 	background-image: linear-gradient(bottom, #e6e6e6 7%, #d8d8d8 77%);
  	-webkit-border-radius: 5px;
  	border-radius: 5px;
! 	border: 1px solid #b4b4b4;
  	font-style: normal;
  	line-height: 16px;
  	font-size: 14px;
  	text-decoration: none;
! 	text-shadow: 0 1px 0px #fff;
  }
  
  .pressthis a:hover,
***************
*** 4754,4761 ****
  }
  
  .pressthis a span {
! 	background: url(../images/press-this.png) no-repeat -45px 5px ;
! 	padding: 8px 0 8px 32px;
  	display: inline-block;
  }
  
--- 4873,4881 ----
  }
  
  .pressthis a span {
! 	background: url(../images/press-this.png?v=20120502) no-repeat 0px 5px;
! 	padding: 8px 11px 8px 27px;
! 	margin: 0 5px;
  	display: inline-block;
  }
  
***************
*** 4828,4834 ****
  .about-wrap {
  	position: relative;
  	margin: 25px 40px 0 20px;
- 	min-width: 770px;
  	max-width: 1050px; /* readability */
  
  	font-size: 15px;
--- 4948,4953 ----
***************
*** 4833,4841 ****
  
  	font-size: 15px;
  }
  .about-wrap div.updated,
  .about-wrap div.error {
!     display: none !important;
  }
  
  /* Typography */
--- 4952,4961 ----
  
  	font-size: 15px;
  }
+ 
  .about-wrap div.updated,
  .about-wrap div.error {
! 	display: none !important;
  }
  
  /* Typography */
***************
*** 4872,4880 ****
  }
  
  .about-wrap .changelog {
- 	padding-bottom: 10px;
  	overflow: hidden;
  }
  .about-wrap .changelog li {
  	list-style-type: disc;
  	margin-left: 3em;
--- 4997,5005 ----
  }
  
  .about-wrap .changelog {
  	overflow: hidden;
  }
+ 
  .about-wrap .changelog li {
  	list-style-type: disc;
  	margin-left: 3em;
***************
*** 4879,4884 ****
--- 5004,5014 ----
  	list-style-type: disc;
  	margin-left: 3em;
  }
+ 
+ .about-wrap .feature-section {
+ 	padding-bottom: 20px;
+ }
+ 
  .about-wrap .feature-section h4 {
  	margin-bottom: 0.6em;
  }
***************
*** 4888,4896 ****
  .about-wrap code {
  	font-size: 14px;
  }
- html.ie8 .about-wrap img.element-screenshot {
- 	padding: 2px;
- }
  
  /* Point Releases */
  
--- 5020,5025 ----
***************
*** 4943,5007 ****
  
  /* Changelog / Update screen */
  
- .about-wrap .feature-section .left-feature,
- .about-wrap .feature-section img,
- .about-wrap .feature-section .right-feature {
- 	float: left;
- }
- 
- .about-wrap .feature-section {
- 	min-height: 100px;
- 	overflow: hidden;
- 	clear: both;
- }
  .about-wrap .feature-section img {
- 	margin: 5px auto;
- 
  	border: none;
! 
  	-webkit-border-radius: 3px;
  	border-radius: 3px;
  }
- html.ie8 .about-wrap .feature-section img,
- html.ie8 .about-wrap .feature-section .image-mask {
- 	border-width: 1px;
- 	border-style: solid;
- }
  
! .about-wrap .feature-section.text-features {
! 	width: 31%;
! 
! 	float: left;
! 	overflow: visible;
! }
! .about-wrap .feature-section.text-features div {
! 	width: 112%;
! }
! .about-wrap .feature-section.screenshot-features {
! 	width: 67%;
! 	margin-top: 1.33em;
! 
! 	float: right;
! 	clear: none;
! 	overflow: visible;
  }
  
! .about-wrap .feature-section.screenshot-features .angled-right {
! 	margin-top: -1em;
! 	margin-left: 2.5em;
! }
! .about-wrap .feature-section.screenshot-features .angled-right p {
! 	margin-left: 290px;
  }
  
! .about-wrap .feature-section .angled-right h4,
! .about-wrap .feature-section .angled-left h4 {
! 	margin-top: 0;
! }
! .about-wrap .feature-section .angled-right img,
! .about-wrap .feature-section .angled-left img {
! 	margin-top: .1em;
! 	margin-right: 30px;
  }
  
  .about-wrap .feature-section.three-col {
--- 5074,5097 ----
  
  /* Changelog / Update screen */
  
  .about-wrap .feature-section img {
  	border: none;
! 	margin: 0 1.94% 10px 0;
  	-webkit-border-radius: 3px;
  	border-radius: 3px;
  }
  
! .about-wrap .feature-section img.image-50 {
! 	max-width: 50%;
  }
  
! .about-wrap .feature-section img.image-30 {
! 	max-width: 31.2381%;
  }
  
! .ie8 .about-wrap .feature-section img {
! 	border-width: 1px;
! 	border-style: solid;
  }
  
  .about-wrap .feature-section.three-col {
***************
*** 5020,5031 ****
  .about-wrap .feature-section.three-col img {
  	margin: 0.5em 0 0.5em 5px;
  	max-width: 100%;
- 
  	float: none;
  }
! html.ie8 .about-wrap .feature-section.three-col img {
  	margin-left: 0;
  }
  .about-wrap .feature-section.three-col .last-feature {
  	margin-right: 0;
  }
--- 5112,5124 ----
  .about-wrap .feature-section.three-col img {
  	margin: 0.5em 0 0.5em 5px;
  	max-width: 100%;
  	float: none;
  }
! 
! .ie8 .about-wrap .feature-section.three-col img {
  	margin-left: 0;
  }
+ 
  .about-wrap .feature-section.three-col .last-feature {
  	margin-right: 0;
  }
***************
*** 5030,5070 ****
  	margin-right: 0;
  }
  
! .about-wrap .feature-section .feature-images {
! 	width: 300px;
! 	position: absolute;
! 	margin-top: 1.1em;
! }
! .about-wrap .feature-section .feature-images img {
! 	width: 250px;
! 	height: 150px;
! 	margin-right: 5px;
! }
! .about-wrap .feature-section.images-stagger-left,
! .about-wrap .feature-section.images-stagger-right {
! 	min-height: 265px;
! }
! .about-wrap .feature-section.images-stagger-right .angled-right,
! .about-wrap .feature-section.images-stagger-left .angled-left {
! 	margin-bottom: -30px;
  }
! .about-wrap .feature-section.images-stagger-left .angled-left {
! 	margin-left: 5px;
  }
! .about-wrap .feature-section .angled-right {
  	float: right;
  }
! .about-wrap .feature-section.images-stagger-right .feature-images {
! 	right: 0;
  }
! .about-wrap .feature-section.images-stagger-left .feature-images {
! 	left: 0;
  }
! .about-wrap .feature-section.images-stagger-right .left-feature {
! 	margin-right: 350px;
  }
! .about-wrap .feature-section.images-stagger-left .right-feature {
! 	margin-left: 350px;
  }
  
  /* Return to Dashboard Home link */
--- 5123,5159 ----
  	margin-right: 0;
  }
  
! .about-wrap .three-col-images {
! 	text-align: center;
  }
! 
! .about-wrap .three-col-images img {
! 	margin: 0 0 10px;
  }
! 
! .about-wrap .three-col-images .last-feature {
  	float: right;
  }
! 
! .about-wrap .three-col-images .first-feature {
! 	float: left;
  }
! 
! .about-wrap .feature-section.images-stagger-right img {
! 	float: right;
! 	margin: 0 5px 12px 12px;
  }
! 
! .about-wrap .feature-section.images-stagger-left img {
! 	float: left;
! 	margin: 0 12px 12px 5px;
  }
! 
! @media only screen and (max-width: 900px) {
! 	.about-wrap .feature-section.images-stagger-left img,
! 	.about-wrap .feature-section.images-stagger-right img {
! 		clear: both;
! 	}
  }
  
  /* Return to Dashboard Home link */
***************
*** 5079,5153 ****
  	padding: 0 5px;
  }
  
! /* Credits */
  
! .about-wrap h4.wp-people-group {
! 	margin-top: 2.6em;
! 	font-size: 16px;
  }
! .about-wrap ul.wp-people-group {
! 	overflow: hidden;
! 	padding: 5px;
! 	margin: 0 -15px 0 -5px;
  }
! .about-wrap ul.compact {
! 	margin-bottom: 0
  }
! .about-wrap li.wp-person {
! 	float: left;
! 	margin-right: 10px;
  }
! .about-wrap li.wp-person img.gravatar {
! 	float: left;
! 	margin: 0 10px 10px 0;
! 	padding: 2px;
! 	width: 60px;
! 	height: 60px;
  }
! .about-wrap ul.compact li.wp-person img.gravatar {
! 	width: 30px;
! 	height: 30px;
  }
! .about-wrap li.wp-person {
! 	height: 70px;
! 	width: 280px;
! 	padding-bottom: 15px;
  }
! .about-wrap ul.compact li.wp-person {
! 	height: auto;
! 	width: 180px;
! 	padding-bottom: 0;
! 	margin-bottom: 0;
  }
! .about-wrap #wp-people-group-validators + p.wp-credits-list {
! 	margin-top: 0;
  }
! .about-wrap li.wp-person a.web {
! 	display: block;
! 	margin: 6px 0 2px;
  	font-size: 16px;
! 	text-decoration: none;
  }
! .about-wrap p.wp-credits-list a {
! 	white-space: nowrap;
  }
  
! /* Freedoms */
  
! .freedoms-php .about-wrap ol {
! 	margin: 40px 60px;
  }
! .freedoms-php .about-wrap ol li {
! 	list-style-type: decimal;
! 	font-weight: bold;
  }
! .freedoms-php .about-wrap ol p {
! 	font-weight: normal;
! 	margin: 0.6em 0;
  }
  
  /*------------------------------------------------------------------------------
!   23.0 - Misc
  ------------------------------------------------------------------------------*/
  
  #excerpt,
--- 5169,5550 ----
  	padding: 0 5px;
  }
  
! /* Credits */
! 
! .about-wrap h4.wp-people-group {
! 	margin-top: 2.6em;
! 	font-size: 16px;
! }
! 
! .about-wrap ul.wp-people-group {
! 	overflow: hidden;
! 	padding: 5px;
! 	margin: 0 -15px 0 -5px;
! }
! 
! .about-wrap ul.compact {
! 	margin-bottom: 0
! }
! 
! .about-wrap li.wp-person {
! 	float: left;
! 	margin-right: 10px;
! }
! 
! .about-wrap li.wp-person img.gravatar {
! 	float: left;
! 	margin: 0 10px 10px 0;
! 	padding: 2px;
! 	width: 60px;
! 	height: 60px;
! }
! 
! .about-wrap ul.compact li.wp-person img.gravatar {
! 	width: 30px;
! 	height: 30px;
! }
! 
! .about-wrap li.wp-person {
! 	height: 70px;
! 	width: 280px;
! 	padding-bottom: 15px;
! }
! 
! .about-wrap ul.compact li.wp-person {
! 	height: auto;
! 	width: 180px;
! 	padding-bottom: 0;
! 	margin-bottom: 0;
! }
! 
! .about-wrap #wp-people-group-validators + p.wp-credits-list {
! 	margin-top: 0;
! }
! 
! .about-wrap li.wp-person a.web {
! 	display: block;
! 	margin: 6px 0 2px;
! 	font-size: 16px;
! 	text-decoration: none;
! }
! 
! .about-wrap p.wp-credits-list a {
! 	white-space: nowrap;
! }
! 
! /* Freedoms */
! 
! .freedoms-php .about-wrap ol {
! 	margin: 40px 60px;
! }
! 
! .freedoms-php .about-wrap ol li {
! 	list-style-type: decimal;
! 	font-weight: bold;
! }
! 
! .freedoms-php .about-wrap ol p {
! 	font-weight: normal;
! 	margin: 0.6em 0;
! }
! 
! /*------------------------------------------------------------------------------
!   23.0 - Full Overlay w/ Sidebar
! ------------------------------------------------------------------------------*/
! 
! body.full-overlay-active {
! 	overflow: hidden;
! }
! 
! .wp-full-overlay {
! 	background: #fff;
! 	z-index: 500000;
! 	position: fixed;
! 	overflow: visible;
! 	top: 0;
! 	bottom: 0;
! 	left: 0;
! 	right: 0;
! 	height: 100%;
! 	min-width: 0;
! }
! 
! .wp-full-overlay-sidebar {
! 	-webkit-box-sizing: border-box;
! 	-moz-box-sizing:    border-box;
! 	box-sizing:         border-box;
! 
! 	position: fixed;
! 	width: 300px;
! 	height: 100%;
! 	top: 0;
! 	bottom: 0;
! 	left: 0;
! 	padding: 0;
! 	margin: 0;
! 	z-index: 10;
! 	overflow: auto;
! 	background: #f5f5f5;
! 	border-right: 1px solid rgba( 0, 0, 0, 0.2 );
! }
! 
! .wp-full-overlay.collapsed .wp-full-overlay-sidebar {
! 	overflow: visible;
! }
! 
! .wp-full-overlay.collapsed,
! .wp-full-overlay.expanded .wp-full-overlay-sidebar {
! 	margin-left: 0 !important;
! }
! 
! .wp-full-overlay.expanded {
! 	margin-left: 300px;
! }
! 
! .wp-full-overlay.collapsed .wp-full-overlay-sidebar {
! 	margin-left: -300px;
! }
! 
! .wp-full-overlay-sidebar:after {
! 	content: '';
! 	display: block;
! 	position: absolute;
! 	top: 0;
! 	bottom: 0;
! 	right: 0;
! 	width: 3px;
! 	box-shadow: -5px 0 4px -4px rgba(0, 0, 0, 0.1) inset;
! 	z-index: 1000;
! }
! 
! .wp-full-overlay-main {
! 	position: absolute;
! 	left: 0;
! 	right: 0;
! 	top: 0;
! 	bottom: 0;
! 	height: 100%;
! }
! 
! .wp-full-overlay-sidebar .wp-full-overlay-header,
! .wp-full-overlay-sidebar .wp-full-overlay-footer {
! 	position: absolute;
! 	left: 0;
! 	right: 0;
! 	height: 45px;
! 	padding: 0 20px;
! 	line-height: 45px;
! 	z-index: 10;
! 	margin: 0;
! }
! 
! .wp-full-overlay-sidebar .wp-full-overlay-header {
! 	top: 0;
! 	border-top: 0;
! 	border-bottom: 1px solid #fff;
! 	box-shadow: inset 0 -1px 0 0px #dfdfdf;
! }
! 
! .wp-full-overlay-sidebar .wp-full-overlay-footer {
! 	bottom: 0;
! 	border-bottom: 0;
! 	border-top: 1px solid #dfdfdf;
! 	box-shadow: inset 0 1px 0 0px #fff;
! }
! 
! .wp-full-overlay-sidebar .wp-full-overlay-sidebar-content {
! 	position: absolute;
! 	top: 45px;
! 	bottom: 45px;
! 	left: 0;
! 	right: 0;
! 	overflow: auto;
! }
! 
! /* Close Link */
! .wp-full-overlay .close-full-overlay {
! 	text-decoration: none;
! }
! 
! /* Collapse Button */
! .wp-full-overlay .collapse-sidebar {
! 	position: absolute;
! 	bottom: 12px;
! 	left: 0;
! 	z-index: 50;
! 	display: block;
! 	width: 19px;
! 	height: 19px;
! 	margin-left: 15px;
! 	padding: 0;
! 	border-radius: 50%;
! 	text-decoration: none;
! }
! 
! .wp-full-overlay.collapsed .collapse-sidebar {
! 	position: absolute;
! 	left: 100%;
! }
! 
! .wp-full-overlay .collapse-sidebar-arrow {
! 	position: absolute;
! 	margin-top: 2px;
! 	margin-left: 2px;
! 	display: block;
! 	width: 15px;
! 	height: 15px;
! 	background: transparent url('../images/arrows.png') no-repeat 0 -72px;
! }
! 
! .wp-full-overlay.collapsed .collapse-sidebar-arrow {
! 	background-position: 0 -108px;
! }
! 
! .wp-full-overlay .collapse-sidebar-label {
! 	position: absolute;
! 	left: 100%;
! 	color: #808080;
! 	line-height: 20px;
! 	margin-left: 10px;
! }
! 
! .wp-full-overlay.collapsed .collapse-sidebar-label {
! 	display: none;
! }
! 
! .wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-label {
! 	color: #666;
! }
! 
! /* Animations */
! .wp-full-overlay,
! .wp-full-overlay-sidebar,
! .wp-full-overlay .collapse-sidebar,
! .wp-full-overlay-main {
! 	-webkit-transition-property: left, right, top, bottom, width, margin;
! 	-moz-transition-property:    left, right, top, bottom, width, margin;
! 	-ms-transition-property:     left, right, top, bottom, width, margin;
! 	-o-transition-property:      left, right, top, bottom, width, margin;
! 	transition-property:         left, right, top, bottom, width, margin;
! 
! 	-webkit-transition-duration: 0.2s;
! 	-moz-transition-duration:    0.2s;
! 	-ms-transition-duration:     0.2s;
! 	-o-transition-duration:      0.2s;
! 	transition-duration:         0.2s;
! }
! 
! /*------------------------------------------------------------------------------
!   24.0 - Customize Loader
! ------------------------------------------------------------------------------*/
! 
! .no-customize-support .hide-if-no-customize,
! .customize-support .hide-if-customize {
! 	display: none;
! }
! 
! #customize-container {
! 	display: none;
! 	background: #fff;
! 	z-index: 500000;
! 	position: fixed;
! 	overflow: visible;
! 	top: 0;
! 	bottom: 0;
! 	left: 0;
! 	right: 0;
! 	height: 100%;
! }
! 
! .customize-active #customize-container {
! 	display: block;
! }
! 
! .customize-loading #customize-container iframe {
! 	opacity: 0;
! }
  
! .customize-loading #customize-container {
! 	background: #fff url("../images/wpspin_light.gif") no-repeat fixed center center;
  }
! 
! #customize-container iframe,
! #theme-installer iframe {
! 	height: 100%;
! 	width: 100%;
! 	z-index: 20;
! 
! 	-webkit-transition: opacity 0.3s;
! 	-moz-transition:    opacity 0.3s;
! 	-ms-transition:     opacity 0.3s;
! 	-o-transition:      opacity 0.3s;
! 	transition:         opacity 0.3s;
  }
! 
! #customize-container .collapse-sidebar {
! 	bottom: 16px;
  }
! 
! #theme-installer {
! 	display: none;
  }
! 
! #theme-installer.single-theme {
! 	display: block;
  }
! 
! .install-theme-info {
! 	display: none;
! 	padding: 10px 20px 20px;
  }
! 
! .single-theme .install-theme-info {
! 	padding-top: 15px;
  }
! 
! #theme-installer .install-theme-info {
! 	display: block;
  }
! 
! .install-theme-info .theme-install {
! 	float: right;
! 	margin-top: 18px;
  }
! 
! .install-theme-info .theme-name {
  	font-size: 16px;
! 	line-height: 24px;
! 	margin-bottom: 0;
  }
! 
! .install-theme-info .theme-screenshot {
! 	margin-top: 15px;
! 	width: 258px;
! 	border: 1px solid #ccc;
  }
  
! .install-theme-info .theme-details {
! 	overflow: hidden;
! }
  
! .theme-details .theme-version {
! 	margin: 15px 0;
! 	float: left;
  }
! 
! .theme-details .star-holder {
! 	margin: 14px 0;
! 	float: right;
  }
! 
! .theme-details .theme-description {
! 	float: left;
! 	color: #777;
! 	line-height: 20px;
  }
  
  /*------------------------------------------------------------------------------
!   25.0 - Misc
  ------------------------------------------------------------------------------*/
  
  #excerpt,
***************
*** 5157,5166 ****
  	width: 98%;
  }
  
- .wp-editor-container textarea.wp-editor-area {
- 	width: 99.9%;
- }
- 
  #template div {
  	margin-right: 190px;
  }
--- 5554,5559 ----
***************
*** 5191,5196 ****
--- 5584,5593 ----
  	padding: 2px 0 0;
  }
  
+ .mobile .row-actions {
+ 	visibility: visible;
+ }
+ 
  tr:hover .row-actions,
  div.comment-item:hover .row-actions {
  	visibility: visible;
***************
*** 5260,5265 ****
--- 5657,5667 ----
  	margin: 6px 0 8px;
  }
  
+ #poststuff .inside #parent_id,
+ .inline-edit-row #post_parent {
+ 	max-width: 100%;
+ }
+ 
  #post-visibility-select,
  #post-formats-select {
  	line-height: 1.5em;
***************
*** 5276,5292 ****
  	margin-bottom: 20px;
  }
  
- td.post-title strong,
- td.plugin-title strong {
- 	display: block;
- 	margin-bottom: .2em;
- }
- 
- td.post-title p,
- td.plugin-title p {
- 	margin: 6px 0;
- }
- 
  #templateside ul li a {
  	text-decoration: none;
  }
--- 5678,5683 ----
***************
*** 5380,5389 ****
  	max-height: 60px;
  }
  
- .screen-per-page {
- 	width: 3em;
- }
- 
  .list-ajax-loading {
  	float: right;
  	margin-right: 9px;
--- 5771,5776 ----
***************
*** 5787,5792 ****
--- 6171,6177 ----
  #dashboard_recent_drafts p {
  	margin: 0;
  	padding: 0;
+ 	word-wrap: break-word;
  }
  
  #dashboard_recent_drafts ul {
***************
*** 5799,5804 ****
--- 6184,6190 ----
  
  #dashboard_recent_drafts h4 {
  	line-height: 1.7em;
+ 	word-wrap: break-word;
  }
  
  #dashboard_recent_drafts h4 abbr {
***************
*** 5992,5998 ****
  }
  
  .login h1 a {
! 	background: url(../images/logo-login.png) no-repeat top center;
  	width: 326px;
  	height: 67px;
  	text-indent: -9999px;
--- 6378,6387 ----
  }
  
  .login h1 a {
! 	background-image: url('../images/wordpress-logo.png?ver=20120216');
! 	background-size: 274px 63px;
! 	background-position: top center;
! 	background-repeat: no-repeat;
  	width: 326px;
  	height: 67px;
  	text-indent: -9999px;
***************
*** 6001,6006 ****
--- 6390,6407 ----
  	display: block;
  }
  
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
+ 	.login h1 a {
+ 		background-image: url('../images/wordpress-logo-2x.png?ver=20120412');
+ 		background-size: 274px 63px;
+ 	}
+ 
+ 	.wp-badge {
+ 		background-image: url('../images/wp-badge-2x.png?ver=20120516');
+ 		background-size: 173px 194px;
+ 	}
+ }
+ 
  #login {
  	width: 320px;
  	padding: 114px 0 0;
***************
*** 6024,6030 ****
  	padding: 12px 16px 0;
  }
  
! .login form .input {
  	font-weight: 200;
  	font-size: 24px;
  	line-height: 1;
--- 6425,6433 ----
  	padding: 12px 16px 0;
  }
  
! .login form .input,
! .login input[type="text"] {
! 	color: #555;
  	font-weight: 200;
  	font-size: 24px;
  	line-height: 1;
***************
*** 6041,6050 ****
  	box-shadow: inset 1px 1px 2px rgba(200, 200, 200, 0.2);
  }
  
- .login input {
- 	color: #555;
- }
- 
  .login #pass-strength-result {
  	width: 250px;
  	font-weight: bold;
--- 6444,6449 ----
***************
*** 6055,6060 ****
--- 6454,6478 ----
  	text-align: center;
  }
  
+ .mobile #login {
+ 	padding: 20px 0;
+ }
+ 
+ .mobile #login form,
+ .mobile #login .message,
+ .mobile #login_error {
+ 	margin-left: 0;
+ }
+ 
+ .mobile #login #nav,
+ .mobile #login #backtoblog {
+ 	margin-left: 8px;
+ }
+ 
+ .mobile #login h1 a {
+ 	width: auto;
+ }
+ 
  
  /* ms */
  /* Dashboard: MS Specific Data */
***************
*** 6176,6181 ****
--- 6593,6599 ----
  
  .nav-menus-php #post-body-content {
  	position: relative;
+ 	float: none;
  }
  
  #menu-management .menu-add-new abbr {
***************
*** 6733,6746 ****
  	display: block;
  }
  
! 
! /* plugin-install */
! /* NOTE: the following CSS rules(.star*) are taken more or less straight from the bbPress rating plugin. */
  div.star-holder {
  	position: relative;
! 	height: 19px;
  	width: 100px;
! 	font-size: 19px;
  }
  
  div.action-links {
--- 7151,7168 ----
  	display: block;
  }
  
! /* Star ratings */
  div.star-holder {
  	position: relative;
! 	height: 17px;
  	width: 100px;
! 	background: url('../images/stars.png?ver=20120307') repeat-x bottom left;
! }
! 
! div.star-holder .star-rating {
! 	background: url('../images/stars.png?ver=20120307') repeat-x top left;
! 	height: 17px;
! 	float: left;
  }
  
  div.action-links {
***************
*** 6748,6785 ****
  	margin: 6px 0 0;
  }
  
- div.star {
- 	height: 100%;
- 	position: absolute;
- 	top: 0;
- 	left: 0;
- 	background-color: transparent;
- 	letter-spacing: 1ex;
- 	border: none;
- }
- 
- .star1 { width: 20%; }
- .star2 { width: 40%; }
- .star3 { width: 60%; }
- .star4 { width: 80%; }
- .star5 { width: 100%; }
- 
- .star img,
- div.star a,
- div.star a:hover,
- div.star a:visited {
- 	display: block;
- 	position: absolute;
- 	right: 0;
- 	border: none;
- 	text-decoration: none;
- }
- 
- div.star img {
- 	width: 19px;
- 	height: 19px;
- }
- 
  /* Header on thickbox */
  #plugin-information-header {
  	margin: 0;
--- 7170,7175 ----
***************
*** 6863,6870 ****
--- 7253,7268 ----
  	list-style-image: none;
  }
  
+ #plugin-information #section-screenshots ol {
+ 	list-style: none;
+ 	margin: 0;
+ }
+ 
  #plugin-information #section-screenshots li img {
  	vertical-align: text-top;
+ 	max-width: 100%;
+ 	width: auto;
+ 	height: auto;
  }
  
  #plugin-information #section-screenshots li p {
***************
*** 6873,6878 ****
--- 7271,7277 ----
  	padding-bottom: 2em;
  }
  
+ #plugin-information #section-screenshots ol,
  #plugin-information .updated,
  #plugin-information pre {
  	margin-right: 215px;
***************
*** 6899,6905 ****
  /* Header */
  .press-this #wphead {
  	height: 32px;
! 	margin-right: 5px;
  	margin-bottom: 5px;
  }
  
--- 7298,7305 ----
  /* Header */
  .press-this #wphead {
  	height: 32px;
! 	margin-left: 0;
! 	margin-right: 0;
  	margin-bottom: 5px;
  }
  
***************
*** 6927,6932 ****
--- 7327,7336 ----
  	text-decoration: underline;
  }
  
+ .press-this #message {
+ 	margin: 10px 0;
+ }
+ 
  .press-this-sidebar {
  	float: right;
  	width: 200px;
***************
*** 6934,6939 ****
--- 7338,7345 ----
  }
  
  .press-this #title {
+ 	margin-left: 0;
+ 	margin-right: 0;
  	-moz-box-sizing: border-box;
  	-webkit-box-sizing: border-box;
  	-ms-box-sizing: border-box;
***************
*** 7294,7383 ****
  	line-height: 180%;
  }
  
! 
! /* theme-install */
! .theme-listing .theme-item {
! 	display: inline-block;
! 	width: 200px;
! 	border: thin solid #ccc;
! 	vertical-align: top;
! }
! 
! .theme-listing .theme-item h3 {
! 	text-align: center;
! 	font-size: 14px;
! 	font-style: italic;
! 	margin: 0;
! 	padding: 0;
! }
! 
! .theme-listing .theme-item img {
! 	max-width: 150px;
! 	max-height: 150px;
! }
! 
! .theme-listing .theme-item-info span,
! .theme-listing .theme-item:hover .theme-item-info span.dots {
! 	display: none;
! }
! 
! .theme-listing .theme-item:hover .theme-item-info span {
! 	display: inline;
! }
! 
! .theme-listing .theme-item-info span.action-links {
! 	font-weight: bold;
! 	text-align: center;
! }
! 
! .theme-listing br.line {
! 	border-bottom-width: 1px;
! 	border-bottom-style: solid;
! 	margin-bottom: 3px;
! }
! 
! 
! #theme-information .available-theme,
! .available-theme {
! 	padding: 20px 15px;
! }
! 
! #theme-information .available-theme {
! 	overflow: visible;
! 	width: 440px;
! }
! 
! #theme-information .theme-preview-img {
! 	float: left;
! 	margin: 5px 25px 10px 15px;
! 	width: 300px;
! }
! 
! #theme-information .action-button {
! 	border-top-width: 1px;
! 	border-top-style: solid;
! 	margin: 10px 5px 0;
! }
! 
! #theme-information .action-button #cancel,
! #theme-information .action-button #install {
! 	margin: 10px 5px;
! }
! 
! #theme-information .action-button #cancel {
! 	float: left;
! }
! 
! #theme-information .action-button #install {
! 	float: right;
! }
! 
! #theme-information .available-theme h3 {
! 	margin: 1em 0;
! }
! 
! body#theme-information {
! 	height: auto;
  }
  
  .feature-filter {
--- 7700,7707 ----
  	line-height: 180%;
  }
  
! #filter-box {
! 	clear: both;
  }
  
  .feature-filter {
***************
*** 7394,7400 ****
  	float: left;
  	list-style-type: none;
  	padding-right: 25px;
! 	min-width: 150px;
  }
  
  .feature-container {
--- 7718,7724 ----
  	float: left;
  	list-style-type: none;
  	padding-right: 25px;
! 	width: 150px;
  }
  
  .feature-container {
***************
*** 7825,7827 ****
--- 8148,8228 ----
  		width: auto;
  	}
  }
+ 
+ /* =Localized CSS
+ -------------------------------------------------------------- */
+ 
+ /* zh_CN: Remove italic properties. */
+ .locale-zh-cn .howto,
+ .locale-zh-cn .tablenav .displaying-num,
+ .locale-zh-cn .js .input-with-default-title,
+ .locale-zh-cn .link-to-original,
+ .locale-zh-cn .inline-edit-row fieldset span.title,
+ .locale-zh-cn .inline-edit-row fieldset span.checkbox-title,
+ .locale-zh-cn #utc-time,
+ .locale-zh-cn #local-time,
+ .locale-zh-cn p.install-help,
+ .locale-zh-cn p.help,
+ .locale-zh-cn p.description,
+ .locale-zh-cn span.description,
+ .locale-zh-cn .form-wrap p {
+ 	font-style: normal;
+ }
+ 
+ /* zh_CN: Enlarge dashboard widget 'Configure' link */
+ .locale-zh-cn .hdnle a { font-size: 12px; }
+ 
+ /* zn_CH: Enlarge font size, set font-size: normal */
+ .locale-zh-cn form.upgrade .hint { font-style: normal; font-size: 100%; }
+ 
+ /* Zn_CH: Distraction free writing.
+  *  More beautiful font for "Just write."
+  *  Larger text for HTML/Visual mode.
+  */
+ .locale-zh-cn #wp-fullscreen-tagline { font-family: KaiTi, "æ¥·ä½“", sans-serif; }
+ .locale-zh-cn #wp-fullscreen-modes a { font-size: 12px; }
+ 
+ /* zh_CN: Enlarge font-size. */
+ .locale-zh-cn #sort-buttons { font-size: 1em !important; }
+ 
+ /* ru_RU: Text needs more room to breathe. */
+ .locale-ru-ru #dashboard_quick_press .input-text-wrap,
+ .locale-ru-ru #dashboard_quick_press .textarea-wrap,
+ .locale-ru-ru #dashboard_quick_press .wp-media-buttons  {
+ 	margin-left: 5.7em; /* default 5em + 0.7em */
+ }
+ .locale-ru-ru #dashboard_quick_press h4 {
+ 	width: 5.7em; /* default 5.5em + 0.2em */
+ }
+ .locale-ru-ru #dashboard-widgets #dashboard_quick_press form p.submit {
+ 	margin-left: 5.3em; /* default 4.6em + 0.7em */
+ }
+ .locale-ru-ru .inline-edit-row fieldset label span.title {
+ 	width: auto; /* default 5em */
+ 	min-width: 5em;
+ }
+ .locale-ru-ru.press-this .posting {
+ 	margin-right: 257px; /* default 212px + 45px */
+ }
+ .locale-ru-ru.press-this #photo-add-url-div input[type="text"]  {
+ 	width: 255px; /* default 300px - 45px */
+ }
+ .locale-ru-ru.press-this #side-sortables {
+ 	width: 245px; /* default 200px + 45px */
+ }
+ 
+ /* lt_LT: QuickPress + QuickEdit */
+ .locale-lt-lt #dashboard_quick_press .input-text-wrap,
+ .locale-lt-lt #dashboard_quick_press .textarea-wrap,
+ .locale-lt-lt #dashboard_quick_press .wp-media-buttons  {
+ 	margin-left: 7em;
+ }
+ .locale-lt-lt #dashboard_quick_press h4 {
+ 	width: 7em;
+ }
+ .locale-lt-lt .inline-edit-row fieldset label span.title {
+ 	width: 8em;
+ }
+ .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap {
+ 	margin-left: 8em;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/wp-admin-rtl.css ./wordpress-3.4/wp-admin/css/wp-admin-rtl.css
*** ./wordpress-3.3.2/wp-admin/css/wp-admin-rtl.css	2011-12-08 16:50:17.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/wp-admin-rtl.css	2012-06-12 12:58:23.000000000 -0500
***************
*** 1 ****
! ol{margin-left:0;margin-right:2em;}.code,code{font-family:Tahoma,Arial,sans-serif;}.quicktags,.search{font:12px Tahoma,Arial,sans-serif;}.icon32{float:right;margin-right:0;margin-left:8px;}.icon16{float:right;margin-right:-8px;margin-left:0;}.howto{font-style:normal;font-family:Tahoma,Arial,sans-serif;}p.install-help{font-style:normal;}#doaction,#doaction2,#post-query-submit{margin-right:0;margin-left:8px;}#timezone_string option{margin-left:0;margin-right:1em;}#pass-strength-result{float:right;margin:13px 1px 5px 5px;}p.search-box{float:left;}#delete-action{float:right;}#publishing-action{float:left;}#post-body .misc-pub-section{border-right:0;border-left-width:1px;border-left-style:solid;float:right;}#post-body .misc-pub-section-last{border-left:0;}#minor-publishing-actions{padding:10px 8px 2px 10px;text-align:left;}#save-post{float:right;}#minor-publishing .ajax-loading{padding:3px 4px 0 0;float:right;}.preview{float:left;}#sticky-span{margin-left:0;margin-right:18px;}.side-info ul{padding-left:0;padding-right:18px;}td.action-links,th.action-links{text-align:left;}.describe .del-link{padding-left:0;padding-right:5px;}form.upgrade .hint{font-style:normal;}#ajax-response.alignleft{margin-left:0;margin-right:2em;}#quicktags{background-position:right top;}#ed_reply_toolbar input{margin:1px 1px 1px 2px;}#wp-fullscreen-body{right:0;left:auto;}#wp-fullscreen-tagline{float:left;}#fullscreen-topbar{left:auto;right:0;}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:right;}#wp-fullscreen-save{float:left;}#wp-fullscreen-save{padding:2px 5px 0 2px;}#wp-fullscreen-buttons>div{float:right;}#wp-fullscreen-mode-bar{padding:1px 0 0 14px;}#wp-fullscreen-modes a{float:right;border-width:1px 0 1px 1px;}#wp-fullscreen-modes a:first-child{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-width:1px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-right-left:0;border-bottom-right-radius:3px;}#wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:0;padding-left:4px;}#wphead{height:32px;margin-left:15px;margin-right:2px;}#header-logo{float:right;}#wphead h1{float:right;}#screen-meta-links{margin-right:0;margin-left:24px;}#screen-meta{margin-right:5px;margin-left:15px;}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;margin-left:0;margin-right:6px;}#screen-meta-links a.show-settings{padding-right:6px;padding-left:16px;}.toggle-arrow{background-position:top right;}.toggle-arrow-active{background-position:bottom right;}.metabox-prefs label{padding-right:0;padding-left:15px;}.metabox-prefs label input{margin-right:2px;margin-left:5px;}#contextual-help-wrap{margin-left:0;margin-right:-4px;}#contextual-help-back{left:170px;right:150px;}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;right:150px;border-right-width:1px;border-left-width:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px;}.contextual-help-tabs{float:right;}.contextual-help-tabs a{padding-left:5px;padding-right:12px;}.contextual-help-tabs .active{margin-right:0;margin-left:-1px;}.contextual-help-tabs .active,.contextual-help-tabs-wrap{border-left:0;border-right-width:1px;}.help-tab-content{margin-right:0;margin-left:22px;}.help-tab-content li{margin-left:0;margin-right:18px;}.contextual-help-sidebar{float:left;padding-right:12px;padding-left:8px;}#adminmenuback,#adminmenuwrap{border-width:0 0 0 1px;}#adminmenushadow{right:auto;left:0;}#adminmenu li .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{left:auto;right:146px;}.folded #adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{left:auto;right:26px;}#adminmenu .wp-submenu.sub-open,#adminmenu li.focused.wp-not-current-submenu .wp-submenu,.folded #adminmenu li.focused.wp-has-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.no-js #adminmenu .wp-has-submenu:hover .wp-submenu,.no-js.folded #adminmenu .wp-has-current-submenu:hover .wp-submenu{padding:0 0 8px 8px;}#adminmenu div.wp-menu-image{float:right;}#adminmenu li li{margin-left:0;margin-right:8px;}#adminmenu .wp-submenu a,#adminmenu li li a,.folded #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px;}#adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:18px;}.folded #adminmenu li li{margin-left:inherit;margin-right:0;}.folded #adminmenu li li a{padding-left:inherit;padding-right:0;}.wp-menu-arrow{right:0;-moz-transform:translate(-139px);-webkit-transform:translate(-139px);-o-transform:translate(-139px);-ms-transform:translate(-139px);transform:translate(-139px);}.ie8 .wp-menu-arrow{right:-20px;}#adminmenu .wp-menu-arrow div{left:-8px;width:16px;}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(-138px);-webkit-transform:translate(-138px);-o-transform:translate(-138px);-ms-transform:translate(-138px);transform:translate(-138px);}.folded .wp-menu-arrow{-moz-transform:translate(-27px);-webkit-transform:translate(-27px);-o-transform:translate(-27px);-ms-transform:translate(-27px);transform:translate(-27px);}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{border-style:solid solid none none;border-width:1px 1px 0 0;}#adminmenu .wp-menu-image img{float:right;padding:5px 2px 0 0;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 5px 4px;}#adminmenu li .wp-submenu-wrap{border-width:1px 0 1px 1px;border-style:solid none solid solid;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;}.folded #adminmenu .wp-submenu ul{border-width:0 1px 0 0;}.folded #adminmenu .wp-submenu a{padding-left:0;padding-right:10px;}.folded #adminmenu a.wp-has-submenu{margin-left:0;margin-right:40px;}#adminmenu .wp-menu-toggle{clear:left;float:left;padding:1px 0 0 2px;}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px;}#collapse-button{float:right;}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif;}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px;}.response-links{float:right;}.widefat th{font-family:Tahoma,Arial,sans-serif;}.widefat td p{margin:2px 0 .8em;}.postbox-container{float:right;}.postbox .handlediv{float:left;}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px;}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:0;padding-left:125px;}.welcome-panel .welcome-panel-close{right:auto;left:10px;}.welcome-panel .welcome-panel-close:before{left:auto;right:-12px;}.welcome-panel .wp-badge{float:right;}.welcome-panel-content .about-description,.welcome-panel h3{margin-left:0;margin-right:190px;}.welcome-panel .welcome-panel-column{margin:0 -25px 0 5%;padding-left:0;padding-right:25px;float:right;}.welcome-panel .welcome-panel-column.welcome-panel-last{margin-right:auto;padding-right:0;margin-left:0;}.welcome-panel h4 .icon16{margin-left:0;margin-right:-32px;}.welcome-panel .welcome-panel-column-container{padding:0 25px 0 0;}.welcome-panel .welcome-panel-column ul{margin:1.6em 1.3em 1em 1em;}.welcome-panel .welcome-panel-column li{padding-left:0;padding-right:2px;}.fixed .column-comments{text-align:right;}.fixed .column-comments .vers{padding-left:0;padding-right:3px;}.fixed .column-comments a{float:right;}.sorting-indicator{margin-left:0;margin-right:7px;}th.sortable a span,th.sorted a span{float:right;}.tablenav-pages a{margin-right:0;margin-left:1px;}.tablenav-pages .next-page{margin-left:0;margin-right:2px;}.tablenav a.button-secondary{margin:3px 0 0 8px;}.tablenav .tablenav-pages{float:left;}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;font-style:bold;}.tablenav .actions{padding:2px 0 0 8px;}.tablenav .delete{margin-right:0;margin-left:20px;}.view-switch{float:left;}.filter{float:right;margin:-5px 10px 0 0;}.filter .subsubsub{margin-left:0;margin-right:-10px;}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;}#posts-filter fieldset legend{padding:0 1px .2em 0;}#wpbody-content .inline-edit-row fieldset{float:right;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;}.inline-edit-row fieldset label span.title{float:right;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;font-style:normal;}.inline-edit-row fieldset .inline-edit-date{float:right;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif;}.quick-edit-row-post fieldset label.inline-edit-status{float:right;}#bulk-titles div a{float:right;margin:3px -2px 0 3px;overflow:hidden;text-indent:-9999px;}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{right:0;}#sample-permalink{direction:ltr;}#sample-permalink #editable-post-name{unicode-bidi:embed;}#wp-fullscreen-title-prompt-text{left:auto;right:0;}.postarea h3 label{float:right;}.submitbox .submit{text-align:right;}.inside-submitbox #post_status{margin:2px -2px 2px 0;}.submitbox .submit input{margin-right:0;margin-left:4px;}#normal-sortables .postbox .submit{float:left;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 125px 0 5px;}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{font-style:normal;}#commentsdiv img.waiting{padding-left:0;padding-right:5px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px;}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;}#posts-filter fieldset legend{padding:0 1px .2em 0;}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px;}.autosave-info{padding:2px 2px 2px 15px;text-align:left;}#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;cursor:sw-resize;}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{margin:8px 8px 8px 0;}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;}.category-adder{margin-left:0;margin-right:120px;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid solid solid none;border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px;}p.help,p.description,span.description,.form-wrap p{font-style:normal;font-family:Tahoma,Arial,sans-serif;}.taghint{margin:15px 12px -24px 0;}#poststuff .tagsdiv .howto{margin:0 8px 6px 0;}.ac_results li{text-align:right;}#wpbody-content .describe th{text-align:right;}.describe .media-item-info .A1B1{padding:0 10px 0 0;}.media-upload-form td label{margin-left:6px;margin-right:2px;}.media-upload-form .align .field label{padding:0 23px 0 0;margin:0 3px 0 1em;}.media-upload-form tr.image-size label{margin:0 5px 0 0;}#wpbody-content .describe p.help{padding:0 5px 0 0;}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:15px;}.media-item .error-div a.dismiss{padding:0 15px 0 0;}.media-item .error-div{padding-left:0;padding-right:10px;}.media-item .pinkynail{float:right;}.media-item .describe td{padding:0 0 8px 8px;}.media-item .progress{float:left;margin:6px 0 0 10px;}#find-posts-response .found-radio{padding:5px 8px 0 0;}.find-box-search label{padding-right:0;padding-left:6px;}.find-box #resize-se{right:auto;left:1px;}form.upgrade .hint{font-style:normal;}.imgedit-menu div{float:right;}.imgedit-help{font-style:normal;}.imgedit-submit-btn{margin-left:0;margin-right:20px;}.form-table th{text-align:right;}.form-table input.tog{margin-right:0;margin-left:2px;float:right;}.form-table table.color-palette{float:right;}#replysubmit img.waiting,.inline-edit-save img.waiting{float:left;}#replysubmit .button{margin-right:0;margin-left:5px;}#edithead .inside{float:right;padding:3px 5px 2px 0;}.comment-ays th{border-right-style:none;border-left-style:solid;border-right-width:0;border-left-width:1px;}.spam-undo-inside .avatar,.trash-undo-inside .avatar{margin-left:8px;}#comment-status-radio input{margin:2px 0 5px 3px;}td.available-theme{text-align:right;}#current-theme img{float:right;margin-right:0;margin-left:1em;}#broken-themes{text-align:right;}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px;}.appearance_page_custom-header .random-header{margin:0 0 20px 20px;}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:0;margin-left:10px;}.nav-tab{margin:0 0 -1px 6px;}h2 .nav-tab{font-family:Tahoma,Arial,sans-serif;}.plugins .desc ul,.plugins .desc ol{margin:0 2em 0 0;}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:0;padding-left:12px;}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px;}#your-profile legend{font-family:Tahoma,Arial,sans-serif;}.pressthis a span{background-position:-20px 5px;padding:8px 32px 8px 0;}.pressthis a:after{right:auto;left:10px;background:transparent;transform:skew(-20deg) rotate(-6deg);-webkit-transform:skew(-20deg) rotate(-6deg);-moz-transform:skew(-20deg) rotate(-6deg);}.pressthis a:hover:after{transform:skew(-20deg) rotate(-9deg);-webkit-transform:skew(-20deg) rotate(-9deg);-moz-transform:skew(-20deg) rotate(-9deg);}#utc-time,#local-time{padding-left:0;padding-right:25px;font-style:normal;font-family:Tahoma,Arial,sans-serif;}#footer{margin-left:20px;}#wpcontent,#footer{margin-right:165px;}.wrap.about-wrap{margin-left:40px;margin-right:20px;}.about-wrap h1,.about-text{margin-right:0;margin-left:200px;}.about-wrap h2.nav-tab-wrapper{padding-left:0;padding-right:6px;}.about-wrap .wp-badge{right:auto;left:0;}.about-wrap h2 .nav-tab{margin-right:0;margin-left:3px;}.about-wrap .changelog li{margin-left:0;margin-right:3em;}.about-wrap .feature-section .left-feature,.about-wrap .feature-section img,.about-wrap .feature-section .right-feature{float:right;}.about-wrap .feature-section .left-feature{margin-right:0;margin-left:0;}.about-wrap .feature-section .right-feature{margin-left:0;margin-right:0;}.about-wrap .feature-section.text-features{float:right;}.about-wrap .feature-section.screenshot-features{float:left;}.about-wrap .feature-section.screenshot-features .angled-right{margin-left:0;margin-right:2.5em;}.about-wrap .feature-section.screenshot-features .angled-right p{margin-left:0;margin-right:290px;}.about-wrap .feature-section .angled-right img,.about-wrap .feature-section .angled-left img{margin-right:0;margin-left:30px;}.about-wrap .feature-section.three-col div{margin-right:0;margin-left:4.999999999%;float:right;}.about-wrap .feature-section.three-col h4{text-align:right;}.about-wrap .feature-section.three-col img{margin-right:5px;margin-left:0;}.about-wrap .feature-section.three-col .last-feature{margin-left:0;}.about-wrap .feature-section .feature-images img{margin-right:auto;margin-left:5px;}.about-wrap .feature-section.images-stagger-left .angled-left{margin-left:auto;margin-right:5px;}.about-wrap .feature-section .angled-right{float:left;}.about-wrap .feature-section.images-stagger-right .feature-images{right:auto;left:0;}.about-wrap .feature-section.images-stagger-left .feature-images{left:auto;right:0;}.about-wrap .feature-section.images-stagger-right .left-feature{margin-right:0;margin-left:350px;}.about-wrap .feature-section.images-stagger-left .right-feature{margin-left:0;margin-right:350px;}.about-wrap li.wp-person,.about-wrap li.wp-person img.gravatar{float:right;margin-right:0;margin-left:10px;}#template div{margin-right:0;margin-left:190px;}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px;}.tagchecklist{margin-left:0;margin-right:14px;}.tagchecklist strong{margin-left:0;margin-right:-8px;}.tagchecklist span{margin-right:0;margin-left:25px;float:right;}.tagchecklist span a{margin:6px -9px 0 0;float:right;}#poststuff h2{clear:right;}#poststuff h3,.metabox-holder h3{font-family:Tahoma,Arial,sans-serif;}.tool-box .title{font-family:Tahoma,Arial,sans-serif;}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px;}#sidemenu a{float:right;}table .vers,table .column-visible,table .column-rating{text-align:right;}.screen-meta-toggle{right:auto;left:15px;}* html #template div{margin-left:0;}.list-ajax-loading{float:left;margin-right:0;margin-left:9px;}#editorcontainer .wp_themeSkin .mceStatusbar{padding-left:0;padding-right:5px;}#editorcontainer .wp_themeSkin .mceStatusbar div{float:right;}#editorcontainer .wp_themeSkin .mceStatusbar a.mceResize{float:left;}#wpcontent{margin-left:0;margin-right:165px;}.folded #wpcontent{margin-left:0;margin-right:52px;}.folded.wp-admin #footer{margin-left:15px;margin-right:52px;}#wpbody-content{float:right;}#adminmenuwrap{float:right;}#adminmenu{clear:right;}.inner-sidebar{float:left;clear:left;}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px;}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px;}#col-right{float:left;clear:left;}.alignleft{float:right;}.alignright{float:left;}.textleft{text-align:right;}.textright{text-align:left;}.screen-reader-text,.screen-reader-text span{left:auto;right:-1000em;}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em;}.subsubsub{float:right;}.widefat thead th:first-of-type{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;}.widefat thead th:last-of-type{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;}.widefat th{text-align:right;}.widefat th input{margin:0 8px 0 0;}.wrap{margin-right:0;margin-left:15px;}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif;}.wrap h2{padding-right:0;padding-left:15px;}.subtitle{padding-left:0;padding-right:25px;}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px;}.wrap h2.long-header{padding-left:0;}#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%;}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%;}.view-all{right:auto;left:0;}#dashboard_right_now p.sub,#dashboard-widgets h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve{font-family:Tahoma,Arial;}#dashboard_right_now p.sub{left:auto;right:15px;}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left;font-family:Tahoma,Arial;}#dashboard_right_now .t{padding-right:0;padding-left:12px;}#dashboard_right_now .table_content{float:right;}#dashboard_right_now .table_discussion{float:left;}#dashboard_right_now .versions a{font-family:Tahoma,Arial;}#dashboard_right_now a.button{float:left;clear:left;}#dashboard_plugins .inside span{padding-left:0;padding-right:5px;}#dashboard-widgets h3 .postbox-title-action{right:auto;left:30px;}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important;}#the-comment-list .comment-item{padding:1em 70px 1em 10px;}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px;}.rss-widget cite{text-align:left;}.rss-widget span.rss-date{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;}#dashboard_quick_press h4{float:right;text-align:left;}#dashboard_quick_press .wp-media-buttons{margin:0 5em .5em 0;}#dashboard_quick_press h4 label{margin-right:0;margin-left:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 5em 1em 0;}#dashboard_quick_press #media-buttons{margin:0 5em .5em 0;padding:0;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:0;margin-right:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 10px 0 1em;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{margin:4px 0 0 6px;}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;}body.login{font-family:Tahoma,arial;}.login form{margin-right:8px;margin-left:0;}.login form .forgetmenot{float:right;}.login form .submit{float:left;}#login form .submit input{font-family:Tahoma,arial;}.login #nav,.login #backtoblog{margin:0 16px 0 0;}#login_error,.login .message{margin:0 8px 16px 0;}.login #user_pass,.login #user_login,.login #user_email{margin-left:6px;margin-right:0;direction:ltr;}.login h1 a{text-decoration:none;}.login .button-primary{float:left;}#nav-menus-frame{margin-right:300px;margin-left:0;}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right;}#menu-management-liquid{float:right;}#menu-management{margin-left:20px;margin-right:0;}.post-body-plain{padding:10px 0 0 10px;}#menu-management .nav-tabs-arrow-left{right:0;left:auto;}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;font-family:Tahoma,Arial,sans-serif;}#menu-management .nav-tabs{padding-right:20px;padding-left:10px;}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px;}#select-nav-menu-container{text-align:left;}#wpbody .open-label{float:right;}#wpbody .open-label span{padding-left:10px;padding-right:0;}.js .input-with-default-title{font-style:normal;font-weight:bold;}.postbox .howto input{float:left;}#nav-menu-theme-locations .button-controls{text-align:left;}.meta-sep,.submitcancel{float:right;}#cancel-save{margin-left:0;margin-right:20px;}.list-controls{float:right;}.add-to-menu{float:left;}#add-custom-link label span{float:right;padding-left:5px;padding-right:0;}.howto span{float:right;}.list li .menu-item-title input{margin-left:3px;margin-right:0;}.menu-item-handle{padding-right:10px;padding-left:0;}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;}.menu-item-handle .item-title{margin-left:13em;margin-right:0;}.menu-item-depth-0{margin-right:0;margin-left:0;}.menu-item-depth-1{margin-right:30px;margin-left:0;}.menu-item-depth-2{margin-right:60px;margin-left:0;}.menu-item-depth-3{margin-right:90px;margin-left:0;}.menu-item-depth-4{margin-right:120px;margin-left:0;}.menu-item-depth-5{margin-right:150px;margin-left:0;}.menu-item-depth-6{margin-right:180px;margin-left:0;}.menu-item-depth-7{margin-right:210px;margin-left:0;}.menu-item-depth-8{margin-right:240px;margin-left:0;}.menu-item-depth-9{margin-right:270px;margin-left:0;}.menu-item-depth-10{margin-right:300px;margin-left:0;}.menu-item-depth-11{margin-right:330px;margin-left:0;}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0;}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0;}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0;}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0;}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0;}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0;}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0;}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0;}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0;}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0;}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0;}.item-type{padding-left:10px;padding-right:0;}.item-controls{left:20px;right:auto;}.item-controls .item-order{padding-left:10px;padding-right:0;}.item-edit{left:-20px;right:auto;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0;}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px 1px;}.link-to-original{font-style:normal;font-weight:bold;}.link-to-original a{padding-right:4px;padding-left:0;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right;}.major-publishing-actions .publishing-action{text-align:left;float:left;}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0;}.menu-name-label{margin-left:15px;margin-right:0;}.auto-add-pages{float:right;}div.star{left:auto;right:0;letter-spacing:0;}.star img,div.star a,div.star a:hover,div.star a:visited{right:auto;left:0;}#plugin-information ul#sidemenu{left:auto;right:0;}#plugin-information h2{margin-right:0;margin-left:200px;}#plugin-information .fyi{margin-left:5px;margin-right:20px;}#plugin-information .fyi h2{margin-left:0;}#plugin-information .fyi ul{padding:10px 7px 10px 5px;}#plugin-information #section-screenshots li p{padding-left:0;padding-right:20px;}#plugin-information .updated,#plugin-information pre{margin-right:0;margin-left:215px;}#plugin-information .updated,#plugin-information .error{clear:none;direction:rtl;}#section-description{direction:ltr;}.posting{margin-left:212px;margin-right:0;position:relative;}#side-info-column{float:left;right:auto;left:0;}h3.tb{margin-left:0;margin-right:5px;}#publish{float:left;}.postbox .handlediv{float:left;}.actions li{float:right;margin-right:0;margin-left:10px;}#extra-fields .actions{margin:-23px 0 0 -7px;}#img_container a{float:right;}#category-add input,#category-add select{font-family:Tahoma,Arial;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}.category-tabs li{padding-left:0;padding-right:8px;}#tagsdiv #newtag{margin-right:0;margin-left:5px;}#tagadd{margin-left:0;margin-right:3px;}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right;}#tagchecklist span a{margin:6px -9px 0 0;float:right;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif;}.ac_results li{text-align:right;}#TB_ajaxContent #options{right:auto;left:25px;}#post_status{margin-left:0;margin-right:10px;}#templateside{float:left;}#template textarea{direction:ltr;}div.star{left:auto;right:0;}.star img,div.star a,div.star a:hover,div.star a:visited{right:auto;left:0;}.theme-listing .theme-item h3{font-style:normal;}#theme-information .theme-preview-img{float:right;margin:5px 15px 10px 25px;}#theme-information .action-button #cancel{float:right;}#theme-information .action-button #install{float:left;}.feature-filter .feature-group{float:right;}.feature-filter .feature-name{float:right;text-align:left;}.feature-filter .feature-group li{float:right;padding-right:0;padding-left:25px;}div.widget-liquid-left{float:right;clear:right;margin-right:0;margin-left:-325px;}div#widgets-left{margin-right:5px;margin-left:325px;}div.widget-liquid-right{float:left;clear:left;}.inactive-sidebar .widget{float:right;}div.sidebar-name h3{font-family:Tahoma,Arial,sans-serif;}#widget-list .widget{float:right;}.inactive-sidebar .widget-placeholder{float:right;}.widget-top .widget-title-action{float:left;}.widget-control-edit{padding:0 0 0 8px;}.sidebar-name-arrow{float:left;}.press-this-sidebar{float:left;}
\ No newline at end of file
--- 1 ----
! ol{margin-left:0;margin-right:2em}.code,code{font-family:monospace;direction:ltr}.quicktags,.search{font:12px Tahoma,Arial,sans-serif}.icon32{float:right;margin-right:0;margin-left:8px}.icon16{float:right;margin-right:-8px;margin-left:0}.howto{font-style:normal;font-family:Tahoma,Arial,sans-serif}p.install-help{font-style:normal}#doaction,#doaction2,#post-query-submit{margin-right:0;margin-left:8px}#timezone_string option{margin-left:0;margin-right:1em}#pass-strength-result{float:right;margin:13px 1px 5px 5px}p.search-box{float:left}input[type=password]{direction:ltr}input[type="text"].ui-autocomplete-loading{background:transparent url('../images/loading.gif') no-repeat left center}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete li{text-align:right}#delete-action{float:right}#publishing-action{float:left}#post-body .misc-pub-section{border-right:0;border-left-width:1px;border-left-style:solid}#post-body .misc-pub-section-last{border-left:0}#minor-publishing-actions{padding:10px 8px 2px 10px;text-align:left}#save-post{float:right}#minor-publishing .ajax-loading{padding:3px 4px 0 0;float:right}.preview{float:left}#sticky-span{margin-left:0;margin-right:18px}.side-info ul{padding-left:0;padding-right:18px}td.action-links,th.action-links{text-align:left}.describe .del-link{padding-left:0;padding-right:5px}form.upgrade .hint{font-style:normal}#ajax-response.alignleft{margin-left:0;margin-right:2em}#quicktags{background-position:right top}#ed_reply_toolbar input{margin:1px 1px 1px 2px}#wphead{height:32px;margin-left:15px;margin-right:2px}#header-logo{float:right}#wphead h1{float:right}#screen-meta-links{margin-right:0;margin-left:24px}#screen-meta{margin-right:5px;margin-left:15px}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;margin-left:0;margin-right:6px}#screen-meta-links a.show-settings{padding-right:6px;padding-left:16px}.toggle-arrow{background-position:top right}.toggle-arrow-active{background-position:bottom right}.metabox-prefs label{padding-right:0;padding-left:15px}.metabox-prefs label input{margin-right:2px;margin-left:5px}#contextual-help-wrap{margin-left:0;margin-right:-4px}#contextual-help-back{left:170px;right:150px}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;right:150px;border-right-width:1px;border-left-width:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right}.contextual-help-tabs a{padding-left:5px;padding-right:12px}.contextual-help-tabs .active{margin-right:0;margin-left:-1px}.contextual-help-tabs .active,.contextual-help-tabs-wrap{border-left:0;border-right-width:1px}.help-tab-content{margin-right:0;margin-left:22px}.help-tab-content li{margin-left:0;margin-right:18px}.contextual-help-sidebar{float:left;padding-right:12px;padding-left:8px}#adminmenuback,#adminmenuwrap{border-width:0 0 0 1px}#adminmenushadow{right:auto;left:0}#adminmenu li .wp-submenu{left:auto;right:146px}.folded #adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{left:auto;right:26px}#adminmenu .wp-submenu.sub-open,#adminmenu li.focused.wp-not-current-submenu .wp-submenu,.folded #adminmenu li.focused.wp-has-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.no-js #adminmenu .wp-has-submenu:hover .wp-submenu,.no-js.folded #adminmenu .wp-has-current-submenu:hover .wp-submenu{padding:0 0 8px 8px}#adminmenu div.wp-menu-image{float:right}#adminmenu li li{margin-left:0;margin-right:8px}#adminmenu .wp-submenu a,#adminmenu li li a,.folded #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px}#adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:18px}.folded #adminmenu li li{margin-left:inherit;margin-right:0}.folded #adminmenu li li a{padding-left:inherit;padding-right:0}.wp-menu-arrow{right:0;-moz-transform:translate(-139px);-webkit-transform:translate(-139px);-o-transform:translate(-139px);-ms-transform:translate(-139px);transform:translate(-139px)}.ie8 .wp-menu-arrow{right:-20px}#adminmenu .wp-menu-arrow div{left:-8px;width:16px}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(-138px);-webkit-transform:translate(-138px);-o-transform:translate(-138px);-ms-transform:translate(-138px);transform:translate(-138px)}.folded .wp-menu-arrow{-moz-transform:translate(-27px);-webkit-transform:translate(-27px);-o-transform:translate(-27px);-ms-transform:translate(-27px);transform:translate(-27px)}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{border-style:solid solid none none;border-width:1px 1px 0 0}#adminmenu .wp-menu-image img{float:right;padding:5px 2px 0 0}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 5px 4px}#adminmenu li .wp-submenu-wrap{border-width:1px 0 1px 1px;border-style:solid none solid solid;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}.folded #adminmenu .wp-submenu ul{border-width:0 1px 0 0}.folded #adminmenu .wp-submenu a{padding-left:0;padding-right:10px}.folded #adminmenu a.wp-has-submenu{margin-left:0;margin-right:40px}#adminmenu .wp-menu-toggle{clear:left;float:left;padding:1px 0 0 2px}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px}#collapse-button{float:right}@media only screen and (max-width:900px){#adminmenu li .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu{left:auto;right:26px}#adminmenu li.focused.wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open{padding:0 0 8px 8px}.folded #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px}#adminmenu li li,#adminmenu li li a{padding-left:inherit;padding-right:0}.wp-menu-arrow{-moz-transform:translate(-27px);-webkit-transform:translate(-27px);-o-transform:translate(-27px);-ms-transform:translate(-27px);transform:translate(-27px)}#adminmenu .wp-submenu ul{border-width:0 1px 0 0}#adminmenu .wp-submenu a{padding-left:0;padding-right:10px}#adminmenu a.wp-has-submenu{margin-left:0;margin-right:40px}body #wpcontent{margin-left:0;margin-right:52px}body .wp-admin #footer{margin-left:15px;margin-right:52px}}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px}.response-links{float:right}.widefat th{font-family:Tahoma,Arial,sans-serif}.widefat td p{margin:2px 0 .8em}.postbox-container{float:right}.postbox .handlediv{float:left}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:0;padding-left:125px}.welcome-panel .welcome-panel-close{right:auto;left:10px}.welcome-panel .welcome-panel-close:before{left:auto;right:-12px}.welcome-panel .wp-badge{float:right}.welcome-panel-content .about-description,.welcome-panel h3{margin-left:0;margin-right:190px}.welcome-panel .welcome-panel-column{margin:0 -25px 0 5%;padding-left:0;padding-right:25px;float:right}.welcome-panel .welcome-panel-column.welcome-panel-last{margin-right:auto;padding-right:0;margin-left:0}.welcome-panel h4 .icon16{margin-left:0;margin-right:-32px}.welcome-panel .welcome-panel-column-container{padding:0 25px 0 0}.welcome-panel .welcome-panel-column ul{margin:1.6em 1.3em 1em 1em}.welcome-panel .welcome-panel-column li{padding-left:0;padding-right:2px}.fixed .column-comments{text-align:right}.fixed .column-comments .vers{padding-left:0;padding-right:3px}.fixed .column-comments a{float:right}.sorting-indicator{margin-left:0;margin-right:7px}th.sortable a span,th.sorted a span{float:right}.tablenav-pages a{margin-right:0;margin-left:1px}.tablenav-pages .next-page{margin-left:0;margin-right:2px}.tablenav a.button-secondary{margin:3px 0 0 8px}.tablenav .tablenav-pages{float:left}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;font-style:normal}.tablenav .actions{padding:2px 0 0 8px}.tablenav .delete{margin-right:0;margin-left:20px}.view-switch{float:left}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-left:0;margin-right:-10px}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex}#posts-filter fieldset legend{padding:0 1px .2em 0}#wpbody-content .inline-edit-row fieldset{float:right}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left}.inline-edit-row fieldset label span.title{float:right}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;font-style:normal}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles div a{float:right;margin:3px -2px 0 3px;overflow:hidden;text-indent:-9999px}#post-body-content{float:right}#poststuff #post-body.columns-2{margin-left:300px;margin-right:0}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;margin-right:0}@media only screen and (max-width:850px){#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0}}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{right:0}#sample-permalink{direction:ltr}#sample-permalink #editable-post-name{unicode-bidi:embed}#wp-fullscreen-title-prompt-text{left:auto;right:0}.postarea h3 label{float:right}.submitbox .submit{text-align:right}.inside-submitbox #post_status{margin:2px -2px 2px 0}.submitbox .submit input{margin-right:0;margin-left:4px}#normal-sortables .postbox .submit{float:left}.taxonomy div.tabs-panel{margin:0 125px 0 5px}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{font-style:normal}#commentsdiv img.waiting{padding-left:0;padding-right:5px}#post-body .add-menu-item-tabs li.tabs{border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px}.autosave-info{padding:2px 2px 2px 15px;text-align:left}#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;cursor:sw-resize}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{margin:8px 8px 8px 0}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace}.category-adder{margin-left:0;margin-right:120px}#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{margin-left:0;margin-right:18px}#post-body .add-menu-item-tabs li.tabs{border-style:solid solid solid none;border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px}p.help,p.description,span.description,.form-wrap p{font-style:normal;font-family:Tahoma,Arial,sans-serif}.taghint{margin:15px 12px -24px 0}#poststuff .tagsdiv .howto{margin:0 8px 6px 0}.ac_results li{text-align:right}.links-table th{text-align:right}#wpbody-content .describe th{text-align:right}.describe .media-item-info .A1B1{padding:0 10px 0 0}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{padding:0 23px 0 0;margin:0 3px 0 1em}.media-upload-form tr.image-size label{margin:0 5px 0 0}#wpbody-content .describe p.help{padding:0 5px 0 0}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:15px}.media-item .error-div a.dismiss{padding:0 15px 0 0}.media-item .error-div{padding-left:0;padding-right:10px}.media-item .pinkynail{float:right}.media-item .describe td{padding:0 0 8px 8px}.media-item .progress{float:left;margin:6px 0 0 10px}#find-posts-response .found-radio{padding:5px 8px 0 0}.find-box-search label{padding-right:0;padding-left:6px}.find-box #resize-se{right:auto;left:1px}form.upgrade .hint{font-style:normal}.imgedit-menu div{float:right}.imgedit-help{font-style:normal}.imgedit-submit-btn{margin-left:0;margin-right:20px}.form-table th{text-align:right}.form-table input.tog{margin-right:0;margin-left:2px;float:right}.form-table table.color-palette{float:right}#replysubmit img.waiting,.inline-edit-save img.waiting{float:left}#replysubmit .button{margin-right:0;margin-left:5px}#edithead .inside{float:right;padding:3px 5px 2px 0}.comment-ays th{border-right-style:none;border-left-style:solid;border-right-width:0;border-left-width:1px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{margin-left:8px}#comment-status-radio input{margin:2px 0 5px 3px}h3.available-themes{float:right}.available-theme{margin-right:0;margin-left:10px;padding:20px 0 20px 20px}#current-theme .theme-info li,.theme-options li,.available-theme .action-links li{float:right;padding-right:0;padding-left:10px;margin-right:0;margin-left:10px;border-right:0;border-left:1px solid #dfdfdf}.available-theme .action-links li{padding-left:8px;margin-left:8px}#current-theme .theme-info li:last-child,.theme-options li:last-child,.available-theme .action-links li:last-child{padding-left:0;margin-right:0;border-left:0}.available-theme .action-links .delete-theme{float:left;margin-left:0;margin-right:8px}.available-theme .action-links p{float:right}#current-theme.has-screenshot{padding-left:0;padding-right:330px}#current-theme h4 span{margin-left:0;margin-right:20px}#current-theme img{float:right;width:300px;margin-left:0;margin-right:-330px}.theme-options .load-customize{margin-right:0;margin-left:30px;float:right}.theme-options span{float:right;margin-right:0;margin-left:10px}.theme-options ul{float:right}@media only screen and (max-width:1200px){#current-theme.has-screenshot{padding-right:270px}#current-theme img{margin-right:-270px;width:240px}}#broken-themes{text-align:right}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{margin:0 0 20px 20px}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:0;margin-left:10px}.nav-tab{margin:0 0 -1px 6px}h2 .nav-tab{font-family:Tahoma,Arial,sans-serif}.plugins .desc ul,.plugins .desc ol{margin:0 2em 0 0}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:0;padding-left:12px}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px}#profile-page #pass1,#profile-page #pass2,#profile-page #user_login{direction:ltr}#your-profile legend{font-family:Tahoma,Arial,sans-serif}.pressthis a span{background-position:right 5px;padding:8px 27px 8px 11px}.pressthis a:after{right:auto;left:10px;background:transparent;transform:skew(-20deg) rotate(-6deg);-webkit-transform:skew(-20deg) rotate(-6deg);-moz-transform:skew(-20deg) rotate(-6deg)}.pressthis a:hover:after{transform:skew(-20deg) rotate(-9deg);-webkit-transform:skew(-20deg) rotate(-9deg);-moz-transform:skew(-20deg) rotate(-9deg)}#utc-time,#local-time{padding-left:0;padding-right:25px;font-style:normal;font-family:Tahoma,Arial,sans-serif}#footer{margin-left:20px}#wpcontent,#footer{margin-right:165px}.wrap.about-wrap{margin-left:40px;margin-right:20px}.about-wrap h1,.about-text{margin-right:0;margin-left:200px}.about-wrap h2.nav-tab-wrapper{padding-left:0;padding-right:6px}.about-wrap .wp-badge{right:auto;left:0}.about-wrap h2 .nav-tab{margin-right:0;margin-left:3px}.about-wrap .changelog li{margin-left:0;margin-right:3em}.about-wrap .three-col-images .last-feature{float:left}.about-wrap .three-col-images .first-feature{float:right}.about-wrap .feature-section.three-col div{margin-right:0;margin-left:4.999999999%;float:right}.about-wrap .feature-section.three-col h4{text-align:right}.about-wrap .feature-section.three-col img{margin-right:5px;margin-left:0}.about-wrap .feature-section.three-col .last-feature{margin-left:0}.about-wrap .feature-section img{margin:0 0 10px .7%}.about-wrap .feature-section.images-stagger-right img{float:left;margin:0 12px 12px 5px}.about-wrap .feature-section.images-stagger-left img{float:right;margin:0 5px 12px 12px}.about-wrap li.wp-person,.about-wrap li.wp-person img.gravatar{float:right;margin-right:0;margin-left:10px}#template div{margin-right:0;margin-left:190px}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px}.tagchecklist{margin-left:0;margin-right:14px}.tagchecklist strong{margin-left:0;margin-right:-8px}.tagchecklist span{margin-right:0;margin-left:25px;float:right}.tagchecklist span a{margin:6px -9px 0 0;float:right}#poststuff h2{clear:right}#poststuff h3,.metabox-holder h3{font-family:Tahoma,Arial,sans-serif}.tool-box .title{font-family:Tahoma,Arial,sans-serif}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px}#sidemenu a{float:right}table .vers,table .column-visible,table .column-rating{text-align:right}.screen-meta-toggle{right:auto;left:15px}* html #template div{margin-left:0}.list-ajax-loading{float:left;margin-right:0;margin-left:9px}#editorcontainer .wp_themeSkin .mceStatusbar{padding-left:0;padding-right:5px}#editorcontainer .wp_themeSkin .mceStatusbar div{float:right}#editorcontainer .wp_themeSkin .mceStatusbar a.mceResize{float:left}.wp-full-overlay .wp-full-overlay-sidebar{margin:0;left:auto;right:0;border-right:0;border-left:1px solid rgba(0,0,0,0.2)}.wp-full-overlay-sidebar:after{right:auto;left:0;box-shadow:inset 5px 0 4px -4px rgba(0,0,0,0.1)}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px;margin-left:0}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px;margin-left:0}.wp-full-overlay .collapse-sidebar{right:0;left:auto;margin-right:15px}.wp-full-overlay.collapsed .collapse-sidebar{right:100%}.wp-full-overlay .collapse-sidebar-arrow{margin-right:2px;margin-left:0;background:transparent url('../../wp-admin/images/arrows.png') no-repeat 0 -108px}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:0 -72px}.wp-full-overlay .collapse-sidebar-label{right:100%;left:auto;margin-right:10px;margin-left:0}.install-theme-info .theme-install{float:left}#wpcontent{margin-left:0;margin-right:165px}.folded #wpcontent{margin-left:0;margin-right:52px}.folded.wp-admin #footer{margin-left:15px;margin-right:52px}#wpbody-content{float:right}#adminmenuwrap{float:right}#adminmenu{clear:right}.inner-sidebar{float:left;clear:left}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px}#col-right{float:left;clear:left}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.screen-reader-text,.screen-reader-text span{left:auto;right:-1000em}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em}.subsubsub{float:right}.widefat thead th:first-of-type{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px}.widefat thead th:last-of-type{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px}.widefat th{text-align:right}.widefat th input{margin:0 8px 0 0}.wrap{margin-right:0;margin-left:15px}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif}.wrap h2{padding-right:0;padding-left:15px}.subtitle{padding-left:0;padding-right:25px}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px}.wrap h2.long-header{padding-left:0}#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%}.view-all{right:auto;left:0}#dashboard_right_now p.sub,#dashboard-widgets h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve,#dashboard_right_now td.b,#dashboard_right_now .versions a{font-family:Tahoma,Arial,sans-serif}#dashboard_right_now p.sub{left:auto;right:15px}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left}#dashboard_right_now .t{padding-right:0;padding-left:12px}#dashboard_right_now .table_content{float:right}#dashboard_right_now .table_discussion{float:left}#dashboard_right_now a.button{float:left;clear:left}#dashboard_plugins .inside span{padding-left:0;padding-right:5px}#dashboard-widgets h3 .postbox-title-action{right:auto;left:30px}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important}#the-comment-list .comment-item{padding:1em 70px 1em 10px}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px}.rss-widget cite{text-align:left}.rss-widget span.rss-date{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:3px}#dashboard_quick_press h4{float:right;text-align:left}#dashboard_quick_press .wp-media-buttons{margin:0 5em .5em 0}#dashboard_quick_press h4 label{margin-right:0;margin-left:10px}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 5em 1em 0}#dashboard_quick_press #media-buttons{margin:0 5em .5em 0;padding:0}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:0;margin-right:4.6em}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 10px 0 1em}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{margin:4px 0 0 6px}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:3px}body.login{font-family:Tahoma,Arial,sans-serif}.login form{margin-right:8px;margin-left:0}.login form .forgetmenot{float:right}.login form .submit{float:left}#login form .submit input{font-family:Tahoma,Arial,sans-serif}.login #nav,.login #backtoblog{margin:0 16px 0 0}#login_error,.login .message{margin:0 8px 16px 0}.login #user_pass,.login #user_login,.login #user_email{margin-left:6px;margin-right:0;direction:ltr}.login h1 a{text-decoration:none}.login .button-primary{float:left}#nav-menus-frame{margin-right:300px;margin-left:0}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right}#menu-management-liquid{float:right}#menu-management{margin-left:20px;margin-right:0}.post-body-plain{padding:10px 0 0 10px}#menu-management .nav-tabs-arrow-left{right:0;left:auto}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;font-family:Tahoma,Arial,sans-serif}#menu-management .nav-tabs{padding-right:20px;padding-left:10px}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px}#select-nav-menu-container{text-align:left}#wpbody .open-label{float:right}#wpbody .open-label span{padding-left:10px;padding-right:0}.js .input-with-default-title{font-style:normal;font-weight:bold}.postbox .howto input{float:left}#nav-menu-theme-locations .button-controls{text-align:left}.meta-sep,.submitcancel{float:right}#cancel-save{margin-left:0;margin-right:20px}.list-controls{float:right}.add-to-menu{float:left}#add-custom-link label span{float:right;padding-left:5px;padding-right:0}.nav-menus-php .howto span{float:right}.list li .menu-item-title input{margin-left:3px;margin-right:0}.menu-item-handle{padding-right:10px;padding-left:0}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.menu-item-handle .item-title{margin-left:13em;margin-right:0}.menu-item-handle .item-edit{right:auto;left:-20px}.menu-item-depth-0{margin-right:0;margin-left:0}.menu-item-depth-1{margin-right:30px;margin-left:0}.menu-item-depth-2{margin-right:60px;margin-left:0}.menu-item-depth-3{margin-right:90px;margin-left:0}.menu-item-depth-4{margin-right:120px;margin-left:0}.menu-item-depth-5{margin-right:150px;margin-left:0}.menu-item-depth-6{margin-right:180px;margin-left:0}.menu-item-depth-7{margin-right:210px;margin-left:0}.menu-item-depth-8{margin-right:240px;margin-left:0}.menu-item-depth-9{margin-right:270px;margin-left:0}.menu-item-depth-10{margin-right:300px;margin-left:0}.menu-item-depth-11{margin-right:330px;margin-left:0}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0}.item-type{padding-left:10px;padding-right:0}.item-controls{left:20px;right:auto}.item-controls .item-order{padding-left:10px;padding-right:0}.item-edit{left:-20px;right:auto;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px 1px}#custom-menu-item-url{direction:ltr}.link-to-original{font-style:normal;font-weight:bold}.link-to-original a{padding-right:4px;padding-left:0}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right}.major-publishing-actions .publishing-action{text-align:left;float:left}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0}.menu-name-label{margin-left:15px;margin-right:0}.auto-add-pages{float:right}div.star-holder{background:url('../images/stars-rtl.png?ver=20120506.png') repeat-x bottom right}div.star-holder .star-rating{background:url('../images/stars-rtl.png?ver=20120506.png') repeat-x top right;float:right}#plugin-information ul#sidemenu{left:auto;right:0}#plugin-information h2{margin-right:0;margin-left:200px}#plugin-information .fyi{margin-left:5px;margin-right:20px}#plugin-information .fyi h2{margin-left:0}#plugin-information .fyi ul{padding:10px 7px 10px 5px}#plugin-information #section-screenshots li p{padding-left:0;padding-right:20px}#plugin-information #section-screenshots ol,#plugin-information .updated,#plugin-information pre{margin-right:0;margin-left:215px}#plugin-information .updated,#plugin-information .error{clear:none;direction:rtl}#plugin-information #section-holder .section{direction:ltr}.posting{margin-left:212px;margin-right:0;position:relative}h3.tb{margin-left:0;margin-right:5px}#publish{float:left}.postbox .handlediv{float:left}.actions li{float:right;margin-right:0;margin-left:10px}#extra-fields .actions{margin:-23px 0 0 -7px}#img_container a{float:right}#category-add input,#category-add select{font-family:Tahoma,Arial,sans-serif}#tagsdiv #newtag{margin-right:0;margin-left:5px}#tagadd{margin-left:0;margin-right:3px}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right}#tagchecklist span a{margin:6px -9px 0 0;float:right}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif}.ac_results li{text-align:right}#TB_ajaxContent #options{right:auto;left:25px}#post_status{margin-left:0;margin-right:10px}#templateside{float:left}#template textarea,#docs-list{direction:ltr}.theme-details .theme-version{float:right}.theme-details .star-holder{float:left}.feature-filter .feature-group{float:right}.feature-filter .feature-name{float:right;text-align:left}.feature-filter .feature-group li{float:right;padding-right:0;padding-left:25px}div.widget-liquid-left{float:right;clear:right;margin-right:0;margin-left:-325px}div#widgets-left{margin-right:5px;margin-left:325px}div.widget-liquid-right{float:left;clear:left}.inactive-sidebar .widget{float:right}div.sidebar-name h3{font-family:Tahoma,Arial,sans-serif}#widget-list .widget{float:right}.inactive-sidebar .widget-placeholder{float:right}.widget-top .widget-title-action{float:left}.widget-control-edit{padding:0 0 0 8px}.sidebar-name-arrow{float:left}.press-this-sidebar{float:left}.press-this #header-logo,.press-this #wphead h1{float:right}.ltr{direction:ltr}body.locale-he-il,.locale-he-il .quicktags,.locale-he-il .search,.locale-he-il .howto,.locale-he-il #adminmenu .awaiting-mod,.locale-he-il #adminmenu span.update-plugins,.locale-he-il #sidemenu li a span.update-plugins,.locale-he-il .post-com-count-wrapper,.locale-he-il .widefat th,.locale-he-il .tablenav .displaying-num,.locale-he-il .inline-edit-row fieldset span.title,.locale-he-il .inline-edit-row fieldset span.checkbox-title,.locale-he-il .inline-edit-row fieldset ul.cat-checklist label,.locale-he-il .inline-edit-row .catshow,.locale-he-il .inline-edit-row .cathide,.locale-he-il .inline-edit-row #bulk-titles div,.locale-he-il p.help,.locale-he-il p.description,.locale-he-il span.description,.locale-he-il .form-wrap p,.locale-he-il h2 .nav-tab,.locale-he-il #your-profile legend,.locale-he-il #utc-time,.locale-he-il #local-time,.locale-he-il #poststuff h3,.locale-he-il .metabox-holder h3,.locale-he-il .tool-box .title,.locale-he-il td,.locale-he-il textarea,.locale-he-il input,.locale-he-il select,.locale-he-il .wrap h2,.locale-he-il .subtitle,.locale-he-il .wrap .add-new-h2,.locale-he-il #dashboard_right_now p.sub,.locale-he-il #dashboard-widgets h4,.locale-he-il a.rsswidget,.locale-he-il #dashboard_plugins h4,.locale-he-il #dashboard_plugins h5,.locale-he-il #dashboard_recent_comments .comment-meta .approve,.locale-he-il #dashboard_right_now td.b,.locale-he-il #dashboard_right_now .versions a,.locale-he-il .rss-widget span.rss-date,.locale-he-il #dashboard_recent_drafts h4 abbr,body.login.locale-he-il,.locale-he-il #login form .submit input,.locale-he-il #menu-management .nav-tabs-arrow-right,.locale-he-il #category-add input,.locale-he-il #category-add select,.locale-he-il .submit input,.locale-he-il .button,.locale-he-il .button-primary,.locale-he-il .button-secondary,.locale-he-il .button-highlighted,.locale-he-il #postcustomstuff .submit input,.locale-he-il div.sidebar-name h3{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:bold}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/css/wp-admin-rtl.dev.css ./wordpress-3.4/wp-admin/css/wp-admin-rtl.dev.css
*** ./wordpress-3.3.2/wp-admin/css/wp-admin-rtl.dev.css	2011-12-08 17:02:33.000000000 -0600
--- ./wordpress-3.4/wp-admin/css/wp-admin-rtl.dev.css	2012-06-12 12:11:09.000000000 -0500
***************
*** 41,46 ****
--- 41,48 ----
  23.0 - Misc
  24.0 - Dead
  25.0 - TinyMCE tweaks
+ 26.0 - Full Overlay w/ Sidebar
+ 27.0 - Customize Loader
  
  
  ------------------------------------------------------------------------------*/
***************
*** 58,67 ****
  }
  
  .code, code {
! 	font-family: Tahoma, Arial, sans-serif;
  }
  
- 
  .quicktags, .search {
  	font: 12px Tahoma, Arial, sans-serif;
  }
--- 58,67 ----
  }
  
  .code, code {
! 	font-family: monospace;
! 	direction: ltr;
  }
  
  .quicktags, .search {
  	font: 12px Tahoma, Arial, sans-serif;
  }
***************
*** 113,118 ****
--- 113,133 ----
  	float: left;
  }
  
+ input[type=password] {
+ 	direction: ltr;
+ }
+ 
+ input[type="text"].ui-autocomplete-loading {
+ 	background: transparent url('../images/loading.gif') no-repeat left center;
+ }
+ 
+ ul#add-to-blog-users {
+ 	margin: 0 14px 0 0;
+ }
+ 
+ .ui-autocomplete li {
+ 	text-align: right;
+ }
  
  /*------------------------------------------------------------------------------
    3.0 - Actions
***************
*** 130,136 ****
  	border-right:0;
  	border-left-width: 1px;
  	border-left-style: solid;
- 	float: right;
  }
  
  #post-body .misc-pub-section-last {
--- 145,150 ----
***************
*** 202,299 ****
  	margin: 1px 1px 1px 2px;
  }
  
- /* Distraction Free Writing mode
-  * =Overlay Styles
- -------------------------------------------------------------- */
- 
- /* No RTL for now, this space intentionally left blank */
- 
- /* =Overlay Body
- -------------------------------------------------------------- */
- #wp-fullscreen-body {
- 	right: 0;
- 	left:auto;
- }
- 
- #wp-fullscreen-tagline {
- 	float: left;
- }
- 
- /* =Top bar
- -------------------------------------------------------------- */
- #fullscreen-topbar {
- 	left:auto;
- 	right: 0;
- }
- 
- #wp-fullscreen-mode-bar,
- #wp-fullscreen-button-bar,
- #wp-fullscreen-close,
- #wp-fullscreen-count {
- 	float: right;
- }
- 
- #wp-fullscreen-save {
- 	float: left;
- }
- 
- #wp-fullscreen-save {
- 	padding: 2px 5px 0 2px;
- }
- 
- #wp-fullscreen-buttons > div {
- 	float: right;
- }
- 
- #wp-fullscreen-mode-bar {
- 	padding: 1px 0 0 14px;
- }
- 
- #wp-fullscreen-modes a {
- 	float: right;
- 	border-width: 1px 0 1px 1px;
- }
- 
- #wp-fullscreen-modes a:first-child {
- 	-webkit-border-top-left-radius: 0;
- 	-webkit-border-top-right-radius: 3px;
- 	-webkit-border-bottom-left-radius: 0;
- 	-webkit-border-bottom-right-radius: 3px;
- 	border-width: 1px;
- 	border-top-left-radius: 0;
- 	border-top-right-radius: 3px;
- 	border-bottom-right-left: 0;
- 	border-bottom-right-radius: 3px;
- }
- 
- #wp-fullscreen-modes a:last-child {
- 	-webkit-border-top-right-radius: 0;
- 	-webkit-border-top-left-radius: 3px;
- 	-webkit-border-bottom-right-radius: 0;
- 	-webkit-border-bottom-left-radius: 3px;
- 	border-top-right-radius: 0;
- 	border-top-left-radius: 3px;
- 	border-bottom-right-radius: 0;
- 	border-bottom-left-radius: 3px;
- }
- 
- #wp-fullscreen-save img,
- #wp-fullscreen-save span {
- 	padding-right: 0;
- 	padding-left: 4px;
- }
- 
- /* =Thickbox Adjustments
- -------------------------------------------------------------- */
- /* No RTL for now, this space intentionally left blank */
- 
- 
- /* =TinyMCE Adjustments
- -------------------------------------------------------------- */
- /* No RTL for now, this space intentionally left blank */
- 
- 
- 
  /*------------------------------------------------------------------------------
    6.0 - Admin Header
  ------------------------------------------------------------------------------*/
--- 216,221 ----
***************
*** 430,437 ****
  	left: 0;
  }
  
! #adminmenu li .wp-submenu,
! .folded #adminmenu .wp-has-current-submenu .wp-submenu {
  	left: auto;
  	right: 146px;
  }
--- 352,358 ----
  	left: 0;
  }
  
! #adminmenu li .wp-submenu {
  	left: auto;
  	right: 146px;
  }
***************
*** 576,581 ****
--- 497,558 ----
  	float: right;
  }
  
+ /* Auto-folding of the admin menu */
+ @media only screen and (max-width: 900px) {
+ 	#adminmenu li .wp-submenu,
+ 	#adminmenu .wp-has-current-submenu .wp-submenu {
+ 		left: auto;
+ 		right: 26px;
+ 	}
+ 
+ 	#adminmenu li.focused.wp-has-current-submenu .wp-submenu,
+ 	#adminmenu .wp-has-current-submenu .wp-submenu.sub-open {
+ 		padding: 0 0 8px 8px;
+ 	}
+ 
+ 	.folded #adminmenu .wp-not-current-submenu li a {
+ 		padding-left: 0;
+ 		padding-right: 12px;
+ 	}
+ 
+ 	#adminmenu li li,
+ 	#adminmenu li li a {
+ 		padding-left: inherit;
+ 		padding-right: 0
+ 	}
+ 
+ 	.wp-menu-arrow {
+ 		-moz-transform:    translate( -27px );
+ 		-webkit-transform: translate( -27px );
+ 		-o-transform:      translate( -27px );
+ 		-ms-transform:     translate( -27px );
+ 		transform:         translate( -27px );
+ 	}
+ 
+ 	#adminmenu .wp-submenu ul {
+ 		border-width: 0 1px 0 0;
+ 	}
+ 
+ 	#adminmenu .wp-submenu a {
+ 		padding-left: 0;
+ 		padding-right: 10px;
+ 	}
+ 
+ 	#adminmenu a.wp-has-submenu {
+ 		margin-left: 0;
+ 		margin-right: 40px;
+ 	}
+ 
+ 	body #wpcontent {
+ 		margin-left: 0;
+ 		margin-right: 52px;
+ 	}
+ 
+ 	body .wp-admin #footer {
+ 		margin-left: 15px;
+ 		margin-right: 52px;
+ 	}
+ }
  
  /* List table styles */
  .post-com-count-wrapper {
***************
*** 725,731 ****
  	margin-right: 0;
  	margin-left: 10px;
  	font-family: Tahoma, Arial, sans-serif;
! 	font-style: bold;
  }
  
  .tablenav .actions {
--- 702,708 ----
  	margin-right: 0;
  	margin-left: 10px;
  	font-family: Tahoma, Arial, sans-serif;
! 	font-style: normal;
  }
  
  .tablenav .actions {
***************
*** 829,834 ****
--- 806,832 ----
  /*------------------------------------------------------------------------------
    11.0 - Write/Edit Post Screen
  ------------------------------------------------------------------------------*/
+ /* structural/layout */
+ #post-body-content {
+ 	float: right;
+ }
+ 
+ #poststuff #post-body.columns-2 {
+ 	margin-left: 300px;
+ 	margin-right: 0;
+ }
+ 
+ #post-body.columns-2 #postbox-container-1 {
+ 	float: left;
+ 	margin-left: -300px;
+ 	margin-right: 0;
+ }
+ 
+ @media only screen and (max-width: 850px) {
+ 	#wpbody-content #post-body.columns-2 #postbox-container-1 {
+ 		margin-left: 0;
+ 	}
+ }
  
  #titlediv #title-prompt-text,
  #wp-fullscreen-title-prompt-text {
***************
*** 868,898 ****
  	float: left;
  }
  
! 
! #post-body ul.category-tabs,
! #post-body ul.add-menu-item-tabs {
! 	float: right;
! 	text-align: left;
! 	/* Negative margin for the sake of those without JS: all tabs display */
! 	margin: 0 5px 0 -120px;
! }
! 
! 
! #post-body ul.category-tabs li.tabs,
! #post-body ul.add-menu-item-tabs li.tabs {
! 	-webkit-border-top-left-radius: 0;
! 	-webkit-border-top-right-radius: 3px;
! 	-webkit-border-bottom-left-radius: 0;
! 	-webkit-border-bottom-right-radius: 3px;
! 	border-top-left-radius: 0;
! 	border-top-right-radius: 3px;
! 	border-bottom-left-radius: 0;
! 	border-bottom-right-radius: 3px;
! }
! 
! #post-body .categorydiv div.tabs-panel,
! .taxonomy div.tabs-panel,
! #post-body #linkcategorydiv div.tabs-panel {
  	margin: 0 125px 0 5px;
  }
  
--- 866,872 ----
  	float: left;
  }
  
! .taxonomy div.tabs-panel {
  	margin: 0 125px 0 5px;
  }
  
***************
*** 906,929 ****
  	padding-right: 5px;
  }
  
- #post-body .category-tabs li.tabs,
  #post-body .add-menu-item-tabs li.tabs {
  	border-width: 1px 1px 1px 0;
  	margin-right: 0;
  	margin-left: -1px;
  }
  
- /* positioning etc. */
- 
- #posts-filter fieldset {
- 	float: right;
- 	margin: 0 0 1em 1.5ex;
- }
- 
- #posts-filter fieldset legend {
- 	padding: 0 1px .2em 0;
- }
- 
  /* Global classes */
  
  #post-body .tagsdiv #newtag {
--- 880,891 ----
***************
*** 974,981 ****
  	margin-right: 120px;
  }
  
- 
- #post-body ul.category-tabs,
  #post-body ul.add-menu-item-tabs {
  	float: right;
  	text-align: left;
--- 936,941 ----
***************
*** 983,989 ****
  	margin: 0 5px 0 -120px;
  }
  
- #post-body ul.category-tabs li.tabs,
  #post-body ul.add-menu-item-tabs li.tabs {
  	-webkit-border-top-left-radius: 0;
  	-webkit-border-top-right-radius: 3px;
--- 943,948 ----
***************
*** 1002,1014 ****
  .categorydiv ul.categorychecklist ul,
  .customlinkdiv ul.categorychecklist ul,
  .posttypediv ul.categorychecklist ul,
! .taxonomydiv ul.categorychecklist ul,
! #linkcategorydiv ul.categorychecklist ul {
  	margin-left: 0;
  	margin-right: 18px;
  }
  
- #post-body .category-tabs li.tabs,
  #post-body .add-menu-item-tabs li.tabs {
  	border-style: solid solid solid none;
  	border-width: 1px 1px 1px 0;
--- 961,971 ----
  .categorydiv ul.categorychecklist ul,
  .customlinkdiv ul.categorychecklist ul,
  .posttypediv ul.categorychecklist ul,
! .taxonomydiv ul.categorychecklist ul {
  	margin-left: 0;
  	margin-right: 18px;
  }
  
  #post-body .add-menu-item-tabs li.tabs {
  	border-style: solid solid solid none;
  	border-width: 1px 1px 1px 0;
***************
*** 1040,1045 ****
--- 997,1006 ----
  	text-align: right;
  }
  
+ .links-table th {
+ 	text-align: right;
+ }
+ 
  /*------------------------------------------------------------------------------
    14.0 - Media Screen
  ------------------------------------------------------------------------------*/
***************
*** 1201,1214 ****
    16.0 - Themes
  ------------------------------------------------------------------------------*/
  
! td.available-theme {
! 	text-align: right;
  }
  
  #current-theme img {
  	float: right;
  	margin-right: 0;
! 	margin-left: 1em;
  }
  
  #broken-themes {
--- 1158,1251 ----
    16.0 - Themes
  ------------------------------------------------------------------------------*/
  
! h3.available-themes {
! 	float: right;
! }
! 
! .available-theme {
! 	margin-right: 0;
! 	margin-left: 10px;
! 	padding: 20px 0 20px 20px;
! }
! 
! #current-theme .theme-info li,
! .theme-options li,
! .available-theme .action-links li {
! 	float: right;
! 	padding-right: 0;
! 	padding-left: 10px;
! 	margin-right: 0;
! 	margin-left: 10px;
! 	border-right: none;
! 	border-left: 1px solid #dfdfdf;
! }
! 
! .available-theme .action-links li {
! 	padding-left: 8px;
! 	margin-left: 8px;
! }
! 
! #current-theme .theme-info li:last-child,
! .theme-options li:last-child,
! .available-theme .action-links li:last-child {
! 	padding-left: 0;
! 	margin-right: 0;
! 	border-left: 0;
! }
! 
! .available-theme .action-links .delete-theme {
! 	float: left;
! 	margin-left: 0;
! 	margin-right: 8px;
! }
! 
! .available-theme .action-links p {
! 	float: right;
! }
! 
! #current-theme.has-screenshot {
! 	padding-left: 0;
! 	padding-right: 330px;
! }
! 
! #current-theme h4 span {
! 	margin-left: 0;
! 	margin-right: 20px;
  }
  
  #current-theme img {
  	float: right;
+ 	width: 300px;
+ 	margin-left: 0;
+ 	margin-right: -330px;
+ }
+ 
+ .theme-options .load-customize {
+ 	margin-right: 0;
+ 	margin-left: 30px;
+ 	float: right;
+ }
+ 
+ .theme-options span {
+ 	float: right;
  	margin-right: 0;
! 	margin-left: 10px;
! }
! 
! .theme-options ul {
! 	float: right;
! }
! 
! /* Allow for three-up on 1024px wide screens, e.g. tablets */
! @media only screen and (max-width: 1200px) {
! 	#current-theme.has-screenshot {
! 		padding-right: 270px;
! 	}
! 
! 	#current-theme img {
! 		margin-right: -270px;
! 		width: 240px;
! 	}
  }
  
  #broken-themes {
***************
*** 1278,1283 ****
--- 1315,1326 ----
  	margin-left: 5px
  }
  
+ #profile-page #pass1,
+ #profile-page #pass2,
+ #profile-page #user_login {
+ 	direction: ltr;
+ }
+ 
  #your-profile legend {
  	font-family: Tahoma, Arial, sans-serif;
  }
***************
*** 1287,1294 ****
  ------------------------------------------------------------------------------*/
  
  .pressthis a span {
! 	background-position: -20px 5px ;
! 	padding: 8px 32px 8px 0;
  }
  
  .pressthis a:after {
--- 1330,1337 ----
  ------------------------------------------------------------------------------*/
  
  .pressthis a span {
! 	background-position: right 5px;
! 	padding: 8px 27px 8px 11px;
  }
  
  .pressthis a:after {
***************
*** 1366,1406 ****
  	margin-right: 3em;
  }
  
! .about-wrap .feature-section .left-feature,
! .about-wrap .feature-section img,
! .about-wrap .feature-section .right-feature {
! 	float: right;
! }
! 
! .about-wrap .feature-section .left-feature {
! 	margin-right: 0;
! 	margin-left: 0;
! }
! 
! .about-wrap .feature-section .right-feature {
! 	margin-left: 0;
! 	margin-right: 0;
! }
! 
! .about-wrap .feature-section.text-features {
! 	float: right;
! }
! .about-wrap .feature-section.screenshot-features {
  	float: left;
  }
- .about-wrap .feature-section.screenshot-features .angled-right {
- 	margin-left: 0;
- 	margin-right: 2.5em;
- }
- .about-wrap .feature-section.screenshot-features .angled-right p {
- 	margin-left: 0;
- 	margin-right: 290px;
- }
  
! .about-wrap .feature-section .angled-right img,
! .about-wrap .feature-section .angled-left img {
! 	margin-right: 0;
! 	margin-left: 30px;
  }
  
  .about-wrap .feature-section.three-col div {
--- 1409,1420 ----
  	margin-right: 3em;
  }
  
! .about-wrap .three-col-images .last-feature {
  	float: left;
  }
  
! .about-wrap .three-col-images .first-feature {
! 	float: right;
  }
  
  .about-wrap .feature-section.three-col div {
***************
*** 1419,1450 ****
  	margin-left: 0;
  }
  
! .about-wrap .feature-section .feature-images img {
! 	margin-right: auto;
! 	margin-left: 5px;
! }
! .about-wrap .feature-section.images-stagger-left .angled-left {
! 	margin-left: auto;
! 	margin-right: 5px;
  }
! .about-wrap .feature-section .angled-right {
  	float: left;
  }
! .about-wrap .feature-section.images-stagger-right .feature-images {
! 	right: auto;
! 	left: 0;
! }
! .about-wrap .feature-section.images-stagger-left .feature-images {
! 	left: auto;
! 	right: 0;
! }
! .about-wrap .feature-section.images-stagger-right .left-feature {
! 	margin-right: 0;
! 	margin-left: 350px;
! }
! .about-wrap .feature-section.images-stagger-left .right-feature {
! 	margin-left: 0;
! 	margin-right: 350px;
  }
  
  .about-wrap li.wp-person,
--- 1436,1453 ----
  	margin-left: 0;
  }
  
! .about-wrap .feature-section img {
! 	margin: 0 0 10px 0.7%;
  }
! 
! .about-wrap .feature-section.images-stagger-right img {
  	float: left;
+ 	margin: 0 12px 12px 5px;
  }
! 
! .about-wrap .feature-section.images-stagger-left img {
! 	float: right;
! 	margin: 0 5px 12px 12px;
  }
  
  .about-wrap li.wp-person,
***************
*** 1566,1571 ****
--- 1569,1640 ----
  	float: left;
  }
  
+ /*------------------------------------------------------------------------------
+   26.0 - Full Overlay w/ Sidebar
+ ------------------------------------------------------------------------------*/
+ .wp-full-overlay .wp-full-overlay-sidebar {
+ 	margin: 0;
+ 	left: auto;
+ 	right: 0;
+ 	border-right: 0;
+ 	border-left: 1px solid rgba( 0, 0, 0, 0.2 );
+ }
+ 
+ .wp-full-overlay-sidebar:after {
+ 	right: auto;
+ 	left: 0;
+ 	box-shadow: inset 5px 0 4px -4px rgba(0, 0, 0, 0.1);
+ }
+ 
+ .wp-full-overlay.collapsed,
+ .wp-full-overlay.expanded .wp-full-overlay-sidebar {
+ 	margin-right: 0 !important;
+ }
+ 
+ .wp-full-overlay.expanded {
+ 	margin-right: 300px;
+ 	margin-left: 0;
+ }
+ 
+ .wp-full-overlay.collapsed .wp-full-overlay-sidebar {
+ 	margin-right: -300px;
+ 	margin-left: 0;
+ }
+ 
+ /* Collapse Button */
+ .wp-full-overlay .collapse-sidebar {
+ 	right: 0;
+ 	left: auto;
+ 	margin-right: 15px;
+ }
+ 
+ .wp-full-overlay.collapsed .collapse-sidebar {
+ 	right: 100%;
+ }
+ 
+ .wp-full-overlay .collapse-sidebar-arrow {
+ 	margin-right: 2px;
+ 	margin-left: 0;
+ 	background: transparent url('../../wp-admin/images/arrows.png') no-repeat 0 -108px;
+ }
+ 
+ .wp-full-overlay.collapsed .collapse-sidebar-arrow {
+ 	background-position: 0 -72px;
+ }
+ 
+ .wp-full-overlay .collapse-sidebar-label {
+ 	right: 100%;
+ 	left: auto;
+ 	margin-right: 10px;
+ 	margin-left: 0;
+ }
+ 
+ /*------------------------------------------------------------------------------
+   27.0 - Customize Loader
+ ------------------------------------------------------------------------------*/
+ .install-theme-info .theme-install {
+ 	float: left;
+ }
  
  /* MERGED */
  
***************
*** 1755,1762 ****
  a.rsswidget,
  #dashboard_plugins h4,
  #dashboard_plugins h5,
! #dashboard_recent_comments .comment-meta .approve {
! 	font-family: Tahoma, Arial;
  }
  
  #dashboard_right_now p.sub  {
--- 1823,1832 ----
  a.rsswidget,
  #dashboard_plugins h4,
  #dashboard_plugins h5,
! #dashboard_recent_comments .comment-meta .approve,
! #dashboard_right_now td.b,
! #dashboard_right_now .versions a {
! 	font-family: Tahoma, Arial, sans-serif;
  }
  
  #dashboard_right_now p.sub  {
***************
*** 1768,1774 ****
  	padding-right: 0;
  	padding-left: 6px;
  	text-align: left;
- 	font-family: Tahoma, Arial;
  }
  
  #dashboard_right_now .t {
--- 1838,1843 ----
***************
*** 1784,1793 ****
  	float:left;
  }
  
- #dashboard_right_now .versions a {
- 	font-family: Tahoma, Arial;
- }
- 
  #dashboard_right_now a.button {
  	float: left;
  	clear: left;
--- 1853,1858 ----
***************
*** 1825,1831 ****
  }
  
  .rss-widget span.rss-date {
! 	font-family: Tahoma, Arial;
  	margin-left: 0;
  	margin-right: 3px;
  }
--- 1890,1896 ----
  }
  
  .rss-widget span.rss-date {
! 	font-family: Tahoma, Arial, sans-serif;
  	margin-left: 0;
  	margin-right: 3px;
  }
***************
*** 1878,1891 ****
  
  /* Recent Drafts */
  #dashboard_recent_drafts h4 abbr {
! 	font-family: Tahoma, Arial;
  	margin-left:0;
  	margin-right: 3px;
  }
  
  /* login */
  body.login {
! 	font-family: Tahoma, arial;
  }
  
  .login form {
--- 1943,1956 ----
  
  /* Recent Drafts */
  #dashboard_recent_drafts h4 abbr {
! 	font-family: Tahoma, Arial, sans-serif;
  	margin-left:0;
  	margin-right: 3px;
  }
  
  /* login */
  body.login {
! 	font-family: Tahoma, Arial, sans-serif;
  }
  
  .login form {
***************
*** 1902,1908 ****
  }
  
  #login form .submit input {
! 	font-family: Tahoma, arial;
  }
  
  .login #nav,
--- 1967,1973 ----
  }
  
  #login form .submit input {
! 	font-family: Tahoma, Arial, sans-serif;
  }
  
  .login #nav,
***************
*** 1920,1926 ****
  .login #user_email {
  	margin-left: 6px;
  	margin-right: 0;
! 	direction:ltr;
  }
  
  .login h1 a {
--- 1985,1991 ----
  .login #user_email {
  	margin-left: 6px;
  	margin-right: 0;
! 	direction: ltr;
  }
  
  .login h1 a {
***************
*** 2030,2039 ****
  }
  
  /* Custom Links */
! #add-custom-link label span { float: right; padding-left: 5px; padding-right:0;}
! .howto span { float: right; }
  
! .list li .menu-item-title input { margin-left: 3px; margin-right: 0 }
  
  /* Nav Menu */
  .menu-item-handle {
--- 2094,2113 ----
  }
  
  /* Custom Links */
! #add-custom-link label span {
! 	float: right;
! 	padding-left: 5px;
! 	padding-right: 0;
! }
! 
! .nav-menus-php .howto span {
! 	float: right;
! }
  
! .list li .menu-item-title input {
! 	margin-left: 3px;
! 	margin-right: 0;
! }
  
  /* Nav Menu */
  .menu-item-handle {
***************
*** 2050,2056 ****
  	margin-left:13em;
  	margin-right:0;
  }
! 
  
  /* WARNING: The factor of 30px is hardcoded into the nav-menus javascript. */
  .menu-item-depth-0 { margin-right: 0px; margin-left:0;}
--- 2124,2133 ----
  	margin-left:13em;
  	margin-right:0;
  }
! .menu-item-handle .item-edit {
! 	right: auto;
! 	left: -20px;
! }
  
  /* WARNING: The factor of 30px is hardcoded into the nav-menus javascript. */
  .menu-item-depth-0 { margin-right: 0px; margin-left:0;}
***************
*** 2110,2123 ****
  	border-width: 0 1px 1px 1px;
  }
  
  .link-to-original {
  	font-style: normal;
  	font-weight: bold;
  }
! 	.link-to-original a {
! 		padding-right: 4px;
! 		padding-left:0;
! 	}
  
  .menu-item-settings .description-thin,
  .menu-item-settings .description-wide {
--- 2187,2205 ----
  	border-width: 0 1px 1px 1px;
  }
  
+ #custom-menu-item-url {
+ 	direction: ltr;
+ }
+ 
  .link-to-original {
  	font-style: normal;
  	font-weight: bold;
  }
! 
! .link-to-original a {
! 	padding-right: 4px;
! 	padding-left:0;
! }
  
  .menu-item-settings .description-thin,
  .menu-item-settings .description-wide {
***************
*** 2148,2164 ****
  	float: right;
  }
  
! 
! /* plugin-install */
! div.star {
! 	left: auto;
! 	right: 0;
! 	letter-spacing: 0;
  }
! 
! .star img, div.star a, div.star a:hover, div.star a:visited {
! 	right: auto;
! 	left: 0;
  }
  
  #plugin-information ul#sidemenu {
--- 2230,2242 ----
  	float: right;
  }
  
! /* Star ratings */
! div.star-holder {
! 	background: url('../images/stars-rtl.png?ver=20120506.png') repeat-x bottom right;
  }
! div.star-holder .star-rating {
! 	background: url('../images/stars-rtl.png?ver=20120506.png') repeat-x top right;
! 	float: right;
  }
  
  #plugin-information ul#sidemenu {
***************
*** 2189,2194 ****
--- 2267,2273 ----
  	padding-right: 20px;
  }
  
+ #plugin-information #section-screenshots ol,
  #plugin-information .updated,
  #plugin-information pre {
  	margin-right: 0;
***************
*** 2201,2207 ****
  	direction: rtl;
  }
  
! #section-description {
  	direction: ltr;
  }
  
--- 2280,2286 ----
  	direction: rtl;
  }
  
! #plugin-information #section-holder .section {
  	direction: ltr;
  }
  
***************
*** 2212,2223 ****
  	position: relative;
  }
  
- #side-info-column {
- 	float: left;
- 	right: auto;
- 	left: 0;
- }
- 
  h3.tb {
  	margin-left: 0;
  	margin-right: 5px;
--- 2291,2296 ----
***************
*** 2248,2267 ****
  
  #category-add input,
  #category-add select {
! 	font-family: Tahoma, Arial;
! }
! 
! .inline-editor ul.cat-checklist ul,
! .categorydiv ul.categorychecklist ul,
! #linkcategorydiv ul.categorychecklist ul {
! 	margin-left: 0;
! 	margin-right: 18px;
! }
! 
! /* Categories */
! .category-tabs li {
! 	padding-left: 0;
! 	padding-right: 8px;
  }
  
  /* Tags */
--- 2321,2327 ----
  
  #category-add input,
  #category-add select {
! 	font-family: Tahoma, Arial, sans-serif;
  }
  
  /* Tags */
***************
*** 2308,2350 ****
  	margin-right: 10px;
  }
  
! /* theme-editor */
  #templateside {
  	float: left;
  }
  
! #template textarea {
  	direction: ltr;
  }
  
  /* theme-install */
! div.star {
! 	left:auto;
! 	right: 0;
! }
! 
! .star img,
! div.star a,
! div.star a:hover,
! div.star a:visited {
! 	right: auto;
! 	left: 0;
! }
! 
! .theme-listing .theme-item h3 {
! 	font-style: normal;
! }
! 
! #theme-information .theme-preview-img {
! 	float: right;
! 	margin: 5px 15px 10px 25px;
! }
! 
! #theme-information .action-button #cancel {
  	float: right;
  }
  
! #theme-information .action-button #install {
  	float: left;
  }
  
--- 2368,2389 ----
  	margin-right: 10px;
  }
  
! /* theme-editor, plugin-editor */
  #templateside {
  	float: left;
  }
  
! #template textarea,
! #docs-list {
  	direction: ltr;
  }
  
  /* theme-install */
! .theme-details .theme-version {
  	float: right;
  }
  
! .theme-details .star-holder {
  	float: left;
  }
  
***************
*** 2415,2418 ****
--- 2454,2532 ----
  	float: left;
  }
  
+ .press-this #header-logo,
+ .press-this #wphead h1 {
+ 	float: right;
+ }
+ 
+ /* RTL */
+ .ltr {
+ 	direction: ltr;
+ }
+ 
+ /* =Localized CSS
+ -------------------------------------------------------------- */
  
+ /* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
+ body.locale-he-il,
+ .locale-he-il .quicktags, .locale-he-il .search,
+ .locale-he-il .howto,
+ .locale-he-il #adminmenu .awaiting-mod,
+ .locale-he-il #adminmenu span.update-plugins,
+ .locale-he-il #sidemenu li a span.update-plugins,
+ .locale-he-il .post-com-count-wrapper,
+ .locale-he-il .widefat th,
+ .locale-he-il .tablenav .displaying-num,
+ .locale-he-il .inline-edit-row fieldset span.title,
+ .locale-he-il .inline-edit-row fieldset span.checkbox-title,
+ .locale-he-il .inline-edit-row fieldset ul.cat-checklist label,
+ .locale-he-il .inline-edit-row .catshow,
+ .locale-he-il .inline-edit-row .cathide,
+ .locale-he-il .inline-edit-row #bulk-titles div,
+ .locale-he-il p.help,
+ .locale-he-il p.description,
+ .locale-he-il span.description,
+ .locale-he-il .form-wrap p,
+ .locale-he-il h2 .nav-tab,
+ .locale-he-il #your-profile legend,
+ .locale-he-il #utc-time, .locale-he-il #local-time,
+ .locale-he-il #poststuff h3,
+ .locale-he-il .metabox-holder h3,
+ .locale-he-il .tool-box .title,
+ .locale-he-il td,
+ .locale-he-il textarea,
+ .locale-he-il input,
+ .locale-he-il select,
+ .locale-he-il .wrap h2,
+ .locale-he-il .subtitle,
+ .locale-he-il .wrap .add-new-h2,
+ .locale-he-il #dashboard_right_now p.sub,
+ .locale-he-il #dashboard-widgets h4,
+ .locale-he-il a.rsswidget,
+ .locale-he-il #dashboard_plugins h4,
+ .locale-he-il #dashboard_plugins h5,
+ .locale-he-il #dashboard_recent_comments .comment-meta .approve,
+ .locale-he-il #dashboard_right_now td.b,
+ .locale-he-il #dashboard_right_now .versions a,
+ .locale-he-il .rss-widget span.rss-date,
+ .locale-he-il #dashboard_recent_drafts h4 abbr,
+ body.login.locale-he-il,
+ .locale-he-il #login form .submit input,
+ .locale-he-il #menu-management .nav-tabs-arrow-right,
+ .locale-he-il #category-add input,
+ .locale-he-il #category-add select,
+ .locale-he-il .submit input,
+ .locale-he-il .button,
+ .locale-he-il .button-primary,
+ .locale-he-il .button-secondary,
+ .locale-he-il .button-highlighted,
+ .locale-he-il #postcustomstuff .submit input,
+ .locale-he-il div.sidebar-name h3 {
+ 	font-family: Arial, sans-serif;
+ }
+ 
+ /* he_IL: Have <em> be bold rather than italic. */
+ .locale-he-il em {
+ 	font-style: normal;
+ 	font-weight: bold;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/custom-background.php ./wordpress-3.4/wp-admin/custom-background.php
*** ./wordpress-3.3.2/wp-admin/custom-background.php	2011-12-01 22:31:01.000000000 -0600
--- ./wordpress-3.4/wp-admin/custom-background.php	2012-06-12 14:27:41.000000000 -0500
***************
*** 53,58 ****
--- 53,61 ----
  	function __construct($admin_header_callback = '', $admin_image_div_callback = '') {
  		$this->admin_header_callback = $admin_header_callback;
  		$this->admin_image_div_callback = $admin_image_div_callback;
+ 
+ 		add_action( 'admin_menu', array( $this, 'init' ) );
+ 		add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) );
  	}
  
  	/**
***************
*** 70,75 ****
--- 73,84 ----
  		add_action("load-$page", array(&$this, 'take_action'), 49);
  		add_action("load-$page", array(&$this, 'handle_upload'), 49);
  
+ 		if ( isset( $_REQUEST['context'] ) && $_REQUEST['context'] == 'custom-background' ) {
+ 			add_filter( 'attachment_fields_to_edit', array( $this, 'attachment_fields_to_edit' ), 10, 2 );
+ 			add_filter( 'media_upload_tabs', array( $this, 'filter_upload_tabs' ) );
+ 			add_filter( 'media_upload_mime_type_links', '__return_empty_array' );
+ 		}
+ 
  		if ( $this->admin_header_callback )
  			add_action("admin_head-$page", $this->admin_header_callback, 51);
  	}
***************
*** 96,101 ****
--- 105,112 ----
  			'<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
  		);
  
+ 		add_thickbox();
+ 		wp_enqueue_script('media-upload');
  		wp_enqueue_script('custom-background');
  		wp_enqueue_style('farbtastic');
  	}
***************
*** 124,129 ****
--- 135,141 ----
  			set_theme_mod('background_image', '');
  			set_theme_mod('background_image_thumb', '');
  			$this->updated = true;
+ 			wp_safe_redirect( $_POST['_wp_http_referer'] );
  			return;
  		}
  
***************
*** 199,213 ****
  
  if ( get_background_image() ) {
  	// background-image URL must be single quote, see below
! 	$background_styles .= ' background-image: url(\'' . get_theme_mod('background_image_thumb', '') . '\');'
  		. ' background-repeat: ' . get_theme_mod('background_repeat', 'repeat') . ';'
  		. ' background-position: top ' . get_theme_mod('background_position_x', 'left');
  }
  ?>
  <div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // must be double quote, see above ?>
  <?php if ( get_background_image() ) { ?>
! <img class="custom-background-image" src="<?php echo get_theme_mod('background_image_thumb', ''); ?>" style="visibility:hidden;" alt="" /><br />
! <img class="custom-background-image" src="<?php echo get_theme_mod('background_image_thumb', ''); ?>" style="visibility:hidden;" alt="" />
  <?php } ?>
  </div>
  <?php } ?>
--- 211,225 ----
  
  if ( get_background_image() ) {
  	// background-image URL must be single quote, see below
! 	$background_styles .= ' background-image: url(\'' . set_url_scheme( get_theme_mod( 'background_image_thumb', get_background_image() ) ) . '\');'
  		. ' background-repeat: ' . get_theme_mod('background_repeat', 'repeat') . ';'
  		. ' background-position: top ' . get_theme_mod('background_position_x', 'left');
  }
  ?>
  <div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // must be double quote, see above ?>
  <?php if ( get_background_image() ) { ?>
! <img class="custom-background-image" src="<?php echo set_url_scheme( get_theme_mod( 'background_image_thumb', get_background_image() ) ); ?>" style="visibility:hidden;" alt="" /><br />
! <img class="custom-background-image" src="<?php echo set_url_scheme( get_theme_mod( 'background_image_thumb', get_background_image() ) ); ?>" style="visibility:hidden;" alt="" />
  <?php } ?>
  </div>
  <?php } ?>
***************
*** 226,232 ****
  </tr>
  <?php endif; ?>
  
! <?php if ( defined( 'BACKGROUND_IMAGE' ) ) : // Show only if a default background image exists ?>
  <tr valign="top">
  <th scope="row"><?php _e('Restore Original Image'); ?></th>
  <td>
--- 238,245 ----
  </tr>
  <?php endif; ?>
  
! <?php $default_image = get_theme_support( 'custom-background', 'default-image' ); ?>
! <?php if ( $default_image && get_background_image() != $default_image ) : ?>
  <tr valign="top">
  <th scope="row"><?php _e('Restore Original Image'); ?></th>
  <td>
***************
*** 240,252 ****
  
  <?php endif; ?>
  <tr valign="top">
! <th scope="row"><?php _e('Upload Image'); ?></th>
  <td><form enctype="multipart/form-data" id="upload-form" method="post" action="">
! <label for="upload"><?php _e('Choose an image from your computer:'); ?></label><br /><input type="file" id="upload" name="import" />
! <input type="hidden" name="action" value="save" />
! <?php wp_nonce_field('custom-background-upload', '_wpnonce-custom-background-upload') ?>
! <?php submit_button( __( 'Upload' ), 'button', 'submit', false ); ?>
! </form>
  </td>
  </tr>
  </tbody>
--- 253,277 ----
  
  <?php endif; ?>
  <tr valign="top">
! <th scope="row"><?php _e('Select Image'); ?></th>
  <td><form enctype="multipart/form-data" id="upload-form" method="post" action="">
! 	<p>
! 		<label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br />
! 		<input type="file" id="upload" name="import" />
! 		<input type="hidden" name="action" value="save" />
! 		<?php wp_nonce_field( 'custom-background-upload', '_wpnonce-custom-background-upload' ); ?>
! 		<?php submit_button( __( 'Upload' ), 'button', 'submit', false ); ?>
! 	</p>
! 	<?php
! 		$image_library_url = get_upload_iframe_src( 'image', null, 'library' );
! 		$image_library_url = remove_query_arg( 'TB_iframe', $image_library_url );
! 		$image_library_url = add_query_arg( array( 'context' => 'custom-background', 'TB_iframe' => 1 ), $image_library_url );
! 	?>
! 	<p>
! 		<label for="choose-from-library-link"><?php _e( 'Or choose an image from your media library:' ); ?></label><br />
! 		<a id="choose-from-library-link" class="button thickbox" href="<?php echo esc_url( $image_library_url ); ?>"><?php _e( 'Choose Image' ); ?></a>
! 	</p>
! 	</form>
  </td>
  </tr>
  </tbody>
***************
*** 302,310 ****
  <tr valign="top">
  <th scope="row"><?php _e( 'Background Color' ); ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Color' ); ?></span></legend>
! <?php $show_clear = get_background_color() ? '' : ' style="display:none"'; ?>
  <input type="text" name="background-color" id="background-color" value="#<?php echo esc_attr(get_background_color()) ?>" />
! <a class="hide-if-no-js" href="#" id="pickcolor"><?php _e('Select a Color'); ?></a> <span<?php echo $show_clear; ?> class="hide-if-no-js" id="clearcolor"> (<a href="#"><?php _e( 'Clear' ); ?></a>)</span>
  <div id="colorPickerDiv" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div>
  </fieldset></td>
  </tr>
--- 327,336 ----
  <tr valign="top">
  <th scope="row"><?php _e( 'Background Color' ); ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Color' ); ?></span></legend>
! <?php $show_clear = get_theme_mod('background_color') ? '' : ' style="display:none"'; ?>
  <input type="text" name="background-color" id="background-color" value="#<?php echo esc_attr(get_background_color()) ?>" />
! <a class="hide-if-no-js" href="#" id="pickcolor"><?php _e('Select a Color'); ?></a> <span<?php echo $show_clear; ?> class="hide-if-no-js" id="clearcolor"> (<a href="#"><?php current_theme_supports( 'custom-background', 'default-color' ) ? _e( 'Default' ) : _e( 'Clear' ); ?></a>)</span>
! <input type="hidden" id="defaultcolor" value="<?php if ( current_theme_supports( 'custom-background', 'default-color' ) ) echo '#' . esc_attr( get_theme_support( 'custom-background', 'default-color' ) ); ?>" />
  <div id="colorPickerDiv" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div>
  </fieldset></td>
  </tr>
***************
*** 357,370 ****
  		wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
  		update_post_meta( $id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) );
  
! 		set_theme_mod('background_image', esc_url($url));
  
  		$thumbnail = wp_get_attachment_image_src( $id, 'thumbnail' );
! 		set_theme_mod('background_image_thumb', esc_url( $thumbnail[0] ) );
  
  		do_action('wp_create_file_in_uploads', $file, $id); // For replication
  		$this->updated = true;
  	}
  
  }
- ?>
--- 383,432 ----
  		wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
  		update_post_meta( $id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) );
  
! 		set_theme_mod('background_image', esc_url_raw($url));
  
  		$thumbnail = wp_get_attachment_image_src( $id, 'thumbnail' );
! 		set_theme_mod('background_image_thumb', esc_url_raw( $thumbnail[0] ) );
  
  		do_action('wp_create_file_in_uploads', $file, $id); // For replication
  		$this->updated = true;
  	}
  
+ 	/**
+ 	 * Replace default attachment actions with "Set as background" link.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	function attachment_fields_to_edit( $form_fields, $post ) {
+ 		$form_fields = array( 'image-size' => $form_fields['image-size'] );
+ 		$form_fields['buttons'] = array( 'tr' => '<tr class="submit"><td></td><td><a data-attachment-id="' . $post->ID . '" class="wp-set-background">' . __( 'Set as background' ) . '</a></td></tr>' );
+ 		$form_fields['context'] = array( 'input' => 'hidden', 'value' => 'custom-background' );
+ 
+ 		return $form_fields;
+ 	}
+ 
+ 	/**
+ 	 * Leave only "Media Library" tab in the uploader window.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	function filter_upload_tabs() {
+ 		return array( 'library' => __('Media Library') );
+ 	}
+ 
+ 	public function wp_set_background_image() {
+ 		if ( ! current_user_can('edit_theme_options') || ! isset( $_POST['attachment_id'] ) ) exit;
+ 		$attachment_id = absint($_POST['attachment_id']);
+ 		$sizes = array_keys(apply_filters( 'image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')) ));
+ 		$size = 'thumbnail';
+ 		if ( in_array( $_POST['size'], $sizes ) )
+ 			$size = esc_attr( $_POST['size'] );
+ 
+ 		update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) );
+ 		$url = wp_get_attachment_image_src( $attachment_id, $size );
+ 		$thumbnail = wp_get_attachment_image_src( $attachment_id, 'thumbnail' );
+ 		set_theme_mod( 'background_image', esc_url_raw( $url[0] ) );
+ 		set_theme_mod( 'background_image_thumb', esc_url_raw( $thumbnail[0] ) );
+ 		exit;
+ 	}
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/custom-header.php ./wordpress-3.4/wp-admin/custom-header.php
*** ./wordpress-3.3.2/wp-admin/custom-header.php	2011-11-30 20:28:47.000000000 -0600
--- ./wordpress-3.4/wp-admin/custom-header.php	2012-06-09 19:32:19.000000000 -0500
***************
*** 72,77 ****
--- 71,78 ----
  	function __construct($admin_header_callback, $admin_image_div_callback = '') {
  		$this->admin_header_callback = $admin_header_callback;
  		$this->admin_image_div_callback = $admin_image_div_callback;
+ 
+ 		add_action( 'admin_menu', array( $this, 'init' ) );
  	}
  
  	/**
***************
*** 90,96 ****
  		add_action("admin_head-$page", array(&$this, 'help') );
  		add_action("admin_head-$page", array(&$this, 'take_action'), 50);
  		add_action("admin_head-$page", array(&$this, 'js'), 50);
! 		add_action("admin_head-$page", $this->admin_header_callback, 51);
  	}
  
  	/**
--- 91,104 ----
  		add_action("admin_head-$page", array(&$this, 'help') );
  		add_action("admin_head-$page", array(&$this, 'take_action'), 50);
  		add_action("admin_head-$page", array(&$this, 'js'), 50);
! 		if ( $this->admin_header_callback )
! 			add_action("admin_head-$page", $this->admin_header_callback, 51);
! 
! 		if ( isset( $_REQUEST['context'] ) && $_REQUEST['context'] == 'custom-header' ) {
! 			add_filter( 'attachment_fields_to_edit', array( $this, 'attachment_fields_to_edit' ), 10, 2 );
! 			add_filter( 'media_upload_tabs', array( $this, 'filter_upload_tabs' ) );
! 			add_filter( 'media_upload_mime_type_links', '__return_empty_array' );
! 		}
  	}
  
  	/**
***************
*** 103,111 ****
  			'id'      => 'overview',
  			'title'   => __('Overview'),
  			'content' =>
! 				'<p>' . __( 'You can set a custom image header for your site. Simply upload the image and crop it, and the new header will go live immediately.' ) . '</p>' .
! 				'<p>' . __( 'If you want to discard your custom header and go back to the default included in your theme, click on the buttons to remove the custom image and restore the original header image.' ) . '</p>' .
! 				'<p>' . __( 'Some themes come with additional header images bundled. If you see multiple images displayed, select the one you&#8217;d like and click the Save Changes button.' ) . '</p>'
  		) );
  
  		get_current_screen()->set_help_sidebar(
--- 111,137 ----
  			'id'      => 'overview',
  			'title'   => __('Overview'),
  			'content' =>
! 				'<p>' . __( 'This screen is used to customize the header section of your theme.') . '</p>' .
! 				'<p>' . __( 'You can choose from the theme&#8217;s default header images, or use one of your own. You can also customize how your Site Title and Tagline are displayed.') . '<p>'
! 		) );
! 
! 		get_current_screen()->add_help_tab( array(
! 			'id'      => 'set-header-image',
! 			'title'   => __('Header Image'),
! 			'content' =>
! 				'<p>' . __( 'You can set a custom image header for your site. Simply upload the image and crop it, and the new header will go live immediately. Alternatively, you can use an image that has already been uploaded to your Media Library by clicking the &#8220;Choose Image&#8221; button.' ) . '</p>' .
! 				'<p>' . __( 'Some themes come with additional header images bundled. If you see multiple images displayed, select the one you&#8217;d like and click the &#8220;Save Changes&#8221; button.' ) . '</p>' .
! 				'<p>' . __( 'If your theme has more than one default header image, or you have uploaded more than one custom header image, you have the option of having WordPress display a randomly different image on each page of your site. Click the &#8220;Random&#8221; radio button next to the Uploaded Images or Default Images section to enable this feature.') . '</p>' .
! 				'<p>' . __( 'If you don&#8217;t want a header image to be displayed on your site at all, click the &#8220;Remove Header Image&#8221; button at the bottom of the Header Image section of this page. If you want to re-enable the header image later, you just have to select one of the other image options and click &#8220;Save Changes&#8221;.') . '</p>'
! 		) );
! 
! 		get_current_screen()->add_help_tab( array(
! 			'id'      => 'set-header-text',
! 			'title'   => __('Header Text'),
! 			'content' =>
! 				'<p>' . sprintf( __( 'For most themes, the header text is your Site Title and Tagline, as defined in the <a href="%1$s">General Settings</a> section.' ), admin_url( 'options-general.php' ) ) . '<p>' .
! 				'<p>' . __( 'In the Header Text section of this page, you can choose whether to display this text or hide it. You can also choose a color for the text by typing in a legitimate HTML hex value (eg: &#8220;#ff0000&#8221; for red) or by clicking &#8220;Select a Color&#8221; and dialing in a color using the color picker.') . '</p>' .
! 				'<p>' . __( 'Don&#8217;t forget to Save Changes when you&#8217;re done!') . '</p>'
  		) );
  
  		get_current_screen()->set_help_sidebar(
***************
*** 127,134 ****
  			return 1;
  
  		$step = (int) $_GET['step'];
! 		if ( $step < 1 || 3 < $step )
! 			$step = 1;
  
  		return $step;
  	}
--- 153,163 ----
  			return 1;
  
  		$step = (int) $_GET['step'];
! 		if ( $step < 1 || 3 < $step ||
! 			( 2 == $step && ! wp_verify_nonce( $_REQUEST['_wpnonce-custom-header-upload'], 'custom-header-upload' ) ) ||
! 			( 3 == $step && ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'custom-header-crop-image' ) )
! 		)
! 			return 1;
  
  		return $step;
  	}
***************
*** 141,150 ****
  	function js_includes() {
  		$step = $this->step();
  
! 		if ( ( 1 == $step || 3 == $step ) && $this->header_text() )
! 			wp_enqueue_script('farbtastic');
! 		elseif ( 2 == $step )
  			wp_enqueue_script('imgareaselect');
  	}
  
  	/**
--- 170,184 ----
  	function js_includes() {
  		$step = $this->step();
  
! 		if ( ( 1 == $step || 3 == $step ) ) {
! 			add_thickbox();
! 			wp_enqueue_script( 'media-upload' );
! 			wp_enqueue_script( 'custom-header' );
! 			if ( current_theme_supports( 'custom-header', 'header-text' ) )
! 				wp_enqueue_script('farbtastic');
! 		} elseif ( 2 == $step ) {
  			wp_enqueue_script('imgareaselect');
+ 		}
  	}
  
  	/**
***************
*** 155,179 ****
  	function css_includes() {
  		$step = $this->step();
  
! 		if ( ( 1 == $step || 3 == $step ) && $this->header_text() )
  			wp_enqueue_style('farbtastic');
  		elseif ( 2 == $step )
  			wp_enqueue_style('imgareaselect');
  	}
  
  	/**
- 	 * Check if header text is allowed
- 	 *
- 	 * @since 3.0.0
- 	 */
- 	function header_text() {
- 		if ( defined( 'NO_HEADER_TEXT' ) && NO_HEADER_TEXT )
- 			return false;
- 
- 		return true;
- 	}
- 
- 	/**
  	 * Execute custom header modification.
  	 *
  	 * @since 2.6.0
--- 189,201 ----
  	function css_includes() {
  		$step = $this->step();
  
! 		if ( ( 1 == $step || 3 == $step ) && current_theme_supports( 'custom-header', 'header-text' ) )
  			wp_enqueue_style('farbtastic');
  		elseif ( 2 == $step )
  			wp_enqueue_style('imgareaselect');
  	}
  
  	/**
  	 * Execute custom header modification.
  	 *
  	 * @since 2.6.0
***************
*** 189,195 ****
  
  		if ( isset( $_POST['resetheader'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			remove_theme_mod( 'header_image' );
  			return;
  		}
  
--- 211,217 ----
  
  		if ( isset( $_POST['resetheader'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			$this->reset_header_image();
  			return;
  		}
  
***************
*** 201,236 ****
  
  		if ( isset( $_POST['removeheader'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			set_theme_mod( 'header_image', 'remove-header' );
  			return;
  		}
  
! 		if ( isset( $_POST['text-color'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
  			$_POST['text-color'] = str_replace( '#', '', $_POST['text-color'] );
! 			if ( 'blank' == $_POST['text-color'] ) {
  				set_theme_mod( 'header_textcolor', 'blank' );
- 			} else {
- 				$color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['text-color']);
- 				if ( strlen($color) == 6 || strlen($color) == 3 )
- 					set_theme_mod('header_textcolor', $color);
- 			}
  		}
  
  		if ( isset( $_POST['default-header'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			if ( 'random-default-image' == $_POST['default-header'] ) {
! 				set_theme_mod( 'header_image', 'random-default-image' );
! 			} elseif ( 'random-uploaded-image' == $_POST['default-header'] ) {
! 				set_theme_mod( 'header_image', 'random-uploaded-image' );
! 			} else {
! 				$this->process_default_headers();
! 				$uploaded = get_uploaded_header_images();
! 				if ( isset( $uploaded[$_POST['default-header']] ) )
! 					set_theme_mod( 'header_image', esc_url( $uploaded[$_POST['default-header']]['url'] ) );
! 				elseif ( isset( $this->default_headers[$_POST['default-header']] ) )
! 					set_theme_mod( 'header_image', esc_url( $this->default_headers[$_POST['default-header']]['url'] ) );
! 			}
  		}
  	}
  
--- 223,249 ----
  
  		if ( isset( $_POST['removeheader'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			$this->remove_header_image();
  			return;
  		}
  
! 		if ( isset( $_POST['text-color'] ) && ! isset( $_POST['display-header-text'] ) ) {
! 			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			set_theme_mod( 'header_textcolor', 'blank' );
! 		} elseif ( isset( $_POST['text-color'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
  			$_POST['text-color'] = str_replace( '#', '', $_POST['text-color'] );
! 			$color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['text-color']);
! 			if ( strlen($color) == 6 || strlen($color) == 3 )
! 				set_theme_mod('header_textcolor', $color);
! 			elseif ( ! $color )
  				set_theme_mod( 'header_textcolor', 'blank' );
  		}
  
  		if ( isset( $_POST['default-header'] ) ) {
  			check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' );
! 			$this->set_header_image( $_POST['default-header'] );
! 			return;
  		}
  	}
  
***************
*** 290,298 ****
  			echo '<div class="default-header">';
  			echo '<label><input name="default-header" type="radio" value="' . esc_attr( $header_key ) . '" ' . checked( $header_url, get_theme_mod( 'header_image' ), false ) . ' />';
  			$width = '';
! 			if ( !empty( $header['uploaded'] ) )
  				$width = ' width="230"';
! 			echo '<img src="' . $header_thumbnail . '" alt="' . esc_attr( $header_desc ) .'" title="' . esc_attr( $header_desc ) . '"' . $width . ' /></label>';
  			echo '</div>';
  		}
  		echo '<div class="clear"></div></div>';
--- 303,311 ----
  			echo '<div class="default-header">';
  			echo '<label><input name="default-header" type="radio" value="' . esc_attr( $header_key ) . '" ' . checked( $header_url, get_theme_mod( 'header_image' ), false ) . ' />';
  			$width = '';
! 			if ( !empty( $header['attachment_id'] ) )
  				$width = ' width="230"';
! 			echo '<img src="' . set_url_scheme( $header_thumbnail ) . '" alt="' . esc_attr( $header_desc ) .'" title="' . esc_attr( $header_desc ) . '"' . $width . ' /></label>';
  			echo '</div>';
  		}
  		echo '<div class="clear"></div></div>';
***************
*** 305,311 ****
  	 */
  	function js() {
  		$step = $this->step();
! 		if ( ( 1 == $step || 3 == $step ) && $this->header_text() )
  			$this->js_1();
  		elseif ( 2 == $step )
  			$this->js_2();
--- 318,324 ----
  	 */
  	function js() {
  		$step = $this->step();
! 		if ( ( 1 == $step || 3 == $step ) && current_theme_supports( 'custom-header', 'header-text' ) )
  			$this->js_1();
  		elseif ( 2 == $step )
  			$this->js_2();
***************
*** 319,404 ****
  	function js_1() { ?>
  <script type="text/javascript">
  /* <![CDATA[ */
! 	var text_objects = ['#name', '#desc', '#text-color-row'];
! 	var farbtastic;
! 	var default_color = '#<?php echo HEADER_TEXTCOLOR; ?>';
! 	var old_color = null;
  
  	function pickColor(color) {
! 		jQuery('#name').css('color', color);
! 		jQuery('#desc').css('color', color);
! 		jQuery('#text-color').val(color);
  		farbtastic.setColor(color);
  	}
  
! 	function toggle_text(s) {
! 		if (jQuery(s).attr('id') == 'showtext' && jQuery('#text-color').val() != 'blank')
  			return;
! 
! 		if (jQuery(s).attr('id') == 'hidetext' && jQuery('#text-color').val() == 'blank')
! 			return;
! 
! 		if (jQuery('#text-color').val() == 'blank') {
! 			//Show text
! 			if (old_color == '#blank')
! 				old_color = default_color;
! 
! 			jQuery( text_objects.toString() ).show();
! 			jQuery('#text-color').val(old_color);
! 			jQuery('#name').css('color', old_color);
! 			jQuery('#desc').css('color', old_color);
! 			pickColor(old_color);
  		} else {
! 			//Hide text
! 			jQuery( text_objects.toString() ).hide();
! 			old_color = jQuery('#text-color').val();
! 			jQuery('#text-color').val('blank');
  		}
  	}
  
! 	jQuery(document).ready(function() {
! 		jQuery('#pickcolor').click(function() {
! 			jQuery('#color-picker').show();
  		});
  
! 		jQuery('input[name="hidetext"]').click(function() {
! 			toggle_text(this);
! 		});
  
! 		jQuery('#defaultcolor').click(function() {
  			pickColor(default_color);
! 			jQuery('#text-color').val(default_color)
  		});
  
! 		jQuery('#text-color').keyup(function() {
! 			var _hex = jQuery('#text-color').val();
  			var hex = _hex;
  			if ( hex[0] != '#' )
  				hex = '#' + hex;
  			hex = hex.replace(/[^#a-fA-F0-9]+/, '');
  			if ( hex != _hex )
! 				jQuery('#text-color').val(hex);
  			if ( hex.length == 4 || hex.length == 7 )
  				pickColor( hex );
  		});
  
! 		jQuery(document).mousedown(function(){
! 			jQuery('#color-picker').each( function() {
! 				var display = jQuery(this).css('display');
  				if (display == 'block')
! 					jQuery(this).fadeOut(2);
  			});
  		});
  
! 		farbtastic = jQuery.farbtastic('#color-picker', function(color) { pickColor(color); });
! 		<?php if ( $color = get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) ) { ?>
! 		pickColor('#<?php echo $color; ?>');
! 		<?php } ?>
! 
! 		<?php if ( 'blank' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) || '' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || ! $this->header_text() ) { ?>
  		toggle_text();
  		<?php } ?>
  	});
  /* ]]> */
  </script>
  <?php
--- 332,406 ----
  	function js_1() { ?>
  <script type="text/javascript">
  /* <![CDATA[ */
! var farbtastic;
! (function($){
! 	var default_color = '#<?php echo get_theme_support( 'custom-header', 'default-text-color' ); ?>',
! 		header_text_fields;
  
  	function pickColor(color) {
! 		$('#name').css('color', color);
! 		$('#desc').css('color', color);
! 		$('#text-color').val(color);
  		farbtastic.setColor(color);
  	}
  
! 	function toggle_text() {
! 		var checked = $('#display-header-text').prop('checked'),
! 			text_color;
! 		header_text_fields.toggle( checked );
! 		if ( ! checked )
  			return;
! 		text_color = $('#text-color');
! 		if ( '' == text_color.val().replace('#', '') ) {
! 			text_color.val( default_color );
! 			pickColor( default_color );
  		} else {
! 			pickColor( text_color.val() );
  		}
  	}
  
! 	$(document).ready(function() {
! 		header_text_fields = $('.displaying-header-text');
! 		$('#pickcolor').click(function(e) {
! 			e.preventDefault();
! 			$('#color-picker').show();
  		});
  
! 		$('#display-header-text').click( toggle_text );
  
! 		$('#defaultcolor').click(function() {
  			pickColor(default_color);
! 			$('#text-color').val(default_color);
  		});
  
! 		$('#text-color').keyup(function() {
! 			var _hex = $('#text-color').val();
  			var hex = _hex;
  			if ( hex[0] != '#' )
  				hex = '#' + hex;
  			hex = hex.replace(/[^#a-fA-F0-9]+/, '');
  			if ( hex != _hex )
! 				$('#text-color').val(hex);
  			if ( hex.length == 4 || hex.length == 7 )
  				pickColor( hex );
  		});
  
! 		$(document).mousedown(function(){
! 			$('#color-picker').each( function() {
! 				var display = $(this).css('display');
  				if (display == 'block')
! 					$(this).fadeOut(2);
  			});
  		});
  
! 		farbtastic = $.farbtastic('#color-picker', function(color) { pickColor(color); });
! 		<?php if ( display_header_text() ) { ?>
! 		pickColor('#<?php echo get_header_textcolor(); ?>');
! 		<?php } else { ?>
  		toggle_text();
  		<?php } ?>
  	});
+ })(jQuery);
  /* ]]> */
  </script>
  <?php
***************
*** 420,427 ****
  	}
  
  	jQuery(document).ready(function() {
! 		var xinit = <?php echo HEADER_IMAGE_WIDTH; ?>;
! 		var yinit = <?php echo HEADER_IMAGE_HEIGHT; ?>;
  		var ratio = xinit / yinit;
  		var ximg = jQuery('img#upload').width();
  		var yimg = jQuery('img#upload').height();
--- 422,429 ----
  	}
  
  	jQuery(document).ready(function() {
! 		var xinit = <?php echo absint( get_theme_support( 'custom-header', 'width' ) ); ?>;
! 		var yinit = <?php echo absint( get_theme_support( 'custom-header', 'height' ) ); ?>;
  		var ratio = xinit / yinit;
  		var ximg = jQuery('img#upload').width();
  		var yimg = jQuery('img#upload').height();
***************
*** 439,452 ****
  		jQuery('img#upload').imgAreaSelect({
  			handles: true,
  			keys: true,
- 			aspectRatio: xinit + ':' + yinit,
  			show: true,
  			x1: 0,
  			y1: 0,
  			x2: xinit,
  			y2: yinit,
! 			maxHeight: <?php echo HEADER_IMAGE_HEIGHT; ?>,
! 			maxWidth: <?php echo HEADER_IMAGE_WIDTH; ?>,
  			onInit: function () {
  				jQuery('#width').val(xinit);
  				jQuery('#height').val(yinit);
--- 441,468 ----
  		jQuery('img#upload').imgAreaSelect({
  			handles: true,
  			keys: true,
  			show: true,
  			x1: 0,
  			y1: 0,
  			x2: xinit,
  			y2: yinit,
! 			<?php
! 			if ( ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) {
! 			?>
! 			aspectRatio: xinit + ':' + yinit,
! 			<?php
! 			}
! 			if ( ! current_theme_supports( 'custom-header', 'flex-height' ) ) {
! 			?>
! 			maxHeight: <?php echo get_theme_support( 'custom-header', 'height' ); ?>,
! 			<?php
! 			}
! 			if ( ! current_theme_supports( 'custom-header', 'flex-width' ) ) {
! 			?>
! 			maxWidth: <?php echo get_theme_support( 'custom-header', 'width' ); ?>,
! 			<?php
! 			}
! 			?>
  			onInit: function () {
  				jQuery('#width').val(xinit);
  				jQuery('#height').val(yinit);
***************
*** 483,488 ****
--- 499,506 ----
  </div>
  <?php } ?>
  
+ <h3><?php _e( 'Header Image' ); ?></h3>
+ 
  <table class="form-table">
  <tbody>
  
***************
*** 486,526 ****
  <table class="form-table">
  <tbody>
  
- 
  <tr valign="top">
  <th scope="row"><?php _e( 'Preview' ); ?></th>
! <td >
  	<?php if ( $this->admin_image_div_callback ) {
  	  call_user_func( $this->admin_image_div_callback );
  	} else {
  	?>
! 	<div id="headimg" style="max-width:<?php echo HEADER_IMAGE_WIDTH; ?>px;height:<?php echo HEADER_IMAGE_HEIGHT; ?>px;background-image:url(<?php esc_url ( header_image() ) ?>);">
  		<?php
! 		if ( 'blank' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || '' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || ! $this->header_text() )
! 			$style = ' style="display:none;"';
  		else
! 			$style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"';
  		?>
! 		<h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php bloginfo('url'); ?>"><?php bloginfo( 'name' ); ?></a></h1>
! 		<div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div>
  	</div>
  	<?php } ?>
  </td>
  </tr>
! <?php if ( current_theme_supports( 'custom-header-uploads' ) ) : ?>
  <tr valign="top">
! <th scope="row"><?php _e( 'Upload Image' ); ?></th>
  <td>
  	<p><?php _e( 'You can upload a custom header image to be shown at the top of your site instead of the default one. On the next screen you will be able to crop the image.' ); ?><br />
! 	<?php printf( __( 'Images of exactly <strong>%1$d &times; %2$d pixels</strong> will be used as-is.' ), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT ); ?></p>
  	<form enctype="multipart/form-data" id="upload-form" method="post" action="<?php echo esc_attr( add_query_arg( 'step', 2 ) ) ?>">
  	<p>
  		<label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br />
  		<input type="file" id="upload" name="import" />
  		<input type="hidden" name="action" value="save" />
! 		<?php wp_nonce_field( 'custom-header-upload', '_wpnonce-custom-header-upload' ) ?>
  		<?php submit_button( __( 'Upload' ), 'button', 'submit', false ); ?>
  	</p>
  	</form>
  </td>
  </tr>
--- 504,568 ----
  <table class="form-table">
  <tbody>
  
  <tr valign="top">
  <th scope="row"><?php _e( 'Preview' ); ?></th>
! <td>
  	<?php if ( $this->admin_image_div_callback ) {
  	  call_user_func( $this->admin_image_div_callback );
  	} else {
  	?>
! 	<div id="headimg" style="background-image:url(<?php esc_url ( header_image() ) ?>);max-width:<?php echo get_custom_header()->width; ?>px;height:<?php echo get_custom_header()->height; ?>px;">
  		<?php
! 		if ( display_header_text() )
! 			$style = ' style="color:#' . get_header_textcolor() . ';"';
  		else
! 			$style = ' style="display:none;"';
  		?>
! 		<h1><a id="name" class="displaying-header-text" <?php echo $style; ?> onclick="return false;" href="<?php bloginfo('url'); ?>"><?php bloginfo( 'name' ); ?></a></h1>
! 		<div id="desc" class="displaying-header-text" <?php echo $style; ?>><?php bloginfo( 'description' ); ?></div>
  	</div>
  	<?php } ?>
  </td>
  </tr>
! <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
  <tr valign="top">
! <th scope="row"><?php _e( 'Select Image' ); ?></th>
  <td>
  	<p><?php _e( 'You can upload a custom header image to be shown at the top of your site instead of the default one. On the next screen you will be able to crop the image.' ); ?><br />
! 	<?php
! 	if ( ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) {
! 		printf( __( 'Images of exactly <strong>%1$d &times; %2$d pixels</strong> will be used as-is.' ) . '<br />', get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ) );
! 	} elseif ( current_theme_supports( 'custom-header', 'flex-height' ) ) {
! 		if ( ! current_theme_supports( 'custom-header', 'flex-width' ) )
! 			printf( __( 'Images should be at least <strong>%1$d pixels</strong> wide.' ) . ' ', get_theme_support( 'custom-header', 'width' ) );
! 	} elseif ( current_theme_supports( 'custom-header', 'flex-width' ) ) {
! 		if ( ! current_theme_supports( 'custom-header', 'flex-height' ) )
! 			printf( __( 'Images should be at least <strong>%1$d pixels</strong> tall.' ) . ' ', get_theme_support( 'custom-header', 'height' ) );
! 	}
! 	if ( current_theme_supports( 'custom-header', 'flex-height' ) || current_theme_supports( 'custom-header', 'flex-width' ) ) {
! 		if ( current_theme_supports( 'custom-header', 'width' ) )
! 			printf( __( 'Suggested width is <strong>%1$d pixels</strong>.' ) . ' ', get_theme_support( 'custom-header', 'width' ) );
! 		if ( current_theme_supports( 'custom-header', 'height' ) )
! 			printf( __( 'Suggested height is <strong>%1$d pixels</strong>.' ) . ' ', get_theme_support( 'custom-header', 'height' ) );
! 	}
! 	?></p>
  	<form enctype="multipart/form-data" id="upload-form" method="post" action="<?php echo esc_attr( add_query_arg( 'step', 2 ) ) ?>">
  	<p>
  		<label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br />
  		<input type="file" id="upload" name="import" />
  		<input type="hidden" name="action" value="save" />
! 		<?php wp_nonce_field( 'custom-header-upload', '_wpnonce-custom-header-upload' ); ?>
  		<?php submit_button( __( 'Upload' ), 'button', 'submit', false ); ?>
  	</p>
+ 	<?php
+ 		$image_library_url = get_upload_iframe_src( 'image', null, 'library' );
+ 		$image_library_url = remove_query_arg( 'TB_iframe', $image_library_url );
+ 		$image_library_url = add_query_arg( array( 'context' => 'custom-header', 'TB_iframe' => 1 ), $image_library_url );
+ 	?>
+ 	<p>
+ 		<label for="choose-from-library-link"><?php _e( 'Or choose an image from your media library:' ); ?></label><br />
+ 		<a id="choose-from-library-link" class="button thickbox" href="<?php echo esc_url( $image_library_url ); ?>"><?php _e( 'Choose Image' ); ?></a>
+ 	</p>
  	</form>
  </td>
  </tr>
***************
*** 546,552 ****
  <tr valign="top">
  <th scope="row"><?php _e( 'Default Images' ); ?></th>
  <td>
! <?php if ( current_theme_supports( 'custom-header-uploads' ) ) : ?>
  	<p><?php _e( 'If you don&lsquo;t want to upload your own image, you can use one of these cool headers, or show a random one.' ) ?></p>
  <?php else: ?>
  	<p><?php _e( 'You can use one of these cool headers or show a random one on each page.' ) ?></p>
--- 588,594 ----
  <tr valign="top">
  <th scope="row"><?php _e( 'Default Images' ); ?></th>
  <td>
! <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
  	<p><?php _e( 'If you don&lsquo;t want to upload your own image, you can use one of these cool headers, or show a random one.' ) ?></p>
  <?php else: ?>
  	<p><?php _e( 'You can use one of these cool headers or show a random one on each page.' ) ?></p>
***************
*** 567,573 ****
  </tr>
  	<?php endif;
  
! 	if ( defined( 'HEADER_IMAGE' ) && '' != HEADER_IMAGE ) : ?>
  <tr valign="top">
  <th scope="row"><?php _e( 'Reset Image' ); ?></th>
  <td>
--- 609,616 ----
  </tr>
  	<?php endif;
  
! 	$default_image = get_theme_support( 'custom-header', 'default-image' );
! 	if ( $default_image && get_header_image() != $default_image ) : ?>
  <tr valign="top">
  <th scope="row"><?php _e( 'Reset Image' ); ?></th>
  <td>
***************
*** 579,611 ****
  </tbody>
  </table>
  
! 	<?php if ( $this->header_text() ) : ?>
  <table class="form-table">
  <tbody>
! <tr valign="top" class="hide-if-no-js">
! <th scope="row"><?php _e( 'Display Text' ); ?></th>
  <td>
  	<p>
! 	<?php $hidetext = get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ); ?>
! 	<label><input type="radio" value="1" name="hidetext" id="hidetext"<?php checked( ( 'blank' == $hidetext || empty( $hidetext ) )  ? true : false ); ?> /> <?php _e( 'No' ); ?></label>
! 	<label><input type="radio" value="0" name="hidetext" id="showtext"<?php checked( ( 'blank' == $hidetext || empty( $hidetext ) ) ? false : true ); ?> /> <?php _e( 'Yes' ); ?></label>
  	</p>
  </td>
  </tr>
  
! <tr valign="top" id="text-color-row">
  <th scope="row"><?php _e( 'Text Color' ); ?></th>
  <td>
  	<p>
! 		<input type="text" name="text-color" id="text-color" value="#<?php echo esc_attr( get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) ); ?>" />
! 		<span class="description hide-if-js"><?php _e( 'If you want to hide header text, add <strong>#blank</strong> as text color.' );?></span>
! 		<input type="button" class="button hide-if-no-js" value="<?php esc_attr_e( 'Select a Color' ); ?>" id="pickcolor" />
  	</p>
  	<div id="color-picker" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div>
  </td>
  </tr>
  
! 	<?php if ( defined('HEADER_TEXTCOLOR') && get_theme_mod('header_textcolor') ) { ?>
  <tr valign="top">
  <th scope="row"><?php _e('Reset Text Color'); ?></th>
  <td>
--- 622,658 ----
  </tbody>
  </table>
  
! <?php if ( current_theme_supports( 'custom-header', 'header-text' ) ) : ?>
! 
! <h3><?php _e( 'Header Text' ); ?></h3>
! 
  <table class="form-table">
  <tbody>
! <tr valign="top">
! <th scope="row"><?php _e( 'Header Text' ); ?></th>
  <td>
  	<p>
! 	<label><input type="checkbox" name="display-header-text" id="display-header-text"<?php checked( display_header_text() ); ?> /> <?php _e( 'Show header text with your image.' ); ?></label>
  	</p>
  </td>
  </tr>
  
! <tr valign="top" class="displaying-header-text">
  <th scope="row"><?php _e( 'Text Color' ); ?></th>
  <td>
  	<p>
! <?php if ( display_header_text() ) : ?>
! 		<input type="text" name="text-color" id="text-color" value="#<?php echo esc_attr( get_header_textcolor() ); ?>" />
! <?php else : ?>
! 		<input type="text" name="text-color" id="text-color" value="#<?php echo esc_attr( get_theme_support( 'custom-header', 'default-text-color' ) ); ?>" />
! <?php endif; ?>
! 		<a href="#" class="hide-if-no-js" id="pickcolor"><?php _e( 'Select a Color' ); ?></a>
  	</p>
  	<div id="color-picker" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div>
  </td>
  </tr>
  
! 	<?php if ( current_theme_supports( 'custom-header', 'default-text-color' ) && get_theme_mod( 'header_textcolor' ) ) { ?>
  <tr valign="top">
  <th scope="row"><?php _e('Reset Text Color'); ?></th>
  <td>
***************
*** 617,623 ****
  
  </tbody>
  </table>
! 	<?php endif;
  
  do_action( 'custom_header_options' );
  
--- 664,670 ----
  
  </tbody>
  </table>
! <?php endif;
  
  do_action( 'custom_header_options' );
  
***************
*** 636,684 ****
  	 */
  	function step_2() {
  		check_admin_referer('custom-header-upload', '_wpnonce-custom-header-upload');
! 		if ( ! current_theme_supports( 'custom-header-uploads' ) )
  			wp_die( __( 'Cheatin&#8217; uh?' ) );
  
! 		$overrides = array('test_form' => false);
! 		$file = wp_handle_upload($_FILES['import'], $overrides);
! 
! 		if ( isset($file['error']) )
! 			wp_die( $file['error'],  __( 'Image Upload Error' ) );
! 
! 		$url = $file['url'];
! 		$type = $file['type'];
! 		$file = $file['file'];
! 		$filename = basename($file);
! 
! 		// Construct the object array
! 		$object = array(
! 		'post_title' => $filename,
! 		'post_content' => $url,
! 		'post_mime_type' => $type,
! 		'guid' => $url,
! 		'context' => 'custom-header'
! 		);
! 
! 		// Save the data
! 		$id = wp_insert_attachment($object, $file);
! 
! 		list($width, $height, $type, $attr) = getimagesize( $file );
  
! 		if ( $width == HEADER_IMAGE_WIDTH && $height == HEADER_IMAGE_HEIGHT ) {
  			// Add the meta-data
! 			wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
! 			update_post_meta( $id, '_wp_attachment_is_custom_header', get_option('stylesheet' ) );
  
! 			set_theme_mod('header_image', esc_url($url));
! 			do_action('wp_create_file_in_uploads', $file, $id); // For replication
  			return $this->finished();
! 		} elseif ( $width > HEADER_IMAGE_WIDTH ) {
! 			$oitar = $width / HEADER_IMAGE_WIDTH;
! 			$image = wp_crop_image($file, 0, 0, $width, $height, HEADER_IMAGE_WIDTH, $height / $oitar, false, str_replace(basename($file), 'midsize-'.basename($file), $file));
! 			if ( is_wp_error( $image ) )
! 				wp_die( __( 'Image could not be processed.  Please go back and try again.' ), __( 'Image Processing Error' ) );
  
! 			$image = apply_filters('wp_create_file_in_uploads', $image, $id); // For replication
  
  			$url = str_replace(basename($url), basename($image), $url);
  			$width = $width / $oitar;
--- 683,737 ----
  	 */
  	function step_2() {
  		check_admin_referer('custom-header-upload', '_wpnonce-custom-header-upload');
! 		if ( ! current_theme_supports( 'custom-header', 'uploads' ) )
  			wp_die( __( 'Cheatin&#8217; uh?' ) );
  
! 		if ( empty( $_POST ) && isset( $_GET['file'] ) ) {
! 			$attachment_id = absint( $_GET['file'] );
! 			$file = get_attached_file( $attachment_id, true );
! 			$url = wp_get_attachment_image_src( $attachment_id, 'full');
! 			$url = $url[0];
! 		} elseif ( isset( $_POST ) ) {
! 			extract($this->step_2_manage_upload());
! 		}
  
! 		if ( file_exists( $file ) ) {
! 			list( $width, $height, $type, $attr ) = getimagesize( $file );
! 		} else {
! 			$data = wp_get_attachment_metadata( $attachment_id );
! 			$height = $data[ 'height' ];
! 			$width = $data[ 'width' ];
! 			unset( $data );
! 		}
! 
! 		$max_width = 0;
! 		// For flex, limit size of image displayed to 1500px unless theme says otherwise
! 		if ( current_theme_supports( 'custom-header', 'flex-width' ) )
! 			$max_width = 1500;
! 
! 		if ( current_theme_supports( 'custom-header', 'max-width' ) )
! 			$max_width = max( $max_width, get_theme_support( 'custom-header', 'max-width' ) );
! 		$max_width = max( $max_width, get_theme_support( 'custom-header', 'width' ) );
! 
! 		// If flexible height isn't supported and the image is the exact right size
! 		if ( ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' )
! 			&& $width == get_theme_support( 'custom-header', 'width' ) && $height == get_theme_support( 'custom-header', 'height' ) )
! 		{
  			// Add the meta-data
! 			if ( file_exists( $file ) )
! 				wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) );
! 
! 			$this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) );
  
! 			do_action('wp_create_file_in_uploads', $file, $attachment_id); // For replication
  			return $this->finished();
! 		} elseif ( $width > $max_width ) {
! 			$oitar = $width / $max_width;
! 			$image = wp_crop_image($attachment_id, 0, 0, $width, $height, $max_width, $height / $oitar, false, str_replace(basename($file), 'midsize-'.basename($file), $file));
! 			if ( ! $image || is_wp_error( $image ) )
! 				wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
  
! 			$image = apply_filters('wp_create_file_in_uploads', $image, $attachment_id); // For replication
  
  			$url = str_replace(basename($url), basename($image), $url);
  			$width = $width / $oitar;
***************
*** 704,728 ****
  	<input type="hidden" name="y1" id="y1" value="0"/>
  	<input type="hidden" name="width" id="width" value="<?php echo esc_attr( $width ); ?>"/>
  	<input type="hidden" name="height" id="height" value="<?php echo esc_attr( $height ); ?>"/>
! 	<input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo esc_attr( $id ); ?>" />
  	<input type="hidden" name="oitar" id="oitar" value="<?php echo esc_attr( $oitar ); ?>" />
  	<?php wp_nonce_field( 'custom-header-crop-image' ) ?>
  
! 	<?php submit_button( __( 'Crop and Publish' ) ); ?>
  	</p>
  </form>
  </div>
  		<?php
  	}
  
  	/**
  	 * Display third step of custom header image page.
  	 *
  	 * @since 2.1.0
  	 */
  	function step_3() {
! 		check_admin_referer('custom-header-crop-image');
! 		if ( ! current_theme_supports( 'custom-header-uploads' ) )
  			wp_die( __( 'Cheatin&#8217; uh?' ) );
  
  		if ( $_POST['oitar'] > 1 ) {
--- 757,822 ----
  	<input type="hidden" name="y1" id="y1" value="0"/>
  	<input type="hidden" name="width" id="width" value="<?php echo esc_attr( $width ); ?>"/>
  	<input type="hidden" name="height" id="height" value="<?php echo esc_attr( $height ); ?>"/>
! 	<input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo esc_attr( $attachment_id ); ?>" />
  	<input type="hidden" name="oitar" id="oitar" value="<?php echo esc_attr( $oitar ); ?>" />
+ 	<?php if ( empty( $_POST ) && isset( $_GET['file'] ) ) { ?>
+ 	<input type="hidden" name="create-new-attachment" value="true" />
+ 	<?php } ?>
  	<?php wp_nonce_field( 'custom-header-crop-image' ) ?>
  
! 	<p class="submit">
! 	<?php submit_button( __( 'Crop and Publish' ), 'primary', 'submit', false ); ?>
! 	<?php
! 	if ( isset( $oitar ) && 1 == $oitar )
! 		submit_button( __( 'Skip Cropping, Publish Image as Is' ), 'secondary', 'skip-cropping', false );
! 	?>
  	</p>
  </form>
  </div>
  		<?php
  	}
  
+ 
+ 	/**
+ 	 * Upload the file to be cropped in the second step.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	function step_2_manage_upload() {
+ 		$overrides = array('test_form' => false);
+ 		$file = wp_handle_upload($_FILES['import'], $overrides);
+ 
+ 		if ( isset($file['error']) )
+ 			wp_die( $file['error'],  __( 'Image Upload Error' ) );
+ 
+ 		$url = $file['url'];
+ 		$type = $file['type'];
+ 		$file = $file['file'];
+ 		$filename = basename($file);
+ 
+ 		// Construct the object array
+ 		$object = array(
+ 			'post_title'     => $filename,
+ 			'post_content'   => $url,
+ 			'post_mime_type' => $type,
+ 			'guid'           => $url,
+ 			'context'        => 'custom-header'
+ 		);
+ 
+ 		// Save the data
+ 		$attachment_id = wp_insert_attachment( $object, $file );
+ 		return compact( 'attachment_id', 'file', 'filename', 'url', 'type' );
+ 	}
+ 
  	/**
  	 * Display third step of custom header image page.
  	 *
  	 * @since 2.1.0
  	 */
  	function step_3() {
! 		check_admin_referer( 'custom-header-crop-image' );
! 
! 		if ( ! current_theme_supports( 'custom-header', 'uploads' ) )
  			wp_die( __( 'Cheatin&#8217; uh?' ) );
  
  		if ( $_POST['oitar'] > 1 ) {
***************
*** 735,771 ****
  		$attachment_id = absint( $_POST['attachment_id'] );
  		$original = get_attached_file($attachment_id);
  
! 		$cropped = wp_crop_image( $attachment_id, (int) $_POST['x1'], (int) $_POST['y1'], (int) $_POST['width'], (int) $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT );
! 		if ( is_wp_error( $cropped ) )
! 			wp_die( __( 'Image could not be processed.  Please go back and try again.' ), __( 'Image Processing Error' ) );
  
  		$cropped = apply_filters('wp_create_file_in_uploads', $cropped, $attachment_id); // For replication
  
  		$parent = get_post($attachment_id);
  		$parent_url = $parent->guid;
! 		$url = str_replace(basename($parent_url), basename($cropped), $parent_url);
  
  		// Construct the object array
  		$object = array(
  			'ID' => $attachment_id,
  			'post_title' => basename($cropped),
  			'post_content' => $url,
! 			'post_mime_type' => 'image/jpeg',
  			'guid' => $url,
  			'context' => 'custom-header'
  		);
  
  		// Update the attachment
! 		wp_insert_attachment($object, $cropped);
  		wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $cropped ) );
- 		update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', get_option('stylesheet' ) );
  
! 		set_theme_mod('header_image', $url);
  
  		// cleanup
! 		$medium = str_replace(basename($original), 'midsize-'.basename($original), $original);
! 		@unlink( apply_filters( 'wp_delete_file', $medium ) );
! 		@unlink( apply_filters( 'wp_delete_file', $original ) );
  
  		return $this->finished();
  	}
--- 829,903 ----
  		$attachment_id = absint( $_POST['attachment_id'] );
  		$original = get_attached_file($attachment_id);
  
! 
! 		$max_width = 0;
! 		// For flex, limit size of image displayed to 1500px unless theme says otherwise
! 		if ( current_theme_supports( 'custom-header', 'flex-width' ) )
! 			$max_width = 1500;
! 
! 		if ( current_theme_supports( 'custom-header', 'max-width' ) )
! 			$max_width = max( $max_width, get_theme_support( 'custom-header', 'max-width' ) );
! 		$max_width = max( $max_width, get_theme_support( 'custom-header', 'width' ) );
! 
! 		if ( ( current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) || $_POST['width'] > $max_width )
! 			$dst_height = absint( $_POST['height'] * ( $max_width / $_POST['width'] ) );
! 		elseif ( current_theme_supports( 'custom-header', 'flex-height' ) && current_theme_supports( 'custom-header', 'flex-width' ) )
! 			$dst_height = absint( $_POST['height'] );
! 		else
! 			$dst_height = get_theme_support( 'custom-header', 'height' );
! 
! 		if ( ( current_theme_supports( 'custom-header', 'flex-width' ) && ! current_theme_supports( 'custom-header', 'flex-height' ) ) || $_POST['width'] > $max_width )
! 			$dst_width = absint( $_POST['width'] * ( $max_width / $_POST['width'] ) );
! 		elseif ( current_theme_supports( 'custom-header', 'flex-width' ) && current_theme_supports( 'custom-header', 'flex-height' ) )
! 			$dst_width = absint( $_POST['width'] );
! 		else
! 			$dst_width = get_theme_support( 'custom-header', 'width' );
! 
! 		if ( empty( $_POST['skip-cropping'] ) )
! 			$cropped = wp_crop_image( $attachment_id, (int) $_POST['x1'], (int) $_POST['y1'], (int) $_POST['width'], (int) $_POST['height'], $dst_width, $dst_height );
! 		elseif ( ! empty( $_POST['create-new-attachment'] ) )
! 			$cropped = _copy_image_file( $attachment_id );
! 		else
! 			$cropped = get_attached_file( $attachment_id );
! 
! 		if ( ! $cropped || is_wp_error( $cropped ) )
! 			wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
  
  		$cropped = apply_filters('wp_create_file_in_uploads', $cropped, $attachment_id); // For replication
  
  		$parent = get_post($attachment_id);
  		$parent_url = $parent->guid;
! 		$url = str_replace( basename( $parent_url ), basename( $cropped ), $parent_url );
! 
! 		$size = @getimagesize( $cropped );
! 		$image_type = ( $size ) ? $size['mime'] : 'image/jpeg';
  
  		// Construct the object array
  		$object = array(
  			'ID' => $attachment_id,
  			'post_title' => basename($cropped),
  			'post_content' => $url,
! 			'post_mime_type' => $image_type,
  			'guid' => $url,
  			'context' => 'custom-header'
  		);
+ 		if ( ! empty( $_POST['create-new-attachment'] ) )
+ 			unset( $object['ID'] );
  
  		// Update the attachment
! 		$attachment_id = wp_insert_attachment( $object, $cropped );
  		wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $cropped ) );
  
! 		$width = $dst_width;
! 		$height = $dst_height;
! 		$this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) );
  
  		// cleanup
! 		$medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original );
! 		if ( file_exists( $medium ) )
! 			@unlink( apply_filters( 'wp_delete_file', $medium ) );
! 		if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) )
! 			@unlink( apply_filters( 'wp_delete_file', $original ) );
  
  		return $this->finished();
  	}
***************
*** 789,801 ****
  		if ( ! current_user_can('edit_theme_options') )
  			wp_die(__('You do not have permission to customize headers.'));
  		$step = $this->step();
! 		if ( 1 == $step )
! 			$this->step_1();
! 		elseif ( 2 == $step )
  			$this->step_2();
  		elseif ( 3 == $step )
  			$this->step_3();
  	}
  
  }
- ?>
--- 921,1052 ----
  		if ( ! current_user_can('edit_theme_options') )
  			wp_die(__('You do not have permission to customize headers.'));
  		$step = $this->step();
! 		if ( 2 == $step )
  			$this->step_2();
  		elseif ( 3 == $step )
  			$this->step_3();
+ 		else
+ 			$this->step_1();
+ 	}
+ 
+ 	/**
+ 	 * Replace default attachment actions with "Set as header" link.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	function attachment_fields_to_edit( $form_fields, $post ) {
+ 		$form_fields = array();
+ 		$href = esc_url(add_query_arg(array(
+ 			'page' => 'custom-header',
+ 			'step' => 2,
+ 			'_wpnonce-custom-header-upload' => wp_create_nonce('custom-header-upload'),
+ 			'file' => $post->ID
+ 		), admin_url('themes.php')));
+ 
+ 		$form_fields['buttons'] = array( 'tr' => '<tr class="submit"><td></td><td><a data-location="' . $href . '" class="wp-set-header">' . __( 'Set as header' ) . '</a></td></tr>' );
+ 		$form_fields['context'] = array( 'input' => 'hidden', 'value' => 'custom-header' );
+ 
+ 		return $form_fields;
+ 	}
+ 
+ 	/**
+ 	 * Leave only "Media Library" tab in the uploader window.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	function filter_upload_tabs() {
+ 		return array( 'library' => __('Media Library') );
  	}
  
+ 	/**
+ 	 * Choose a header image, selected from existing uploaded and default headers,
+ 	 * or provide an array of uploaded header data (either new, or from media library).
+ 	 *
+ 	 * @param mixed $choice Which header image to select. Allows for values of 'random-default-image',
+ 	 * 	for randomly cycling among the default images; 'random-uploaded-image', for randomly cycling
+ 	 * 	among the uploaded images; the key of a default image registered for that theme; and
+ 	 * 	the key of an image uploaded for that theme (the basename of the URL).
+ 	 *  Or an array of arguments: attachment_id, url, width, height. All are required.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	final public function set_header_image( $choice ) {
+ 		if ( is_array( $choice ) || is_object( $choice ) ) {
+ 			$choice = (array) $choice;
+ 			if ( ! isset( $choice['attachment_id'] ) || ! isset( $choice['url'] ) )
+ 				return;
+ 
+ 			$choice['url'] = esc_url_raw( $choice['url'] );
+ 
+ 			$header_image_data = (object) array(
+ 				'attachment_id' => $choice['attachment_id'],
+ 				'url'           => $choice['url'],
+ 				'thumbnail_url' => $choice['url'],
+ 				'height'        => $choice['height'],
+ 				'width'         => $choice['width'],
+ 			);
+ 
+ 			update_post_meta( $choice['attachment_id'], '_wp_attachment_is_custom_header', get_stylesheet() );
+ 			set_theme_mod( 'header_image', $choice['url'] );
+ 			set_theme_mod( 'header_image_data', $header_image_data );
+ 			return;
+ 		}
+ 
+ 		if ( in_array( $choice, array( 'remove-header', 'random-default-image', 'random-uploaded-image' ) ) ) {
+ 			set_theme_mod( 'header_image', $choice );
+ 			remove_theme_mod( 'header_image_data' );
+ 			return;
+ 		}
+ 
+ 		$uploaded = get_uploaded_header_images();
+ 		if ( $uploaded && isset( $uploaded[ $choice ] ) ) {
+ 			$header_image_data = $uploaded[ $choice ];
+ 
+ 		} else {
+ 			$this->process_default_headers();
+ 			if ( isset( $this->default_headers[ $choice ] ) )
+ 				$header_image_data = $this->default_headers[ $choice ];
+ 			else
+ 				return;
+ 		}
+ 
+ 		set_theme_mod( 'header_image', esc_url_raw( $header_image_data['url'] ) );
+ 		set_theme_mod( 'header_image_data', $header_image_data );
+ 	}
+ 
+ 	/**
+ 	 * Remove a header image.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	final public function remove_header_image() {
+ 		return $this->set_header_image( 'remove-header' );
+ 	}
+ 
+ 	/**
+ 	 * Reset a header image to the default image for the theme.
+ 	 *
+ 	 * This method does not do anything if the theme does not have a default header image.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	final public function reset_header_image() {
+ 		$this->process_default_headers();
+ 		$default = get_theme_support( 'custom-header', 'default-image' );
+ 
+ 		if ( ! $default )
+ 			return $this->remove_header_image();
+ 
+ 		$default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );
+ 
+ 		foreach ( $this->default_headers as $header => $details ) {
+ 			if ( $details['url'] == $default ) {
+ 				$default_data = $details;
+ 				break;
+ 			}
+ 		}
+ 
+ 		set_theme_mod( 'header_image', $default );
+ 		set_theme_mod( 'header_image_data', (object) $default_data );
+ 	}
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/customize.php ./wordpress-3.4/wp-admin/customize.php
*** ./wordpress-3.3.2/wp-admin/customize.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/customize.php	2012-06-12 13:39:16.000000000 -0500
***************
*** 0 ****
--- 1,198 ----
+ <?php
+ /**
+  * Customize Controls
+  *
+  * @package WordPress
+  * @subpackage Customize
+  * @since 3.4.0
+  */
+ 
+ require_once( './admin.php' );
+ if ( ! current_user_can( 'edit_theme_options' ) )
+ 	wp_die( __( 'Cheatin&#8217; uh?' ) );
+ 
+ wp_reset_vars( array( 'url', 'return' ) );
+ $url = urldecode( $url );
+ $url = wp_validate_redirect( $url, home_url( '/' ) );
+ if ( $return )
+ 	$return = wp_validate_redirect( urldecode( $return ) );
+ if ( ! $return )
+ 	$return = $url;
+ 
+ global $wp_scripts, $wp_customize;
+ 
+ $registered = $wp_scripts->registered;
+ $wp_scripts = new WP_Scripts;
+ $wp_scripts->registered = $registered;
+ 
+ add_action( 'customize_controls_print_scripts',        'print_head_scripts', 20 );
+ add_action( 'customize_controls_print_footer_scripts', '_wp_footer_scripts'     );
+ add_action( 'customize_controls_print_styles',         'print_admin_styles', 20 );
+ 
+ do_action( 'customize_controls_init' );
+ 
+ wp_enqueue_script( 'customize-controls' );
+ wp_enqueue_style( 'customize-controls' );
+ 
+ do_action( 'customize_controls_enqueue_scripts' );
+ 
+ // Let's roll.
+ @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
+ 
+ wp_user_settings();
+ _wp_admin_html_begin();
+ 
+ $body_class = '';
+ 
+ if ( wp_is_mobile() ) :
+ 	$body_class .= ' mobile';
+ 
+ 	?><meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=0.8, minimum-scale=0.5, maximum-scale=1.2"><?php
+ endif;
+ 
+ $is_ios = wp_is_mobile() && preg_match( '/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT'] );
+ 
+ if ( $is_ios )
+ 	$body_class .= ' ios';
+ 
+ $admin_title = sprintf( __( '%1$s &#8212; WordPress' ), strip_tags( sprintf( __( 'Customize %s' ), $wp_customize->theme()->display('Name') ) ) );
+ ?><title><?php echo $admin_title; ?></title><?php
+ 
+ do_action( 'customize_controls_print_styles' );
+ do_action( 'customize_controls_print_scripts' );
+ ?>
+ </head>
+ <body class="<?php echo esc_attr( $body_class ); ?>">
+ <div class="wp-full-overlay expanded">
+ 	<form id="customize-controls" class="wrap wp-full-overlay-sidebar">
+ 		<?php wp_nonce_field( 'customize_controls-' . $wp_customize->get_stylesheet() ); ?>
+ 		<div id="customize-header-actions" class="wp-full-overlay-header">
+ 			<?php
+ 				$save_text = $wp_customize->is_theme_active() ? __( 'Save &amp; Publish' ) : __( 'Save &amp; Activate' );
+ 				submit_button( $save_text, 'primary', 'save', false );
+ 			?>
+ 			<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" />
+ 			<a class="back button" href="<?php echo esc_url( $return ? $return : admin_url( 'themes.php' ) ); ?>">
+ 				<?php _e( 'Cancel' ); ?>
+ 			</a>
+ 		</div>
+ 
+ 		<?php
+ 			$screenshot = $wp_customize->theme()->get_screenshot();
+ 			$cannot_expand = ! ( $screenshot || $wp_customize->theme()->get('Description') );
+ 		?>
+ 
+ 		<div class="wp-full-overlay-sidebar-content">
+ 			<div id="customize-info" class="customize-section<?php if ( $cannot_expand ) echo ' cannot-expand'; ?>">
+ 				<div class="customize-section-title">
+ 					<span class="preview-notice"><?php
+ 						/* translators: %s is the theme name in the Customize/Live Preview pane */
+ 						echo sprintf( __( 'You are previewing %s' ), '<strong class="theme-name">' . $wp_customize->theme()->display('Name') . '</strong>' );
+ 					?></span>
+ 				</div>
+ 				<?php if ( ! $cannot_expand ) : ?>
+ 				<div class="customize-section-content">
+ 					<?php if ( $screenshot ) : ?>
+ 						<img class="theme-screenshot" src="<?php echo esc_url( $screenshot ); ?>" />
+ 					<?php endif; ?>
+ 
+ 					<?php if ( $wp_customize->theme()->get('Description') ): ?>
+ 						<div class="theme-description"><?php echo $wp_customize->theme()->display('Description'); ?></div>
+ 					<?php endif; ?>
+ 				</div>
+ 				<?php endif; ?>
+ 			</div>
+ 
+ 			<div id="customize-theme-controls"><ul>
+ 				<?php
+ 				foreach ( $wp_customize->sections() as $section )
+ 					$section->maybe_render();
+ 				?>
+ 			</ul></div>
+ 		</div>
+ 
+ 		<div id="customize-footer-actions" class="wp-full-overlay-footer">
+ 			<a href="#" class="collapse-sidebar button-secondary" title="<?php esc_attr_e('Collapse Sidebar'); ?>">
+ 				<span class="collapse-sidebar-arrow"></span>
+ 				<span class="collapse-sidebar-label"><?php _e('Collapse'); ?></span>
+ 			</a>
+ 		</div>
+ 	</form>
+ 	<div id="customize-preview" class="wp-full-overlay-main"></div>
+ 	<?php
+ 
+ 	do_action( 'customize_controls_print_footer_scripts' );
+ 
+ 	// If the frontend and the admin are served from the same domain, load the
+ 	// preview over ssl if the customizer is being loaded over ssl. This avoids
+ 	// insecure content warnings. This is not attempted if the admin and frontend
+ 	// are on different domains to avoid the case where the frontend doesn't have
+ 	// ssl certs. Domain mapping plugins can allow other urls in these conditions
+ 	// using the customize_allowed_urls filter.
+ 
+ 	$allowed_urls = array( home_url('/') );
+ 	$admin_origin = parse_url( admin_url() );
+ 	$home_origin  = parse_url( home_url() );
+ 	$cross_domain = ( strtolower( $admin_origin[ 'host' ] ) != strtolower( $home_origin[ 'host' ] ) );
+ 
+ 	if ( is_ssl() && ! $cross_domain )
+ 		$allowed_urls[] = home_url( '/', 'https' );
+ 
+ 	$allowed_urls = array_unique( apply_filters( 'customize_allowed_urls', $allowed_urls ) );
+ 
+ 	$fallback_url = add_query_arg( array(
+ 		'preview'        => 1,
+ 		'template'       => $wp_customize->get_template(),
+ 		'stylesheet'     => $wp_customize->get_stylesheet(),
+ 		'preview_iframe' => true,
+ 		'TB_iframe'      => 'true'
+ 	), home_url( '/' ) );
+ 
+ 	$login_url = add_query_arg( array(
+ 		'interim-login' => 1,
+ 		'customize-login' => 1
+ 	), wp_login_url() );
+ 
+ 	$settings = array(
+ 		'theme'    => array(
+ 			'stylesheet' => $wp_customize->get_stylesheet(),
+ 			'active'     => $wp_customize->is_theme_active(),
+ 		),
+ 		'url'      => array(
+ 			'preview'       => esc_url( $url ? $url : home_url( '/' ) ),
+ 			'parent'        => esc_url( admin_url() ),
+ 			'activated'     => admin_url( 'themes.php?activated=true&previewed' ),
+ 			'ajax'          => esc_url( admin_url( 'admin-ajax.php', 'relative' ) ),
+ 			'allowed'       => array_map( 'esc_url', $allowed_urls ),
+ 			'isCrossDomain' => $cross_domain,
+ 			'fallback'      => $fallback_url,
+ 			'home'          => esc_url( home_url( '/' ) ),
+ 			'login'         => $login_url,
+ 		),
+ 		'browser'  => array(
+ 			'mobile' => wp_is_mobile(),
+ 			'ios'    => $is_ios,
+ 		),
+ 		'settings' => array(),
+ 		'controls' => array(),
+ 	);
+ 
+ 	foreach ( $wp_customize->settings() as $id => $setting ) {
+ 		$settings['settings'][ $id ] = array(
+ 			'value'     => $setting->js_value(),
+ 			'transport' => $setting->transport,
+ 		);
+ 	}
+ 
+ 	foreach ( $wp_customize->controls() as $id => $control ) {
+ 		$control->to_json();
+ 		$settings['controls'][ $id ] = $control->json;
+ 	}
+ 
+ 	?>
+ 	<script type="text/javascript">
+ 		var _wpCustomizeSettings = <?php echo json_encode( $settings ); ?>;
+ 	</script>
+ </div>
+ </body>
+ </html>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit-comments.php ./wordpress-3.4/wp-admin/edit-comments.php
*** ./wordpress-3.3.2/wp-admin/edit-comments.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/edit-comments.php	2012-02-01 08:45:19.000000000 -0600
***************
*** 121,133 ****
  'id'		=> 'moderating-comments',
  'title'		=> __('Moderating Comments'),
  'content'	=>
! 	'<ul>' .
! 		'<li>' . __( 'A yellow row means the comment is waiting for you to moderate it.' ) . '</li>' .
! 		'<li>' . __( 'In the <strong>Author</strong> column, in addition to the author&#8217;s name, email address, and blog URL, the commenter&#8217;s IP address is shown. Clicking on this link will show you all the comments made from this IP address.' ) . '</li>' .
! 		'<li>' . __( 'In the <strong>Comment</strong> column, above each comment it says &#8220;Submitted on,&#8221; followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site. Hovering over any comment gives you options to approve, reply (and approve), quick edit, edit, spam mark, or trash that comment.' ) . '</li>' .
! 		'<li>' . __( 'In the <strong>In Response To</strong> column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The View Post link leads to that post on your live site. The small bubble with the number in it shows how many comments that post has received. If the bubble is gray, you have moderated all comments for that post. If it is blue, there are pending comments. Clicking the bubble will filter the comments screen to show only comments on that post.' ) . '</li>' .
! 		'<li>' . __( 'Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link to the side to learn more.' ) . '</li>' .
! 	'</ul>'
  ) );
  
  get_current_screen()->set_help_sidebar(
--- 121,131 ----
  'id'		=> 'moderating-comments',
  'title'		=> __('Moderating Comments'),
  'content'	=>
! 		'<p>' . __( 'A yellow row means the comment is waiting for you to moderate it.' ) . '</p>' .
! 		'<p>' . __( 'In the <strong>Author</strong> column, in addition to the author&#8217;s name, email address, and blog URL, the commenter&#8217;s IP address is shown. Clicking on this link will show you all the comments made from this IP address.' ) . '</p>' .
! 		'<p>' . __( 'In the <strong>Comment</strong> column, above each comment it says &#8220;Submitted on,&#8221; followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site. Hovering over any comment gives you options to approve, reply (and approve), quick edit, edit, spam mark, or trash that comment.' ) . '</p>' .
! 		'<p>' . __( 'In the <strong>In Response To</strong> column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The View Post link leads to that post on your live site. The small bubble with the number in it shows how many comments that post has received. If the bubble is gray, you have moderated all comments for that post. If it is blue, there are pending comments. Clicking the bubble will filter the comments screen to show only comments on that post.' ) . '</p>' .
! 		'<p>' . __( 'Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link to the side to learn more.' ) . '</p>'
  ) );
  
  get_current_screen()->set_help_sidebar(
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit-form-advanced.php ./wordpress-3.4/wp-admin/edit-form-advanced.php
*** ./wordpress-3.3.2/wp-admin/edit-form-advanced.php	2011-11-29 11:47:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/edit-form-advanced.php	2012-05-20 17:20:00.000000000 -0500
***************
*** 12,17 ****
--- 12,20 ----
  
  wp_enqueue_script('post');
  
+ if ( wp_is_mobile() )
+ 	wp_enqueue_script( 'jquery-touch-punch' );
+ 
  if ( post_type_supports($post_type, 'editor') || post_type_supports($post_type, 'thumbnail') ) {
  	add_thickbox();
  	wp_enqueue_script('media-upload');
***************
*** 87,93 ****
  if ( $autosave && mysql2date( 'U', $autosave->post_modified_gmt, false ) > mysql2date( 'U', $post->post_modified_gmt, false ) ) {
  	foreach ( _wp_post_revision_fields() as $autosave_field => $_autosave_field ) {
  		if ( normalize_whitespace( $autosave->$autosave_field ) != normalize_whitespace( $post->$autosave_field ) ) {
! 			$notice = sprintf( __( 'There is an autosave of this post that is more recent than the version below.  <a href="%s">View the autosave</a>' ), get_edit_post_link( $autosave->ID ) );
  			break;
  		}
  	}
--- 90,96 ----
  if ( $autosave && mysql2date( 'U', $autosave->post_modified_gmt, false ) > mysql2date( 'U', $post->post_modified_gmt, false ) ) {
  	foreach ( _wp_post_revision_fields() as $autosave_field => $_autosave_field ) {
  		if ( normalize_whitespace( $autosave->$autosave_field ) != normalize_whitespace( $post->$autosave_field ) ) {
! 			$notice = sprintf( __( 'There is an autosave of this post that is more recent than the version below. <a href="%s">View the autosave</a>' ), get_edit_post_link( $autosave->ID ) );
  			break;
  		}
  	}
***************
*** 240,246 ****
  require_once('./admin-header.php');
  ?>
  
! <div class="wrap columns-<?php echo (int) $screen_layout_columns ? (int) $screen_layout_columns : 'auto'; ?>">
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $title ); ?><?php if ( isset( $post_new_file ) ) : ?> <a href="<?php echo esc_url( $post_new_file ) ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a><?php endif; ?></h2>
  <?php if ( $notice ) : ?>
--- 243,249 ----
  require_once('./admin-header.php');
  ?>
  
! <div class="wrap">
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $title ); ?><?php if ( isset( $post_new_file ) ) : ?> <a href="<?php echo esc_url( $post_new_file ) ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a><?php endif; ?></h2>
  <?php if ( $notice ) : ?>
***************
*** 272,288 ****
  wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
  ?>
  
! <div id="poststuff" class="metabox-holder<?php echo 1 != $screen_layout_columns ? ' has-right-sidebar' : ''; ?>">
! <div id="side-info-column" class="inner-sidebar">
! <?php
! if ( 1 != $screen_layout_columns ) {
! 	('page' == $post_type) ? do_action('submitpage_box') : do_action('submitpost_box');
! 	$side_meta_boxes = do_meta_boxes($post_type, 'side', $post);
! }
! ?>
! </div>
  
! <div id="post-body">
  <div id="post-body-content">
  <?php if ( post_type_supports($post_type, 'title') ) { ?>
  <div id="titlediv">
--- 275,283 ----
  wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
  ?>
  
! <div id="poststuff">
  
! <div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
  <div id="post-body-content">
  <?php if ( post_type_supports($post_type, 'title') ) { ?>
  <div id="titlediv">
***************
*** 338,362 ****
  </tr></tbody></table>
  
  </div>
  
  <?php
- }
  
! if ( 1 == $screen_layout_columns ) {
! 	('page' == $post_type) ? do_action('submitpage_box') : do_action('submitpost_box');
! 	$side_meta_boxes = do_meta_boxes($post_type, 'side', $post);
! }
  
  do_meta_boxes(null, 'normal', $post);
  
! ( 'page' == $post_type ) ? do_action('edit_page_form') : do_action('edit_form_advanced');
  
  do_meta_boxes(null, 'advanced', $post);
  
! do_action('dbx_post_sidebar'); ?>
! 
! </div>
  </div>
  <br class="clear" />
  </div><!-- /poststuff -->
  </form>
--- 333,373 ----
  </tr></tbody></table>
  
  </div>
+ <?php } ?>
+ </div><!-- /post-body-content -->
  
+ <div id="postbox-container-1" class="postbox-container">
  <?php
  
! if ( 'page' == $post_type )
! 	do_action('submitpage_box');
! else
! 	do_action('submitpost_box');
! 
! do_meta_boxes($post_type, 'side', $post);
! 
! ?>
! </div>
! <div id="postbox-container-2" class="postbox-container">
! <?php
  
  do_meta_boxes(null, 'normal', $post);
  
! if ( 'page' == $post_type )
! 	do_action('edit_page_form');
! else
! 	do_action('edit_form_advanced');
  
  do_meta_boxes(null, 'advanced', $post);
  
! ?>
  </div>
+ <?php
+ 
+ do_action('dbx_post_sidebar');
+ 
+ ?>
+ </div><!-- /post-body -->
  <br class="clear" />
  </div><!-- /poststuff -->
  </form>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit-form-comment.php ./wordpress-3.4/wp-admin/edit-form-comment.php
*** ./wordpress-3.3.2/wp-admin/edit-form-comment.php	2011-11-05 13:03:33.000000000 -0500
--- ./wordpress-3.4/wp-admin/edit-form-comment.php	2012-03-23 16:41:00.000000000 -0500
***************
*** 9,25 ****
  // don't load directly
  if ( !defined('ABSPATH') )
  	die('-1');
- 
- /**
-  * @var string
-  */
- $submitbutton_text = __('Edit Comment');
- $toprow_title = sprintf(__('Editing Comment # %s'), $comment->comment_ID);
- $form_action = 'editedcomment';
- $form_extra = "' />\n<input type='hidden' name='comment_ID' value='" . esc_attr($comment->comment_ID) . "' />\n<input type='hidden' name='comment_post_ID' value='" . esc_attr($comment->comment_post_ID);
- $comment->comment_author_email = esc_attr($comment->comment_author_email);
  ?>
- 
  <form name="post" action="comment.php" method="post" id="post">
  <?php wp_nonce_field('update-comment_' . $comment->comment_ID) ?>
  <div class="wrap">
--- 9,15 ----
***************
*** 26,36 ****
  <?php screen_icon(); ?>
  <h2><?php _e('Edit Comment'); ?></h2>
  
! <div id="poststuff" class="metabox-holder has-right-sidebar">
! <input type="hidden" name="user_ID" value="<?php echo (int) $user_ID ?>" />
! <input type="hidden" name="action" value='<?php echo $form_action . $form_extra ?>' />
  
! <div id="side-info-column" class="inner-sidebar">
  <div id="submitdiv" class="stuffbox" >
  <h3><span class='hndle'><?php _e('Status') ?></span></h3>
  <div class="inside">
--- 16,75 ----
  <?php screen_icon(); ?>
  <h2><?php _e('Edit Comment'); ?></h2>
  
! <div id="poststuff">
! <input type="hidden" name="user_ID" value="<?php echo (int) $user_ID; ?>" />
! <input type="hidden" name="action" value="editedcomment" />
! <input type="hidden" name="comment_ID" value="<?php echo esc_attr( $comment->comment_ID ); ?>" />
! <input type="hidden" name="comment_post_ID" value="<?php echo esc_attr( $comment->comment_post_ID ); ?>" />
  
! <div id="post-body" class="metabox-holder columns-2">
! <div id="post-body-content">
! <div id="namediv" class="stuffbox">
! <h3><label for="name"><?php _e( 'Author' ) ?></label></h3>
! <div class="inside">
! <table class="form-table editcomment">
! <tbody>
! <tr valign="top">
! 	<td class="first"><?php _e( 'Name:' ); ?></td>
! 	<td><input type="text" name="newcomment_author" size="30" value="<?php echo esc_attr( $comment->comment_author ); ?>" tabindex="1" id="name" /></td>
! </tr>
! <tr valign="top">
! 	<td class="first">
! 	<?php
! 		if ( $comment->comment_author_email ) {
! 			printf( __( 'E-mail (%s):' ), get_comment_author_email_link( __( 'send e-mail' ), '', '' ) );
! 		} else {
! 			_e( 'E-mail:' );
! 		}
! ?></td>
! 	<td><input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email; ?>" tabindex="2" id="email" /></td>
! </tr>
! <tr valign="top">
! 	<td class="first">
! 	<?php
! 		if ( ! empty( $comment->comment_author_url ) && 'http://' != $comment->comment_author_url ) {
! 			$link = '<a href="' . $comment->comment_author_url . '" rel="external nofollow" target="_blank">' . __('visit site') . '</a>';
! 			printf( __( 'URL (%s):' ), apply_filters('get_comment_author_link', $link ) );
! 		} else {
! 			_e( 'URL:' );
! 		} ?></td>
! 	<td><input type="text" id="newcomment_author_url" name="newcomment_author_url" size="30" class="code" value="<?php echo esc_attr($comment->comment_author_url); ?>" tabindex="3" /></td>
! </tr>
! </tbody>
! </table>
! <br />
! </div>
! </div>
! 
! <div id="postdiv" class="postarea">
! <?php
! 	$quicktags_settings = array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,spell,close' );
! 	wp_editor( $comment->comment_content, 'content', array( 'media_buttons' => false, 'tinymce' => false, 'quicktags' => $quicktags_settings ) );
! 	wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
! </div>
! </div><!-- /post-body-content -->
! 
! <div id="postbox-container-1" class="postbox-container">
  <div id="submitdiv" class="stuffbox" >
  <h3><span class='hndle'><?php _e('Status') ?></span></h3>
  <div class="inside">
***************
*** 52,58 ****
  <label class="spam"><input type="radio"<?php checked( $comment->comment_approved, 'spam' ); ?> name="comment_status" value="spam" /><?php /* translators: comment type radio button */ _ex('Spam', 'adjective'); ?></label>
  </div>
  
! <div class="misc-pub-section curtime misc-pub-section-last">
  <?php
  // translators: Publish box date format, see http://php.net/date
  $datef = __( 'M j, Y @ G:i' );
--- 91,97 ----
  <label class="spam"><input type="radio"<?php checked( $comment->comment_approved, 'spam' ); ?> name="comment_status" value="spam" /><?php /* translators: comment type radio button */ _ex('Spam', 'adjective'); ?></label>
  </div>
  
! <div class="misc-pub-section curtime">
  <?php
  // translators: Publish box date format, see http://php.net/date
  $datef = __( 'M j, Y @ G:i' );
***************
*** 77,132 ****
  </div>
  </div>
  </div>
! </div>
  </div>
  
! <div id="post-body">
! <div id="post-body-content">
! <div id="namediv" class="stuffbox">
! <h3><label for="name"><?php _e( 'Author' ) ?></label></h3>
! <div class="inside">
! <table class="form-table editcomment">
! <tbody>
! <tr valign="top">
! 	<td class="first"><?php _e( 'Name:' ); ?></td>
! 	<td><input type="text" name="newcomment_author" size="30" value="<?php echo esc_attr( $comment->comment_author ); ?>" tabindex="1" id="name" /></td>
! </tr>
! <tr valign="top">
! 	<td class="first">
! 	<?php
! 		if ( $comment->comment_author_email ) {
! 			printf( __( 'E-mail (%s):' ), get_comment_author_email_link( __( 'send e-mail' ), '', '' ) );
! 		} else {
! 			_e( 'E-mail:' );
! 		}
! ?></td>
! 	<td><input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email; ?>" tabindex="2" id="email" /></td>
! </tr>
! <tr valign="top">
! 	<td class="first">
! 	<?php
! 		if ( ! empty( $comment->comment_author_url ) && 'http://' != $comment->comment_author_url ) {
! 			$link = '<a href="' . $comment->comment_author_url . '" rel="external nofollow" target="_blank">' . __('visit site') . '</a>';
! 			printf( __( 'URL (%s):' ), apply_filters('get_comment_author_link', $link ) );
! 		} else {
! 			_e( 'URL:' );
! 		} ?></td>
! 	<td><input type="text" id="newcomment_author_url" name="newcomment_author_url" size="30" class="code" value="<?php echo esc_attr($comment->comment_author_url); ?>" tabindex="3" /></td>
! </tr>
! </tbody>
! </table>
! <br />
! </div>
! </div>
! 
! <div id="postdiv" class="postarea">
  <?php
- 	$quicktags_settings = array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,spell,close' );
- 	wp_editor( $comment->comment_content, 'content', array( 'media_buttons' => false, 'tinymce' => false, 'quicktags' => $quicktags_settings ) );
- 	wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
- </div>
  
- <?php
  do_action('add_meta_boxes', 'comment', $comment);
  do_action('add_meta_boxes_comment', $comment);
  
--- 116,127 ----
  </div>
  </div>
  </div>
! </div><!-- /submitdiv -->
  </div>
  
! <div id="postbox-container-2" class="postbox-container">
  <?php
  
  do_action('add_meta_boxes', 'comment', $comment);
  do_action('add_meta_boxes_comment', $comment);
  
***************
*** 131,145 ****
  do_action('add_meta_boxes_comment', $comment);
  
  do_meta_boxes(null, 'normal', $comment);
  ?>
  <input type="hidden" name="c" value="<?php echo esc_attr($comment->comment_ID) ?>" />
  <input type="hidden" name="p" value="<?php echo esc_attr($comment->comment_post_ID) ?>" />
  <input name="referredby" type="hidden" id="referredby" value="<?php echo esc_url(stripslashes(wp_get_referer())); ?>" />
  <?php wp_original_referer_field(true, 'previous'); ?>
  <input type="hidden" name="noredir" value="1" />
  
! </div>
! </div>
  </div>
  </div>
  </form>
--- 126,142 ----
  do_action('add_meta_boxes_comment', $comment);
  
  do_meta_boxes(null, 'normal', $comment);
+ 
  ?>
+ </div>
+ 
  <input type="hidden" name="c" value="<?php echo esc_attr($comment->comment_ID) ?>" />
  <input type="hidden" name="p" value="<?php echo esc_attr($comment->comment_post_ID) ?>" />
  <input name="referredby" type="hidden" id="referredby" value="<?php echo esc_url(stripslashes(wp_get_referer())); ?>" />
  <?php wp_original_referer_field(true, 'previous'); ?>
  <input type="hidden" name="noredir" value="1" />
  
! </div><!-- /post-body -->
  </div>
  </div>
  </form>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit-link-form.php ./wordpress-3.4/wp-admin/edit-link-form.php
*** ./wordpress-3.3.2/wp-admin/edit-link-form.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/edit-link-form.php	2012-04-24 15:46:04.000000000 -0500
***************
*** 57,63 ****
  require_once ('admin-header.php');
  ?>
  
! <div class="wrap columns-<?php echo (int) $screen_layout_columns ? (int) $screen_layout_columns : 'auto'; ?>">
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $title ); ?>  <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a></h2>
  
--- 57,63 ----
  require_once ('admin-header.php');
  ?>
  
! <div class="wrap">
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $title ); ?>  <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a></h2>
  
***************
*** 75,91 ****
  wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
  wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
  
! <div id="poststuff" class="metabox-holder<?php echo 1 != $screen_layout_columns ? ' has-right-sidebar' : ''; ?>">
! <div id="side-info-column" class="inner-sidebar">
! <?php
! if ( 1 != $screen_layout_columns ) {
! 	do_action('submitlink_box');
! 	$side_meta_boxes = do_meta_boxes( 'link', 'side', $link );
! }
! ?>
! </div>
  
! <div id="post-body">
  <div id="post-body-content">
  <div id="namediv" class="stuffbox">
  <h3><label for="link_name"><?php _ex('Name', 'link name') ?></label></h3>
--- 75,83 ----
  wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
  wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
  
! <div id="poststuff">
  
! <div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
  <div id="post-body-content">
  <div id="namediv" class="stuffbox">
  <h3><label for="link_name"><?php _ex('Name', 'link name') ?></label></h3>
***************
*** 110,127 ****
      <p><?php _e('This will be shown when someone hovers over the link in the blogroll, or optionally below the link.'); ?></p>
  </div>
  </div>
  
  <?php
  
! if ( 1 == $screen_layout_columns ) {
! 	do_action('submitlink_box');
! 	$side_meta_boxes = do_meta_boxes( 'link', 'side', $link );
! }
  
  do_meta_boxes(null, 'normal', $link);
  
  do_meta_boxes(null, 'advanced', $link);
  
  if ( $link_id ) : ?>
  <input type="hidden" name="action" value="save" />
  <input type="hidden" name="link_id" value="<?php echo (int) $link_id; ?>" />
--- 102,128 ----
      <p><?php _e('This will be shown when someone hovers over the link in the blogroll, or optionally below the link.'); ?></p>
  </div>
  </div>
+ </div><!-- /post-body-content -->
  
+ <div id="postbox-container-1" class="postbox-container">
  <?php
  
! do_action('submitlink_box');
! $side_meta_boxes = do_meta_boxes( 'link', 'side', $link );
! 
! ?>
! </div>
! <div id="postbox-container-2" class="postbox-container">
! <?php
  
  do_meta_boxes(null, 'normal', $link);
  
  do_meta_boxes(null, 'advanced', $link);
  
+ ?>
+ </div>
+ <?php
+ 
  if ( $link_id ) : ?>
  <input type="hidden" name="action" value="save" />
  <input type="hidden" name="link_id" value="<?php echo (int) $link_id; ?>" />
***************
*** 133,139 ****
  
  </div>
  </div>
- </div>
  
  </form>
  </div>
--- 134,139 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit.php ./wordpress-3.4/wp-admin/edit.php
*** ./wordpress-3.3.2/wp-admin/edit.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/edit.php	2012-04-27 17:54:02.000000000 -0500
***************
*** 133,139 ****
  			break;
  	}
  
! 	$sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status',  'post', 'bulk_edit', 'post_view'), $sendback );
  
  	wp_redirect($sendback);
  	exit();
--- 133,139 ----
  			break;
  	}
  
! 	$sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view'), $sendback );
  
  	wp_redirect($sendback);
  	exit();
***************
*** 222,270 ****
  <div class="wrap">
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php
! if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
  	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
  </h2>
  
! <?php if ( isset($_REQUEST['locked']) || isset($_REQUEST['skipped']) || isset($_REQUEST['updated']) || isset($_REQUEST['deleted']) || isset($_REQUEST['trashed']) || isset($_REQUEST['untrashed']) ) {
  	$messages = array();
  ?>
  <div id="message" class="updated"><p>
! <?php if ( isset($_REQUEST['updated']) && (int) $_REQUEST['updated'] ) {
! 	$messages[] = sprintf( _n( '%s post updated.', '%s posts updated.', $_REQUEST['updated'] ), number_format_i18n( $_REQUEST['updated'] ) );
! 	unset($_REQUEST['updated']);
  }
  
! if ( isset($_REQUEST['skipped']) && (int) $_REQUEST['skipped'] )
! 	unset($_REQUEST['skipped']);
! 
! if ( isset($_REQUEST['locked']) && (int) $_REQUEST['locked'] ) {
! 	$messages[] = sprintf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $_REQUEST['locked'] ), number_format_i18n( $_REQUEST['locked'] ) );
! 	unset($_REQUEST['locked']);
  }
  
! if ( isset($_REQUEST['deleted']) && (int) $_REQUEST['deleted'] ) {
! 	$messages[] = sprintf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $_REQUEST['deleted'] ), number_format_i18n( $_REQUEST['deleted'] ) );
! 	unset($_REQUEST['deleted']);
  }
  
! if ( isset($_REQUEST['trashed']) && (int) $_REQUEST['trashed'] ) {
! 	$messages[] = sprintf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $_REQUEST['trashed'] ), number_format_i18n( $_REQUEST['trashed'] ) );
  	$ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0;
  	$messages[] = '<a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a>';
- 	unset($_REQUEST['trashed']);
  }
  
! if ( isset($_REQUEST['untrashed']) && (int) $_REQUEST['untrashed'] ) {
! 	$messages[] = sprintf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_REQUEST['untrashed'] ), number_format_i18n( $_REQUEST['untrashed'] ) );
! 	unset($_REQUEST['undeleted']);
  }
  
  if ( $messages )
  	echo join( ' ', $messages );
  unset( $messages );
  
! $_SERVER['REQUEST_URI'] = remove_query_arg( array('locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed'), $_SERVER['REQUEST_URI'] );
  ?>
  </p></div>
  <?php } ?>
--- 222,262 ----
  <div class="wrap">
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php
! if ( ! empty( $_REQUEST['s'] ) )
  	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
  </h2>
  
! <?php if ( isset( $_REQUEST['locked'] ) || isset( $_REQUEST['updated'] ) || isset( $_REQUEST['deleted'] ) || isset( $_REQUEST['trashed'] ) || isset( $_REQUEST['untrashed'] ) ) {
  	$messages = array();
  ?>
  <div id="message" class="updated"><p>
! <?php if ( isset( $_REQUEST['updated'] ) && $updated = absint( $_REQUEST['updated'] ) ) {
! 	$messages[] = sprintf( _n( '%s post updated.', '%s posts updated.', $updated ), number_format_i18n( $updated ) );
  }
  
! if ( isset( $_REQUEST['locked'] ) && $locked = absint( $_REQUEST['locked'] ) ) {
! 	$messages[] = sprintf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $locked ), number_format_i18n( $locked ) );
  }
  
! if ( isset( $_REQUEST['deleted'] ) && $deleted = absint( $_REQUEST['deleted'] ) ) {
! 	$messages[] = sprintf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $deleted ), number_format_i18n( $deleted ) );
  }
  
! if ( isset( $_REQUEST['trashed'] ) && $trashed = absint( $_REQUEST['trashed'] ) ) {
! 	$messages[] = sprintf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $trashed ), number_format_i18n( $trashed ) );
  	$ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0;
  	$messages[] = '<a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a>';
  }
  
! if ( isset( $_REQUEST['untrashed'] ) && $untrashed = absint( $_REQUEST['untrashed'] ) ) {
! 	$messages[] = sprintf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $untrashed ), number_format_i18n( $untrashed ) );
  }
  
  if ( $messages )
  	echo join( ' ', $messages );
  unset( $messages );
  
! $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed' ), $_SERVER['REQUEST_URI'] );
  ?>
  </p></div>
  <?php } ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit-tag-form.php ./wordpress-3.4/wp-admin/edit-tag-form.php
*** ./wordpress-3.3.2/wp-admin/edit-tag-form.php	2011-05-31 00:05:42.000000000 -0500
--- ./wordpress-3.4/wp-admin/edit-tag-form.php	2012-04-25 19:58:16.000000000 -0500
***************
*** 24,30 ****
  else
  	do_action('edit_tag_form_pre', $tag);
  
! do_action($taxonomy . '_pre_edit_form', $tag, $taxonomy);  ?>
  
  <div class="wrap">
  <?php screen_icon(); ?>
--- 24,30 ----
  else
  	do_action('edit_tag_form_pre', $tag);
  
! do_action($taxonomy . '_pre_edit_form', $tag, $taxonomy); ?>
  
  <div class="wrap">
  <?php screen_icon(); ?>
***************
*** 52,67 ****
  		<tr class="form-field">
  			<th scope="row" valign="top"><label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label></th>
  			<td>
! 				<?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'name' => 'parent', 'orderby' => 'name', 'taxonomy' => $taxonomy, 'selected' => $tag->parent, 'exclude_tree' => $tag->term_id, 'hierarchical' => true, 'show_option_none' => __('None'))); ?><br />
  				<?php if ( 'category' == $taxonomy ) : ?>
! 				<span class="description"><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></span>
  				<?php endif; ?>
  			</td>
  		</tr>
  <?php endif; // is_taxonomy_hierarchical() ?>
  		<tr class="form-field">
  			<th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th>
! 			<td><textarea name="description" id="description" rows="5" cols="50" style="width: 97%;"><?php echo $tag->description; // textarea_escaped ?></textarea><br />
  			<span class="description"><?php _e('The description is not prominent by default, however some themes may show it.'); ?></span></td>
  		</tr>
  		<?php
--- 52,67 ----
  		<tr class="form-field">
  			<th scope="row" valign="top"><label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label></th>
  			<td>
! 				<?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'name' => 'parent', 'orderby' => 'name', 'taxonomy' => $taxonomy, 'selected' => $tag->parent, 'exclude_tree' => $tag->term_id, 'hierarchical' => true, 'show_option_none' => __('None'))); ?>
  				<?php if ( 'category' == $taxonomy ) : ?>
! 				<p class="description"><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
  				<?php endif; ?>
  			</td>
  		</tr>
  <?php endif; // is_taxonomy_hierarchical() ?>
  		<tr class="form-field">
  			<th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th>
! 			<td><textarea name="description" id="description" rows="5" cols="50" class="large-text"><?php echo $tag->description; // textarea_escaped ?></textarea><br />
  			<span class="description"><?php _e('The description is not prominent by default, however some themes may show it.'); ?></span></td>
  		</tr>
  		<?php
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/edit-tags.php ./wordpress-3.4/wp-admin/edit-tags.php
*** ./wordpress-3.3.2/wp-admin/edit-tags.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/edit-tags.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 80,86 ****
  	}
  
  	$tag_ID = (int) $_REQUEST['tag_ID'];
! 	check_admin_referer( 'delete-tag_' .  $tag_ID );
  
  	if ( !current_user_can( $tax->cap->delete_terms ) )
  		wp_die( __( 'Cheatin&#8217; uh?' ) );
--- 80,86 ----
  	}
  
  	$tag_ID = (int) $_REQUEST['tag_ID'];
! 	check_admin_referer( 'delete-tag_' . $tag_ID );
  
  	if ( !current_user_can( $tax->cap->delete_terms ) )
  		wp_die( __( 'Cheatin&#8217; uh?' ) );
***************
*** 416,420 ****
  }
  
  include('./admin-footer.php');
- 
- ?>
--- 416,418 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/export.php ./wordpress-3.4/wp-admin/export.php
*** ./wordpress-3.3.2/wp-admin/export.php	2011-11-30 19:17:14.000000000 -0600
--- ./wordpress-3.4/wp-admin/export.php	2012-04-25 19:58:16.000000000 -0500
***************
*** 41,47 ****
  get_current_screen()->add_help_tab( array(
  	'id'      => 'overview',
  	'title'   => __('Overview'),
! 	'content' => '<p>' . __('You can export a file of your site&#8217;s content in order to import it into another installation or platform. The export file will be an XML file format called WXR. Posts, pages, comments, custom fields, categories, and tags can be included. You can choose for the WXR file to include only certain posts or pages by setting the dropdown filters to  limit the export by category, author, date range by month, or publishing status.') . '</p>' .
  		'<p>' . __('Once generated, your WXR file can be imported by another WordPress site or by another blogging platform able to access this format.') . '</p>',
  ) );
  
--- 41,47 ----
  get_current_screen()->add_help_tab( array(
  	'id'      => 'overview',
  	'title'   => __('Overview'),
! 	'content' => '<p>' . __('You can export a file of your site&#8217;s content in order to import it into another installation or platform. The export file will be an XML file format called WXR. Posts, pages, comments, custom fields, categories, and tags can be included. You can choose for the WXR file to include only certain posts or pages by setting the dropdown filters to limit the export by category, author, date range by month, or publishing status.') . '</p>' .
  		'<p>' . __('Once generated, your WXR file can be imported by another WordPress site or by another blogging platform able to access this format.') . '</p>',
  ) );
  
***************
*** 95,109 ****
  
  require_once ('admin-header.php');
  
! function export_date_options() {
  	global $wpdb, $wp_locale;
  
! 	$months = $wpdb->get_results( "
  		SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
  		FROM $wpdb->posts
! 		WHERE post_type = 'post' AND post_status != 'auto-draft'
  		ORDER BY post_date DESC
! 	" );
  
  	$month_count = count( $months );
  	if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
--- 95,109 ----
  
  require_once ('admin-header.php');
  
! function export_date_options( $post_type = 'post' ) {
  	global $wpdb, $wp_locale;
  
! 	$months = $wpdb->get_results( $wpdb->prepare( "
  		SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
  		FROM $wpdb->posts
! 		WHERE post_type = %s AND post_status != 'auto-draft'
  		ORDER BY post_date DESC
! 	", $post_type ) );
  
  	$month_count = count( $months );
  	if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
***************
*** 130,137 ****
  <h3><?php _e( 'Choose what to export' ); ?></h3>
  <form action="" method="get" id="export-filters">
  <input type="hidden" name="download" value="true" />
! <p><label><input type="radio" name="content" value="all" checked="checked" /> <?php _e( 'All content' ); ?></label>
! <span class="description"><?php _e( 'This will contain all of your posts, pages, comments, custom fields, terms, navigation menus and custom posts.' ); ?></span></p>
  
  <p><label><input type="radio" name="content" value="posts" /> <?php _e( 'Posts' ); ?></label></p>
  <ul id="post-filters" class="export-filters">
--- 130,137 ----
  <h3><?php _e( 'Choose what to export' ); ?></h3>
  <form action="" method="get" id="export-filters">
  <input type="hidden" name="download" value="true" />
! <p><label><input type="radio" name="content" value="all" checked="checked" /> <?php _e( 'All content' ); ?></label></p>
! <p class="description"><?php _e( 'This will contain all of your posts, pages, comments, custom fields, terms, navigation menus and custom posts.' ); ?></p>
  
  <p><label><input type="radio" name="content" value="posts" /> <?php _e( 'Posts' ); ?></label></p>
  <ul id="post-filters" class="export-filters">
***************
*** 182,192 ****
  		<label><?php _e( 'Date range:' ); ?></label>
  		<select name="page_start_date">
  			<option value="0"><?php _e( 'Start Date' ); ?></option>
! 			<?php export_date_options(); ?>
  		</select>
  		<select name="page_end_date">
  			<option value="0"><?php _e( 'End Date' ); ?></option>
! 			<?php export_date_options(); ?>
  		</select>
  	</li>
  	<li>
--- 182,192 ----
  		<label><?php _e( 'Date range:' ); ?></label>
  		<select name="page_start_date">
  			<option value="0"><?php _e( 'Start Date' ); ?></option>
! 			<?php export_date_options( 'page' ); ?>
  		</select>
  		<select name="page_end_date">
  			<option value="0"><?php _e( 'End Date' ); ?></option>
! 			<?php export_date_options( 'page' ); ?>
  		</select>
  	</li>
  	<li>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/freedoms.php ./wordpress-3.4/wp-admin/freedoms.php
*** ./wordpress-3.3.2/wp-admin/freedoms.php	2011-12-01 17:13:56.000000000 -0600
--- ./wordpress-3.4/wp-admin/freedoms.php	2012-06-07 10:34:21.000000000 -0500
***************
*** 13,25 ****
  
  list( $display_version ) = explode( '-', $wp_version );
  
! include( './admin-header.php' );
  ?>
  <div class="wrap about-wrap">
  
  <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
  
! <div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! Using WordPress %s will improve your looks, personality, and web publishing experience. Okay, just the last one, but still. :)' ), $display_version ); ?></div>
  
  <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
--- 13,25 ----
  
  list( $display_version ) = explode( '-', $wp_version );
  
! include( ABSPATH . 'wp-admin/admin-header.php' );
  ?>
  <div class="wrap about-wrap">
  
  <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
  
! <div class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s is already making your website better, faster, and more attractive, just like you!' ), $display_version ); ?></div>
  
  <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
***************
*** 54,57 ****
  <p><?php _e( 'Don&#8217;t you wish all software came with these freedoms? So do we! For more information, check out the <a href="http://www.fsf.org/">Free Software Foundation</a>.' ); ?></p>
  
  </div>
! <?php include( './admin-footer.php' ); ?>
--- 54,57 ----
  <p><?php _e( 'Don&#8217;t you wish all software came with these freedoms? So do we! For more information, check out the <a href="http://www.fsf.org/">Free Software Foundation</a>.' ); ?></p>
  
  </div>
! <?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
Binary files ./wordpress-3.3.2/wp-admin/images/gray-star.png and ./wordpress-3.4/wp-admin/images/gray-star.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/icons32-2x.png and ./wordpress-3.4/wp-admin/images/icons32-2x.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/icons32-vs-2x.png and ./wordpress-3.4/wp-admin/images/icons32-vs-2x.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/logo-login.png and ./wordpress-3.4/wp-admin/images/logo-login.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/menu-2x.png and ./wordpress-3.4/wp-admin/images/menu-2x.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/menu.png and ./wordpress-3.4/wp-admin/images/menu.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/press-this.png and ./wordpress-3.4/wp-admin/images/press-this.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/admin-flyouts.png and ./wordpress-3.4/wp-admin/images/screenshots/admin-flyouts.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/captions-1.png and ./wordpress-3.4/wp-admin/images/screenshots/captions-1.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/captions-2.png and ./wordpress-3.4/wp-admin/images/screenshots/captions-2.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/coediting.png and ./wordpress-3.4/wp-admin/images/screenshots/coediting.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/drag-and-drop.png and ./wordpress-3.4/wp-admin/images/screenshots/drag-and-drop.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/flex-header-1.png and ./wordpress-3.4/wp-admin/images/screenshots/flex-header-1.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/flex-header-2.png and ./wordpress-3.4/wp-admin/images/screenshots/flex-header-2.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/flex-header-3.png and ./wordpress-3.4/wp-admin/images/screenshots/flex-header-3.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/flex-header-media-library.png and ./wordpress-3.4/wp-admin/images/screenshots/flex-header-media-library.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/help-screen.png and ./wordpress-3.4/wp-admin/images/screenshots/help-screen.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/media-icon.png and ./wordpress-3.4/wp-admin/images/screenshots/media-icon.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/new-feature-pointer.png and ./wordpress-3.4/wp-admin/images/screenshots/new-feature-pointer.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/theme-customizer.png and ./wordpress-3.4/wp-admin/images/screenshots/theme-customizer.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/twitter-embed-1.png and ./wordpress-3.4/wp-admin/images/screenshots/twitter-embed-1.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/twitter-embed-2.png and ./wordpress-3.4/wp-admin/images/screenshots/twitter-embed-2.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/screenshots/welcome-screen.png and ./wordpress-3.4/wp-admin/images/screenshots/welcome-screen.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/star.png and ./wordpress-3.4/wp-admin/images/star.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/stars.png and ./wordpress-3.4/wp-admin/images/stars.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/stars-rtl.png and ./wordpress-3.4/wp-admin/images/stars-rtl.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/wordpress-logo-2x.png and ./wordpress-3.4/wp-admin/images/wordpress-logo-2x.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/wordpress-logo.png and ./wordpress-3.4/wp-admin/images/wordpress-logo.png differ
Binary files ./wordpress-3.3.2/wp-admin/images/wp-badge-2x.png and ./wordpress-3.4/wp-admin/images/wp-badge-2x.png differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/import.php ./wordpress-3.4/wp-admin/import.php
*** ./wordpress-3.3.2/wp-admin/import.php	2011-11-30 19:17:14.000000000 -0600
--- ./wordpress-3.4/wp-admin/import.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 20,29 ****
  	'id'      => 'overview',
  	'title'   => __('Overview'),
  	'content' => '<p>' . __('This screen lists links to plugins to import data from blogging/content management platforms. Choose the platform you want to import from, and click Install Now when you are prompted in the popup window. If your platform is not listed, click the link to search the plugin directory for other importer plugins to see if there is one for your platform.') . '</p>' .
! 		'<p>' . __('In previous versions of WordPress, all importers were built-in.  They have been turned into plugins since most people only use them once or infrequently.') . '</p>',
  ) );
  
- 
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
  	'<p>' . __('<a href="http://codex.wordpress.org/Tools_Import_Screen" target="_blank">Documentation on Import</a>') . '</p>' .
--- 20,28 ----
  	'id'      => 'overview',
  	'title'   => __('Overview'),
  	'content' => '<p>' . __('This screen lists links to plugins to import data from blogging/content management platforms. Choose the platform you want to import from, and click Install Now when you are prompted in the popup window. If your platform is not listed, click the link to search the plugin directory for other importer plugins to see if there is one for your platform.') . '</p>' .
! 		'<p>' . __('In previous versions of WordPress, all importers were built-in. They have been turned into plugins since most people only use them once or infrequently.') . '</p>',
  ) );
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
  	'<p>' . __('<a href="http://codex.wordpress.org/Tools_Import_Screen" target="_blank">Documentation on Import</a>') . '</p>' .
***************
*** 138,141 ****
  <?php
  
  include ('admin-footer.php');
- ?>
--- 137,139 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/admin.php ./wordpress-3.4/wp-admin/includes/admin.php
*** ./wordpress-3.3.2/wp-admin/includes/admin.php	2011-11-30 18:36:19.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/admin.php	2012-01-27 16:19:56.000000000 -0600
***************
*** 6,11 ****
--- 6,18 ----
   * @subpackage Administration
   */
  
+ if ( ! defined('WP_ADMIN') ) {
+ 	// This file is being included from a file other than wp-admin/admin.php, so
+ 	// some setup was skipped. Make sure the admin message catalog is loaded since
+ 	// load_default_textdomain() will not have done so in this context.
+ 	load_textdomain( 'default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo' );
+ }
+ 
  /** WordPress Bookmark Administration API */
  require_once(ABSPATH . 'wp-admin/includes/bookmark.php');
  
***************
*** 63,67 ****
  	require_once(ABSPATH . 'wp-admin/includes/ms.php');
  	require_once(ABSPATH . 'wp-admin/includes/ms-deprecated.php');
  }
- 
- ?>
--- 70,72 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/ajax-actions.php ./wordpress-3.4/wp-admin/includes/ajax-actions.php
*** ./wordpress-3.3.2/wp-admin/includes/ajax-actions.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/ajax-actions.php	2012-06-12 17:51:55.000000000 -0500
***************
*** 0 ****
--- 1,1787 ----
+ <?php
+ /**
+  * WordPress Core Ajax Handlers.
+  *
+  * @package WordPress
+  * @subpackage Administration
+  */
+ 
+ /*
+  * No-privilege Ajax handlers.
+  */
+ 
+ function wp_ajax_nopriv_autosave() {
+ 	$id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
+ 
+ 	if ( ! $id )
+ 		wp_die( -1 );
+ 
+ 	$message = sprintf( __('<strong>ALERT: You are logged out!</strong> Could not save draft. <a href="%s" target="_blank">Please log in again.</a>'), wp_login_url() );
+ 	$x = new WP_Ajax_Response( array(
+ 		'what' => 'autosave',
+ 		'id' => $id,
+ 		'data' => $message
+ 	) );
+ 	$x->send();
+ }
+ 
+ /*
+  * GET-based Ajax handlers.
+  */
+ function wp_ajax_fetch_list() {
+ 	global $current_screen, $wp_list_table;
+ 
+ 	$list_class = $_GET['list_args']['class'];
+ 	check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' );
+ 
+ 	$current_screen = convert_to_screen( $_GET['list_args']['screen']['id'] );
+ 
+ 	define( 'WP_NETWORK_ADMIN', $current_screen->is_network );
+ 	define( 'WP_USER_ADMIN', $current_screen->is_user );
+ 
+ 	$wp_list_table = _get_list_table( $list_class );
+ 	if ( ! $wp_list_table )
+ 		wp_die( 0 );
+ 
+ 	if ( ! $wp_list_table->ajax_user_can() )
+ 		wp_die( -1 );
+ 
+ 	$wp_list_table->ajax_response();
+ 
+ 	wp_die( 0 );
+ }
+ function wp_ajax_ajax_tag_search() {
+ 	global $wpdb;
+ 
+ 	if ( isset( $_GET['tax'] ) ) {
+ 		$taxonomy = sanitize_key( $_GET['tax'] );
+ 		$tax = get_taxonomy( $taxonomy );
+ 		if ( ! $tax )
+ 			wp_die( 0 );
+ 		if ( ! current_user_can( $tax->cap->assign_terms ) )
+ 			wp_die( -1 );
+ 	} else {
+ 		wp_die( 0 );
+ 	}
+ 
+ 	$s = stripslashes( $_GET['q'] );
+ 
+ 	$comma = _x( ',', 'tag delimiter' );
+ 	if ( ',' !== $comma )
+ 		$s = str_replace( $comma, ',', $s );
+ 	if ( false !== strpos( $s, ',' ) ) {
+ 		$s = explode( ',', $s );
+ 		$s = $s[count( $s ) - 1];
+ 	}
+ 	$s = trim( $s );
+ 	if ( strlen( $s ) < 2 )
+ 		wp_die(); // require 2 chars for matching
+ 
+ 	$results = $wpdb->get_col( $wpdb->prepare( "SELECT t.name FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = %s AND t.name LIKE (%s)", $taxonomy, '%' . like_escape( $s ) . '%' ) );
+ 
+ 	echo join( $results, "\n" );
+ 	wp_die();
+ }
+ 
+ function wp_ajax_wp_compression_test() {
+ 	if ( !current_user_can( 'manage_options' ) )
+ 		wp_die( -1 );
+ 
+ 	if ( ini_get('zlib.output_compression') || 'ob_gzhandler' == ini_get('output_handler') ) {
+ 		update_site_option('can_compress_scripts', 0);
+ 		wp_die( 0 );
+ 	}
+ 
+ 	if ( isset($_GET['test']) ) {
+ 		header( 'Expires: Wed, 11 Jan 1984 05:00:00 GMT' );
+ 		header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
+ 		header( 'Cache-Control: no-cache, must-revalidate, max-age=0' );
+ 		header( 'Pragma: no-cache' );
+ 		header('Content-Type: application/x-javascript; charset=UTF-8');
+ 		$force_gzip = ( defined('ENFORCE_GZIP') && ENFORCE_GZIP );
+ 		$test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."';
+ 
+ 		 if ( 1 == $_GET['test'] ) {
+ 		 	echo $test_str;
+ 		 	wp_die();
+ 		 } elseif ( 2 == $_GET['test'] ) {
+ 			if ( !isset($_SERVER['HTTP_ACCEPT_ENCODING']) )
+ 				wp_die( -1 );
+ 			if ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
+ 				header('Content-Encoding: deflate');
+ 				$out = gzdeflate( $test_str, 1 );
+ 			} elseif ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) {
+ 				header('Content-Encoding: gzip');
+ 				$out = gzencode( $test_str, 1 );
+ 			} else {
+ 				wp_die( -1 );
+ 			}
+ 			echo $out;
+ 			wp_die();
+ 		} elseif ( 'no' == $_GET['test'] ) {
+ 			update_site_option('can_compress_scripts', 0);
+ 		} elseif ( 'yes' == $_GET['test'] ) {
+ 			update_site_option('can_compress_scripts', 1);
+ 		}
+ 	}
+ 
+ 	wp_die( 0 );
+ }
+ 
+ function wp_ajax_imgedit_preview() {
+ 	$post_id = intval($_GET['postid']);
+ 	if ( empty($post_id) || !current_user_can('edit_post', $post_id) )
+ 		wp_die( -1 );
+ 
+ 	check_ajax_referer( "image_editor-$post_id" );
+ 
+ 	include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
+ 	if ( ! stream_preview_image($post_id) )
+ 		wp_die( -1 );
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_oembed_cache() {
+ 	global $wp_embed;
+ 
+ 	$return = ( $wp_embed->cache_oembed( $_GET['post'] ) ) ? '1' : '0';
+ 	wp_die( $return );
+ }
+ 
+ function wp_ajax_autocomplete_user() {
+ 	if ( ! is_multisite() || ! current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) )
+ 		wp_die( -1 );
+ 
+ 	if ( ! is_super_admin() && ! apply_filters( 'autocomplete_users_for_site_admins', false ) )
+ 		wp_die( -1 );
+ 
+ 	$return = array();
+ 
+ 	// Check the type of request
+ 	if ( isset( $_REQUEST['autocomplete_type'] ) )
+ 		$type = $_REQUEST['autocomplete_type'];
+ 	else
+ 		$type = 'add';
+ 
+ 	// Exclude current users of this blog
+ 	if ( isset( $_REQUEST['site_id'] ) )
+ 		$id = absint( $_REQUEST['site_id'] );
+ 	else
+ 		$id = get_current_blog_id();
+ 
+ 	$include_blog_users = ( $type == 'search' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
+ 	$exclude_blog_users = ( $type == 'add' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
+ 
+ 	$users = get_users( array(
+ 		'blog_id' => false,
+ 		'search'  => '*' . $_REQUEST['term'] . '*',
+ 		'include' => $include_blog_users,
+ 		'exclude' => $exclude_blog_users,
+ 		'search_columns' => array( 'user_login', 'user_nicename', 'user_email' ),
+ 	) );
+ 
+ 	foreach ( $users as $user ) {
+ 		$return[] = array(
+ 			/* translators: 1: user_login, 2: user_email */
+ 			'label' => sprintf( __( '%1$s (%2$s)' ), $user->user_login, $user->user_email ),
+ 			'value' => $user->user_login,
+ 		);
+ 	}
+ 
+ 	wp_die( json_encode( $return ) );
+ }
+ 
+ function wp_ajax_dashboard_widgets() {
+ 	require ABSPATH . 'wp-admin/includes/dashboard.php';
+ 
+ 	switch ( $_GET['widget'] ) {
+ 		case 'dashboard_incoming_links' :
+ 			wp_dashboard_incoming_links();
+ 			break;
+ 		case 'dashboard_primary' :
+ 			wp_dashboard_primary();
+ 			break;
+ 		case 'dashboard_secondary' :
+ 			wp_dashboard_secondary();
+ 			break;
+ 		case 'dashboard_plugins' :
+ 			wp_dashboard_plugins();
+ 			break;
+ 	}
+ 	wp_die();
+ }
+ 
+ function wp_ajax_logged_in() {
+ 	wp_die( 1 );
+ }
+ 
+ /*
+  * Ajax helper.
+  */
+ 
+ /**
+  * Sends back current comment total and new page links if they need to be updated.
+  *
+  * Contrary to normal success AJAX response ("1"), die with time() on success.
+  *
+  * @since 2.7
+  *
+  * @param int $comment_id
+  * @return die
+  */
+ function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
+ 	$total = (int) @$_POST['_total'];
+ 	$per_page = (int) @$_POST['_per_page'];
+ 	$page = (int) @$_POST['_page'];
+ 	$url = esc_url_raw( @$_POST['_url'] );
+ 	// JS didn't send us everything we need to know. Just die with success message
+ 	if ( !$total || !$per_page || !$page || !$url )
+ 		wp_die( time() );
+ 
+ 	$total += $delta;
+ 	if ( $total < 0 )
+ 		$total = 0;
+ 
+ 	// Only do the expensive stuff on a page-break, and about 1 other time per page
+ 	if ( 0 == $total % $per_page || 1 == mt_rand( 1, $per_page ) ) {
+ 		$post_id = 0;
+ 		$status = 'total_comments'; // What type of comment count are we looking for?
+ 		$parsed = parse_url( $url );
+ 		if ( isset( $parsed['query'] ) ) {
+ 			parse_str( $parsed['query'], $query_vars );
+ 			if ( !empty( $query_vars['comment_status'] ) )
+ 				$status = $query_vars['comment_status'];
+ 			if ( !empty( $query_vars['p'] ) )
+ 				$post_id = (int) $query_vars['p'];
+ 		}
+ 
+ 		$comment_count = wp_count_comments($post_id);
+ 
+ 		if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count
+ 			$total = $comment_count->$status;
+ 			// else use the decremented value from above
+ 	}
+ 
+ 	$time = time(); // The time since the last comment count
+ 
+ 	$x = new WP_Ajax_Response( array(
+ 		'what' => 'comment',
+ 		'id' => $comment_id, // here for completeness - not used
+ 		'supplemental' => array(
+ 			'total_items_i18n' => sprintf( _n( '1 item', '%s items', $total ), number_format_i18n( $total ) ),
+ 			'total_pages' => ceil( $total / $per_page ),
+ 			'total_pages_i18n' => number_format_i18n( ceil( $total / $per_page ) ),
+ 			'total' => $total,
+ 			'time' => $time
+ 		)
+ 	) );
+ 	$x->send();
+ }
+ 
+ /*
+  * POST-based Ajax handlers.
+  */
+ 
+ function _wp_ajax_add_hierarchical_term() {
+ 	$action = $_POST['action'];
+ 	$taxonomy = get_taxonomy(substr($action, 4));
+ 	check_ajax_referer( $action, '_ajax_nonce-add-' . $taxonomy->name );
+ 	if ( !current_user_can( $taxonomy->cap->edit_terms ) )
+ 		wp_die( -1 );
+ 	$names = explode(',', $_POST['new'.$taxonomy->name]);
+ 	$parent = isset($_POST['new'.$taxonomy->name.'_parent']) ? (int) $_POST['new'.$taxonomy->name.'_parent'] : 0;
+ 	if ( 0 > $parent )
+ 		$parent = 0;
+ 	if ( $taxonomy->name == 'category' )
+ 		$post_category = isset($_POST['post_category']) ? (array) $_POST['post_category'] : array();
+ 	else
+ 		$post_category = ( isset($_POST['tax_input']) && isset($_POST['tax_input'][$taxonomy->name]) ) ? (array) $_POST['tax_input'][$taxonomy->name] : array();
+ 	$checked_categories = array_map( 'absint', (array) $post_category );
+ 	$popular_ids = wp_popular_terms_checklist($taxonomy->name, 0, 10, false);
+ 
+ 	foreach ( $names as $cat_name ) {
+ 		$cat_name = trim($cat_name);
+ 		$category_nicename = sanitize_title($cat_name);
+ 		if ( '' === $category_nicename )
+ 			continue;
+ 		if ( !$cat_id = term_exists( $cat_name, $taxonomy->name, $parent ) )
+ 			$cat_id = wp_insert_term( $cat_name, $taxonomy->name, array( 'parent' => $parent ) );
+ 		if ( is_wp_error( $cat_id ) )
+ 			continue;
+ 		else if ( is_array( $cat_id ) )
+ 			$cat_id = $cat_id['term_id'];
+ 		$checked_categories[] = $cat_id;
+ 		if ( $parent ) // Do these all at once in a second
+ 			continue;
+ 		ob_start();
+ 			wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids ));
+ 		$data = ob_get_contents();
+ 		ob_end_clean();
+ 		$add = array(
+ 			'what' => $taxonomy->name,
+ 			'id' => $cat_id,
+ 			'data' => str_replace( array("\n", "\t"), '', $data),
+ 			'position' => -1
+ 		);
+ 	}
+ 
+ 	if ( $parent ) { // Foncy - replace the parent and all its children
+ 		$parent = get_term( $parent, $taxonomy->name );
+ 		$term_id = $parent->term_id;
+ 
+ 		while ( $parent->parent ) { // get the top parent
+ 			$parent = &get_term( $parent->parent, $taxonomy->name );
+ 			if ( is_wp_error( $parent ) )
+ 				break;
+ 			$term_id = $parent->term_id;
+ 		}
+ 
+ 		ob_start();
+ 			wp_terms_checklist( 0, array('taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids));
+ 		$data = ob_get_contents();
+ 		ob_end_clean();
+ 		$add = array(
+ 			'what' => $taxonomy->name,
+ 			'id' => $term_id,
+ 			'data' => str_replace( array("\n", "\t"), '', $data),
+ 			'position' => -1
+ 		);
+ 	}
+ 
+ 	ob_start();
+ 		wp_dropdown_categories( array(
+ 			'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new'.$taxonomy->name.'_parent', 'orderby' => 'name',
+ 			'hierarchical' => 1, 'show_option_none' => '&mdash; '.$taxonomy->labels->parent_item.' &mdash;'
+ 		) );
+ 	$sup = ob_get_contents();
+ 	ob_end_clean();
+ 	$add['supplemental'] = array( 'newcat_parent' => $sup );
+ 
+ 	$x = new WP_Ajax_Response( $add );
+ 	$x->send();
+ }
+ 
+ function wp_ajax_delete_comment() {
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	if ( !$comment = get_comment( $id ) )
+ 		wp_die( time() );
+ 	if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) )
+ 		wp_die( -1 );
+ 
+ 	check_ajax_referer( "delete-comment_$id" );
+ 	$status = wp_get_comment_status( $comment->comment_ID );
+ 
+ 	$delta = -1;
+ 	if ( isset($_POST['trash']) && 1 == $_POST['trash'] ) {
+ 		if ( 'trash' == $status )
+ 			wp_die( time() );
+ 		$r = wp_trash_comment( $comment->comment_ID );
+ 	} elseif ( isset($_POST['untrash']) && 1 == $_POST['untrash'] ) {
+ 		if ( 'trash' != $status )
+ 			wp_die( time() );
+ 		$r = wp_untrash_comment( $comment->comment_ID );
+ 		if ( ! isset( $_POST['comment_status'] ) || $_POST['comment_status'] != 'trash' ) // undo trash, not in trash
+ 			$delta = 1;
+ 	} elseif ( isset($_POST['spam']) && 1 == $_POST['spam'] ) {
+ 		if ( 'spam' == $status )
+ 			wp_die( time() );
+ 		$r = wp_spam_comment( $comment->comment_ID );
+ 	} elseif ( isset($_POST['unspam']) && 1 == $_POST['unspam'] ) {
+ 		if ( 'spam' != $status )
+ 			wp_die( time() );
+ 		$r = wp_unspam_comment( $comment->comment_ID );
+ 		if ( ! isset( $_POST['comment_status'] ) || $_POST['comment_status'] != 'spam' ) // undo spam, not in spam
+ 			$delta = 1;
+ 	} elseif ( isset($_POST['delete']) && 1 == $_POST['delete'] ) {
+ 		$r = wp_delete_comment( $comment->comment_ID );
+ 	} else {
+ 		wp_die( -1 );
+ 	}
+ 
+ 	if ( $r ) // Decide if we need to send back '1' or a more complicated response including page links and comment counts
+ 		_wp_ajax_delete_comment_response( $comment->comment_ID, $delta );
+ 	wp_die( 0 );
+ }
+ 
+ function wp_ajax_delete_tag() {
+ 	$tag_id = (int) $_POST['tag_ID'];
+ 	check_ajax_referer( "delete-tag_$tag_id" );
+ 
+ 	$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
+ 	$tax = get_taxonomy($taxonomy);
+ 
+ 	if ( !current_user_can( $tax->cap->delete_terms ) )
+ 		wp_die( -1 );
+ 
+ 	$tag = get_term( $tag_id, $taxonomy );
+ 	if ( !$tag || is_wp_error( $tag ) )
+ 		wp_die( 1 );
+ 
+ 	if ( wp_delete_term($tag_id, $taxonomy))
+ 		wp_die( 1 );
+ 	else
+ 		wp_die( 0 );
+ }
+ 
+ function wp_ajax_delete_link() {
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	check_ajax_referer( "delete-bookmark_$id" );
+ 	if ( !current_user_can( 'manage_links' ) )
+ 		wp_die( -1 );
+ 
+ 	$link = get_bookmark( $id );
+ 	if ( !$link || is_wp_error( $link ) )
+ 		wp_die( 1 );
+ 
+ 	if ( wp_delete_link( $id ) )
+ 		wp_die( 1 );
+ 	else
+ 		wp_die( 0 );
+ }
+ 
+ function wp_ajax_delete_meta() {
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	check_ajax_referer( "delete-meta_$id" );
+ 	if ( !$meta = get_metadata_by_mid( 'post', $id ) )
+ 		wp_die( 1 );
+ 
+ 	if ( is_protected_meta( $meta->meta_key, 'post' ) || ! current_user_can( 'delete_post_meta',  $meta->post_id, $meta->meta_key ) )
+ 		wp_die( -1 );
+ 	if ( delete_meta( $meta->meta_id ) )
+ 		wp_die( 1 );
+ 	wp_die( 0 );
+ }
+ 
+ function wp_ajax_delete_post( $action ) {
+ 	if ( empty( $action ) )
+ 		$action = 'delete-post';
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	check_ajax_referer( "{$action}_$id" );
+ 	if ( !current_user_can( 'delete_post', $id ) )
+ 		wp_die( -1 );
+ 
+ 	if ( !get_post( $id ) )
+ 		wp_die( 1 );
+ 
+ 	if ( wp_delete_post( $id ) )
+ 		wp_die( 1 );
+ 	else
+ 		wp_die( 0 );
+ }
+ 
+ function wp_ajax_trash_post( $action ) {
+ 	if ( empty( $action ) )
+ 		$action = 'trash-post';
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	check_ajax_referer( "{$action}_$id" );
+ 	if ( !current_user_can( 'delete_post', $id ) )
+ 		wp_die( -1 );
+ 
+ 	if ( !get_post( $id ) )
+ 		wp_die( 1 );
+ 
+ 	if ( 'trash-post' == $action )
+ 		$done = wp_trash_post( $id );
+ 	else
+ 		$done = wp_untrash_post( $id );
+ 
+ 	if ( $done )
+ 		wp_die( 1 );
+ 
+ 	wp_die( 0 );
+ }
+ 
+ function wp_ajax_untrash_post( $action ) {
+ 	if ( empty( $action ) )
+ 		$action = 'untrash-post';
+ 	wp_ajax_trash_post( $action );
+ }
+ 
+ function wp_ajax_delete_page( $action ) {
+ 	if ( empty( $action ) )
+ 		$action = 'delete-page';
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	check_ajax_referer( "{$action}_$id" );
+ 	if ( !current_user_can( 'delete_page', $id ) )
+ 		wp_die( -1 );
+ 
+ 	if ( !get_page( $id ) )
+ 		wp_die( 1 );
+ 
+ 	if ( wp_delete_post( $id ) )
+ 		wp_die( 1 );
+ 	else
+ 		wp_die( 0 );
+ }
+ 
+ function wp_ajax_dim_comment() {
+ 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
+ 
+ 	if ( !$comment = get_comment( $id ) ) {
+ 		$x = new WP_Ajax_Response( array(
+ 			'what' => 'comment',
+ 			'id' => new WP_Error('invalid_comment', sprintf(__('Comment %d does not exist'), $id))
+ 		) );
+ 		$x->send();
+ 	}
+ 
+ 	if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) && ! current_user_can( 'moderate_comments' ) )
+ 		wp_die( -1 );
+ 
+ 	$current = wp_get_comment_status( $comment->comment_ID );
+ 	if ( $_POST['new'] == $current )
+ 		wp_die( time() );
+ 
+ 	check_ajax_referer( "approve-comment_$id" );
+ 	if ( in_array( $current, array( 'unapproved', 'spam' ) ) )
+ 		$result = wp_set_comment_status( $comment->comment_ID, 'approve', true );
+ 	else
+ 		$result = wp_set_comment_status( $comment->comment_ID, 'hold', true );
+ 
+ 	if ( is_wp_error($result) ) {
+ 		$x = new WP_Ajax_Response( array(
+ 			'what' => 'comment',
+ 			'id' => $result
+ 		) );
+ 		$x->send();
+ 	}
+ 
+ 	// Decide if we need to send back '1' or a more complicated response including page links and comment counts
+ 	_wp_ajax_delete_comment_response( $comment->comment_ID );
+ 	wp_die( 0 );
+ }
+ 
+ function wp_ajax_add_link_category( $action ) {
+ 	if ( empty( $action ) )
+ 		$action = 'add-link-category';
+ 	check_ajax_referer( $action );
+ 	if ( !current_user_can( 'manage_categories' ) )
+ 		wp_die( -1 );
+ 	$names = explode(',', $_POST['newcat']);
+ 	$x = new WP_Ajax_Response();
+ 	foreach ( $names as $cat_name ) {
+ 		$cat_name = trim($cat_name);
+ 		$slug = sanitize_title($cat_name);
+ 		if ( '' === $slug )
+ 			continue;
+ 		if ( !$cat_id = term_exists( $cat_name, 'link_category' ) )
+ 			$cat_id = wp_insert_term( $cat_name, 'link_category' );
+ 		if ( is_wp_error( $cat_id ) )
+ 			continue;
+ 		else if ( is_array( $cat_id ) )
+ 			$cat_id = $cat_id['term_id'];
+ 		$cat_name = esc_html(stripslashes($cat_name));
+ 		$x->add( array(
+ 			'what' => 'link-category',
+ 			'id' => $cat_id,
+ 			'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>",
+ 			'position' => -1
+ 		) );
+ 	}
+ 	$x->send();
+ }
+ 
+ function wp_ajax_add_tag() {
+ 	global $wp_list_table;
+ 
+ 	check_ajax_referer( 'add-tag', '_wpnonce_add-tag' );
+ 	$post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post';
+ 	$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
+ 	$tax = get_taxonomy($taxonomy);
+ 
+ 	if ( !current_user_can( $tax->cap->edit_terms ) )
+ 		wp_die( -1 );
+ 
+ 	$x = new WP_Ajax_Response();
+ 
+ 	$tag = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST );
+ 
+ 	if ( !$tag || is_wp_error($tag) || (!$tag = get_term( $tag['term_id'], $taxonomy )) ) {
+ 		$message = __('An error has occurred. Please reload the page and try again.');
+ 		if ( is_wp_error($tag) && $tag->get_error_message() )
+ 			$message = $tag->get_error_message();
+ 
+ 		$x->add( array(
+ 			'what' => 'taxonomy',
+ 			'data' => new WP_Error('error', $message )
+ 		) );
+ 		$x->send();
+ 	}
+ 
+ 	set_current_screen( $_POST['screen'] );
+ 
+ 	$wp_list_table = _get_list_table('WP_Terms_List_Table');
+ 
+ 	$level = 0;
+ 	if ( is_taxonomy_hierarchical($taxonomy) ) {
+ 		$level = count( get_ancestors( $tag->term_id, $taxonomy ) );
+ 		ob_start();
+ 		$wp_list_table->single_row( $tag, $level );
+ 		$noparents = ob_get_clean();
+ 	}
+ 
+ 	ob_start();
+ 	$wp_list_table->single_row( $tag );
+ 	$parents = ob_get_clean();
+ 
+ 	$x->add( array(
+ 		'what' => 'taxonomy',
+ 		'supplemental' => compact('parents', 'noparents')
+ 		) );
+ 	$x->add( array(
+ 		'what' => 'term',
+ 		'position' => $level,
+ 		'supplemental' => (array) $tag
+ 		) );
+ 	$x->send();
+ }
+ 
+ function wp_ajax_get_tagcloud() {
+ 	if ( isset( $_POST['tax'] ) ) {
+ 		$taxonomy = sanitize_key( $_POST['tax'] );
+ 		$tax = get_taxonomy( $taxonomy );
+ 		if ( ! $tax )
+ 			wp_die( 0 );
+ 		if ( ! current_user_can( $tax->cap->assign_terms ) )
+ 			wp_die( -1 );
+ 	} else {
+ 		wp_die( 0 );
+ 	}
+ 
+ 	$tags = get_terms( $taxonomy, array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ) );
+ 
+ 	if ( empty( $tags ) )
+ 		wp_die( isset( $tax->no_tagcloud ) ? $tax->no_tagcloud : __('No tags found!') );
+ 
+ 	if ( is_wp_error( $tags ) )
+ 		wp_die( $tags->get_error_message() );
+ 
+ 	foreach ( $tags as $key => $tag ) {
+ 		$tags[ $key ]->link = '#';
+ 		$tags[ $key ]->id = $tag->term_id;
+ 	}
+ 
+ 	// We need raw tag names here, so don't filter the output
+ 	$return = wp_generate_tag_cloud( $tags, array('filter' => 0) );
+ 
+ 	if ( empty($return) )
+ 		wp_die( 0 );
+ 
+ 	echo $return;
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_get_comments( $action ) {
+ 	global $wp_list_table, $post_id;
+ 	if ( empty( $action ) )
+ 		$action = 'get-comments';
+ 
+ 	check_ajax_referer( $action );
+ 
+ 	set_current_screen( 'edit-comments' );
+ 
+ 	$wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
+ 
+ 	if ( !current_user_can( 'edit_post', $post_id ) )
+ 		wp_die( -1 );
+ 
+ 	$wp_list_table->prepare_items();
+ 
+ 	if ( !$wp_list_table->has_items() )
+ 		wp_die( 1 );
+ 
+ 	$x = new WP_Ajax_Response();
+ 	ob_start();
+ 	foreach ( $wp_list_table->items as $comment ) {
+ 		if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) )
+ 			continue;
+ 		get_comment( $comment );
+ 		$wp_list_table->single_row( $comment );
+ 	}
+ 	$comment_list_item = ob_get_contents();
+ 	ob_end_clean();
+ 
+ 	$x->add( array(
+ 		'what' => 'comments',
+ 		'data' => $comment_list_item
+ 	) );
+ 	$x->send();
+ }
+ 
+ function wp_ajax_replyto_comment( $action ) {
+ 	global $wp_list_table, $wpdb;
+ 	if ( empty( $action ) )
+ 		$action = 'replyto-comment';
+ 
+ 	check_ajax_referer( $action, '_ajax_nonce-replyto-comment' );
+ 
+ 	set_current_screen( 'edit-comments' );
+ 
+ 	$comment_post_ID = (int) $_POST['comment_post_ID'];
+ 	if ( !current_user_can( 'edit_post', $comment_post_ID ) )
+ 		wp_die( -1 );
+ 
+ 	$status = $wpdb->get_var( $wpdb->prepare("SELECT post_status FROM $wpdb->posts WHERE ID = %d", $comment_post_ID) );
+ 
+ 	if ( empty($status) )
+ 		wp_die( 1 );
+ 	elseif ( in_array($status, array('draft', 'pending', 'trash') ) )
+ 		wp_die( __('ERROR: you are replying to a comment on a draft post.') );
+ 
+ 	$user = wp_get_current_user();
+ 	if ( $user->exists() ) {
+ 		$user_ID = $user->ID;
+ 		$comment_author       = $wpdb->escape($user->display_name);
+ 		$comment_author_email = $wpdb->escape($user->user_email);
+ 		$comment_author_url   = $wpdb->escape($user->user_url);
+ 		$comment_content      = trim($_POST['content']);
+ 		if ( current_user_can( 'unfiltered_html' ) ) {
+ 			if ( wp_create_nonce( 'unfiltered-html-comment' ) != $_POST['_wp_unfiltered_html_comment'] ) {
+ 				kses_remove_filters(); // start with a clean slate
+ 				kses_init_filters(); // set up the filters
+ 			}
+ 		}
+ 	} else {
+ 		wp_die( __( 'Sorry, you must be logged in to reply to a comment.' ) );
+ 	}
+ 
+ 	if ( '' == $comment_content )
+ 		wp_die( __( 'ERROR: please type a comment.' ) );
+ 
+ 	$comment_parent = absint($_POST['comment_ID']);
+ 	$comment_auto_approved = false;
+ 	$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');
+ 
+ 	$comment_id = wp_new_comment( $commentdata );
+ 	$comment = get_comment($comment_id);
+ 	if ( ! $comment ) wp_die( 1 );
+ 
+ 	$position = ( isset($_POST['position']) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1';
+ 
+ 	// automatically approve parent comment
+ 	if ( !empty($_POST['approve_parent']) ) {
+ 		$parent = get_comment( $comment_parent );
+ 
+ 		if ( $parent && $parent->comment_approved === '0' && $parent->comment_post_ID == $comment_post_ID ) {
+ 			if ( wp_set_comment_status( $parent->comment_ID, 'approve' ) )
+ 				$comment_auto_approved = true;
+ 		}
+ 	}
+ 
+ 	ob_start();
+ 		if ( 'dashboard' == $_REQUEST['mode'] ) {
+ 			require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
+ 			_wp_dashboard_recent_comments_row( $comment );
+ 		} else {
+ 			if ( 'single' == $_REQUEST['mode'] ) {
+ 				$wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
+ 			} else {
+ 				$wp_list_table = _get_list_table('WP_Comments_List_Table');
+ 			}
+ 			$wp_list_table->single_row( $comment );
+ 		}
+ 		$comment_list_item = ob_get_contents();
+ 	ob_end_clean();
+ 
+ 	$response =  array(
+ 		'what' => 'comment',
+ 		'id' => $comment->comment_ID,
+ 		'data' => $comment_list_item,
+ 		'position' => $position
+ 	);
+ 
+ 	if ( $comment_auto_approved )
+ 		$response['supplemental'] = array( 'parent_approved' => $parent->comment_ID );
+ 
+ 	$x = new WP_Ajax_Response();
+ 	$x->add( $response );
+ 	$x->send();
+ }
+ 
+ function wp_ajax_edit_comment() {
+ 	global $wp_list_table;
+ 
+ 	check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' );
+ 
+ 	set_current_screen( 'edit-comments' );
+ 
+ 	$comment_id = (int) $_POST['comment_ID'];
+ 	if ( ! current_user_can( 'edit_comment', $comment_id ) )
+ 		wp_die( -1 );
+ 
+ 	if ( '' == $_POST['content'] )
+ 		wp_die( __( 'ERROR: please type a comment.' ) );
+ 
+ 	$_POST['comment_status'] = $_POST['status'];
+ 	edit_comment();
+ 
+ 	$position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
+ 	$comments_status = isset($_POST['comments_listing']) ? $_POST['comments_listing'] : '';
+ 
+ 	$checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0;
+ 	$wp_list_table = _get_list_table( $checkbox ? 'WP_Comments_List_Table' : 'WP_Post_Comments_List_Table' );
+ 
+ 	$comment = get_comment( $comment_id );
+ 
+ 	ob_start();
+ 		$wp_list_table->single_row( $comment );
+ 		$comment_list_item = ob_get_contents();
+ 	ob_end_clean();
+ 
+ 	$x = new WP_Ajax_Response();
+ 
+ 	$x->add( array(
+ 		'what' => 'edit_comment',
+ 		'id' => $comment->comment_ID,
+ 		'data' => $comment_list_item,
+ 		'position' => $position
+ 	));
+ 
+ 	$x->send();
+ }
+ 
+ function wp_ajax_add_menu_item() {
+ 	check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
+ 
+ 	if ( ! current_user_can( 'edit_theme_options' ) )
+ 		wp_die( -1 );
+ 
+ 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+ 
+ 	// For performance reasons, we omit some object properties from the checklist.
+ 	// The following is a hacky way to restore them when adding non-custom items.
+ 
+ 	$menu_items_data = array();
+ 	foreach ( (array) $_POST['menu-item'] as $menu_item_data ) {
+ 		if (
+ 			! empty( $menu_item_data['menu-item-type'] ) &&
+ 			'custom' != $menu_item_data['menu-item-type'] &&
+ 			! empty( $menu_item_data['menu-item-object-id'] )
+ 		) {
+ 			switch( $menu_item_data['menu-item-type'] ) {
+ 				case 'post_type' :
+ 					$_object = get_post( $menu_item_data['menu-item-object-id'] );
+ 				break;
+ 
+ 				case 'taxonomy' :
+ 					$_object = get_term( $menu_item_data['menu-item-object-id'], $menu_item_data['menu-item-object'] );
+ 				break;
+ 			}
+ 
+ 			$_menu_items = array_map( 'wp_setup_nav_menu_item', array( $_object ) );
+ 			$_menu_item = array_shift( $_menu_items );
+ 
+ 			// Restore the missing menu item properties
+ 			$menu_item_data['menu-item-description'] = $_menu_item->description;
+ 		}
+ 
+ 		$menu_items_data[] = $menu_item_data;
+ 	}
+ 
+ 	$item_ids = wp_save_nav_menu_items( 0, $menu_items_data );
+ 	if ( is_wp_error( $item_ids ) )
+ 		wp_die( 0 );
+ 
+ 	$menu_items = array();
+ 
+ 	foreach ( (array) $item_ids as $menu_item_id ) {
+ 		$menu_obj = get_post( $menu_item_id );
+ 		if ( ! empty( $menu_obj->ID ) ) {
+ 			$menu_obj = wp_setup_nav_menu_item( $menu_obj );
+ 			$menu_obj->label = $menu_obj->title; // don't show "(pending)" in ajax-added items
+ 			$menu_items[] = $menu_obj;
+ 		}
+ 	}
+ 
+ 	$walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $_POST['menu'] );
+ 
+ 	if ( ! class_exists( $walker_class_name ) )
+ 		wp_die( 0 );
+ 
+ 	if ( ! empty( $menu_items ) ) {
+ 		$args = array(
+ 			'after' => '',
+ 			'before' => '',
+ 			'link_after' => '',
+ 			'link_before' => '',
+ 			'walker' => new $walker_class_name,
+ 		);
+ 		echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
+ 	}
+ }
+ 
+ function wp_ajax_add_meta() {
+ 	check_ajax_referer( 'add-meta', '_ajax_nonce-add-meta' );
+ 	$c = 0;
+ 	$pid = (int) $_POST['post_id'];
+ 	$post = get_post( $pid );
+ 
+ 	if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) {
+ 		if ( !current_user_can( 'edit_post', $pid ) )
+ 			wp_die( -1 );
+ 		if ( isset($_POST['metakeyselect']) && '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) )
+ 			wp_die( 1 );
+ 		if ( $post->post_status == 'auto-draft' ) {
+ 			$save_POST = $_POST; // Backup $_POST
+ 			$_POST = array(); // Make it empty for edit_post()
+ 			$_POST['action'] = 'draft'; // Warning fix
+ 			$_POST['post_ID'] = $pid;
+ 			$_POST['post_type'] = $post->post_type;
+ 			$_POST['post_status'] = 'draft';
+ 			$now = current_time('timestamp', 1);
+ 			$_POST['post_title'] = sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now));
+ 
+ 			if ( $pid = edit_post() ) {
+ 				if ( is_wp_error( $pid ) ) {
+ 					$x = new WP_Ajax_Response( array(
+ 						'what' => 'meta',
+ 						'data' => $pid
+ 					) );
+ 					$x->send();
+ 				}
+ 				$_POST = $save_POST; // Now we can restore original $_POST again
+ 				if ( !$mid = add_meta( $pid ) )
+ 					wp_die( __( 'Please provide a custom field value.' ) );
+ 			} else {
+ 				wp_die( 0 );
+ 			}
+ 		} else if ( !$mid = add_meta( $pid ) ) {
+ 			wp_die( __( 'Please provide a custom field value.' ) );
+ 		}
+ 
+ 		$meta = get_metadata_by_mid( 'post', $mid );
+ 		$pid = (int) $meta->post_id;
+ 		$meta = get_object_vars( $meta );
+ 		$x = new WP_Ajax_Response( array(
+ 			'what' => 'meta',
+ 			'id' => $mid,
+ 			'data' => _list_meta_row( $meta, $c ),
+ 			'position' => 1,
+ 			'supplemental' => array('postid' => $pid)
+ 		) );
+ 	} else { // Update?
+ 		$mid = (int) key( $_POST['meta'] );
+ 		$key = stripslashes( $_POST['meta'][$mid]['key'] );
+ 		$value = stripslashes( $_POST['meta'][$mid]['value'] );
+ 		if ( '' == trim($key) )
+ 			wp_die( __( 'Please provide a custom field name.' ) );
+ 		if ( '' == trim($value) )
+ 			wp_die( __( 'Please provide a custom field value.' ) );
+ 		if ( ! $meta = get_metadata_by_mid( 'post', $mid ) )
+ 			wp_die( 0 ); // if meta doesn't exist
+ 		if ( is_protected_meta( $meta->meta_key, 'post' ) || is_protected_meta( $key, 'post' ) ||
+ 			! current_user_can( 'edit_post_meta', $meta->post_id, $meta->meta_key ) ||
+ 			! current_user_can( 'edit_post_meta', $meta->post_id, $key ) )
+ 			wp_die( -1 );
+ 		if ( $meta->meta_value != $value || $meta->meta_key != $key ) {
+ 			if ( !$u = update_metadata_by_mid( 'post', $mid, $value, $key ) )
+ 				wp_die( 0 ); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
+ 		}
+ 
+ 		$x = new WP_Ajax_Response( array(
+ 			'what' => 'meta',
+ 			'id' => $mid, 'old_id' => $mid,
+ 			'data' => _list_meta_row( array(
+ 				'meta_key' => $key,
+ 				'meta_value' => $value,
+ 				'meta_id' => $mid
+ 			), $c ),
+ 			'position' => 0,
+ 			'supplemental' => array('postid' => $meta->post_id)
+ 		) );
+ 	}
+ 	$x->send();
+ }
+ 
+ function wp_ajax_add_user( $action ) {
+ 	global $wp_list_table;
+ 	if ( empty( $action ) )
+ 		$action = 'add-user';
+ 
+ 	check_ajax_referer( $action );
+ 	if ( ! current_user_can('create_users') )
+ 		wp_die( -1 );
+ 	if ( ! $user_id = edit_user() ) {
+ 		wp_die( 0 );
+ 	} elseif ( is_wp_error( $user_id ) ) {
+ 		$x = new WP_Ajax_Response( array(
+ 			'what' => 'user',
+ 			'id' => $user_id
+ 		) );
+ 		$x->send();
+ 	}
+ 	$user_object = new WP_User( $user_id );
+ 
+ 	$wp_list_table = _get_list_table('WP_Users_List_Table');
+ 
+ 	$x = new WP_Ajax_Response( array(
+ 		'what' => 'user',
+ 		'id' => $user_id,
+ 		'data' => $wp_list_table->single_row( $user_object, '', $user_object->roles[0] ),
+ 		'supplemental' => array(
+ 			'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login),
+ 			'role' => $user_object->roles[0]
+ 		)
+ 	) );
+ 	$x->send();
+ }
+ 
+ function wp_ajax_autosave() {
+ 	global $login_grace_period;
+ 
+ 	define( 'DOING_AUTOSAVE', true );
+ 
+ 	$nonce_age = check_ajax_referer( 'autosave', 'autosavenonce' );
+ 
+ 	$_POST['post_category'] = explode(",", $_POST['catslist']);
+ 	if ( $_POST['post_type'] == 'page' || empty($_POST['post_category']) )
+ 		unset($_POST['post_category']);
+ 
+ 	$do_autosave = (bool) $_POST['autosave'];
+ 	$do_lock = true;
+ 
+ 	$data = $alert = '';
+ 	/* translators: draft saved date format, see http://php.net/date */
+ 	$draft_saved_date_format = __('g:i:s a');
+ 	/* translators: %s: date and time */
+ 	$message = sprintf( __('Draft saved at %s.'), date_i18n( $draft_saved_date_format ) );
+ 
+ 	$supplemental = array();
+ 	if ( isset($login_grace_period) )
+ 		$alert .= sprintf( __('Your login has expired. Please open a new browser window and <a href="%s" target="_blank">log in again</a>. '), add_query_arg( 'interim-login', 1, wp_login_url() ) );
+ 
+ 	$id = $revision_id = 0;
+ 
+ 	$post_ID = (int) $_POST['post_ID'];
+ 	$_POST['ID'] = $post_ID;
+ 	$post = get_post($post_ID);
+ 	if ( 'auto-draft' == $post->post_status )
+ 		$_POST['post_status'] = 'draft';
+ 
+ 	if ( $last = wp_check_post_lock( $post->ID ) ) {
+ 		$do_autosave = $do_lock = false;
+ 
+ 		$last_user = get_userdata( $last );
+ 		$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
+ 		$data = __( 'Autosave disabled.' );
+ 
+ 		$supplemental['disable_autosave'] = 'disable';
+ 		$alert .= sprintf( __( '%s is currently editing this article. If you update it, you will overwrite the changes.' ), esc_html( $last_user_name ) );
+ 	}
+ 
+ 	if ( 'page' == $post->post_type ) {
+ 		if ( !current_user_can('edit_page', $post_ID) )
+ 			wp_die( __( 'You are not allowed to edit this page.' ) );
+ 	} else {
+ 		if ( !current_user_can('edit_post', $post_ID) )
+ 			wp_die( __( 'You are not allowed to edit this post.' ) );
+ 	}
+ 
+ 	if ( $do_autosave ) {
+ 		// Drafts and auto-drafts are just overwritten by autosave
+ 		if ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) {
+ 			$id = edit_post();
+ 		} else { // Non drafts are not overwritten. The autosave is stored in a special post revision.
+ 			$revision_id = wp_create_post_autosave( $post->ID );
+ 			if ( is_wp_error($revision_id) )
+ 				$id = $revision_id;
+ 			else
+ 				$id = $post->ID;
+ 		}
+ 		$data = $message;
+ 	} else {
+ 		if ( ! empty( $_POST['auto_draft'] ) )
+ 			$id = 0; // This tells us it didn't actually save
+ 		else
+ 			$id = $post->ID;
+ 	}
+ 
+ 	if ( $do_lock && empty( $_POST['auto_draft'] ) && $id && is_numeric( $id ) ) {
+ 		$lock_result = wp_set_post_lock( $id );
+ 		$supplemental['active-post-lock'] = implode( ':', $lock_result );
+ 	}
+ 
+ 	if ( $nonce_age == 2 ) {
+ 		$supplemental['replace-autosavenonce'] = wp_create_nonce('autosave');
+ 		$supplemental['replace-getpermalinknonce'] = wp_create_nonce('getpermalink');
+ 		$supplemental['replace-samplepermalinknonce'] = wp_create_nonce('samplepermalink');
+ 		$supplemental['replace-closedpostboxesnonce'] = wp_create_nonce('closedpostboxes');
+ 		$supplemental['replace-_ajax_linking_nonce'] = wp_create_nonce( 'internal-linking' );
+ 		if ( $id ) {
+ 			if ( $_POST['post_type'] == 'post' )
+ 				$supplemental['replace-_wpnonce'] = wp_create_nonce('update-post_' . $id);
+ 			elseif ( $_POST['post_type'] == 'page' )
+ 				$supplemental['replace-_wpnonce'] = wp_create_nonce('update-page_' . $id);
+ 		}
+ 	}
+ 
+ 	if ( ! empty($alert) )
+ 		$supplemental['alert'] = $alert;
+ 
+ 	$x = new WP_Ajax_Response( array(
+ 		'what' => 'autosave',
+ 		'id' => $id,
+ 		'data' => $id ? $data : '',
+ 		'supplemental' => $supplemental
+ 	) );
+ 	$x->send();
+ }
+ 
+ function wp_ajax_closed_postboxes() {
+ 	check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
+ 	$closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array();
+ 	$closed = array_filter($closed);
+ 
+ 	$hidden = isset( $_POST['hidden'] ) ? explode( ',', $_POST['hidden']) : array();
+ 	$hidden = array_filter($hidden);
+ 
+ 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
+ 
+ 	if ( $page != sanitize_key( $page ) )
+ 		wp_die( 0 );
+ 
+ 	if ( ! $user = wp_get_current_user() )
+ 		wp_die( -1 );
+ 
+ 	if ( is_array($closed) )
+ 		update_user_option($user->ID, "closedpostboxes_$page", $closed, true);
+ 
+ 	if ( is_array($hidden) ) {
+ 		$hidden = array_diff( $hidden, array('submitdiv', 'linksubmitdiv', 'manage-menu', 'create-menu') ); // postboxes that are always shown
+ 		update_user_option($user->ID, "metaboxhidden_$page", $hidden, true);
+ 	}
+ 
+ 	wp_die( 1 );
+ }
+ 
+ function wp_ajax_hidden_columns() {
+ 	check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' );
+ 	$hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';
+ 	$hidden = explode( ',', $_POST['hidden'] );
+ 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
+ 
+ 	if ( $page != sanitize_key( $page ) )
+ 		wp_die( 0 );
+ 
+ 	if ( ! $user = wp_get_current_user() )
+ 		wp_die( -1 );
+ 
+ 	if ( is_array($hidden) )
+ 		update_user_option($user->ID, "manage{$page}columnshidden", $hidden, true);
+ 
+ 	wp_die( 1 );
+ }
+ 
+ function wp_ajax_update_welcome_panel() {
+ 	check_ajax_referer( 'welcome-panel-nonce', 'welcomepanelnonce' );
+ 
+ 	if ( ! current_user_can( 'edit_theme_options' ) )
+ 		wp_die( -1 );
+ 
+ 	update_user_meta( get_current_user_id(), 'show_welcome_panel', empty( $_POST['visible'] ) ? 0 : 1 );
+ 
+ 	wp_die( 1 );
+ }
+ 
+ function wp_ajax_menu_get_metabox() {
+ 	if ( ! current_user_can( 'edit_theme_options' ) )
+ 		wp_die( -1 );
+ 
+ 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+ 
+ 	if ( isset( $_POST['item-type'] ) && 'post_type' == $_POST['item-type'] ) {
+ 		$type = 'posttype';
+ 		$callback = 'wp_nav_menu_item_post_type_meta_box';
+ 		$items = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
+ 	} elseif ( isset( $_POST['item-type'] ) && 'taxonomy' == $_POST['item-type'] ) {
+ 		$type = 'taxonomy';
+ 		$callback = 'wp_nav_menu_item_taxonomy_meta_box';
+ 		$items = (array) get_taxonomies( array( 'show_ui' => true ), 'object' );
+ 	}
+ 
+ 	if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
+ 		$item = apply_filters( 'nav_menu_meta_box_object', $items[ $_POST['item-object'] ] );
+ 		ob_start();
+ 		call_user_func_array($callback, array(
+ 			null,
+ 			array(
+ 				'id' => 'add-' . $item->name,
+ 				'title' => $item->labels->name,
+ 				'callback' => $callback,
+ 				'args' => $item,
+ 			)
+ 		));
+ 
+ 		$markup = ob_get_clean();
+ 
+ 		echo json_encode(array(
+ 			'replace-id' => $type . '-' . $item->name,
+ 			'markup' => $markup,
+ 		));
+ 	}
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_wp_link_ajax() {
+ 	check_ajax_referer( 'internal-linking', '_ajax_linking_nonce' );
+ 
+ 	$args = array();
+ 
+ 	if ( isset( $_POST['search'] ) )
+ 		$args['s'] = stripslashes( $_POST['search'] );
+ 	$args['pagenum'] = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 1;
+ 
+ 	require(ABSPATH . WPINC . '/class-wp-editor.php');
+ 	$results = _WP_Editors::wp_link_query( $args );
+ 
+ 	if ( ! isset( $results ) )
+ 		wp_die( 0 );
+ 
+ 	echo json_encode( $results );
+ 	echo "\n";
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_menu_locations_save() {
+ 	if ( ! current_user_can( 'edit_theme_options' ) )
+ 		wp_die( -1 );
+ 	check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
+ 	if ( ! isset( $_POST['menu-locations'] ) )
+ 		wp_die( 0 );
+ 	set_theme_mod( 'nav_menu_locations', array_map( 'absint', $_POST['menu-locations'] ) );
+ 	wp_die( 1 );
+ }
+ 
+ function wp_ajax_meta_box_order() {
+ 	check_ajax_referer( 'meta-box-order' );
+ 	$order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false;
+ 	$page_columns = isset( $_POST['page_columns'] ) ? $_POST['page_columns'] : 'auto';
+ 
+ 	if ( $page_columns != 'auto' )
+ 		$page_columns = (int) $page_columns;
+ 
+ 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
+ 
+ 	if ( $page != sanitize_key( $page ) )
+ 		wp_die( 0 );
+ 
+ 	if ( ! $user = wp_get_current_user() )
+ 		wp_die( -1 );
+ 
+ 	if ( $order )
+ 		update_user_option($user->ID, "meta-box-order_$page", $order, true);
+ 
+ 	if ( $page_columns )
+ 		update_user_option($user->ID, "screen_layout_$page", $page_columns, true);
+ 
+ 	wp_die( 1 );
+ }
+ 
+ function wp_ajax_menu_quick_search() {
+ 	if ( ! current_user_can( 'edit_theme_options' ) )
+ 		wp_die( -1 );
+ 
+ 	require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
+ 
+ 	_wp_ajax_menu_quick_search( $_POST );
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_get_permalink() {
+ 	check_ajax_referer( 'getpermalink', 'getpermalinknonce' );
+ 	$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
+ 	wp_die( add_query_arg( array( 'preview' => 'true' ), get_permalink( $post_id ) ) );
+ }
+ 
+ function wp_ajax_sample_permalink() {
+ 	check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
+ 	$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
+ 	$title = isset($_POST['new_title'])? $_POST['new_title'] : '';
+ 	$slug = isset($_POST['new_slug'])? $_POST['new_slug'] : null;
+ 	wp_die( get_sample_permalink_html( $post_id, $title, $slug ) );
+ }
+ 
+ function wp_ajax_inline_save() {
+ 	global $wp_list_table;
+ 
+ 	check_ajax_referer( 'inlineeditnonce', '_inline_edit' );
+ 
+ 	if ( ! isset($_POST['post_ID']) || ! ( $post_ID = (int) $_POST['post_ID'] ) )
+ 		wp_die();
+ 
+ 	if ( 'page' == $_POST['post_type'] ) {
+ 		if ( ! current_user_can( 'edit_page', $post_ID ) )
+ 			wp_die( __( 'You are not allowed to edit this page.' ) );
+ 	} else {
+ 		if ( ! current_user_can( 'edit_post', $post_ID ) )
+ 			wp_die( __( 'You are not allowed to edit this post.' ) );
+ 	}
+ 
+ 	set_current_screen( $_POST['screen'] );
+ 
+ 	if ( $last = wp_check_post_lock( $post_ID ) ) {
+ 		$last_user = get_userdata( $last );
+ 		$last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
+ 		printf( $_POST['post_type'] == 'page' ? __( 'Saving is disabled: %s is currently editing this page.' ) : __( 'Saving is disabled: %s is currently editing this post.' ),	esc_html( $last_user_name ) );
+ 		wp_die();
+ 	}
+ 
+ 	$data = &$_POST;
+ 
+ 	$post = get_post( $post_ID, ARRAY_A );
+ 	$post = add_magic_quotes($post); //since it is from db
+ 
+ 	$data['content'] = $post['post_content'];
+ 	$data['excerpt'] = $post['post_excerpt'];
+ 
+ 	// rename
+ 	$data['user_ID'] = $GLOBALS['user_ID'];
+ 
+ 	if ( isset($data['post_parent']) )
+ 		$data['parent_id'] = $data['post_parent'];
+ 
+ 	// status
+ 	if ( isset($data['keep_private']) && 'private' == $data['keep_private'] )
+ 		$data['post_status'] = 'private';
+ 	else
+ 		$data['post_status'] = $data['_status'];
+ 
+ 	if ( empty($data['comment_status']) )
+ 		$data['comment_status'] = 'closed';
+ 	if ( empty($data['ping_status']) )
+ 		$data['ping_status'] = 'closed';
+ 
+ 	// update the post
+ 	edit_post();
+ 
+ 	$wp_list_table = _get_list_table('WP_Posts_List_Table');
+ 
+ 	$mode = $_POST['post_view'];
+ 	$wp_list_table->display_rows( array( get_post( $_POST['post_ID'] ) ) );
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_inline_save_tax() {
+ 	global $wp_list_table;
+ 
+ 	check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' );
+ 
+ 	$taxonomy = sanitize_key( $_POST['taxonomy'] );
+ 	$tax = get_taxonomy( $taxonomy );
+ 	if ( ! $tax )
+ 		wp_die( 0 );
+ 
+ 	if ( ! current_user_can( $tax->cap->edit_terms ) )
+ 		wp_die( -1 );
+ 
+ 	set_current_screen( 'edit-' . $taxonomy );
+ 
+ 	$wp_list_table = _get_list_table('WP_Terms_List_Table');
+ 
+ 	if ( ! isset($_POST['tax_ID']) || ! ( $id = (int) $_POST['tax_ID'] ) )
+ 		wp_die( -1 );
+ 
+ 	$tag = get_term( $id, $taxonomy );
+ 	$_POST['description'] = $tag->description;
+ 
+ 	$updated = wp_update_term($id, $taxonomy, $_POST);
+ 	if ( $updated && !is_wp_error($updated) ) {
+ 		$tag = get_term( $updated['term_id'], $taxonomy );
+ 		if ( !$tag || is_wp_error( $tag ) ) {
+ 			if ( is_wp_error($tag) && $tag->get_error_message() )
+ 				wp_die( $tag->get_error_message() );
+ 			wp_die( __( 'Item not updated.' ) );
+ 		}
+ 
+ 		echo $wp_list_table->single_row( $tag );
+ 	} else {
+ 		if ( is_wp_error($updated) && $updated->get_error_message() )
+ 			wp_die( $updated->get_error_message() );
+ 		wp_die( __( 'Item not updated.' ) );
+ 	}
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_find_posts() {
+ 	global $wpdb;
+ 
+ 	check_ajax_referer( 'find-posts' );
+ 
+ 	if ( empty($_POST['ps']) )
+ 		wp_die();
+ 
+ 	if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) )
+ 		$what = $_POST['post_type'];
+ 	else
+ 		$what = 'post';
+ 
+ 	$s = stripslashes($_POST['ps']);
+ 	preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches);
+ 	$search_terms = array_map('_search_terms_tidy', $matches[0]);
+ 
+ 	$searchand = $search = '';
+ 	foreach ( (array) $search_terms as $term ) {
+ 		$term = esc_sql( like_escape( $term ) );
+ 		$search .= "{$searchand}(($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%'))";
+ 		$searchand = ' AND ';
+ 	}
+ 	$term = esc_sql( like_escape( $s ) );
+ 	if ( count($search_terms) > 1 && $search_terms[0] != $s )
+ 		$search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')";
+ 
+ 	$posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') AND ($search) ORDER BY post_date_gmt DESC LIMIT 50" );
+ 
+ 	if ( ! $posts ) {
+ 		$posttype = get_post_type_object($what);
+ 		wp_die( $posttype->labels->not_found );
+ 	}
+ 
+ 	$html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th>'.__('Date').'</th><th>'.__('Status').'</th></tr></thead><tbody>';
+ 	foreach ( $posts as $post ) {
+ 
+ 		switch ( $post->post_status ) {
+ 			case 'publish' :
+ 			case 'private' :
+ 				$stat = __('Published');
+ 				break;
+ 			case 'future' :
+ 				$stat = __('Scheduled');
+ 				break;
+ 			case 'pending' :
+ 				$stat = __('Pending Review');
+ 				break;
+ 			case 'draft' :
+ 				$stat = __('Draft');
+ 				break;
+ 		}
+ 
+ 		if ( '0000-00-00 00:00:00' == $post->post_date ) {
+ 			$time = '';
+ 		} else {
+ 			/* translators: date format in table columns, see http://php.net/date */
+ 			$time = mysql2date(__('Y/m/d'), $post->post_date);
+ 		}
+ 
+ 		$html .= '<tr class="found-posts"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>';
+ 		$html .= '<td><label for="found-'.$post->ID.'">'.esc_html( $post->post_title ).'</label></td><td>'.esc_html( $time ).'</td><td>'.esc_html( $stat ).'</td></tr>'."\n\n";
+ 	}
+ 	$html .= '</tbody></table>';
+ 
+ 	$x = new WP_Ajax_Response();
+ 	$x->add( array(
+ 		'what' => $what,
+ 		'data' => $html
+ 	));
+ 	$x->send();
+ 
+ }
+ 
+ function wp_ajax_widgets_order() {
+ 	check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
+ 
+ 	if ( !current_user_can('edit_theme_options') )
+ 		wp_die( -1 );
+ 
+ 	unset( $_POST['savewidgets'], $_POST['action'] );
+ 
+ 	// save widgets order for all sidebars
+ 	if ( is_array($_POST['sidebars']) ) {
+ 		$sidebars = array();
+ 		foreach ( $_POST['sidebars'] as $key => $val ) {
+ 			$sb = array();
+ 			if ( !empty($val) ) {
+ 				$val = explode(',', $val);
+ 				foreach ( $val as $k => $v ) {
+ 					if ( strpos($v, 'widget-') === false )
+ 						continue;
+ 
+ 					$sb[$k] = substr($v, strpos($v, '_') + 1);
+ 				}
+ 			}
+ 			$sidebars[$key] = $sb;
+ 		}
+ 		wp_set_sidebars_widgets($sidebars);
+ 		wp_die( 1 );
+ 	}
+ 
+ 	wp_die( -1 );
+ }
+ 
+ function wp_ajax_save_widget() {
+ 	global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates;
+ 
+ 	check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
+ 
+ 	if ( !current_user_can('edit_theme_options') || !isset($_POST['id_base']) )
+ 		wp_die( -1 );
+ 
+ 	unset( $_POST['savewidgets'], $_POST['action'] );
+ 
+ 	do_action('load-widgets.php');
+ 	do_action('widgets.php');
+ 	do_action('sidebar_admin_setup');
+ 
+ 	$id_base = $_POST['id_base'];
+ 	$widget_id = $_POST['widget-id'];
+ 	$sidebar_id = $_POST['sidebar'];
+ 	$multi_number = !empty($_POST['multi_number']) ? (int) $_POST['multi_number'] : 0;
+ 	$settings = isset($_POST['widget-' . $id_base]) && is_array($_POST['widget-' . $id_base]) ? $_POST['widget-' . $id_base] : false;
+ 	$error = '<p>' . __('An error has occurred. Please reload the page and try again.') . '</p>';
+ 
+ 	$sidebars = wp_get_sidebars_widgets();
+ 	$sidebar = isset($sidebars[$sidebar_id]) ? $sidebars[$sidebar_id] : array();
+ 
+ 	// delete
+ 	if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) {
+ 
+ 		if ( !isset($wp_registered_widgets[$widget_id]) )
+ 			wp_die( $error );
+ 
+ 		$sidebar = array_diff( $sidebar, array($widget_id) );
+ 		$_POST = array('sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1');
+ 	} elseif ( $settings && preg_match( '/__i__|%i%/', key($settings) ) ) {
+ 		if ( !$multi_number )
+ 			wp_die( $error );
+ 
+ 		$_POST['widget-' . $id_base] = array( $multi_number => array_shift($settings) );
+ 		$widget_id = $id_base . '-' . $multi_number;
+ 		$sidebar[] = $widget_id;
+ 	}
+ 	$_POST['widget-id'] = $sidebar;
+ 
+ 	foreach ( (array) $wp_registered_widget_updates as $name => $control ) {
+ 
+ 		if ( $name == $id_base ) {
+ 			if ( !is_callable( $control['callback'] ) )
+ 				continue;
+ 
+ 			ob_start();
+ 				call_user_func_array( $control['callback'], $control['params'] );
+ 			ob_end_clean();
+ 			break;
+ 		}
+ 	}
+ 
+ 	if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) {
+ 		$sidebars[$sidebar_id] = $sidebar;
+ 		wp_set_sidebars_widgets($sidebars);
+ 		echo "deleted:$widget_id";
+ 		wp_die();
+ 	}
+ 
+ 	if ( !empty($_POST['add_new']) )
+ 		wp_die();
+ 
+ 	if ( $form = $wp_registered_widget_controls[$widget_id] )
+ 		call_user_func_array( $form['callback'], $form['params'] );
+ 
+ 	wp_die();
+ }
+ 
+ function wp_ajax_upload_attachment() {
+ 	check_ajax_referer( 'media-form' );
+ 
+ 	if ( ! current_user_can( 'upload_files' ) )
+ 		wp_die( -1 );
+ 
+ 	if ( isset( $_REQUEST['post_id'] ) ) {
+ 		$post_id = $_REQUEST['post_id'];
+ 		if ( ! current_user_can( 'edit_post', $post_id ) )
+ 			wp_die( -1 );
+ 	} else {
+ 		$post_id = null;
+ 	}
+ 
+ 	$post_data = isset( $_REQUEST['post_data'] ) ? $_REQUEST['post_data'] : array();
+ 
+ 	$attachment_id = media_handle_upload( 'async-upload', $post_id, $post_data );
+ 
+ 	if ( is_wp_error( $attachment_id ) ) {
+ 		echo json_encode( array(
+ 			'type' => 'error',
+ 			'data' => array(
+ 				'message'  => $attachment_id->get_error_message(),
+ 				'filename' => $_FILES['async-upload']['name'],
+ 			),
+ 		) );
+ 		wp_die();
+ 	}
+ 
+ 	if ( isset( $post_data['context'] ) && isset( $post_data['theme'] ) ) {
+ 		if ( 'custom-background' === $post_data['context'] )
+ 			update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', $post_data['theme'] );
+ 
+ 		if ( 'custom-header' === $post_data['context'] )
+ 			update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', $post_data['theme'] );
+ 	}
+ 
+ 	$post = get_post( $attachment_id );
+ 
+ 	echo json_encode( array(
+ 		'type' => 'success',
+ 		'data' => array(
+ 			'id'       => $attachment_id,
+ 			'title'    => esc_attr( $post->post_title ),
+ 			'filename' => esc_html( basename( $post->guid ) ),
+ 			'url'      => wp_get_attachment_url( $attachment_id ),
+ 			'meta'     => wp_get_attachment_metadata( $attachment_id ),
+ 		),
+ 	) );
+ 	wp_die();
+ }
+ 
+ function wp_ajax_image_editor() {
+ 	$attachment_id = intval($_POST['postid']);
+ 	if ( empty($attachment_id) || !current_user_can('edit_post', $attachment_id) )
+ 		wp_die( -1 );
+ 
+ 	check_ajax_referer( "image_editor-$attachment_id" );
+ 	include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
+ 
+ 	$msg = false;
+ 	switch ( $_POST['do'] ) {
+ 		case 'save' :
+ 			$msg = wp_save_image($attachment_id);
+ 			$msg = json_encode($msg);
+ 			wp_die( $msg );
+ 			break;
+ 		case 'scale' :
+ 			$msg = wp_save_image($attachment_id);
+ 			break;
+ 		case 'restore' :
+ 			$msg = wp_restore_image($attachment_id);
+ 			break;
+ 	}
+ 
+ 	wp_image_editor($attachment_id, $msg);
+ 	wp_die();
+ }
+ 
+ function wp_ajax_set_post_thumbnail() {
+ 	$post_ID = intval( $_POST['post_id'] );
+ 	if ( !current_user_can( 'edit_post', $post_ID ) )
+ 		wp_die( -1 );
+ 	$thumbnail_id = intval( $_POST['thumbnail_id'] );
+ 
+ 	check_ajax_referer( "set_post_thumbnail-$post_ID" );
+ 
+ 	if ( $thumbnail_id == '-1' ) {
+ 		if ( delete_post_thumbnail( $post_ID ) )
+ 			wp_die( _wp_post_thumbnail_html( null, $post_ID ) );
+ 		else
+ 			wp_die( 0 );
+ 	}
+ 
+ 	if ( set_post_thumbnail( $post_ID, $thumbnail_id ) )
+ 		wp_die( _wp_post_thumbnail_html( $thumbnail_id, $post_ID ) );
+ 	wp_die( 0 );
+ }
+ 
+ function wp_ajax_date_format() {
+ 	wp_die( date_i18n( sanitize_option( 'date_format', $_POST['date'] ) ) );
+ }
+ 
+ function wp_ajax_time_format() {
+ 	wp_die( date_i18n( sanitize_option( 'time_format', $_POST['date'] ) ) );
+ }
+ 
+ function wp_ajax_wp_fullscreen_save_post() {
+ 	$post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
+ 
+ 	$post = $post_type = null;
+ 
+ 	if ( $post_id )
+ 		$post = get_post( $post_id );
+ 
+ 	if ( $post )
+ 		$post_type = $post->post_type;
+ 	elseif ( isset( $_POST['post_type'] ) && post_type_exists( $_POST['post_type'] ) )
+ 		$post_type = $_POST['post_type'];
+ 
+ 	check_ajax_referer('update-' . $post_type . '_' . $post_id, '_wpnonce');
+ 
+ 	$post_id = edit_post();
+ 
+ 	if ( is_wp_error($post_id) ) {
+ 		if ( $post_id->get_error_message() )
+ 			$message = $post_id->get_error_message();
+ 		else
+ 			$message = __('Save failed');
+ 
+ 		echo json_encode( array( 'message' => $message, 'last_edited' => '' ) );
+ 		wp_die();
+ 	} else {
+ 		$message = __('Saved.');
+ 	}
+ 
+ 	if ( $post ) {
+ 		$last_date = mysql2date( get_option('date_format'), $post->post_modified );
+ 		$last_time = mysql2date( get_option('time_format'), $post->post_modified );
+ 	} else {
+ 		$last_date = date_i18n( get_option('date_format') );
+ 		$last_time = date_i18n( get_option('time_format') );
+ 	}
+ 
+ 	if ( $last_id = get_post_meta($post_id, '_edit_last', true) ) {
+ 		$last_user = get_userdata($last_id);
+ 		$last_edited = sprintf( __('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), $last_date, $last_time );
+ 	} else {
+ 		$last_edited = sprintf( __('Last edited on %1$s at %2$s'), $last_date, $last_time );
+ 	}
+ 
+ 	echo json_encode( array( 'message' => $message, 'last_edited' => $last_edited ) );
+ 	wp_die();
+ }
+ 
+ function wp_ajax_wp_remove_post_lock() {
+ 	if ( empty( $_POST['post_ID'] ) || empty( $_POST['active_post_lock'] ) )
+ 		wp_die( 0 );
+ 	$post_id = (int) $_POST['post_ID'];
+ 	if ( ! $post = get_post( $post_id ) )
+ 		wp_die( 0 );
+ 
+ 	check_ajax_referer( 'update-' . $post->post_type . '_' . $post_id );
+ 
+ 	if ( ! current_user_can( 'edit_post', $post_id ) )
+ 		wp_die( -1 );
+ 
+ 	$active_lock = array_map( 'absint', explode( ':', $_POST['active_post_lock'] ) );
+ 	if ( $active_lock[1] != get_current_user_id() )
+ 		wp_die( 0 );
+ 
+ 	$new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', AUTOSAVE_INTERVAL * 2 ) + 5 ) . ':' . $active_lock[1];
+ 	update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) );
+ 	wp_die( 1 );
+ }
+ 
+ function wp_ajax_dismiss_wp_pointer() {
+ 	$pointer = $_POST['pointer'];
+ 	if ( $pointer != sanitize_key( $pointer ) )
+ 		wp_die( 0 );
+ 
+ //	check_ajax_referer( 'dismiss-pointer_' . $pointer );
+ 
+ 	$dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ) );
+ 
+ 	if ( in_array( $pointer, $dismissed ) )
+ 		wp_die( 0 );
+ 
+ 	$dismissed[] = $pointer;
+ 	$dismissed = implode( ',', $dismissed );
+ 
+ 	update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $dismissed );
+ 	wp_die( 1 );
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/bookmark.php ./wordpress-3.4/wp-admin/includes/bookmark.php
*** ./wordpress-3.3.2/wp-admin/includes/bookmark.php	2010-10-19 02:48:22.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/bookmark.php	2012-03-24 10:24:31.000000000 -0500
***************
*** 53,58 ****
--- 53,59 ----
   * @return object Default link
   */
  function get_default_link_to_edit() {
+ 	$link = new stdClass;
  	if ( isset( $_GET['linkurl'] ) )
  		$link->link_url = esc_url( $_GET['linkurl'] );
  	else
***************
*** 83,89 ****
  
  	wp_delete_object_term_relationships( $link_id, 'link_category' );
  
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->links WHERE link_id = %d", $link_id ) );
  
  	do_action( 'deleted_link', $link_id );
  
--- 84,90 ----
  
  	wp_delete_object_term_relationships( $link_id, 'link_category' );
  
! 	$wpdb->delete( $wpdb->links, array( 'link_id' => $link_id ) );
  
  	do_action( 'deleted_link', $link_id );
  
***************
*** 265,269 ****
  
  	return wp_insert_link( $linkdata );
  }
- 
- ?>
--- 266,268 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-ftp.php ./wordpress-3.4/wp-admin/includes/class-ftp.php
*** ./wordpress-3.3.2/wp-admin/includes/class-ftp.php	2009-12-26 10:53:17.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/class-ftp.php	2012-03-28 21:15:06.000000000 -0500
***************
*** 896,906 ****
  	}
  }
  
! $mod_sockets=TRUE;
! if (!extension_loaded('sockets')) {
! 	$prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
! 	if(!@dl($prefix . 'sockets.' . PHP_SHLIB_SUFFIX)) $mod_sockets=FALSE;
  }
  
! require_once "class-ftp-".($mod_sockets?"sockets":"pure").".php";
  ?>
--- 896,907 ----
  	}
  }
  
! $mod_sockets = extension_loaded( 'sockets' );
! if ( ! $mod_sockets && function_exists( 'dl' ) && is_callable( 'dl' ) ) {
! 	$prefix = ( PHP_SHLIB_SUFFIX == 'dll' ) ? 'php_' : '';
! 	@dl( $prefix . 'sockets.' . PHP_SHLIB_SUFFIX );
! 	$mod_sockets = extension_loaded( 'sockets' );
  }
  
! require_once "class-ftp-" . ( $mod_sockets ? "sockets" : "pure" ) . ".php";
  ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-comments-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-comments-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-comments-list-table.php	2011-11-15 08:02:42.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/class-wp-comments-list-table.php	2012-04-19 09:00:44.000000000 -0500
***************
*** 130,142 ****
  		global $comment_status;
  
  		if ( 'moderated' == $comment_status )
! 			_e( 'No comments awaiting moderation&hellip; yet.' );
  		else
  			_e( 'No comments found.' );
  	}
  
  	function get_views() {
! 		global $post_id, $comment_status;
  
  		$status_links = array();
  		$num_comments = ( $post_id ) ? wp_count_comments( $post_id ) : wp_count_comments();
--- 130,142 ----
  		global $comment_status;
  
  		if ( 'moderated' == $comment_status )
! 			_e( 'No comments awaiting moderation.' );
  		else
  			_e( 'No comments found.' );
  	}
  
  	function get_views() {
! 		global $post_id, $comment_status, $comment_type;
  
  		$status_links = array();
  		$num_comments = ( $post_id ) ? wp_count_comments( $post_id ) : wp_count_comments();
***************
*** 186,192 ****
  		$actions = array();
  		if ( in_array( $comment_status, array( 'all', 'approved' ) ) )
  			$actions['unapprove'] = __( 'Unapprove' );
! 		if ( in_array( $comment_status, array( 'all', 'moderated', 'spam' ) ) )
  			$actions['approve'] = __( 'Approve' );
  		if ( in_array( $comment_status, array( 'all', 'moderated', 'approved' ) ) )
  			$actions['spam'] = _x( 'Mark as Spam', 'comment' );
--- 186,192 ----
  		$actions = array();
  		if ( in_array( $comment_status, array( 'all', 'approved' ) ) )
  			$actions['unapprove'] = __( 'Unapprove' );
! 		if ( in_array( $comment_status, array( 'all', 'moderated' ) ) )
  			$actions['approve'] = __( 'Approve' );
  		if ( in_array( $comment_status, array( 'all', 'moderated', 'approved' ) ) )
  			$actions['spam'] = _x( 'Mark as Spam', 'comment' );
***************
*** 556,560 ****
  		return 10;
  	}
  }
- 
- ?>
--- 556,558 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-base.php ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-base.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-base.php	2011-09-03 09:18:10.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-base.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 328,332 ****
  		return (bool) preg_match('|[^\x20-\x7E]|', $text); //chr(32)..chr(127)
  	}
  }
- 
- ?>
--- 328,330 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-direct.php ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-direct.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-direct.php	2011-10-13 05:43:38.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-direct.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 207,213 ****
  		if ( ! $overwrite && $this->exists($destination) )
  			return false;
  
! 		// try using rename first.  if that fails (for example, source is read only) try copy
  		if ( @rename($source, $destination) )
  			return true;
  
--- 207,213 ----
  		if ( ! $overwrite && $this->exists($destination) )
  			return false;
  
! 		// try using rename first. if that fails (for example, source is read only) try copy
  		if ( @rename($source, $destination) )
  			return true;
  
***************
*** 361,364 ****
  		return $ret;
  	}
  }
- ?>
--- 361,363 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-ftpext.php ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-ftpext.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-ftpext.php	2011-10-13 05:43:38.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-ftpext.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 387,391 ****
  			ftp_close($this->link);
  	}
  }
- 
- ?>
--- 387,389 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-ftpsockets.php ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-ftpsockets.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-filesystem-ftpsockets.php	2011-10-13 05:43:38.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-filesystem-ftpsockets.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 327,331 ****
  		$this->ftp->quit();
  	}
  }
- 
- ?>
--- 327,329 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-links-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-links-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-links-list-table.php	2011-06-10 17:13:26.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-links-list-table.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 182,186 ****
  		}
  	}
  }
- 
- ?>
--- 182,184 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-list-table.php	2011-10-19 18:51:06.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-list-table.php	2012-03-15 23:04:07.000000000 -0500
***************
*** 212,218 ****
  ?>
  <p class="search-box">
  	<label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
! 	<input type="text" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>" />
  	<?php submit_button( $text, 'button', false, false, array('id' => 'search-submit') ); ?>
  </p>
  <?php
--- 212,218 ----
  ?>
  <p class="search-box">
  	<label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
! 	<input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>" />
  	<?php submit_button( $text, 'button', false, false, array('id' => 'search-submit') ); ?>
  </p>
  <?php
***************
*** 386,392 ****
  			printf( "<option %s value='%s'>%s</option>\n",
  				selected( $m, $year . $month, false ),
  				esc_attr( $arc_row->year . $month ),
! 				$wp_locale->get_month( $month ) . " $year"
  			);
  		}
  ?>
--- 386,393 ----
  			printf( "<option %s value='%s'>%s</option>\n",
  				selected( $m, $year . $month, false ),
  				esc_attr( $arc_row->year . $month ),
! 				/* translators: 1: month name, 2: 4-digit year */
! 				sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year )
  			);
  		}
  ?>
***************
*** 483,489 ****
  		if ( empty( $this->_pagination_args ) )
  			return;
  
! 		extract( $this->_pagination_args );
  
  		$output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
  
--- 484,490 ----
  		if ( empty( $this->_pagination_args ) )
  			return;
  
! 		extract( $this->_pagination_args, EXTR_SKIP );
  
  		$output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
  
***************
*** 518,526 ****
  		if ( 'bottom' == $which )
  			$html_current_page = $current;
  		else
! 			$html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='%s' value='%s' size='%d' />",
  				esc_attr__( 'Current page' ),
- 				esc_attr( 'paged' ),
  				$current,
  				strlen( $total_pages )
  			);
--- 519,526 ----
  		if ( 'bottom' == $which )
  			$html_current_page = $current;
  		else
! 			$html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />",
  				esc_attr__( 'Current page' ),
  				$current,
  				strlen( $total_pages )
  			);
***************
*** 542,548 ****
  			'&raquo;'
  		);
  
! 		$output .= "\n<span class='pagination-links'>" . join( "\n", $page_links ) . '</span>';
  
  		if ( $total_pages )
  			$page_class = $total_pages < 2 ? ' one-page' : '';
--- 542,551 ----
  			'&raquo;'
  		);
  
! 		$pagination_links_class = 'pagination-links';
! 		if ( ! empty( $infinite_scroll ) )
! 			$pagination_links_class = ' hide-if-js';
! 		$output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>';
  
  		if ( $total_pages )
  			$page_class = $total_pages < 2 ? ' one-page' : '';
***************
*** 871,877 ****
  		$this->prepare_items();
  
  		extract( $this->_args );
! 		extract( $this->_pagination_args );
  
  		ob_start();
  		if ( ! empty( $_REQUEST['no_placeholder'] ) )
--- 874,880 ----
  		$this->prepare_items();
  
  		extract( $this->_args );
! 		extract( $this->_pagination_args, EXTR_SKIP );
  
  		ob_start();
  		if ( ! empty( $_REQUEST['no_placeholder'] ) )
***************
*** 913,916 ****
  		printf( "<script type='text/javascript'>list_args = %s;</script>\n", json_encode( $args ) );
  	}
  }
- ?>
--- 916,918 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-media-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-media-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-media-list-table.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/class-wp-media-list-table.php	2012-02-14 11:25:40.000000000 -0600
***************
*** 302,309 ****
  			<td <?php echo $attributes ?>><strong>
  				<?php if( current_user_can( 'edit_post', $post->post_parent ) ) { ?>
  					<a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
! 						<?php echo $title ?></a>
! 				<?php } else {
  					echo $title;
  				} ?></strong>,
  				<?php echo get_the_time( __( 'Y/m/d' ) ); ?>
--- 302,309 ----
  			<td <?php echo $attributes ?>><strong>
  				<?php if( current_user_can( 'edit_post', $post->post_parent ) ) { ?>
  					<a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
! 						<?php echo $title ?></a><?php
! 				} else {
  					echo $title;
  				} ?></strong>,
  				<?php echo get_the_time( __( 'Y/m/d' ) ); ?>
***************
*** 392,396 ****
  		return $actions;
  	}
  }
- 
- ?>
--- 392,394 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-ms-sites-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-ms-sites-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-ms-sites-list-table.php	2011-10-03 11:30:07.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-ms-sites-list-table.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 251,257 ****
  									$actions['deactivate']	= '<span class="activate"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=deactivateblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to deactivate the site %s' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Deactivate' ) . '</a></span>';
  
  								if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' )
! 									$actions['unarchive']	= '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=unarchiveblog&amp;id=' .  $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to unarchive the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Unarchive' ) . '</a></span>';
  								else
  									$actions['archive']	= '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=archiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to archive the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . _x( 'Archive', 'verb; site' ) . '</a></span>';
  
--- 251,257 ----
  									$actions['deactivate']	= '<span class="activate"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=deactivateblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to deactivate the site %s' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Deactivate' ) . '</a></span>';
  
  								if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' )
! 									$actions['unarchive']	= '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=unarchiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to unarchive the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Unarchive' ) . '</a></span>';
  								else
  									$actions['archive']	= '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=archiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to archive the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . _x( 'Archive', 'verb; site' ) . '</a></span>';
  
***************
*** 337,341 ****
  		}
  	}
  }
- 
- ?>
--- 337,339 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-ms-themes-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-ms-themes-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-ms-themes-list-table.php	2011-04-29 15:05:12.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-ms-themes-list-table.php	2012-03-21 11:19:27.000000000 -0500
***************
*** 15,28 ****
  	function __construct() {
  		global $status, $page;
  
! 		$default_status = get_user_option( 'themes_last_view' );
! 		if ( empty( $default_status ) )
! 			$default_status = 'all';
! 		$status = isset( $_REQUEST['theme_status'] ) ? $_REQUEST['theme_status'] : $default_status;
! 		if ( !in_array( $status, array( 'all', 'enabled', 'disabled', 'upgrade', 'search' ) ) )
  			$status = 'all';
- 		if ( $status != $default_status && 'search' != $status )
- 			update_user_meta( get_current_user_id(), 'themes_last_view', $status );
  
  		$page = $this->get_pagenum();
  
--- 15,23 ----
  	function __construct() {
  		global $status, $page;
  
! 		$status = isset( $_REQUEST['theme_status'] ) ? $_REQUEST['theme_status'] : 'all';
! 		if ( !in_array( $status, array( 'all', 'enabled', 'disabled', 'upgrade', 'search', 'broken' ) ) )
  			$status = 'all';
  
  		$page = $this->get_pagenum();
  
***************
*** 55,110 ****
  	}
  
  	function prepare_items() {
! 		global $status, $themes, $totals, $page, $orderby, $order, $s;
  
  		wp_reset_vars( array( 'orderby', 'order', 's' ) );
  
  		$themes = array(
! 			'all' => apply_filters( 'all_themes', get_themes() ),
  			'search' => array(),
  			'enabled' => array(),
  			'disabled' => array(),
! 			'upgrade' => array()
  		);
  
! 		$site_allowed_themes = get_site_allowed_themes();
! 		if ( !$this->is_site_themes ) {
! 			$allowed_themes = $site_allowed_themes;
! 			$themes_per_page = $this->get_items_per_page( 'themes_network_per_page' );
! 		} else {
! 			$allowed_themes = wpmu_get_blog_allowedthemes( $this->site_id );
  			$themes_per_page = $this->get_items_per_page( 'site_themes_network_per_page' );
  		}
  
! 		$current = get_site_transient( 'update_themes' );
  
  		foreach ( (array) $themes['all'] as $key => $theme ) {
! 			$theme_key = $theme['Stylesheet'];
! 
! 			if ( isset( $allowed_themes [ $theme_key ] ) )  {
! 				$themes['all'][$key]['enabled'] = true;
! 				$themes['enabled'][$key] = $themes['all'][$key];
! 			}
! 			else {
! 				$themes['all'][$key]['enabled'] = false;
! 				$themes['disabled'][$key] = $themes['all'][$key];
  			}
- 			if ( isset( $current->response[ $theme['Template'] ] ) )
- 				$themes['upgrade'][$key] = $themes['all'][$key];
  
! 			if ( $this->is_site_themes && isset( $site_allowed_themes[$theme_key] ) ) {
! 				unset( $themes['all'][$key] );
! 				unset( $themes['enabled'][$key] );
! 				unset( $themes['disabled'][$key] );
  			}
- 		}
  
! 		if ( !current_user_can( 'update_themes' ) || $this->is_site_themes )
! 			$themes['upgrade'] = array();
  
  		if ( $s ) {
  			$status = 'search';
! 			$themes['search'] = array_filter( $themes['all'], array( &$this, '_search_callback' ) );
  		}
  
  		$totals = array();
--- 50,96 ----
  	}
  
  	function prepare_items() {
! 		global $status, $totals, $page, $orderby, $order, $s;
  
  		wp_reset_vars( array( 'orderby', 'order', 's' ) );
  
  		$themes = array(
! 			'all' => apply_filters( 'all_themes', wp_get_themes() ),
  			'search' => array(),
  			'enabled' => array(),
  			'disabled' => array(),
! 			'upgrade' => array(),
! 			'broken' => $this->is_site_themes ? array() : wp_get_themes( array( 'errors' => true ) ),
  		);
  
! 		if ( $this->is_site_themes ) {
  			$themes_per_page = $this->get_items_per_page( 'site_themes_network_per_page' );
+ 			$allowed_where = 'site';
+ 		} else {
+ 			$themes_per_page = $this->get_items_per_page( 'themes_network_per_page' );
+ 			$allowed_where = 'network';
  		}
  
! 		$maybe_update = current_user_can( 'update_themes' ) && ! $this->is_site_themes && $current = get_site_transient( 'update_themes' );
  
  		foreach ( (array) $themes['all'] as $key => $theme ) {
! 			if ( $this->is_site_themes && $theme->is_allowed( 'network' ) ) {
! 				unset( $themes['all'][ $key ] );
! 				continue;
  			}
  
! 			if ( $maybe_update && isset( $current->response[ $key ] ) ) {
! 				$themes['all'][ $key ]->update = true;
! 				$themes['upgrade'][ $key ] = $themes['all'][ $key ];
  			}
  
! 			$filter = $theme->is_allowed( $allowed_where, $this->site_id ) ? 'enabled' : 'disabled';
! 			$themes[ $filter ][ $key ] = $themes['all'][ $key ];
! 		}
  
  		if ( $s ) {
  			$status = 'search';
! 			$themes['search'] = array_filter( array_merge( $themes['all'], $themes['broken'] ), array( &$this, '_search_callback' ) );
  		}
  
  		$totals = array();
***************
*** 115,133 ****
  			$status = 'all';
  
  		$this->items = $themes[ $status ];
  		$total_this_page = $totals[ $status ];
  
  		if ( $orderby ) {
  			$orderby = ucfirst( $orderby );
  			$order = strtoupper( $order );
  
! 			uasort( $this->items, array( &$this, '_order_callback' ) );
  		}
  
  		$start = ( $page - 1 ) * $themes_per_page;
  
  		if ( $total_this_page > $themes_per_page )
! 			$this->items = array_slice( $this->items, $start, $themes_per_page );
  
  		$this->set_pagination_args( array(
  			'total_items' => $total_this_page,
--- 101,127 ----
  			$status = 'all';
  
  		$this->items = $themes[ $status ];
+ 		WP_Theme::sort_by_name( $this->items );
+ 
+ 		$this->has_items = ! empty( $themes['all'] );
  		$total_this_page = $totals[ $status ];
  
  		if ( $orderby ) {
  			$orderby = ucfirst( $orderby );
  			$order = strtoupper( $order );
  
! 			if ( $orderby == 'Name' ) {
! 				if ( 'ASC' == $order )
! 					$this->items = array_reverse( $this->items );
! 			} else {
! 				uasort( $this->items, array( &$this, '_order_callback' ) );
! 			}
  		}
  
  		$start = ( $page - 1 ) * $themes_per_page;
  
  		if ( $total_this_page > $themes_per_page )
! 			$this->items = array_slice( $this->items, $start, $themes_per_page, true );
  
  		$this->set_pagination_args( array(
  			'total_items' => $total_this_page,
***************
*** 140,158 ****
  		if ( is_null( $term ) )
  			$term = stripslashes( $_REQUEST['s'] );
  
! 		$search_fields = array( 'Name', 'Title', 'Description', 'Author', 'Author Name', 'Author URI', 'Template', 'Stylesheet' );
! 		foreach ( $search_fields as $field )
! 			if ( stripos( $theme[ $field ], $term ) !== false )
  				return true;
  
  		return false;
  	}
  
  	function _order_callback( $theme_a, $theme_b ) {
  		global $orderby, $order;
  
! 		$a = $theme_a[$orderby];
! 		$b = $theme_b[$orderby];
  
  		if ( $a == $b )
  			return 0;
--- 134,160 ----
  		if ( is_null( $term ) )
  			$term = stripslashes( $_REQUEST['s'] );
  
! 		foreach ( array( 'Name', 'Description', 'Author', 'Author', 'AuthorURI' ) as $field ) {
! 			// Don't mark up; Do translate.
! 			if ( false !== stripos( $theme->display( $field, false, true ), $term ) )
  				return true;
+ 		}
+ 
+ 		if ( false !== stripos( $theme->get_stylesheet(), $term ) )
+ 			return true;
+ 
+ 		if ( false !== stripos( $theme->get_template(), $term ) )
+ 			return true;
  
  		return false;
  	}
  
+ 	// Not used by any core columns.
  	function _order_callback( $theme_a, $theme_b ) {
  		global $orderby, $order;
  
! 		$a = $theme_a[ $orderby ];
! 		$b = $theme_b[ $orderby ];
  
  		if ( $a == $b )
  			return 0;
***************
*** 164,172 ****
  	}
  
  	function no_items() {
! 		global $themes;
! 
! 		if ( !empty( $themes['all'] ) )
  			_e( 'No themes found.' );
  		else
  			_e( 'You do not appear to have any themes available at this time.' );
--- 166,172 ----
  	}
  
  	function no_items() {
! 		if ( ! $this->has_items )
  			_e( 'No themes found.' );
  		else
  			_e( 'You do not appear to have any themes available at this time.' );
***************
*** 209,214 ****
--- 209,217 ----
  				case 'upgrade':
  					$text = _n( 'Update Available <span class="count">(%s)</span>', 'Update Available <span class="count">(%s)</span>', $count );
  					break;
+ 				case 'broken' :
+ 					$text = _n( 'Broken <span class="count">(%s)</span>', 'Broken <span class="count">(%s)</span>', $count );
+ 					break;
  			}
  
  			if ( $this->is_site_themes )
***************
*** 260,273 ****
  	}
  
  	function single_row( $key, $theme ) {
! 		global $status, $page, $s;
  
  		$context = $status;
  
! 		if ( $this->is_site_themes )
  			$url = "site-themes.php?id={$this->site_id}&amp;";
! 		else
  			$url = 'themes.php?';
  
  		// preorder
  		$actions = array(
--- 263,279 ----
  	}
  
  	function single_row( $key, $theme ) {
! 		global $status, $page, $s, $totals;
  
  		$context = $status;
  
! 		if ( $this->is_site_themes ) {
  			$url = "site-themes.php?id={$this->site_id}&amp;";
! 			$allowed = $theme->is_allowed( 'site', $this->site_id );
! 		} else {
  			$url = 'themes.php?';
+ 			$allowed = $theme->is_allowed( 'network' );
+ 		}
  
  		// preorder
  		$actions = array(
***************
*** 277,306 ****
  			'delete' => ''
  		);
  
! 		$theme_key = $theme['Stylesheet'];
  
! 		if ( empty( $theme['enabled'] ) )
! 			$actions['enable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=enable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'enable-theme_' . $theme_key) ) . '" title="' . esc_attr__('Enable this theme') . '" class="edit">' . ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) . '</a>';
! 		else
  			$actions['disable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=disable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'disable-theme_' . $theme_key) ) . '" title="' . esc_attr__('Disable this theme') . '">' . ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) . '</a>';
  
  		if ( current_user_can('edit_themes') )
! 			$actions['edit'] = '<a href="' . esc_url('theme-editor.php?theme=' . urlencode( $theme['Name'] )) . '" title="' . esc_attr__('Open this theme in the Theme Editor') . '" class="edit">' . __('Edit') . '</a>';
  
! 		if ( empty( $theme['enabled'] ) && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $theme_key != get_option( 'stylesheet' ) && $theme_key != get_option( 'template' ) )
  			$actions['delete'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=delete-selected&amp;checked[]=' . $theme_key . '&amp;theme_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-themes' ) ) . '" title="' . esc_attr__( 'Delete this theme' ) . '" class="delete">' . __( 'Delete' ) . '</a>';
  
  		$actions = apply_filters( 'theme_action_links', array_filter( $actions ), $theme_key, $theme, $context );
  		$actions = apply_filters( "theme_action_links_$theme_key", $actions, $theme_key, $theme, $context );
  
! 		$class = empty( $theme['enabled'] ) ? 'inactive' : 'active';
! 		$checkbox_id = "checkbox_" . md5($theme['Name']);
! 		$checkbox = "<input type='checkbox' name='checked[]' value='" . esc_attr( $theme_key ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $theme['Name'] . "</label>";
  
! 		$description = '<p>' . $theme['Description'] . '</p>';
! 		$theme_name = $theme['Name'];
  
! 		$id = sanitize_title( $theme_name );
  
  		echo "<tr id='$id' class='$class'>";
  
--- 283,314 ----
  			'delete' => ''
  		);
  
! 		$theme_key = $theme->get_stylesheet();
  
! 		if ( ! $allowed ) {
! 			if ( ! $theme->errors() )
! 				$actions['enable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=enable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'enable-theme_' . $theme_key) ) . '" title="' . esc_attr__('Enable this theme') . '" class="edit">' . ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) . '</a>';
! 		} else {
  			$actions['disable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=disable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'disable-theme_' . $theme_key) ) . '" title="' . esc_attr__('Disable this theme') . '">' . ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) . '</a>';
+ 		}
  
  		if ( current_user_can('edit_themes') )
! 			$actions['edit'] = '<a href="' . esc_url('theme-editor.php?theme=' .  $theme_key ) . '" title="' . esc_attr__('Open this theme in the Theme Editor') . '" class="edit">' . __('Edit') . '</a>';
  
! 		if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $theme_key != get_option( 'stylesheet' ) && $theme_key != get_option( 'template' ) )
  			$actions['delete'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=delete-selected&amp;checked[]=' . $theme_key . '&amp;theme_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-themes' ) ) . '" title="' . esc_attr__( 'Delete this theme' ) . '" class="delete">' . __( 'Delete' ) . '</a>';
  
  		$actions = apply_filters( 'theme_action_links', array_filter( $actions ), $theme_key, $theme, $context );
  		$actions = apply_filters( "theme_action_links_$theme_key", $actions, $theme_key, $theme, $context );
  
! 		$class = ! $allowed ? 'inactive' : 'active';
! 		$checkbox_id = "checkbox_" . md5( $theme->get('Name') );
! 		$checkbox = "<input type='checkbox' name='checked[]' value='" . esc_attr( $theme_key ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $theme->display('Name') . "</label>";
  
! 		$id = sanitize_html_class( $theme->get_stylesheet() );
  
! 		if ( ! empty( $totals['upgrade'] ) && ! empty( $theme->update ) )
! 			$class .= ' update';
  
  		echo "<tr id='$id' class='$class'>";
  
***************
*** 316,340 ****
  					echo "<th scope='row' class='check-column'>$checkbox</th>";
  					break;
  				case 'name':
! 					echo "<td class='theme-title'$style><strong>$theme_name</strong>";
  					echo $this->row_actions( $actions, true );
  					echo "</td>";
  					break;
  				case 'description':
! 					echo "<td class='column-description desc'$style>
! 						<div class='theme-description'>$description</div>
  						<div class='$class second theme-version-author-uri'>";
  
  					$theme_meta = array();
  
! 					if ( !empty( $theme['Version'] ) )
! 						$theme_meta[] = sprintf( __( 'Version %s' ), $theme['Version'] );
  
! 					if ( !empty( $theme['Author'] ) )
! 						$theme_meta[] = sprintf( __( 'By %s' ), $theme['Author'] );
  
! 					if ( !empty( $theme['Theme URI'] ) )
! 						$theme_meta[] = '<a href="' . $theme['Theme URI'] . '" title="' . esc_attr__( 'Visit theme homepage' ) . '">' . __( 'Visit Theme Site' ) . '</a>';
  
  					$theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $theme_key, $theme, $status );
  					echo implode( ' | ', $theme_meta );
--- 324,351 ----
  					echo "<th scope='row' class='check-column'>$checkbox</th>";
  					break;
  				case 'name':
! 					echo "<td class='theme-title'$style><strong>" . $theme->display('Name') . "</strong>";
  					echo $this->row_actions( $actions, true );
  					echo "</td>";
  					break;
  				case 'description':
! 					echo "<td class='column-description desc'$style>";
! 					if ( $theme->errors() ) {
! 						$pre = $status == 'broken' ? '' : __( 'Broken Theme:' ) . ' ';
! 						echo '<p><strong class="attention">' . $pre . $theme->errors()->get_error_message() . '</strong></p>';
! 					}
! 					echo "<div class='theme-description'><p>" . $theme->display( 'Description' ) . "</p></div>
  						<div class='$class second theme-version-author-uri'>";
  
  					$theme_meta = array();
  
! 					if ( $theme->get('Version') )
! 						$theme_meta[] = sprintf( __( 'Version %s' ), $theme->display('Version') );
  
! 					$theme_meta[] = sprintf( __( 'By %s' ), $theme->display('Author') );
  
! 					if ( $theme->get('ThemeURI') )
! 						$theme_meta[] = '<a href="' . $theme->display('ThemeURI') . '" title="' . esc_attr__( 'Visit theme homepage' ) . '">' . __( 'Visit Theme Site' ) . '</a>';
  
  					$theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $theme_key, $theme, $status );
  					echo implode( ' | ', $theme_meta );
***************
*** 357,361 ****
  		do_action( "after_theme_row_$theme_key", $theme_key, $theme, $status );
  	}
  }
- 
- ?>
--- 368,370 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-ms-users-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-ms-users-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-ms-users-list-table.php	2011-10-03 11:30:07.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-ms-users-list-table.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 242,248 ****
  									if ( get_blog_status( $val->userblog_id, 'archived' ) == 1 )
  										$class .= 'site-archived ';
  
! 									$actions['view'] = '<a class="' . $class . '" href="' .  esc_url( get_home_url( $val->userblog_id ) )  . '">' . __( 'View' ) . '</a>';
  
  									$actions = apply_filters('ms_user_list_site_actions', $actions, $val->userblog_id);
  
--- 241,247 ----
  									if ( get_blog_status( $val->userblog_id, 'archived' ) == 1 )
  										$class .= 'site-archived ';
  
! 									$actions['view'] = '<a class="' . $class . '" href="' . esc_url( get_home_url( $val->userblog_id ) ) . '">' . __( 'View' ) . '</a>';
  
  									$actions = apply_filters('ms_user_list_site_actions', $actions, $val->userblog_id);
  
***************
*** 274,278 ****
  		}
  	}
  }
- 
- ?>
--- 273,275 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-plugin-install-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-plugin-install-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-plugin-install-list-table.php	2011-10-20 10:04:46.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-plugin-install-list-table.php	2012-05-09 11:27:24.000000000 -0500
***************
*** 33,39 ****
  		$tabs['featured'] = _x( 'Featured','Plugin Installer' );
  		$tabs['popular']  = _x( 'Popular','Plugin Installer' );
  		$tabs['new']      = _x( 'Newest','Plugin Installer' );
- 		$tabs['updated']  = _x( 'Recently Updated','Plugin Installer' );
  
  		$nonmenu_tabs = array( 'plugin-information' ); //Valid actions to perform which do not have a Menu item.
  
--- 33,38 ----
***************
*** 48,54 ****
  
  		switch ( $tab ) {
  			case 'search':
! 				$type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : '';
  				$term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '';
  
  				switch ( $type ) {
--- 47,53 ----
  
  		switch ( $tab ) {
  			case 'search':
! 				$type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term';
  				$term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '';
  
  				switch ( $type ) {
***************
*** 63,75 ****
  						break;
  				}
  
! 				add_action( 'install_plugins_table_header', 'install_search_form' );
  				break;
  
  			case 'featured':
  			case 'popular':
  			case 'new':
- 			case 'updated':
  				$args['browse'] = $tab;
  				break;
  
--- 62,73 ----
  						break;
  				}
  
! 				add_action( 'install_plugins_table_header', 'install_search_form', 10, 0 );
  				break;
  
  			case 'featured':
  			case 'popular':
  			case 'new':
  				$args['browse'] = $tab;
  				break;
  
***************
*** 205,211 ****
  						break;
  					case 'latest_installed':
  					case 'newer_installed':
! 						$action_links[] = '<span title="' . esc_attr__( 'This plugin is already installed and is up to date' ) . ' ">' . __( 'Installed' ) . '</span>';
  						break;
  				}
  			}
--- 203,209 ----
  						break;
  					case 'latest_installed':
  					case 'newer_installed':
! 						$action_links[] = '<span title="' . esc_attr__( 'This plugin is already installed and is up to date' ) . ' ">' . _x( 'Installed', 'plugin' ) . '</span>';
  						break;
  				}
  			}
***************
*** 219,237 ****
  			<td class="vers column-version"<?php echo $style['version']; ?>><?php echo $version; ?></td>
  			<td class="vers column-rating"<?php echo $style['rating']; ?>>
  				<div class="star-holder" title="<?php printf( _n( '(based on %s rating)', '(based on %s ratings)', $plugin['num_ratings'] ), number_format_i18n( $plugin['num_ratings'] ) ) ?>">
! 					<div class="star star-rating" style="width: <?php echo esc_attr( $plugin['rating'] ) ?>px"></div>
! 					<?php
! 						$color = get_user_option('admin_color');
! 						if ( empty($color) || 'fresh' == $color )
! 							$star_url = admin_url( 'images/gray-star.png?v=20110615' ); // 'Fresh' Gray star for list tables
! 						else
! 							$star_url = admin_url( 'images/star.png?v=20110615' ); // 'Classic' Blue star
! 					?>
! 					<div class="star star5"><img src="<?php echo $star_url; ?>" alt="<?php esc_attr_e( '5 stars' ) ?>" /></div>
! 					<div class="star star4"><img src="<?php echo $star_url; ?>" alt="<?php esc_attr_e( '4 stars' ) ?>" /></div>
! 					<div class="star star3"><img src="<?php echo $star_url; ?>" alt="<?php esc_attr_e( '3 stars' ) ?>" /></div>
! 					<div class="star star2"><img src="<?php echo $star_url; ?>" alt="<?php esc_attr_e( '2 stars' ) ?>" /></div>
! 					<div class="star star1"><img src="<?php echo $star_url; ?>" alt="<?php esc_attr_e( '1 star' ) ?>" /></div>
  				</div>
  			</td>
  			<td class="desc column-description"<?php echo $style['description']; ?>><?php echo $description, $author; ?></td>
--- 217,223 ----
  			<td class="vers column-version"<?php echo $style['version']; ?>><?php echo $version; ?></td>
  			<td class="vers column-rating"<?php echo $style['rating']; ?>>
  				<div class="star-holder" title="<?php printf( _n( '(based on %s rating)', '(based on %s ratings)', $plugin['num_ratings'] ), number_format_i18n( $plugin['num_ratings'] ) ) ?>">
! 					<div class="star star-rating" style="width: <?php echo esc_attr( str_replace( ',', '.', $plugin['rating'] ) ); ?>px"></div>
  				</div>
  			</td>
  			<td class="desc column-description"<?php echo $style['description']; ?>><?php echo $description, $author; ?></td>
***************
*** 240,244 ****
  		}
  	}
  }
- 
- ?>
--- 226,228 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-plugins-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-plugins-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-plugins-list-table.php	2011-09-29 00:54:05.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-plugins-list-table.php	2012-05-23 13:00:09.000000000 -0500
***************
*** 13,19 ****
  		global $status, $page;
  
  		$status = 'all';
! 		if ( isset( $_REQUEST['plugin_status'] ) && in_array( $_REQUEST['plugin_status'], array( 'active', 'inactive', 'recently_activated', 'upgrade', 'network', 'mustuse', 'dropins', 'search' ) ) )
  			$status = $_REQUEST['plugin_status'];
  
  		if ( isset($_REQUEST['s']) )
--- 13,19 ----
  		global $status, $page;
  
  		$status = 'all';
! 		if ( isset( $_REQUEST['plugin_status'] ) && in_array( $_REQUEST['plugin_status'], array( 'active', 'inactive', 'recently_activated', 'upgrade', 'mustuse', 'dropins', 'search' ) ) )
  			$status = $_REQUEST['plugin_status'];
  
  		if ( isset($_REQUEST['s']) )
***************
*** 65,96 ****
  			if ( apply_filters( 'show_advanced_plugins', true, 'dropins' ) )
  				$plugins['dropins'] = get_dropins();
  
! 			$current = get_site_transient( 'update_plugins' );
! 			foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) {
! 				if ( isset( $current->response[ $plugin_file ] ) )
! 					$plugins['upgrade'][ $plugin_file ] = $plugin_data;
  			}
  		}
  
  		set_transient( 'plugin_slugs', array_keys( $plugins['all'] ), 86400 );
  
! 		$recently_activated = get_option( 'recently_activated', array() );
  
! 		$one_week = 7*24*60*60;
! 		foreach ( $recently_activated as $key => $time )
! 			if ( $time + $one_week < time() )
! 				unset( $recently_activated[$key] );
! 		update_option( 'recently_activated', $recently_activated );
  
  		foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) {
  			// Filter into individual sections
! 			if ( is_multisite() && is_network_only_plugin( $plugin_file ) && !$screen->is_network ) {
! 				unset( $plugins['all'][ $plugin_file] );
! 			} elseif ( is_plugin_active_for_network($plugin_file) && !$screen->is_network ) {
  				unset( $plugins['all'][ $plugin_file ] );
! 			} elseif ( is_multisite() && is_network_only_plugin( $plugin_file ) && !current_user_can( 'manage_network_plugins' ) ) {
! 				$plugins['network'][ $plugin_file ] = $plugin_data;
! 			} elseif ( ( !$screen->is_network && is_plugin_active( $plugin_file ) )
  				|| ( $screen->is_network && is_plugin_active_for_network( $plugin_file ) ) ) {
  				$plugins['active'][ $plugin_file ] = $plugin_data;
  			} else {
--- 65,98 ----
  			if ( apply_filters( 'show_advanced_plugins', true, 'dropins' ) )
  				$plugins['dropins'] = get_dropins();
  
! 			if ( current_user_can( 'update_plugins' ) ) {
! 				$current = get_site_transient( 'update_plugins' );
! 				foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) {
! 					if ( isset( $current->response[ $plugin_file ] ) ) {
! 						$plugins['all'][ $plugin_file ]['update'] = true;
! 						$plugins['upgrade'][ $plugin_file ] = $plugins['all'][ $plugin_file ];
! 					}
! 				}
  			}
  		}
  
  		set_transient( 'plugin_slugs', array_keys( $plugins['all'] ), 86400 );
  
! 		if ( ! $screen->is_network ) {
! 			$recently_activated = get_option( 'recently_activated', array() );
  
! 			$one_week = 7*24*60*60;
! 			foreach ( $recently_activated as $key => $time )
! 				if ( $time + $one_week < time() )
! 					unset( $recently_activated[$key] );
! 			update_option( 'recently_activated', $recently_activated );
! 		}
  
  		foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) {
  			// Filter into individual sections
! 			if ( ! $screen->is_network && is_plugin_active_for_network( $plugin_file ) ) {
  				unset( $plugins['all'][ $plugin_file ] );
! 			} elseif ( ( ! $screen->is_network && is_plugin_active( $plugin_file ) )
  				|| ( $screen->is_network && is_plugin_active_for_network( $plugin_file ) ) ) {
  				$plugins['active'][ $plugin_file ] = $plugin_data;
  			} else {
***************
*** 100,108 ****
  			}
  		}
  
- 		if ( !current_user_can( 'update_plugins' ) )
- 			$plugins['upgrade'] = array();
- 
  		if ( $s ) {
  			$status = 'search';
  			$plugins['search'] = array_filter( $plugins['all'], array( &$this, '_search_callback' ) );
--- 102,107 ----
***************
*** 214,222 ****
  				case 'inactive':
  					$text = _n( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', $count );
  					break;
- 				case 'network':
- 					$text = _n( 'Network <span class="count">(%s)</span>', 'Network <span class="count">(%s)</span>', $count );
- 					break;
  				case 'mustuse':
  					$text = _n( 'Must-Use <span class="count">(%s)</span>', 'Must-Use <span class="count">(%s)</span>', $count );
  					break;
--- 213,218 ----
***************
*** 247,259 ****
  
  		$screen = get_current_screen();
  
! 		if ( 'active' != $status ) {
! 			$action = $screen->is_network ? 'network-activate-selected' : 'activate-selected';
! 			$actions[ $action ] = __( 'Activate' );
! 		}
  
  		if ( 'inactive' != $status && 'recent' != $status )
! 			$actions['deactivate-selected'] = __( 'Deactivate' );
  
  		if ( !is_multisite() || $screen->is_network ) {
  			if ( current_user_can( 'update_plugins' ) )
--- 243,253 ----
  
  		$screen = get_current_screen();
  
! 		if ( 'active' != $status )
! 			$actions['activate-selected'] = $screen->is_network ? __( 'Network Activate' ) : __( 'Activate' );
  
  		if ( 'inactive' != $status && 'recent' != $status )
! 			$actions['deactivate-selected'] = $screen->is_network ? __( 'Network Deactivate' ) : __( 'Deactivate' );
  
  		if ( !is_multisite() || $screen->is_network ) {
  			if ( current_user_can( 'update_plugins' ) )
***************
*** 282,288 ****
  
  		echo '<div class="alignleft actions">';
  
! 		if ( 'recently_activated' == $status )
  			submit_button( __( 'Clear List' ), 'secondary', 'clear-recent-list', false );
  		elseif ( 'top' == $which && 'mustuse' == $status )
  			echo '<p>' . sprintf( __( 'Files in the <code>%s</code> directory are executed automatically.' ), str_replace( ABSPATH, '/', WPMU_PLUGIN_DIR ) ) . '</p>';
--- 276,284 ----
  
  		echo '<div class="alignleft actions">';
  
! 		$screen = get_current_screen();
! 
! 		if ( ! $screen->is_network && 'recently_activated' == $status )
  			submit_button( __( 'Clear List' ), 'secondary', 'clear-recent-list', false );
  		elseif ( 'top' == $which && 'mustuse' == $status )
  			echo '<p>' . sprintf( __( 'Files in the <code>%s</code> directory are executed automatically.' ), str_replace( ABSPATH, '/', WPMU_PLUGIN_DIR ) ) . '</p>';
***************
*** 312,318 ****
  	}
  
  	function single_row( $plugin_file, $plugin_data ) {
! 		global $status, $page, $s;
  
  		$context = $status;
  
--- 308,314 ----
  	}
  
  	function single_row( $plugin_file, $plugin_data ) {
! 		global $status, $page, $s, $totals;
  
  		$context = $status;
  
***************
*** 320,328 ****
  
  		// preorder
  		$actions = array(
! 			'network_deactivate' => '', 'deactivate' => '',
! 			'network_only' => '', 'activate' => '',
! 			'network_activate' => '',
  			'edit' => '',
  			'delete' => '',
  		);
--- 316,323 ----
  
  		// preorder
  		$actions = array(
! 			'deactivate' => '',
! 			'activate' => '',
  			'edit' => '',
  			'delete' => '',
  		);
***************
*** 347,368 ****
  			if ( $plugin_data['Description'] )
  				$description .= '<p>' . $plugin_data['Description'] . '</p>';
  		} else {
- 			$is_active_for_network = is_plugin_active_for_network($plugin_file);
  			if ( $screen->is_network )
! 				$is_active = $is_active_for_network;
  			else
  				$is_active = is_plugin_active( $plugin_file );
  
- 			if ( $is_active_for_network && !is_super_admin() && !$screen->is_network )
- 				return;
- 
  			if ( $screen->is_network ) {
! 				if ( $is_active_for_network ) {
  					if ( current_user_can( 'manage_network_plugins' ) )
! 						$actions['network_deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&amp;networkwide=1&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Network Deactivate') . '</a>';
  				} else {
  					if ( current_user_can( 'manage_network_plugins' ) )
! 						$actions['network_activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;networkwide=1&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" class="edit">' . __('Network Activate') . '</a>';
  					if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) )
  						$actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
  				}
--- 342,359 ----
  			if ( $plugin_data['Description'] )
  				$description .= '<p>' . $plugin_data['Description'] . '</p>';
  		} else {
  			if ( $screen->is_network )
! 				$is_active = is_plugin_active_for_network( $plugin_file );
  			else
  				$is_active = is_plugin_active( $plugin_file );
  
  			if ( $screen->is_network ) {
! 				if ( $is_active ) {
  					if ( current_user_can( 'manage_network_plugins' ) )
! 						$actions['deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Network Deactivate') . '</a>';
  				} else {
  					if ( current_user_can( 'manage_network_plugins' ) )
! 						$actions['activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" class="edit">' . __('Network Activate') . '</a>';
  					if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) )
  						$actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
  				}
***************
*** 394,399 ****
--- 385,392 ----
  		}
  
  		$id = sanitize_title( $plugin_name );
+ 		if ( ! empty( $totals['upgrade'] ) && ! empty( $plugin_data['update'] ) )
+ 			$class .= ' update';
  
  		echo "<tr id='$id' class='$class'>";
  
***************
*** 448,452 ****
  		do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status );
  	}
  }
- 
- ?>
--- 441,443 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-posts-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-posts-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-posts-list-table.php	2011-11-17 12:01:08.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/class-wp-posts-list-table.php	2012-06-10 11:22:55.000000000 -0500
***************
*** 360,366 ****
  				if ( $page->post_parent == $page->ID ) {
  					$page->post_parent = 0;
  					$wpdb->update( $wpdb->posts, array( 'post_parent' => 0 ), array( 'ID' => $page->ID ) );
! 					clean_page_cache( $page->ID );
  				}
  
  				if ( 0 == $page->post_parent )
--- 360,366 ----
  				if ( $page->post_parent == $page->ID ) {
  					$page->post_parent = 0;
  					$wpdb->update( $wpdb->posts, array( 'post_parent' => 0 ), array( 'ID' => $page->ID ) );
! 					clean_post_cache( $page );
  				}
  
  				if ( 0 == $page->post_parent )
***************
*** 527,535 ****
  ?>
  			<td <?php echo $attributes ?>><strong><?php if ( $can_edit_post && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $title ) ); ?>"><?php echo $title ?></a><?php } else { echo $title; }; _post_states( $post ); ?></strong>
  <?php
! 					if ( 'excerpt' == $mode ) {
  						the_excerpt();
- 					}
  				}
  
  				$actions = array();
--- 527,534 ----
  ?>
  			<td <?php echo $attributes ?>><strong><?php if ( $can_edit_post && $post->post_status != 'trash' ) { ?><a class="row-title" href="<?php echo $edit_link; ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $title ) ); ?>"><?php echo $title ?></a><?php } else { echo $title; }; _post_states( $post ); ?></strong>
  <?php
! 					if ( 'excerpt' == $mode && current_user_can( 'read_post', $post->ID ) )
  						the_excerpt();
  				}
  
  				$actions = array();
***************
*** 609,615 ****
  							esc_html( sanitize_term_field( 'name', $c->name, $c->term_id, 'category', 'display' ) )
  						);
  					}
! 					echo join( ', ', $out );
  				} else {
  					_e( 'Uncategorized' );
  				}
--- 608,615 ----
  							esc_html( sanitize_term_field( 'name', $c->name, $c->term_id, 'category', 'display' ) )
  						);
  					}
! 					/* translators: used between list items, there is a space after the comma */
! 					echo join( __( ', ' ), $out );
  				} else {
  					_e( 'Uncategorized' );
  				}
***************
*** 629,635 ****
  							esc_html( sanitize_term_field( 'name', $c->name, $c->term_id, 'tag', 'display' ) )
  						);
  					}
! 					echo join( ', ', $out );
  				} else {
  					_e( 'No Tags' );
  				}
--- 629,636 ----
  							esc_html( sanitize_term_field( 'name', $c->name, $c->term_id, 'tag', 'display' ) )
  						);
  					}
! 					/* translators: used between list items, there is a space after the comma */
! 					echo join( __( ', ' ), $out );
  				} else {
  					_e( 'No Tags' );
  				}
***************
*** 995,1014 ****
  	<?php if ( post_type_supports( $screen->post_type, 'post-formats' ) && current_theme_supports( 'post-formats' ) ) :
  		$post_formats = get_theme_support( 'post-formats' );
  		if ( isset( $post_formats[0] ) && is_array( $post_formats[0] ) ) :
! 			$all_post_formats = get_post_format_strings(); ?>
  			<div class="inline-edit-group">
  				<label class="alignleft" for="post_format">
! 				<span class="title"><?php _e( 'Post Format' ); ?></span>
  				<select name="post_format">
  				<?php if ( $bulk ) : ?>
  					<option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
  				<?php endif; ?>
  					<option value="0"><?php _ex( 'Standard', 'Post format' ); ?></option>
! 				<?php foreach ( $all_post_formats as $slug => $format ):
! 					if ( $slug != 'standard' ) : ?>
! 					<option value="<?php echo esc_attr( $slug ); ?>"<?php if ( ! in_array( $slug, $post_formats[0] ) ) echo ' class="unsupported"'; ?>><?php echo esc_html( $format ); ?></option>
! 					<?php endif;
! 				endforeach; ?>
  				</select></label>
  			</div>
  		<?php endif; ?>
--- 996,1018 ----
  	<?php if ( post_type_supports( $screen->post_type, 'post-formats' ) && current_theme_supports( 'post-formats' ) ) :
  		$post_formats = get_theme_support( 'post-formats' );
  		if ( isset( $post_formats[0] ) && is_array( $post_formats[0] ) ) :
! 			$all_post_formats = get_post_format_strings();
! 			unset( $all_post_formats['standard'] ); ?>
  			<div class="inline-edit-group">
  				<label class="alignleft" for="post_format">
! 				<span class="title"><?php _ex( 'Format', 'post format' ); ?></span>
  				<select name="post_format">
  				<?php if ( $bulk ) : ?>
  					<option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
  				<?php endif; ?>
  					<option value="0"><?php _ex( 'Standard', 'Post format' ); ?></option>
! 				<?php foreach ( $all_post_formats as $slug => $format ) :
! 					$unsupported = ! in_array( $slug, $post_formats[0] );
! 					if ( $bulk && $unsupported )
! 						continue;
! 					?>
! 					<option value="<?php echo esc_attr( $slug ); ?>"<?php if ( $unsupported ) echo ' class="unsupported"'; ?>><?php echo esc_html( $format ); ?></option>
! 				<?php endforeach; ?>
  				</select></label>
  			</div>
  		<?php endif; ?>
***************
*** 1050,1054 ****
  <?php
  	}
  }
- 
- ?>
--- 1054,1056 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-terms-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-terms-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-terms-list-table.php	2011-11-23 09:20:45.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/class-wp-terms-list-table.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 42,48 ****
  	function prepare_items() {
  		global $taxonomy;
  
! 		$tags_per_page = $this->get_items_per_page( 'edit_' .  $taxonomy . '_per_page' );
  
  		if ( 'post_tag' == $taxonomy ) {
  			$tags_per_page = apply_filters( 'edit_tags_per_page', $tags_per_page );
--- 42,48 ----
  	function prepare_items() {
  		global $taxonomy;
  
! 		$tags_per_page = $this->get_items_per_page( 'edit_' . $taxonomy . '_per_page' );
  
  		if ( 'post_tag' == $taxonomy ) {
  			$tags_per_page = apply_filters( 'edit_tags_per_page', $tags_per_page );
***************
*** 378,382 ****
  	<?php
  	}
  }
- 
- ?>
--- 378,380 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-theme-install-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-theme-install-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-theme-install-list-table.php	2011-09-14 23:26:26.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-theme-install-list-table.php	2012-06-06 16:45:17.000000000 -0500
***************
*** 7,25 ****
   * @since 3.1.0
   * @access private
   */
! class WP_Theme_Install_List_Table extends WP_List_Table {
  
  	function ajax_user_can() {
! 		return current_user_can('install_themes');
  	}
  
  	function prepare_items() {
  		include( ABSPATH . 'wp-admin/includes/theme-install.php' );
  
! 		global $tabs, $tab, $paged, $type, $term, $theme_field_defaults;
! 
  		wp_reset_vars( array( 'tab' ) );
  
  		$paged = $this->get_pagenum();
  
  		$per_page = 36;
--- 7,36 ----
   * @since 3.1.0
   * @access private
   */
! class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
! 
! 	var $features = array();
  
  	function ajax_user_can() {
! 		return current_user_can( 'install_themes' );
  	}
  
  	function prepare_items() {
  		include( ABSPATH . 'wp-admin/includes/theme-install.php' );
  
! 		global $tabs, $tab, $paged, $type, $theme_field_defaults;
  		wp_reset_vars( array( 'tab' ) );
  
+ 		$search_terms = array();
+ 		$search_string = '';
+ 		if ( ! empty( $_REQUEST['s'] ) ){
+ 			$search_string = strtolower( stripslashes( $_REQUEST['s'] ) );
+ 			$search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', $search_string ) ) ) );
+ 		}
+ 
+ 		if ( ! empty( $_REQUEST['features'] ) )
+ 			$this->features = $_REQUEST['features'];
+ 
  		$paged = $this->get_pagenum();
  
  		$per_page = 36;
***************
*** 48,81 ****
  
  		switch ( $tab ) {
  			case 'search':
! 				$type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : '';
! 				$term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '';
! 
  				switch ( $type ) {
  					case 'tag':
! 						$terms = explode( ',', $term );
! 						$terms = array_map( 'trim', $terms );
! 						$terms = array_map( 'sanitize_title_with_dashes', $terms );
! 						$args['tag'] = $terms;
  						break;
  					case 'term':
! 						$args['search'] = $term;
  						break;
  					case 'author':
! 						$args['author'] = $term;
  						break;
  				}
  
! 				if ( !empty( $_POST['features'] ) ) {
! 					$terms = $_POST['features'];
! 					$terms = array_map( 'trim', $terms );
! 					$terms = array_map( 'sanitize_title_with_dashes', $terms );
! 					$args['tag'] = $terms;
! 					$_REQUEST['s'] = implode( ',', $terms );
  					$_REQUEST['type'] = 'tag';
  				}
  
! 				add_action( 'install_themes_table_header', 'install_theme_search_form' );
  				break;
  
  			case 'featured':
--- 59,84 ----
  
  		switch ( $tab ) {
  			case 'search':
! 				$type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term';
  				switch ( $type ) {
  					case 'tag':
! 						$args['tag'] = array_map( 'sanitize_key', $search_terms );
  						break;
  					case 'term':
! 						$args['search'] = $search_string;
  						break;
  					case 'author':
! 						$args['author'] = $search_string;
  						break;
  				}
  
! 				if ( ! empty( $this->features ) ) {
! 					$args['tag'] = $this->features;
! 					$_REQUEST['s'] = implode( ',', $this->features );
  					$_REQUEST['type'] = 'tag';
  				}
  
! 				add_action( 'install_themes_table_header', 'install_theme_search_form', 10, 0 );
  				break;
  
  			case 'featured':
***************
*** 89,95 ****
  				$args = false;
  		}
  
! 		if ( !$args )
  			return;
  
  		$api = themes_api( 'query_themes', $args );
--- 92,98 ----
  				$args = false;
  		}
  
! 		if ( ! $args )
  			return;
  
  		$api = themes_api( 'query_themes', $args );
***************
*** 102,107 ****
--- 105,111 ----
  		$this->set_pagination_args( array(
  			'total_items' => $api->info['results'],
  			'per_page' => $per_page,
+ 			'infinite_scroll' => true,
  		) );
  	}
  
***************
*** 122,134 ****
  		return $display_tabs;
  	}
  
- 	function get_columns() {
- 		return array();
- 	}
- 
  	function display() {
! 
! 		// wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
  ?>
  		<div class="tablenav top themes">
  			<div class="alignleft actions">
--- 126,133 ----
  		return $display_tabs;
  	}
  
  	function display() {
! 		wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
  ?>
  		<div class="tablenav top themes">
  			<div class="alignleft actions">
***************
*** 143,169 ****
  			<?php $this->display_rows_or_placeholder(); ?>
  		</div>
  
! 		<div class="tablenav bottom themes">
! 			<?php $this->pagination( 'bottom' ); ?>
! 			<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-loading list-ajax-loading" alt="" />
! 			<br class="clear" />
! 		</div>
! <?php
  	}
  
  	function display_rows() {
  		$themes = $this->items;
! 		$theme_names = array_keys( $themes );
! 
! 		foreach ( $theme_names as $theme_name ) {
! 				$class = array( 'available-theme' );
  				?>
! 				<div class="<?php echo join( ' ', $class ); ?>"><?php
! 					if ( isset( $themes[$theme_name] ) )
! 						display_theme( $themes[$theme_name] );
  				?></div>
  		<?php } // end foreach $theme_names
  	}
- }
  
! ?>
--- 142,395 ----
  			<?php $this->display_rows_or_placeholder(); ?>
  		</div>
  
! 		<?php
! 		parent::tablenav( 'bottom' );
  	}
  
  	function display_rows() {
  		$themes = $this->items;
! 		foreach ( $themes as $theme ) {
  				?>
! 				<div class="available-theme installable-theme"><?php
! 					$this->single_row( $theme );
  				?></div>
  		<?php } // end foreach $theme_names
+ 
+ 		$this->theme_installer();
  	}
  
! 	/*
! 	 * Prints a theme from the WordPress.org API.
! 	 *
! 	 * @param object $theme An object that contains theme data returned by the WordPress.org API.
! 	 *
! 	 * Example theme data:
! 	 *   object(stdClass)[59]
! 	 *     public 'name' => string 'Magazine Basic' (length=14)
! 	 *     public 'slug' => string 'magazine-basic' (length=14)
! 	 *     public 'version' => string '1.1' (length=3)
! 	 *     public 'author' => string 'tinkerpriest' (length=12)
! 	 *     public 'preview_url' => string 'http://wp-themes.com/?magazine-basic' (length=36)
! 	 *     public 'screenshot_url' => string 'http://wp-themes.com/wp-content/themes/magazine-basic/screenshot.png' (length=68)
! 	 *     public 'rating' => float 80
! 	 *     public 'num_ratings' => int 1
! 	 *     public 'homepage' => string 'http://wordpress.org/extend/themes/magazine-basic' (length=49)
! 	 *     public 'description' => string 'A basic magazine style layout with a fully customizable layout through a backend interface. Designed by <a href="http://bavotasan.com">c.bavota</a> of <a href="http://tinkerpriestmedia.com">Tinker Priest Media</a>.' (length=214)
! 	 *     public 'download_link' => string 'http://wordpress.org/extend/themes/download/magazine-basic.1.1.zip' (length=66)
! 	 */
! 	function single_row( $theme ) {
! 		global $themes_allowedtags;
! 
! 		if ( empty( $theme ) )
! 			return;
! 
! 		$name   = wp_kses( $theme->name,   $themes_allowedtags );
! 		$author = wp_kses( $theme->author, $themes_allowedtags );
! 
! 		$preview_title = sprintf( __('Preview &#8220;%s&#8221;'), $name );
! 		$preview_url   = add_query_arg( array(
! 			'tab'   => 'theme-information',
! 			'theme' => $theme->slug,
! 		) );
! 
! 		$actions = array();
! 
! 		$install_url = add_query_arg( array(
! 			'action' => 'install-theme',
! 			'theme'  => $theme->slug,
! 		), self_admin_url( 'update.php' ) );
! 
! 		$update_url = add_query_arg( array(
! 			'action' => 'upgrade-theme',
! 			'theme'  => $theme->slug,
! 		), self_admin_url( 'update.php' ) );
! 
! 		$status = $this->_get_theme_status( $theme );
! 
! 		switch ( $status ) {
! 			default:
! 			case 'install':
! 				$actions[] = '<a class="install-now" href="' . esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Install %s' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
! 				break;
! 			case 'update_available':
! 				$actions[] = '<a class="install-now" href="' . esc_url( wp_nonce_url( $update_url, 'upgrade-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $theme->version ) ) . '">' . __( 'Update' ) . '</a>';
! 				break;
! 			case 'newer_installed':
! 			case 'latest_installed':
! 				$actions[] = '<span class="install-now" title="' . esc_attr__( 'This theme is already installed and is up to date' ) . '">' . _x( 'Installed', 'theme' ) . '</span>';
! 				break;
! 		}
! 
! 		$actions[] = '<a class="install-theme-preview" href="' . esc_url( $preview_url ) . '" title="' . esc_attr( sprintf( __( 'Preview %s' ), $name ) ) . '">' . __( 'Preview' ) . '</a>';
! 
! 		$actions = apply_filters( 'theme_install_actions', $actions, $theme );
! 
! 		?>
! 		<a class="screenshot install-theme-preview" href="<?php echo esc_url( $preview_url ); ?>" title="<?php echo esc_attr( $preview_title ); ?>">
! 			<img src='<?php echo esc_url( $theme->screenshot_url ); ?>' width='150' />
! 		</a>
! 
! 		<h3><?php echo $name; ?></h3>
! 		<div class="theme-author"><?php printf( __( 'By %s' ), $author ); ?></div>
! 
! 		<div class="action-links">
! 			<ul>
! 				<?php foreach ( $actions as $action ): ?>
! 					<li><?php echo $action; ?></li>
! 				<?php endforeach; ?>
! 				<li class="hide-if-no-js"><a href="#" class="theme-detail" tabindex='4'><?php _e('Details') ?></a></li>
! 			</ul>
! 		</div>
! 
! 		<?php
! 		$this->install_theme_info( $theme );
! 	}
! 
! 	/*
! 	 * Prints the wrapper for the theme installer.
! 	 */
! 	function theme_installer() {
! 		?>
! 		<div id="theme-installer" class="wp-full-overlay expanded">
! 			<div class="wp-full-overlay-sidebar">
! 				<div class="wp-full-overlay-header">
! 					<a href="#" class="close-full-overlay"><?php _e( '&larr; Close' ); ?></a>
! 				</div>
! 				<div class="wp-full-overlay-sidebar-content">
! 					<div class="install-theme-info"></div>
! 				</div>
! 				<div class="wp-full-overlay-footer">
! 					<a href="#" class="collapse-sidebar button-secondary" title="<?php esc_attr_e('Collapse Sidebar'); ?>">
! 						<span class="collapse-sidebar-label"><?php _e('Collapse'); ?></span>
! 						<span class="collapse-sidebar-arrow"></span>
! 					</a>
! 				</div>
! 			</div>
! 			<div class="wp-full-overlay-main"></div>
! 		</div>
! 		<?php
! 	}
! 
! 	/*
! 	 * Prints the wrapper for the theme installer with a provided theme's data.
! 	 * Used to make the theme installer work for no-js.
! 	 *
! 	 * @param object $theme - A WordPress.org Theme API object.
! 	 */
! 	function theme_installer_single( $theme ) {
! 		?>
! 		<div id="theme-installer" class="wp-full-overlay single-theme">
! 			<div class="wp-full-overlay-sidebar">
! 				<?php $this->install_theme_info( $theme ); ?>
! 			</div>
! 			<div class="wp-full-overlay-main">
! 				<iframe src="<?php echo esc_url( $theme->preview_url ); ?>"></iframe>
! 			</div>
! 		</div>
! 		<?php
! 	}
! 
! 	/*
! 	 * Prints the info for a theme (to be used in the theme installer modal).
! 	 *
! 	 * @param object $theme - A WordPress.org Theme API object.
! 	 */
! 	function install_theme_info( $theme ) {
! 		global $themes_allowedtags;
! 
! 		if ( empty( $theme ) )
! 			return;
! 
! 		$name   = wp_kses( $theme->name,   $themes_allowedtags );
! 		$author = wp_kses( $theme->author, $themes_allowedtags );
! 
! 		$num_ratings = sprintf( _n( '(based on %s rating)', '(based on %s ratings)', $theme->num_ratings ), number_format_i18n( $theme->num_ratings ) );
! 
! 		$install_url = add_query_arg( array(
! 			'action' => 'install-theme',
! 			'theme'  => $theme->slug,
! 		), self_admin_url( 'update.php' ) );
! 
! 		$update_url = add_query_arg( array(
! 			'action' => 'upgrade-theme',
! 			'theme'  => $theme->slug,
! 		), self_admin_url( 'update.php' ) );
! 
! 		$status = $this->_get_theme_status( $theme );
! 
! 		?>
! 		<div class="install-theme-info"><?php
! 			switch ( $status ) {
! 				default:
! 				case 'install':
! 					echo '<a class="theme-install button-primary" href="' . esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ) . '">' . __( 'Install' ) . '</a>';
! 					break;
! 				case 'update_available':
! 					echo '<a class="theme-install button-primary" href="' . esc_url( wp_nonce_url( $update_url, 'upgrade-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $theme->version ) ) . '">' . __( 'Update' ) . '</a>';
! 					break;
! 				case 'newer_installed':
! 				case 'latest_installed':
! 					echo '<span class="theme-install" title="' . esc_attr__( 'This theme is already installed and is up to date' ) . '">' . _x( 'Installed', 'theme' ) . '</span>';
! 					break;
! 			} ?>
! 			<h3 class="theme-name"><?php echo $name; ?></h3>
! 			<span class="theme-by"><?php printf( __( 'By %s' ), $author ); ?></span>
! 			<?php if ( isset( $theme->screenshot_url ) ): ?>
! 				<img class="theme-screenshot" src="<?php echo esc_url( $theme->screenshot_url ); ?>" />
! 			<?php endif; ?>
! 			<div class="theme-details">
! 				<div class="star-holder" title="<?php echo esc_attr( $num_ratings ); ?>">
! 					<div class="star-rating" style="width:<?php echo esc_attr( intval( $theme->rating ) . 'px' ); ?>;"></div>
! 				</div>
! 				<div class="theme-version">
! 					<strong><?php _e('Version:') ?> </strong>
! 					<?php echo wp_kses( $theme->version, $themes_allowedtags ); ?>
! 				</div>
! 				<div class="theme-description">
! 					<?php echo wp_kses( $theme->description, $themes_allowedtags ); ?>
! 				</div>
! 			</div>
! 			<input class="theme-preview-url" type="hidden" value="<?php echo esc_url( $theme->preview_url ); ?>" />
! 		</div>
! 		<?php
! 	}
! 
! 	/**
! 	 * Send required variables to JavaScript land
! 	 *
! 	 * @since 3.4
! 	 * @access private
! 	 *
! 	 * @uses $tab Global; current tab within Themes->Install screen
! 	 * @uses $type Global; type of search.
! 	 */
! 	function _js_vars() {
! 		global $tab, $type;
! 		parent::_js_vars( compact( 'tab', 'type' ) );
! 	}
! 
! 	/**
! 	 * Check to see if the theme is already installed.
! 	 *
! 	 * @since 3.4
! 	 * @access private
! 	 *
! 	 * @param object $theme - A WordPress.org Theme API object.
! 	 * @return string Theme status.
! 	 */
! 	private function _get_theme_status( $theme ) {
! 		$status = 'install';
! 
! 		$installed_theme = wp_get_theme( $theme->slug );
! 		if ( $installed_theme->exists() ) {
! 			if ( version_compare( $installed_theme->get('Version'), $theme->version, '=' ) )
! 				$status = 'latest_installed';
! 			elseif ( version_compare( $installed_theme->get('Version'), $theme->version, '>' ) )
! 				$status = 'newer_installed';
! 			else
! 				$status = 'update_available';
! 		}
! 
! 		return $status;
! 	}
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-themes-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-themes-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-themes-list-table.php	2011-09-14 23:26:26.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-themes-list-table.php	2012-06-06 15:34:24.000000000 -0500
***************
*** 9,67 ****
   */
  class WP_Themes_List_Table extends WP_List_Table {
  
! 	var $search = array();
  	var $features = array();
  
  	function ajax_user_can() {
  		// Do not check edit_theme_options here. AJAX calls for available themes require switch_themes.
! 		return current_user_can('switch_themes');
  	}
  
  	function prepare_items() {
! 		global $ct;
  
! 		$ct = current_theme_info();
! 
! 		$themes = get_allowed_themes();
! 
! 		if ( ! empty( $_REQUEST['s'] ) ) {
! 			$search = strtolower( stripslashes( $_REQUEST['s'] ) );
! 			$this->search = array_merge( $this->search, array_filter( array_map( 'trim', explode( ',', $search ) ) ) );
! 			$this->search = array_unique( $this->search );
! 		}
  
! 		if ( !empty( $_REQUEST['features'] ) ) {
  			$this->features = $_REQUEST['features'];
- 			$this->features = array_map( 'trim', $this->features );
- 			$this->features = array_map( 'sanitize_title_with_dashes', $this->features );
- 			$this->features = array_unique( $this->features );
- 		}
  
! 		if ( $this->search || $this->features ) {
  			foreach ( $themes as $key => $theme ) {
! 				if ( !$this->search_theme( $theme ) )
  					unset( $themes[ $key ] );
  			}
  		}
  
! 		unset( $themes[$ct->name] );
! 		uksort( $themes, "strnatcasecmp" );
  
! 		$per_page = 24;
  		$page = $this->get_pagenum();
  
  		$start = ( $page - 1 ) * $per_page;
  
! 		$this->items = array_slice( $themes, $start, $per_page );
  
  		$this->set_pagination_args( array(
  			'total_items' => count( $themes ),
  			'per_page' => $per_page,
  		) );
  	}
  
  	function no_items() {
! 		if ( $this->search || $this->features ) {
  			_e( 'No items found.' );
  			return;
  		}
--- 9,63 ----
   */
  class WP_Themes_List_Table extends WP_List_Table {
  
! 	protected $search_terms = array();
  	var $features = array();
  
+ 	function __construct() {
+ 		parent::__construct( array(
+ 			'ajax' => true,
+ 		) );
+ 	}
+ 
  	function ajax_user_can() {
  		// Do not check edit_theme_options here. AJAX calls for available themes require switch_themes.
! 		return current_user_can( 'switch_themes' );
  	}
  
  	function prepare_items() {
! 		$themes = wp_get_themes( array( 'allowed' => true ) );
  
! 		if ( ! empty( $_REQUEST['s'] ) )
! 			$this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( stripslashes( $_REQUEST['s'] ) ) ) ) ) );
  
! 		if ( ! empty( $_REQUEST['features'] ) )
  			$this->features = $_REQUEST['features'];
  
! 		if ( $this->search_terms || $this->features ) {
  			foreach ( $themes as $key => $theme ) {
! 				if ( ! $this->search_theme( $theme ) )
  					unset( $themes[ $key ] );
  			}
  		}
  
! 		unset( $themes[ get_option( 'stylesheet' ) ] );
! 		WP_Theme::sort_by_name( $themes );
  
! 		$per_page = 999;
  		$page = $this->get_pagenum();
  
  		$start = ( $page - 1 ) * $per_page;
  
! 		$this->items = array_slice( $themes, $start, $per_page, true );
  
  		$this->set_pagination_args( array(
  			'total_items' => count( $themes ),
  			'per_page' => $per_page,
+ 			'infinite_scroll' => true,
  		) );
  	}
  
  	function no_items() {
! 		if ( $this->search_terms || $this->features ) {
  			_e( 'No items found.' );
  			return;
  		}
***************
*** 101,107 ****
  	}
  
  	function display() {
! 		// wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
  ?>
  		<?php $this->tablenav( 'top' ); ?>
  
--- 97,103 ----
  	}
  
  	function display() {
! 		wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
  ?>
  		<?php $this->tablenav( 'top' ); ?>
  
***************
*** 119,222 ****
  
  	function display_rows() {
  		$themes = $this->items;
- 		$theme_names = array_keys( $themes );
- 		natcasesort( $theme_names );
  
! 	foreach ( $theme_names as $theme_name ) {
! 		$class = array( 'available-theme' );
! 	?>
! 	<div class="<?php echo join( ' ', $class ); ?>">
! 	<?php if ( !empty( $theme_name ) ) :
! 	$template = $themes[$theme_name]['Template'];
! 	$stylesheet = $themes[$theme_name]['Stylesheet'];
! 	$title = $themes[$theme_name]['Title'];
! 	$version = $themes[$theme_name]['Version'];
! 	$description = $themes[$theme_name]['Description'];
! 	$author = $themes[$theme_name]['Author'];
! 	$screenshot = $themes[$theme_name]['Screenshot'];
! 	$stylesheet_dir = $themes[$theme_name]['Stylesheet Dir'];
! 	$template_dir = $themes[$theme_name]['Template Dir'];
! 	$parent_theme = $themes[$theme_name]['Parent Theme'];
! 	$theme_root = $themes[$theme_name]['Theme Root'];
! 	$theme_root_uri = $themes[$theme_name]['Theme Root URI'];
! 	$preview_link = esc_url( get_option( 'home' ) . '/' );
! 	if ( is_ssl() )
! 		$preview_link = str_replace( 'http://', 'https://', $preview_link );
! 	$preview_link = htmlspecialchars( add_query_arg( array( 'preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => true, 'TB_iframe' => 'true' ), $preview_link ) );
! 	$preview_text = esc_attr( sprintf( __( 'Preview of &#8220;%s&#8221;' ), $title ) );
! 	$tags = $themes[$theme_name]['Tags'];
! 	$thickbox_class = 'thickbox thickbox-preview';
! 	$activate_link = wp_nonce_url( "themes.php?action=activate&amp;template=".urlencode( $template )."&amp;stylesheet=".urlencode( $stylesheet ), 'switch-theme_' . $template );
! 	$activate_text = esc_attr( sprintf( __( 'Activate &#8220;%s&#8221;' ), $title ) );
! 	$actions = array();
! 	$actions[] = '<a href="' . $activate_link .  '" class="activatelink" title="' . $activate_text . '">' . __( 'Activate' ) . '</a>';
! 	$actions[] = '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $theme_name ) ) . '">' . __( 'Preview' ) . '</a>';
! 	if ( ! is_multisite() && current_user_can( 'delete_themes' ) )
! 		$actions[] = '<a class="submitdelete deletion" href="' . wp_nonce_url( "themes.php?action=delete&amp;template=$stylesheet", 'delete-theme_' . $stylesheet ) . '" onclick="' . "return confirm( '" . esc_js( sprintf( __( "You are about to delete this theme '%s'\n  'Cancel' to stop, 'OK' to delete." ), $theme_name ) ) . "' );" . '">' . __( 'Delete' ) . '</a>';
! 	$actions = apply_filters( 'theme_action_links', $actions, $themes[$theme_name] );
  
! 	$actions = implode ( ' | ', $actions );
! ?>
! 		<a href="<?php echo $preview_link; ?>" class="<?php echo $thickbox_class; ?> screenshot">
! <?php if ( $screenshot ) : ?>
! 			<img src="<?php echo $theme_root_uri . '/' . $stylesheet . '/' . $screenshot; ?>" alt="" />
! <?php endif; ?>
! 		</a>
! <h3><?php
! 	/* translators: 1: theme title, 2: theme version, 3: theme author */
! 	printf( __( '%1$s %2$s by %3$s' ), $title, $version, $author ) ; ?></h3>
! <p class="description"><?php echo $description; ?></p>
! <span class='action-links'><?php echo $actions ?></span>
! 	<?php if ( current_user_can( 'edit_themes' ) && $parent_theme ) {
! 	/* translators: 1: theme title, 2:  template dir, 3: stylesheet_dir, 4: theme title, 5: parent_theme */ ?>
! 	<p><?php printf( __( 'The template files are located in <code>%2$s</code>. The stylesheet files are located in <code>%3$s</code>. <strong>%4$s</strong> uses templates from <strong>%5$s</strong>. Changes made to the templates will affect both themes.' ), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ), $title, $parent_theme ); ?></p>
! <?php } else { ?>
! 	<p><?php printf( __( 'All of this theme&#8217;s files are located in <code>%2$s</code>.' ), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ) ); ?></p>
! <?php } ?>
! <?php if ( $tags ) : ?>
! <p><?php _e( 'Tags:' ); ?> <?php echo join( ', ', $tags ); ?></p>
! <?php endif; ?>
! 		<?php theme_update_available( $themes[$theme_name] ); ?>
! <?php endif; // end if not empty theme_name ?>
! 	</div>
! <?php } // end foreach $theme_names
  	}
  
  	function search_theme( $theme ) {
! 		$matched = 0;
  
  		// Match all phrases
! 		if ( count( $this->search ) > 0 ) {
! 			foreach ( $this->search as $word ) {
! 				$matched = 0;
! 
! 				// In a tag?
! 				if ( in_array( $word, array_map( 'sanitize_title_with_dashes', $theme['Tags'] ) ) )
! 					$matched = 1;
! 
! 				// In one of the fields?
! 				foreach ( array( 'Name', 'Title', 'Description', 'Author', 'Template', 'Stylesheet' ) AS $field ) {
! 					if ( stripos( $theme[$field], $word ) !== false )
! 						$matched++;
! 				}
! 
! 				if ( $matched == 0 )
! 					return false;
  			}
- 		}
  
! 		// Now search the features
! 		if ( count( $this->features ) > 0 ) {
! 			foreach ( $this->features as $word ) {
! 				// In a tag?
! 				if ( !in_array( $word, array_map( 'sanitize_title_with_dashes', $theme['Tags'] ) ) )
! 					return false;
! 			}
  		}
  
- 		// Only get here if each word exists in the tags or one of the fields
  		return true;
  	}
- }
  
! ?>
--- 115,256 ----
  
  	function display_rows() {
  		$themes = $this->items;
  
! 		foreach ( $themes as $theme ):
! 			?><div class="available-theme"><?php
  
! 			$template   = $theme->get_template();
! 			$stylesheet = $theme->get_stylesheet();
! 			$title      = $theme->display('Name');
! 			$version    = $theme->display('Version');
! 			$author     = $theme->display('Author');
! 
! 			$activate_link = wp_nonce_url( "themes.php?action=activate&amp;template=" . urlencode( $template ) . "&amp;stylesheet=" . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet );
! 
! 			$preview_link = esc_url( add_query_arg(
! 				array( 'preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => true, 'TB_iframe' => 'true' ),
! 				home_url( '/' ) ) );
! 
! 			$actions = array();
! 			$actions['activate'] = '<a href="' . $activate_link . '" class="activatelink" title="'
! 				. esc_attr( sprintf( __( 'Activate &#8220;%s&#8221;' ), $title ) ) . '">' . __( 'Activate' ) . '</a>';
! 
! 			$actions['preview'] = '<a href="' . $preview_link . '" class="hide-if-customize" title="'
! 				. esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '">' . __( 'Preview' ) . '</a>';
! 
! 			if ( current_user_can( 'edit_theme_options' ) )
! 				$actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="load-customize hide-if-no-customize">'
! 					. __( 'Live Preview' ) . '</a>';
! 
! 			if ( ! is_multisite() && current_user_can( 'delete_themes' ) )
! 				$actions['delete'] = '<a class="submitdelete deletion" href="' . wp_nonce_url( "themes.php?action=delete&amp;stylesheet=$stylesheet", 'delete-theme_' . $stylesheet )
! 					. '" onclick="' . "return confirm( '" . esc_js( sprintf( __( "You are about to delete this theme '%s'\n  'Cancel' to stop, 'OK' to delete." ), $title ) )
! 					. "' );" . '">' . __( 'Delete' ) . '</a>';
! 
! 			$actions       = apply_filters( 'theme_action_links', $actions, $theme );
! 			$delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : '';
! 			unset( $actions['delete'] );
! 
! 			?>
! 
! 			<a href="<?php echo $preview_link; ?>" class="screenshot hide-if-customize">
! 				<?php if ( $screenshot = $theme->get_screenshot() ) : ?>
! 					<img src="<?php echo esc_url( $screenshot ); ?>" alt="" />
! 				<?php endif; ?>
! 			</a>
! 			<a href="<?php echo wp_customize_url( $stylesheet ); ?>" class="screenshot load-customize hide-if-no-customize">
! 				<?php if ( $screenshot = $theme->get_screenshot() ) : ?>
! 					<img src="<?php echo esc_url( $screenshot ); ?>" alt="" />
! 				<?php endif; ?>
! 			</a>
! 
! 			<h3><?php echo $title; ?></h3>
! 			<div class="theme-author"><?php printf( __( 'By %s' ), $author ); ?></div>
! 			<div class="action-links">
! 				<ul>
! 					<?php foreach ( $actions as $action ): ?>
! 						<li><?php echo $action; ?></li>
! 					<?php endforeach; ?>
! 					<li class="hide-if-no-js"><a href="#" class="theme-detail" tabindex='4'><?php _e('Details') ?></a></li>
! 				</ul>
! 				<?php echo $delete_action; ?>
! 
! 				<?php theme_update_available( $theme ); ?>
! 			</div>
! 
! 			<div class="themedetaildiv hide-if-js">
! 				<p><strong><?php _e('Version: '); ?></strong><?php echo $version; ?></p>
! 				<p><?php echo $theme->display('Description'); ?></p>
! 				<?php if ( current_user_can( 'edit_themes' ) && $theme->parent() ) :
! 					/* translators: 1: theme title, 2:  template dir, 3: stylesheet_dir, 4: theme title, 5: parent_theme */ ?>
! 					<p><?php printf( __( 'The template files are located in <code>%2$s</code>. The stylesheet files are located in <code>%3$s</code>. <strong>%4$s</strong> uses templates from <strong>%5$s</strong>. Changes made to the templates will affect both themes.' ),
! 						$title, str_replace( WP_CONTENT_DIR, '', $theme->get_template_directory() ), str_replace( WP_CONTENT_DIR, '', $theme->get_stylesheet_directory() ), $title, $theme->parent()->display('Name') ); ?></p>
! 				<?php else :
! 						/* translators: 1: theme title, 2:  template dir, 3: stylesheet_dir */ ?>
! 					<p><?php printf( __( 'All of this theme&#8217;s files are located in <code>%2$s</code>.' ),
! 						$title, str_replace( WP_CONTENT_DIR, '', $theme->get_template_directory() ), str_replace( WP_CONTENT_DIR, '', $theme->get_stylesheet_directory() ) ); ?></p>
! 				<?php endif; ?>
! 			</div>
! 
! 			</div>
! 		<?php
! 		endforeach;
  	}
  
  	function search_theme( $theme ) {
! 		// Search the features
! 		foreach ( $this->features as $word ) {
! 			if ( ! in_array( $word, $theme->get('Tags') ) )
! 				return false;
! 		}
  
  		// Match all phrases
! 		foreach ( $this->search_terms as $word ) {
! 			if ( in_array( $word, $theme->get('Tags') ) )
! 				continue;
! 
! 			foreach ( array( 'Name', 'Description', 'Author', 'AuthorURI' ) as $header ) {
! 				// Don't mark up; Do translate.
! 				if ( false !== stripos( $theme->display( $header, false, true ), $word ) )
! 					continue 2;
  			}
  
! 			if ( false !== stripos( $theme->get_stylesheet(), $word ) )
! 				continue;
! 
! 			if ( false !== stripos( $theme->get_template(), $word ) )
! 				continue;
! 
! 			return false;
  		}
  
  		return true;
  	}
  
! 	/**
! 	 * Send required variables to JavaScript land
! 	 *
! 	 * @since 3.4
! 	 * @access private
! 	 *
! 	 * @uses $this->features Array of all feature search terms.
! 	 * @uses get_pagenum()
! 	 * @uses _pagination_args['total_pages']
! 	 */
! 	 function _js_vars( $extra_args = array() ) {
! 		$search_string = isset( $_REQUEST['s'] ) ? esc_attr( stripslashes( $_REQUEST['s'] ) ) : '';
! 
! 		$args = array(
! 			'search' => $search_string,
! 			'features' => $this->features,
! 			'paged' => $this->get_pagenum(),
! 			'total_pages' => ! empty( $this->_pagination_args['total_pages'] ) ? $this->_pagination_args['total_pages'] : 1,
! 		);
! 
! 		if ( is_array( $extra_args ) )
! 			$args = array_merge( $args, $extra_args );
! 
! 		printf( "<script type='text/javascript'>var theme_list_args = %s;</script>\n", json_encode( $args ) );
! 		parent::_js_vars();
! 	}
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-upgrader.php ./wordpress-3.4/wp-admin/includes/class-wp-upgrader.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-upgrader.php	2011-11-10 13:41:44.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/class-wp-upgrader.php	2012-06-12 10:59:53.000000000 -0500
***************
*** 374,380 ****
  		$this->strings['no_package'] = __('Update package not available.');
  		$this->strings['downloading_package'] = __('Downloading update from <span class="code">%s</span>&#8230;');
  		$this->strings['unpack_package'] = __('Unpacking the update&#8230;');
- 		$this->strings['deactivate_plugin'] = __('Deactivating the plugin&#8230;');
  		$this->strings['remove_old'] = __('Removing the old version of the plugin&#8230;');
  		$this->strings['remove_old_failed'] = __('Could not remove the old plugin.');
  		$this->strings['process_failed'] = __('Plugin update failed.');
--- 374,379 ----
***************
*** 412,417 ****
--- 411,417 ----
  
  		// Force refresh of plugin update information
  		delete_site_transient('update_plugins');
+ 		wp_cache_delete( 'plugins', 'plugins' );
  
  		return true;
  	}
***************
*** 456,461 ****
--- 456,462 ----
  
  		// Force refresh of plugin update information
  		delete_site_transient('update_plugins');
+ 		wp_cache_delete( 'plugins', 'plugins' );
  	}
  
  	function bulk_upgrade($plugins) {
***************
*** 537,542 ****
--- 538,544 ----
  
  		// Force refresh of plugin update information
  		delete_site_transient('update_plugins');
+ 		wp_cache_delete( 'plugins', 'plugins' );
  
  		return $results;
  	}
***************
*** 594,600 ****
  			return new WP_Error('bad_request', $this->strings['bad_request']);
  
  		if ( is_plugin_active($plugin) ) {
- 			$this->skin->feedback('deactivate_plugin');
  			//Deactivate the plugin silently, Prevent deactivation hooks from running.
  			deactivate_plugins($plugin, true);
  		}
--- 596,601 ----
***************
*** 662,667 ****
--- 663,742 ----
  		$this->strings['installing_package'] = __('Installing the theme&#8230;');
  		$this->strings['process_failed'] = __('Theme install failed.');
  		$this->strings['process_success'] = __('Theme installed successfully.');
+ 		/* translators: 1: theme name, 2: version */
+ 		$this->strings['process_success_specific'] = __('Successfully installed the theme <strong>%1$s %2$s</strong>.');
+ 		$this->strings['parent_theme_search'] = __('This theme requires a parent theme. Checking if it is installed&#8230;');
+ 		/* translators: 1: theme name, 2: version */
+ 		$this->strings['parent_theme_prepare_install'] = __('Preparing to install <strong>%1$s %2$s</strong>&#8230;');
+ 		/* translators: 1: theme name, 2: version */
+ 		$this->strings['parent_theme_currently_installed'] = __('The parent theme, <strong>%1$s %2$s</strong>, is currently installed.');
+ 		/* translators: 1: theme name, 2: version */
+ 		$this->strings['parent_theme_install_success'] = __('Successfully installed the parent theme, <strong>%1$s %2$s</strong>.');
+ 		$this->strings['parent_theme_not_found'] = __('<strong>The parent theme could not be found.</strong> You will need to install the parent theme, <strong>%s</strong>, before you can use this child theme.');
+ 	}
+ 
+ 	function check_parent_theme_filter($install_result, $hook_extra, $child_result) {
+ 		// Check to see if we need to install a parent theme
+ 		$theme_info = $this->theme_info();
+ 
+ 		if ( ! $theme_info->parent() )
+ 			return $install_result;
+ 
+ 		$this->skin->feedback( 'parent_theme_search' );
+ 
+ 		if ( ! $theme_info->parent()->errors() ) {
+ 			$this->skin->feedback( 'parent_theme_currently_installed', $theme_info->parent()->display('Name'), $theme_info->parent()->display('Version') );
+ 			// We already have the theme, fall through.
+ 			return $install_result;
+ 		}
+ 
+ 		// We don't have the parent theme, lets install it
+ 		$api = themes_api('theme_information', array('slug' => $theme_info->get('Template'), 'fields' => array('sections' => false, 'tags' => false) ) ); //Save on a bit of bandwidth.
+ 
+ 		if ( ! $api || is_wp_error($api) ) {
+ 			$this->skin->feedback( 'parent_theme_not_found', $theme_info->get('Template') );
+ 			// Don't show activate or preview actions after install
+ 			add_filter('install_theme_complete_actions', array(&$this, 'hide_activate_preview_actions') );
+ 			return $install_result;
+ 		}
+ 
+ 		// Backup required data we're going to override:
+ 		$child_api = $this->skin->api;
+ 		$child_success_message = $this->strings['process_success'];
+ 
+ 		// Override them
+ 		$this->skin->api = $api;
+ 		$this->strings['process_success_specific'] = $this->strings['parent_theme_install_success'];//, $api->name, $api->version);
+ 
+ 		$this->skin->feedback('parent_theme_prepare_install', $api->name, $api->version);
+ 
+ 		add_filter('install_theme_complete_actions', '__return_false', 999); // Don't show any actions after installing the theme.
+ 
+ 		// Install the parent theme
+ 		$parent_result = $this->run( array(
+ 			'package' => $api->download_link,
+ 			'destination' => WP_CONTENT_DIR . '/themes',
+ 			'clear_destination' => false, //Do not overwrite files.
+ 			'clear_working' => true
+ 		) );
+ 
+ 		if ( is_wp_error($parent_result) )
+ 			add_filter('install_theme_complete_actions', array(&$this, 'hide_activate_preview_actions') );
+ 
+ 		// Start cleaning up after the parents installation
+ 		remove_filter('install_theme_complete_actions', '__return_false', 999);
+ 
+ 		// Reset child's result and data
+ 		$this->result = $child_result;
+ 		$this->skin->api = $child_api;
+ 		$this->strings['process_success'] = $child_success_message;
+ 
+ 		return $install_result;
+ 	}
+ 
+ 	function hide_activate_preview_actions($actions) {
+ 		unset($actions['activate'], $actions['preview']);
+ 		return $actions;
  	}
  
  	function install($package) {
***************
*** 670,675 ****
--- 745,751 ----
  		$this->install_strings();
  
  		add_filter('upgrader_source_selection', array(&$this, 'check_package') );
+ 		add_filter('upgrader_post_install', array(&$this, 'check_parent_theme_filter'), 10, 3);
  
  		$options = array(
  						'package' => $package,
***************
*** 681,692 ****
--- 757,772 ----
  		$this->run($options);
  
  		remove_filter('upgrader_source_selection', array(&$this, 'check_package') );
+ 		remove_filter('upgrader_post_install', array(&$this, 'check_parent_theme_filter'), 10, 3);
  
  		if ( ! $this->result || is_wp_error($this->result) )
  			return $this->result;
  
  		// Force refresh of theme update information
  		delete_site_transient('update_themes');
+ 		search_theme_directories( true );
+ 		foreach ( wp_get_themes() as $theme )
+ 			$theme->cache_delete();
  
  		return true;
  	}
***************
*** 733,738 ****
--- 813,821 ----
  
  		// Force refresh of theme update information
  		delete_site_transient('update_themes');
+ 		search_theme_directories( true );
+ 		foreach ( wp_get_themes() as $theme )
+ 			$theme->cache_delete();
  
  		return true;
  	}
***************
*** 820,825 ****
--- 903,911 ----
  
  		// Force refresh of theme update information
  		delete_site_transient('update_themes');
+ 		search_theme_directories( true );
+ 		foreach ( wp_get_themes() as $theme )
+ 			$theme->cache_delete();
  
  		return $results;
  	}
***************
*** 835,848 ****
  		if ( ! is_dir($working_directory) ) // Sanity check, if the above fails, lets not prevent installation.
  			return $source;
  
! 		if ( ! file_exists( $working_directory . 'style.css' ) ) // A proper archive should have a style.css file in the single subdirectory
  			return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('The theme is missing the <code>style.css</code> stylesheet.') );
  
! 		$info = get_theme_data( $working_directory . 'style.css' );
! 		if ( empty($info['Name']) )
  			return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __("The <code>style.css</code> stylesheet doesn't contain a valid theme header.") );
  
! 		if ( empty($info['Template']) && ! file_exists( $working_directory . 'index.php' ) ) // If no template is set, it must have at least an index.php to be legit.
  			return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('The theme is missing the <code>index.php</code> file.') );
  
  		return $source;
--- 921,937 ----
  		if ( ! is_dir($working_directory) ) // Sanity check, if the above fails, lets not prevent installation.
  			return $source;
  
! 		// A proper archive should have a style.css file in the single subdirectory
! 		if ( ! file_exists( $working_directory . 'style.css' ) )
  			return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('The theme is missing the <code>style.css</code> stylesheet.') );
  
! 		$info = get_file_data( $working_directory . 'style.css', array( 'Name' => 'Theme Name', 'Template' => 'Template' ) );
! 
! 		if ( empty( $info['Name'] ) )
  			return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __("The <code>style.css</code> stylesheet doesn't contain a valid theme header.") );
  
! 		// If it's not a child theme, it must have at least an index.php to be legit.
! 		if ( empty( $info['Template'] ) && ! file_exists( $working_directory . 'index.php' ) )
  			return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('The theme is missing the <code>index.php</code> file.') );
  
  		return $source;
***************
*** 870,884 ****
  
  		$theme = isset($theme['theme']) ? $theme['theme'] : '';
  
! 		if ( $theme != get_stylesheet() ) //If not current
  			return $return;
  
! 		//Ensure stylesheet name hasnt changed after the upgrade:
  		// @TODO: Note, This doesn't handle the Template changing, or the Template name changing.
  		if ( $theme == get_stylesheet() && $theme != $this->result['destination_name'] ) {
  			$theme_info = $this->theme_info();
  			$stylesheet = $this->result['destination_name'];
! 			$template = !empty($theme_info['Template']) ? $theme_info['Template'] : $stylesheet;
  			switch_theme($template, $stylesheet, true);
  		}
  
--- 959,973 ----
  
  		$theme = isset($theme['theme']) ? $theme['theme'] : '';
  
! 		if ( $theme != get_stylesheet() ) // If not current
  			return $return;
  
! 		// Ensure stylesheet name hasnt changed after the upgrade:
  		// @TODO: Note, This doesn't handle the Template changing, or the Template name changing.
  		if ( $theme == get_stylesheet() && $theme != $this->result['destination_name'] ) {
  			$theme_info = $this->theme_info();
  			$stylesheet = $this->result['destination_name'];
! 			$template = $theme_info->get_template();
  			switch_theme($template, $stylesheet, true);
  		}
  
***************
*** 911,917 ****
  			else
  				return false;
  		}
! 		return get_theme_data(WP_CONTENT_DIR . '/themes/' . $theme . '/style.css');
  	}
  
  }
--- 1000,1006 ----
  			else
  				return false;
  		}
! 		return wp_get_theme( $theme, WP_CONTENT_DIR . '/themes/' );
  	}
  
  }
***************
*** 933,938 ****
--- 1022,1028 ----
  		$this->strings['downloading_package'] = __('Downloading update from <span class="code">%s</span>&#8230;');
  		$this->strings['unpack_package'] = __('Unpacking the update&#8230;');
  		$this->strings['copy_failed'] = __('Could not copy files.');
+ 		$this->strings['copy_failed_space'] = __('Could not copy files. You may have run out of disk space.' );
  	}
  
  	function upgrade($current) {
***************
*** 985,990 ****
--- 1075,1083 ----
  
  		require(ABSPATH . 'wp-admin/includes/update-core.php');
  
+ 		if ( ! function_exists( 'update_core' ) )
+ 			return new WP_Error( 'copy_failed_space', $this->strings['copy_failed_space'] );
+ 
  		return update_core($working_dir, $wp_dir);
  	}
  
***************
*** 1106,1112 ****
  	function after() {
  		$this->plugin = $this->upgrader->plugin_info();
  		if ( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){
- 			show_message(__('Reactivating the plugin&#8230;'));
  			echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . $this->plugin, 'activate-plugin_' . $this->plugin) .'"></iframe>';
  		}
  
--- 1199,1204 ----
***************
*** 1290,1301 ****
  	}
  
  	function before() {
! 		parent::before($this->theme_info['Name']);
  	}
  
  	function after() {
! 		parent::after($this->theme_info['Name']);
  	}
  	function bulk_footer() {
  		parent::bulk_footer();
  		$update_actions =  array(
--- 1382,1394 ----
  	}
  
  	function before() {
! 		parent::before( $this->theme_info->display('Name') );
  	}
  
  	function after() {
! 		parent::after( $this->theme_info->display('Name') );
  	}
+ 
  	function bulk_footer() {
  		parent::bulk_footer();
  		$update_actions =  array(
***************
*** 1303,1309 ****
  			'updates_page' => '<a href="' . self_admin_url('update-core.php') . '" title="' . esc_attr__('Go to WordPress Updates page') . '" target="_parent">' . __('Return to WordPress Updates') . '</a>'
  		);
  
! 		$update_actions = apply_filters('update_bulk_theme_complete_actions', $update_actions, $this->theme_info);
  		if ( ! empty($update_actions) )
  			$this->feedback(implode(' | ', (array)$update_actions));
  	}
--- 1396,1402 ----
  			'updates_page' => '<a href="' . self_admin_url('update-core.php') . '" title="' . esc_attr__('Go to WordPress Updates page') . '" target="_parent">' . __('Return to WordPress Updates') . '</a>'
  		);
  
! 		$update_actions = apply_filters('update_bulk_theme_complete_actions', $update_actions, $this->theme_info );
  		if ( ! empty($update_actions) )
  			$this->feedback(implode(' | ', (array)$update_actions));
  	}
***************
*** 1397,1406 ****
  	}
  
  	function before() {
! 		if ( !empty($this->api) ) {
! 			/* translators: 1: theme name, 2: version */
! 			$this->upgrader->strings['process_success'] = sprintf( __('Successfully installed the theme <strong>%1$s %2$s</strong>.'), $this->api->name, $this->api->version);
! 		}
  	}
  
  	function after() {
--- 1489,1496 ----
  	}
  
  	function before() {
! 		if ( !empty($this->api) )
! 			$this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version);
  	}
  
  	function after() {
***************
*** 1408,1429 ****
  			return;
  
  		$theme_info = $this->upgrader->theme_info();
! 		if ( empty($theme_info) )
  			return;
! 		$name = $theme_info['Name'];
  		$stylesheet = $this->upgrader->result['destination_name'];
! 		$template = !empty($theme_info['Template']) ? $theme_info['Template'] : $stylesheet;
  
! 		$preview_link = htmlspecialchars( add_query_arg( array('preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => 1, 'TB_iframe' => 'true' ), trailingslashit(esc_url(get_option('home'))) ) );
! 		$activate_link = wp_nonce_url("themes.php?action=activate&amp;template=" . urlencode($template) . "&amp;stylesheet=" . urlencode($stylesheet), 'switch-theme_' . $template);
  
! 		$install_actions = array(
! 			'preview' => '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $name)) . '">' . __('Preview') . '</a>',
! 			'activate' => '<a href="' . $activate_link .  '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>'
! 							);
  
  		if ( is_network_admin() && current_user_can( 'manage_network_themes' ) )
! 			$install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . $template, 'enable-theme_' . $template ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
  
  		if ( $this->type == 'web' )
  			$install_actions['themes_page'] = '<a href="' . self_admin_url('theme-install.php') . '" title="' . esc_attr__('Return to Theme Installer') . '" target="_parent">' . __('Return to Theme Installer') . '</a>';
--- 1498,1530 ----
  			return;
  
  		$theme_info = $this->upgrader->theme_info();
! 		if ( empty( $theme_info ) )
  			return;
! 
! 		$name       = $theme_info->display('Name');
  		$stylesheet = $this->upgrader->result['destination_name'];
! 		$template   = $theme_info->get_template();
  
! 		$preview_link = add_query_arg( array(
! 			'preview'    => 1,
! 			'template'   => $template,
! 			'stylesheet' => $stylesheet,
! 		), trailingslashit( get_home_url() ) );
! 
! 		$activate_link = add_query_arg( array(
! 			'action'     => 'activate',
! 			'template'   => $template,
! 			'stylesheet' => $stylesheet,
! 		), admin_url('themes.php') );
! 		$activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
  
! 		$install_actions = array();
! 		$install_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
! 		$install_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
! 		$install_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
  
  		if ( is_network_admin() && current_user_can( 'manage_network_themes' ) )
! 			$install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . $stylesheet, 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
  
  		if ( $this->type == 'web' )
  			$install_actions['themes_page'] = '<a href="' . self_admin_url('theme-install.php') . '" title="' . esc_attr__('Return to Theme Installer') . '" target="_parent">' . __('Return to Theme Installer') . '</a>';
***************
*** 1463,1484 ****
  	function after() {
  
  		$update_actions = array();
! 		if ( !empty($this->upgrader->result['destination_name']) &&
! 			($theme_info = $this->upgrader->theme_info()) &&
! 			!empty($theme_info) ) {
! 
! 			$name = $theme_info['Name'];
  			$stylesheet = $this->upgrader->result['destination_name'];
! 			$template = !empty($theme_info['Template']) ? $theme_info['Template'] : $stylesheet;
! 
! 			$preview_link = htmlspecialchars( add_query_arg( array('preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'TB_iframe' => 'true' ), trailingslashit(esc_url(get_option('home'))) ) );
! 			$activate_link = wp_nonce_url("themes.php?action=activate&amp;template=" . urlencode($template) . "&amp;stylesheet=" . urlencode($stylesheet), 'switch-theme_' . $template);
  
! 			$update_actions['preview'] = '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $name)) . '">' . __('Preview') . '</a>';
! 			$update_actions['activate'] = '<a href="' . $activate_link .  '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
  
! 			if ( ( ! $this->result || is_wp_error($this->result) ) || $stylesheet == get_stylesheet() )
! 				unset($update_actions['preview'], $update_actions['activate']);
  		}
  
  		$update_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
--- 1564,1597 ----
  	function after() {
  
  		$update_actions = array();
! 		if ( ! empty( $this->upgrader->result['destination_name'] ) && $theme_info = $this->upgrader->theme_info() ) {
! 			$name       = $theme_info->display('Name');
  			$stylesheet = $this->upgrader->result['destination_name'];
! 			$template   = $theme_info->get_template();
  
! 			$preview_link = add_query_arg( array(
! 				'preview'    => 1,
! 				'template'   => $template,
! 				'stylesheet' => $stylesheet,
! 			), trailingslashit( get_home_url() ) );
! 
! 			$activate_link = add_query_arg( array(
! 				'action'     => 'activate',
! 				'template'   => $template,
! 				'stylesheet' => $stylesheet,
! 			), admin_url('themes.php') );
! 			$activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
! 
! 			if ( get_stylesheet() == $stylesheet ) {
! 				$update_actions['preview']  = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Customize &#8220;%s&#8221;'), $name ) ) . '">' . __('Customize') . '</a>';
! 			} else {
! 				$update_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
! 				$update_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
! 				$update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
! 			}
  
! 			if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() )
! 				unset( $update_actions['preview'], $update_actions['activate'] );
  		}
  
  		$update_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
***************
*** 1563,1566 ****
  
  		return true;
  	}
! }
--- 1676,1679 ----
  
  		return true;
  	}
! }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/class-wp-users-list-table.php ./wordpress-3.4/wp-admin/includes/class-wp-users-list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/class-wp-users-list-table.php	2011-09-21 00:35:57.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/class-wp-users-list-table.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 209,217 ****
  	 * @since 2.1.0
  	 *
  	 * @param object $user_object
! 	 * @param string $style Optional. Attributes added to the TR element.  Must be sanitized.
  	 * @param string $role Key for the $wp_roles array.
! 	 * @param int $numposts Optional. Post count to display for this user.  Defaults to zero, as in, a new user has made zero posts.
  	 * @return string
  	 */
  	function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
--- 209,217 ----
  	 * @since 2.1.0
  	 *
  	 * @param object $user_object
! 	 * @param string $style Optional. Attributes added to the TR element. Must be sanitized.
  	 * @param string $role Key for the $wp_roles array.
! 	 * @param int $numposts Optional. Post count to display for this user. Defaults to zero, as in, a new user has made zero posts.
  	 * @return string
  	 */
  	function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
***************
*** 316,320 ****
  		return $r;
  	}
  }
- 
- ?>
--- 316,318 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/comment.php ./wordpress-3.4/wp-admin/includes/comment.php
*** ./wordpress-3.3.2/wp-admin/includes/comment.php	2011-01-07 10:17:05.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/comment.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 156,159 ****
  	if ( 'true' == get_user_option( 'comment_shortcuts' ) )
  		wp_enqueue_script( 'jquery-table-hotkeys' );
  }
- ?>
--- 156,158 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/dashboard.php ./wordpress-3.4/wp-admin/includes/dashboard.php
*** ./wordpress-3.3.2/wp-admin/includes/dashboard.php	2012-01-03 12:31:52.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/dashboard.php	2012-06-05 13:51:33.000000000 -0500
***************
*** 86,93 ****
  	if ( !isset( $widget_options['dashboard_primary'] ) ) {
  		$update = true;
  		$widget_options['dashboard_primary'] = array(
! 			'link' => apply_filters( 'dashboard_primary_link',  __( 'http://wordpress.org/news/' ) ),
! 			'url' => apply_filters( 'dashboard_primary_feed',  __( 'http://wordpress.org/news/feed/' ) ),
  			'title' => apply_filters( 'dashboard_primary_title', __( 'WordPress Blog' ) ),
  			'items' => 2,
  			'show_summary' => 1,
--- 86,93 ----
  	if ( !isset( $widget_options['dashboard_primary'] ) ) {
  		$update = true;
  		$widget_options['dashboard_primary'] = array(
! 			'link' => apply_filters( 'dashboard_primary_link', __( 'http://wordpress.org/news/' ) ),
! 			'url' => apply_filters( 'dashboard_primary_feed', __( 'http://wordpress.org/news/feed/' ) ),
  			'title' => apply_filters( 'dashboard_primary_title', __( 'WordPress Blog' ) ),
  			'items' => 2,
  			'show_summary' => 1,
***************
*** 101,108 ****
  	if ( !isset( $widget_options['dashboard_secondary'] ) ) {
  		$update = true;
  		$widget_options['dashboard_secondary'] = array(
! 			'link' => apply_filters( 'dashboard_secondary_link',  __( 'http://planet.wordpress.org/' ) ),
! 			'url' => apply_filters( 'dashboard_secondary_feed',  __( 'http://planet.wordpress.org/feed/' ) ),
  			'title' => apply_filters( 'dashboard_secondary_title', __( 'Other WordPress News' ) ),
  			'items' => 5,
  			'show_summary' => 0,
--- 101,108 ----
  	if ( !isset( $widget_options['dashboard_secondary'] ) ) {
  		$update = true;
  		$widget_options['dashboard_secondary'] = array(
! 			'link' => apply_filters( 'dashboard_secondary_link', __( 'http://planet.wordpress.org/' ) ),
! 			'url' => apply_filters( 'dashboard_secondary_feed', __( 'http://planet.wordpress.org/feed/' ) ),
  			'title' => apply_filters( 'dashboard_secondary_title', __( 'Other WordPress News' ) ),
  			'items' => 5,
  			'show_summary' => 0,
***************
*** 193,246 ****
   * @since 2.5.0
   */
  function wp_dashboard() {
- 	global $screen_layout_columns;
- 
  	$screen = get_current_screen();
  
- 	$hide2 = $hide3 = $hide4 = '';
- 	switch ( $screen_layout_columns ) {
- 		case 4:
- 			$width = 'width:25%;';
- 			break;
- 		case 3:
- 			$width = 'width:33.333333%;';
- 			$hide4 = 'display:none;';
- 			break;
- 		case 2:
- 			$width = 'width:50%;';
- 			$hide3 = $hide4 = 'display:none;';
- 			break;
- 		default:
- 			$width = 'width:100%;';
- 			$hide2 = $hide3 = $hide4 = 'display:none;';
- 	}
- ?>
- <div id="dashboard-widgets" class="metabox-holder">
- <?php
- 	echo "\t<div id='postbox-container-1' class='postbox-container' style='$width'>\n";
- 	do_meta_boxes( $screen->id, 'normal', '' );
- 
- 	echo "\t</div><div id='postbox-container-2' class='postbox-container' style='{$hide2}$width'>\n";
- 	do_meta_boxes( $screen->id, 'side', '' );
- 
- 	echo "\t</div><div id='postbox-container-3' class='postbox-container' style='{$hide3}$width'>\n";
- 	do_meta_boxes( $screen->id, 'column3', '' );
- 
- 	echo "\t</div><div id='postbox-container-4' class='postbox-container' style='{$hide4}$width'>\n";
- 	do_meta_boxes( $screen->id, 'column4', '' );
  ?>
! </div></div>
  
- <form style="display:none" method="get" action="">
- 	<p>
  <?php
  	wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
  	wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
- ?>
- 	</p>
- </form>
  
- <?php
  }
  
  /* Dashboard Widgets */
--- 193,221 ----
   * @since 2.5.0
   */
  function wp_dashboard() {
  	$screen = get_current_screen();
+ 	$class = 'columns-' . get_current_screen()->get_columns();
  
  ?>
! <div id="dashboard-widgets" class="metabox-holder <?php echo $class; ?>">
! 	<div id='postbox-container-1' class='postbox-container'>
! 	<?php do_meta_boxes( $screen->id, 'normal', '' ); ?>
! 	</div>
! 	<div id='postbox-container-2' class='postbox-container'>
! 	<?php do_meta_boxes( $screen->id, 'side', '' ); ?>
! 	</div>
! 	<div id='postbox-container-3' class='postbox-container'>
! 	<?php do_meta_boxes( $screen->id, 'column3', '' ); ?>
! 	</div>
! 	<div id='postbox-container-4' class='postbox-container'>
! 	<?php do_meta_boxes( $screen->id, 'column4', '' ); ?>
! 	</div>
! </div>
  
  <?php
  	wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
  	wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
  
  }
  
  /* Dashboard Widgets */
***************
*** 273,279 ****
  
  	echo '</tr><tr>';
  	/* TODO: Show status breakdown on hover
! 	if ( $can_edit_pages && !empty($num_pages->publish) ) { // how many pages is not exposed in feeds.  Don't show if !current_user_can
  		$post_type_texts[] = '<a href="edit-pages.php">'.sprintf( _n( '%s page', '%s pages', $num_pages->publish ), number_format_i18n( $num_pages->publish ) ).'</a>';
  	}
  	if ( $can_edit_posts && !empty($num_posts->draft) ) {
--- 248,254 ----
  
  	echo '</tr><tr>';
  	/* TODO: Show status breakdown on hover
! 	if ( $can_edit_pages && !empty($num_pages->publish) ) { // how many pages is not exposed in feeds. Don't show if !current_user_can
  		$post_type_texts[] = '<a href="edit-pages.php">'.sprintf( _n( '%s page', '%s pages', $num_pages->publish ), number_format_i18n( $num_pages->publish ) ).'</a>';
  	}
  	if ( $can_edit_posts && !empty($num_posts->draft) ) {
***************
*** 384,394 ****
  	echo "\n\t</table>\n\t</div>";
  
  	echo "\n\t".'<div class="versions">';
! 	$ct = current_theme_info();
  
  	echo "\n\t<p>";
  
! 	if ( empty( $ct->stylesheet_dir ) ) {
  		if ( ! is_multisite() || is_super_admin() )
  			echo '<span class="error-message">' . __('ERROR: The themes directory is either empty or doesn&#8217;t exist. Please check your installation.') . '</span>';
  	} elseif ( ! empty($wp_registered_sidebars) ) {
--- 358,368 ----
  	echo "\n\t</table>\n\t</div>";
  
  	echo "\n\t".'<div class="versions">';
! 	$theme = wp_get_theme();
  
  	echo "\n\t<p>";
  
! 	if ( $theme->errors() ) {
  		if ( ! is_multisite() || is_super_admin() )
  			echo '<span class="error-message">' . __('ERROR: The themes directory is either empty or doesn&#8217;t exist. Please check your installation.') . '</span>';
  	} elseif ( ! empty($wp_registered_sidebars) ) {
***************
*** 402,408 ****
  		}
  		$num = number_format_i18n( $num_widgets );
  
! 		$switch_themes = $ct->title;
  		if ( current_user_can( 'switch_themes') )
  			$switch_themes = '<a href="themes.php">' . $switch_themes . '</a>';
  		if ( current_user_can( 'edit_theme_options' ) ) {
--- 376,382 ----
  		}
  		$num = number_format_i18n( $num_widgets );
  
! 		$switch_themes = $theme->display('Name');
  		if ( current_user_can( 'switch_themes') )
  			$switch_themes = '<a href="themes.php">' . $switch_themes . '</a>';
  		if ( current_user_can( 'edit_theme_options' ) ) {
***************
*** 412,420 ****
  		}
  	} else {
  		if ( current_user_can( 'switch_themes' ) )
! 			printf( __('Theme <span class="b"><a href="themes.php">%1$s</a></span>'), $ct->title );
  		else
! 			printf( __('Theme <span class="b">%1$s</span>'), $ct->title );
  	}
  	echo '</p>';
  
--- 386,394 ----
  		}
  	} else {
  		if ( current_user_can( 'switch_themes' ) )
! 			printf( __('Theme <span class="b"><a href="themes.php">%1$s</a></span>'), $theme->display('Name') );
  		else
! 			printf( __('Theme <span class="b">%1$s</span>'), $theme->display('Name') );
  	}
  	echo '</p>';
  
***************
*** 462,477 ****
  	<p class="youhave"><?php echo $sentence; ?></p>
  	<?php do_action( 'wpmuadminresult', '' ); ?>
  
! 	<form name="searchform" action="<?php echo network_admin_url('users.php'); ?>" method="get">
  		<p>
! 			<input type="text" name="s" value="" size="17" />
  			<?php submit_button( __( 'Search Users' ), 'button', 'submit', false, array( 'id' => 'submit_users' ) ); ?>
  		</p>
  	</form>
  
! 	<form name="searchform" action="<?php echo network_admin_url('sites.php'); ?>" method="get">
  		<p>
! 			<input type="text" name="s" value="" size="17" />
  			<?php submit_button( __( 'Search Sites' ), 'button', 'submit', false, array( 'id' => 'submit_sites' ) ); ?>
  		</p>
  	</form>
--- 436,451 ----
  	<p class="youhave"><?php echo $sentence; ?></p>
  	<?php do_action( 'wpmuadminresult', '' ); ?>
  
! 	<form action="<?php echo network_admin_url('users.php'); ?>" method="get">
  		<p>
! 			<input type="search" name="s" value="" size="30" autocomplete="off" />
  			<?php submit_button( __( 'Search Users' ), 'button', 'submit', false, array( 'id' => 'submit_users' ) ); ?>
  		</p>
  	</form>
  
! 	<form action="<?php echo network_admin_url('sites.php'); ?>" method="get">
  		<p>
! 			<input type="search" name="s" value="" size="30" autocomplete="off" />
  			<?php submit_button( __( 'Search Sites' ), 'button', 'submit', false, array( 'id' => 'submit_sites' ) ); ?>
  		</p>
  	</form>
***************
*** 615,625 ****
  function wp_dashboard_recent_comments() {
  	global $wpdb;
  
- 	if ( current_user_can('edit_posts') )
- 		$allowed_states = array('0', '1');
- 	else
- 		$allowed_states = array('1');
- 
  	// Select all comment types and filter out spam later for better query performance.
  	$comments = array();
  	$start = 0;
--- 589,594 ----
***************
*** 628,671 ****
  	$total_items = isset( $widgets['dashboard_recent_comments'] ) && isset( $widgets['dashboard_recent_comments']['items'] )
  		? absint( $widgets['dashboard_recent_comments']['items'] ) : 5;
  
! 	while ( count( $comments ) < $total_items && $possible = $wpdb->get_results( "SELECT * FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_ID = p.ID WHERE p.post_status != 'trash' ORDER BY c.comment_date_gmt DESC LIMIT $start, 50" ) ) {
  
  		foreach ( $possible as $comment ) {
! 			if ( count( $comments ) >= $total_items )
! 				break;
! 			if ( in_array( $comment->comment_approved, $allowed_states ) && current_user_can( 'read_post', $comment->comment_post_ID ) )
! 				$comments[] = $comment;
  		}
! 
! 		$start = $start + 50;
  	}
  
! 	if ( $comments ) :
! ?>
! 
! 		<div id="the-comment-list" class="list:comment">
! <?php
  		foreach ( $comments as $comment )
  			_wp_dashboard_recent_comments_row( $comment );
! ?>
  
! 		</div>
! 
! <?php
! 		if ( current_user_can('edit_posts') ) { ?>
! 			<?php _get_list_table('WP_Comments_List_Table')->views(); ?>
! <?php	}
  
  		wp_comment_reply( -1, false, 'dashboard', false );
  		wp_comment_trashnotice();
! 
! 	else :
! ?>
! 
! 	<p><?php _e( 'No comments yet.' ); ?></p>
! 
! <?php
! 	endif; // $comments;
  }
  
  function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
--- 597,632 ----
  	$total_items = isset( $widgets['dashboard_recent_comments'] ) && isset( $widgets['dashboard_recent_comments']['items'] )
  		? absint( $widgets['dashboard_recent_comments']['items'] ) : 5;
  
! 	$comments_query = array( 'number' => $total_items * 5, 'offset' => 0 );
! 	if ( ! current_user_can( 'edit_posts' ) )
! 		$comments_query['status'] = 'approve';
  
+ 	while ( count( $comments ) < $total_items && $possible = get_comments( $comments_query ) ) {
  		foreach ( $possible as $comment ) {
! 			if ( ! current_user_can( 'read_post', $comment->comment_post_ID ) )
! 				continue;
! 			$comments[] = $comment;
! 			if ( count( $comments ) == $total_items )
! 				break 2;
  		}
! 		$comments_query['offset'] += $comments_query['number'];
! 		$comments_query['number'] = $total_items * 10;
  	}
  
! 	if ( $comments ) {
! 		echo '<div id="the-comment-list" class="list:comment">';
  		foreach ( $comments as $comment )
  			_wp_dashboard_recent_comments_row( $comment );
! 		echo '</div>';
  
! 		if ( current_user_can('edit_posts') )
! 			_get_list_table('WP_Comments_List_Table')->views();
  
  		wp_comment_reply( -1, false, 'dashboard', false );
  		wp_comment_trashnotice();
! 	} else {
! 		echo '<p>' . __( 'No comments yet.' ) . '</p>';
! 	}
  }
  
  function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
***************
*** 700,706 ****
  		$actions['unapprove'] = "<a href='$unapprove_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
  		$actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__('Edit comment') . "'>". __('Edit') . '</a>';
  		$actions['reply'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$comment->comment_post_ID.'\');return false;" class="vim-r hide-if-no-js" title="'.esc_attr__('Reply to this comment').'" href="#">' . __('Reply') . '</a>';
! 		$actions['spam'] = "<a href='$spam_url' class='delete:the-comment-list:comment-$comment->comment_ID::spam=1 vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */  _x( 'Spam', 'verb' ) . '</a>';
  		if ( !EMPTY_TRASH_DAYS )
  			$actions['delete'] = "<a href='$delete_url' class='delete:the-comment-list:comment-$comment->comment_ID::trash=1 delete vim-d vim-destructive'>" . __('Delete Permanently') . '</a>';
  		else
--- 661,667 ----
  		$actions['unapprove'] = "<a href='$unapprove_url' class='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
  		$actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__('Edit comment') . "'>". __('Edit') . '</a>';
  		$actions['reply'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$comment->comment_post_ID.'\');return false;" class="vim-r hide-if-no-js" title="'.esc_attr__('Reply to this comment').'" href="#">' . __('Reply') . '</a>';
! 		$actions['spam'] = "<a href='$spam_url' class='delete:the-comment-list:comment-$comment->comment_ID::spam=1 vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
  		if ( !EMPTY_TRASH_DAYS )
  			$actions['delete'] = "<a href='$delete_url' class='delete:the-comment-list:comment-$comment->comment_ID::trash=1 delete vim-d vim-destructive'>" . __('Delete Permanently') . '</a>';
  		else
***************
*** 937,944 ****
  function wp_dashboard_plugins() {
  	wp_dashboard_cached_rss_widget( 'dashboard_plugins', 'wp_dashboard_plugins_output', array(
  		'http://wordpress.org/extend/plugins/rss/browse/popular/',
! 		'http://wordpress.org/extend/plugins/rss/browse/new/',
! 		'http://wordpress.org/extend/plugins/rss/browse/updated/'
  	) );
  }
  
--- 898,904 ----
  function wp_dashboard_plugins() {
  	wp_dashboard_cached_rss_widget( 'dashboard_plugins', 'wp_dashboard_plugins_output', array(
  		'http://wordpress.org/extend/plugins/rss/browse/popular/',
! 		'http://wordpress.org/extend/plugins/rss/browse/new/'
  	) );
  }
  
***************
*** 950,963 ****
  function wp_dashboard_plugins_output() {
  	$popular = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/popular/' );
  	$new     = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/new/' );
- 	$updated = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/updated/' );
  
  	if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
  		$plugin_slugs = array_keys( get_plugins() );
  		set_transient( 'plugin_slugs', $plugin_slugs, 86400 );
  	}
  
! 	foreach ( array( 'popular' => __('Most Popular'), 'new' => __('Newest Plugins'), 'updated' => __('Recently Updated') ) as $feed => $label ) {
  		if ( is_wp_error($$feed) || !$$feed->get_item_quantity() )
  			continue;
  
--- 910,922 ----
  function wp_dashboard_plugins_output() {
  	$popular = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/popular/' );
  	$new     = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/new/' );
  
  	if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
  		$plugin_slugs = array_keys( get_plugins() );
  		set_transient( 'plugin_slugs', $plugin_slugs, 86400 );
  	}
  
! 	foreach ( array( 'popular' => __('Most Popular'), 'new' => __('Newest Plugins') ) as $feed => $label ) {
  		if ( is_wp_error($$feed) || !$$feed->get_item_quantity() )
  			continue;
  
***************
*** 1115,1121 ****
  	if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number]) ) {
  		$_POST['widget-rss'][$number] = stripslashes_deep( $_POST['widget-rss'][$number] );
  		$widget_options[$widget_id] = wp_widget_rss_process( $_POST['widget-rss'][$number] );
! 		// title is optional.  If black, fill it if possible
  		if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) {
  			$rss = fetch_feed($widget_options[$widget_id]['url']);
  			if ( is_wp_error($rss) ) {
--- 1074,1080 ----
  	if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number]) ) {
  		$_POST['widget-rss'][$number] = stripslashes_deep( $_POST['widget-rss'][$number] );
  		$widget_options[$widget_id] = wp_widget_rss_process( $_POST['widget-rss'][$number] );
! 		// title is optional. If black, fill it if possible
  		if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) {
  			$rss = fetch_feed($widget_options[$widget_id]['url']);
  			if ( is_wp_error($rss) ) {
***************
*** 1193,1199 ****
  			$browser_nag_class = ' has-browser-icon';
  		}
  		$notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>";
! 		$notice .= '<p>' . sprintf( __( '<a href="%1$s" class="update-browser-link">Update %2$s</a> or learn how to <a href="%3$s" class="browse-happy-link">browse happy</a>' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ), 'http://browsehappy.com/' ) . '</p>';
  		$notice .= '<p class="hide-if-no-js"><a href="" class="dismiss">' . __( 'Dismiss' ) . '</a></p>';
  		$notice .= '<div class="clear"></div>';
  	}
--- 1152,1164 ----
  			$browser_nag_class = ' has-browser-icon';
  		}
  		$notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>";
! 
! 		$browsehappy = 'http://browsehappy.com/';
! 		$locale = get_locale();
! 		if ( 'en_US' !== $locale )
! 			$browsehappy = add_query_arg( 'locale', $locale, $browsehappy );
! 
! 		$notice .= '<p>' . sprintf( __( '<a href="%1$s" class="update-browser-link">Update %2$s</a> or learn how to <a href="%3$s" class="browse-happy-link">browse happy</a>' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ), esc_url( $browsehappy ) ) . '</p>';
  		$notice .= '<p class="hide-if-no-js"><a href="" class="dismiss">' . __( 'Dismiss' ) . '</a></p>';
  		$notice .= '<div class="clear"></div>';
  	}
***************
*** 1228,1234 ****
  
  		$options = array(
  			'body'			=> array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
! 			'user-agent'	=> 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
  		);
  
  		$response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options );
--- 1193,1199 ----
  
  		$options = array(
  			'body'			=> array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
! 			'user-agent'	=> 'WordPress/' . $wp_version . '; ' . home_url()
  		);
  
  		$response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options );
***************
*** 1247,1255 ****
  		 *  'img_src' - string - An image representing the browser
  		 *  'img_src_ssl' - string - An image (over SSL) representing the browser
  		 */
! 		$response = unserialize( wp_remote_retrieve_body( $response ) );
  
! 		if ( ! $response )
  			return false;
  
  		set_site_transient( 'browser_' . $key, $response, 604800 ); // cache for 1 week
--- 1212,1220 ----
  		 *  'img_src' - string - An image representing the browser
  		 *  'img_src_ssl' - string - An image (over SSL) representing the browser
  		 */
! 		$response = maybe_unserialize( wp_remote_retrieve_body( $response ) );
  
! 		if ( ! is_array( $response ) )
  			return false;
  
  		set_site_transient( 'browser_' . $key, $response, 604800 ); // cache for 1 week
***************
*** 1266,1272 ****
  /**
   * Displays a welcome panel to introduce users to WordPress.
   *
!  * @since 3.3
   */
  function wp_welcome_panel() {
  	global $wp_version;
--- 1231,1237 ----
  /**
   * Displays a welcome panel to introduce users to WordPress.
   *
!  * @since 3.3.0
   */
  function wp_welcome_panel() {
  	global $wp_version;
***************
*** 1290,1296 ****
  	<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
  	<div class="welcome-panel-content">
! 	<h3><?php _e( 'Welcome to your new WordPress site! ' ); ?></h3>
  	<p class="about-description"><?php _e( 'If you need help getting started, check out our documentation on <a href="http://codex.wordpress.org/First_Steps_With_WordPress">First Steps with WordPress</a>. If you&#8217;d rather dive right in, here are a few things most people do first when they set up a new WordPress site. If you need help, use the Help tabs in the upper right corner to get information on how to use your current screen and where to go for more assistance.' ); ?></p>
  	<div class="welcome-panel-column-container">
  	<div class="welcome-panel-column">
--- 1255,1261 ----
  	<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
  
  	<div class="welcome-panel-content">
! 	<h3><?php _e( 'Welcome to your new WordPress site!' ); ?></h3>
  	<p class="about-description"><?php _e( 'If you need help getting started, check out our documentation on <a href="http://codex.wordpress.org/First_Steps_With_WordPress">First Steps with WordPress</a>. If you&#8217;d rather dive right in, here are a few things most people do first when they set up a new WordPress site. If you need help, use the Help tabs in the upper right corner to get information on how to use your current screen and where to go for more assistance.' ); ?></p>
  	<div class="welcome-panel-column-container">
  	<div class="welcome-panel-column">
***************
*** 1316,1329 ****
  	<div class="welcome-panel-column welcome-panel-last">
  		<h4><span class="icon16 icon-appearance"></span> <?php _e( 'Customize Your Site' ); ?></h4>
  		<?php
! 		$ct = current_theme_info();
! 		if ( empty ( $ct->stylesheet_dir ) ) :
  			echo '<p>';
  			printf( __( '<a href="%s">Install a theme</a> to get started customizing your site.' ), esc_url( admin_url( 'themes.php' ) ) );
  			echo '</p>';
  		else:
  			$customize_links = array();
! 			if ( 'twentyeleven' == $ct->stylesheet )
  				$customize_links[] = sprintf( __( '<a href="%s">Choose light or dark</a>' ), esc_url( admin_url( 'themes.php?page=theme_options' ) ) );
  
  			if ( current_theme_supports( 'custom-background' ) )
--- 1281,1294 ----
  	<div class="welcome-panel-column welcome-panel-last">
  		<h4><span class="icon16 icon-appearance"></span> <?php _e( 'Customize Your Site' ); ?></h4>
  		<?php
! 		$theme = wp_get_theme();
! 		if ( $theme->errors() ) :
  			echo '<p>';
  			printf( __( '<a href="%s">Install a theme</a> to get started customizing your site.' ), esc_url( admin_url( 'themes.php' ) ) );
  			echo '</p>';
  		else:
  			$customize_links = array();
! 			if ( 'twentyeleven' == $theme->get_stylesheet() )
  				$customize_links[] = sprintf( __( '<a href="%s">Choose light or dark</a>' ), esc_url( admin_url( 'themes.php?page=theme_options' ) ) );
  
  			if ( current_theme_supports( 'custom-background' ) )
***************
*** 1337,1343 ****
  
  			if ( ! empty( $customize_links ) ) {
  				echo '<p>';
! 				printf( __( 'Use the current theme &mdash; %1$s &mdash; or <a href="%2$s">choose a new one</a>. If you stick with %3$s, here are a few ways to make your site look unique.' ), $ct->title, esc_url( admin_url( 'themes.php' ) ), $ct->title );
  				echo '</p>';
  			?>
  			<ul>
--- 1302,1308 ----
  
  			if ( ! empty( $customize_links ) ) {
  				echo '<p>';
! 				printf( __( 'Use the current theme &mdash; %1$s &mdash; or <a href="%2$s">choose a new one</a>. If you stick with %1$s, here are a few ways to make your site look unique.' ), $theme->display('Name'), esc_url( admin_url( 'themes.php' ) ) );
  				echo '</p>';
  			?>
  			<ul>
***************
*** 1348,1354 ****
  			<?php
  			} else {
  				echo '<p>';
! 				printf( __( 'Use the current theme &mdash; %1$s &mdash; or <a href="%2$s">choose a new one</a>.' ), $ct->title, esc_url( admin_url( 'themes.php' ) ) );
  				echo '</p>';
  			}
  		endif; ?>
--- 1313,1319 ----
  			<?php
  			} else {
  				echo '<p>';
! 				printf( __( 'Use the current theme &mdash; %1$s &mdash; or <a href="%2$s">choose a new one</a>.' ), $theme->display('Name'), esc_url( admin_url( 'themes.php' ) ) );
  				echo '</p>';
  			}
  		endif; ?>
***************
*** 1359,1363 ****
  	</div>
  	<?php
  }
- 
- ?>
--- 1324,1326 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/deprecated.php ./wordpress-3.4/wp-admin/includes/deprecated.php
*** ./wordpress-3.3.2/wp-admin/includes/deprecated.php	2011-11-30 21:29:55.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/deprecated.php	2012-03-15 10:39:21.000000000 -0500
***************
*** 133,139 ****
   * @deprecated Use register_setting()
   * @see register_setting()
   *
!  * @param string $option_group A settings group name.  Should correspond to a whitelisted option key name.
   * 	Default whitelisted option key names include "general," "discussion," and "reading," among others.
   * @param string $option_name The name of an option to sanitize and save.
   * @param unknown_type $sanitize_callback A callback function that sanitizes the option's value.
--- 133,139 ----
   * @deprecated Use register_setting()
   * @see register_setting()
   *
!  * @param string $option_group A settings group name. Should correspond to a whitelisted option key name.
   * 	Default whitelisted option key names include "general," "discussion," and "reading," among others.
   * @param string $option_name The name of an option to sanitize and save.
   * @param unknown_type $sanitize_callback A callback function that sanitizes the option's value.
***************
*** 870,876 ****
   * @deprecated Use get_current_screen()->add_help_tab()
   * @see WP_Screen
   *
!  * @param string    $screen The handle for the screen to add help to.  This is usually the hook name returned by the add_*_page() functions.
   * @param string    $help   The content of an 'Overview' help tab.
   */
  function add_contextual_help( $screen, $help ) {
--- 869,875 ----
   * @deprecated Use get_current_screen()->add_help_tab()
   * @see WP_Screen
   *
!  * @param string    $screen The handle for the screen to add help to. This is usually the hook name returned by the add_*_page() functions.
   * @param string    $help   The content of an 'Overview' help tab.
   */
  function add_contextual_help( $screen, $help ) {
***************
*** 880,883 ****
--- 879,941 ----
  		$screen = convert_to_screen( $screen );
  
  	WP_Screen::add_old_compat_help( $screen, $help );
+ }
+ 
+ /**
+  * Get the allowed themes for the current blog.
+  *
+  * @since 3.0.0
+  * @deprecated 3.4.0
+  * @deprecated Use wp_get_themes()
+  * @see wp_get_themes()
+  *
+  * @return array $themes Array of allowed themes.
+  */
+ function get_allowed_themes() {
+ 	_deprecated_function( __FUNCTION__, '3.4', "wp_get_themes( array( 'allowed' => true ) )" );
+ 
+ 	$themes = wp_get_themes( array( 'allowed' => true ) );
+ 
+ 	$wp_themes = array();
+ 	foreach ( $themes as $theme ) {
+ 		$wp_themes[ $theme->get('Name') ] = $theme;
+ 	}
+ 
+ 	return $wp_themes;
+ }
+ 
+ /**
+  * {@internal Missing Short Description}}
+  *
+  * @since 1.5.0
+  *
+  * @return unknown
+  */
+ function get_broken_themes() {
+ 	_deprecated_function( __FUNCTION__, '3.4', "wp_get_themes( array( 'errors' => true )" );
+ 
+ 	$themes = wp_get_themes( array( 'errors' => true ) );
+ 	$broken = array();
+ 	foreach ( $themes as $theme ) {
+ 		$name = $theme->get('Name');
+ 		$broken[ $name ] = array(
+ 			'Name' => $name,
+ 			'Title' => $name,
+ 			'Description' => $theme->errors()->get_error_message(),
+ 		);
+ 	}
+ 	return $broken;
+ }
+ 
+ /**
+  * {@internal Missing Short Description}}
+  *
+  * @since 2.0.0
+  *
+  * @return unknown
+  */
+ function current_theme_info() {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'wp_get_theme()' );
+ 
+ 	return wp_get_theme();
  }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/export.php ./wordpress-3.4/wp-admin/includes/export.php
*** ./wordpress-3.3.2/wp-admin/includes/export.php	2011-11-09 13:32:44.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/export.php	2012-02-07 15:51:14.000000000 -0600
***************
*** 13,19 ****
   *
   * @since 2.5.0
   */
! define( 'WXR_VERSION', '1.1' );
  
  /**
   * Generates the WXR export file for download
--- 13,19 ----
   *
   * @since 2.5.0
   */
! define( 'WXR_VERSION', '1.2' );
  
  /**
   * Generates the WXR export file for download
***************
*** 117,129 ****
  	 * @since 2.1.0
  	 *
  	 * @param string $str String to wrap in XML CDATA tag.
  	 */
  	function wxr_cdata( $str ) {
  		if ( seems_utf8( $str ) == false )
  			$str = utf8_encode( $str );
  
  		// $str = ent2ncr(esc_html($str));
! 		$str = "<![CDATA[$str" . ( ( substr( $str, -1 ) == ']' ) ? ' ' : '' ) . ']]>';
  
  		return $str;
  	}
--- 117,130 ----
  	 * @since 2.1.0
  	 *
  	 * @param string $str String to wrap in XML CDATA tag.
+ 	 * @return string
  	 */
  	function wxr_cdata( $str ) {
  		if ( seems_utf8( $str ) == false )
  			$str = utf8_encode( $str );
  
  		// $str = ent2ncr(esc_html($str));
! 		$str = '<![CDATA[' . str_replace( ']]>', ']]]]><![CDATA[>', $str ) . ']]>';
  
  		return $str;
  	}
***************
*** 331,337 ****
  	<link><?php bloginfo_rss( 'url' ); ?></link>
  	<description><?php bloginfo_rss( 'description' ); ?></description>
  	<pubDate><?php echo date( 'D, d M Y H:i:s +0000' ); ?></pubDate>
! 	<language><?php echo get_option( 'rss_language' ); ?></language>
  	<wp:wxr_version><?php echo WXR_VERSION; ?></wp:wxr_version>
  	<wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url>
  	<wp:base_blog_url><?php bloginfo_rss( 'url' ); ?></wp:base_blog_url>
--- 332,338 ----
  	<link><?php bloginfo_rss( 'url' ); ?></link>
  	<description><?php bloginfo_rss( 'description' ); ?></description>
  	<pubDate><?php echo date( 'D, d M Y H:i:s +0000' ); ?></pubDate>
! 	<language><?php bloginfo_rss( 'language' ); ?></language>
  	<wp:wxr_version><?php echo WXR_VERSION; ?></wp:wxr_version>
  	<wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url>
  	<wp:base_blog_url><?php bloginfo_rss( 'url' ); ?></wp:base_blog_url>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/file.php ./wordpress-3.4/wp-admin/includes/file.php
*** ./wordpress-3.3.2/wp-admin/includes/file.php	2011-11-08 16:34:09.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/file.php	2012-03-28 22:00:38.000000000 -0500
***************
*** 65,71 ****
  			return sprintf( __( '%s Page Template' ), _cleanup_header_comment($name[1]) );
  	}
  
! 	return basename( $file );
  }
  
  /**
--- 65,71 ----
  			return sprintf( __( '%s Page Template' ), _cleanup_header_comment($name[1]) );
  	}
  
! 	return trim( basename( $file ) );
  }
  
  /**
***************
*** 81,87 ****
  	$siteurl = get_option( 'siteurl' );
  	if ( $home != '' && $home != $siteurl ) {
  		$wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */
! 		$pos = strpos($_SERVER["SCRIPT_FILENAME"], $wp_path_rel_to_home);
  		$home_path = substr($_SERVER["SCRIPT_FILENAME"], 0, $pos);
  		$home_path = trailingslashit( $home_path );
  	} else {
--- 81,87 ----
  	$siteurl = get_option( 'siteurl' );
  	if ( $home != '' && $home != $siteurl ) {
  		$wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */
! 		$pos = strrpos($_SERVER["SCRIPT_FILENAME"], $wp_path_rel_to_home);
  		$home_path = substr($_SERVER["SCRIPT_FILENAME"], 0, $pos);
  		$home_path = trailingslashit( $home_path );
  	} else {
***************
*** 157,163 ****
   * Please note that the calling function must unlink() this itself.
   *
   * The filename is based off the passed parameter or defaults to the current unix timestamp,
!  * while the directory can either be passed as well, or by leaving  it blank, default to a writable temporary directory.
   *
   * @since 2.6.0
   *
--- 157,163 ----
   * Please note that the calling function must unlink() this itself.
   *
   * The filename is based off the passed parameter or defaults to the current unix timestamp,
!  * while the directory can either be passed as well, or by leaving it blank, default to a writable temporary directory.
   *
   * @since 2.6.0
   *
***************
*** 240,246 ****
  	// You may define your own function and pass the name in $overrides['upload_error_handler']
  	$upload_error_handler = 'wp_handle_upload_error';
  
! 	// You may have had one or more 'wp_handle_upload_prefilter' functions error out the file.  Handle that gracefully.
  	if ( isset( $file['error'] ) && !is_numeric( $file['error'] ) && $file['error'] )
  		return $upload_error_handler( $file, $file['error'] );
  
--- 240,246 ----
  	// You may define your own function and pass the name in $overrides['upload_error_handler']
  	$upload_error_handler = 'wp_handle_upload_error';
  
! 	// You may have had one or more 'wp_handle_upload_prefilter' functions error out the file. Handle that gracefully.
  	if ( isset( $file['error'] ) && !is_numeric( $file['error'] ) && $file['error'] )
  		return $upload_error_handler( $file, $file['error'] );
  
***************
*** 323,352 ****
  
  	$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );
  
- 	$tmp_file = wp_tempnam($filename);
- 
  	// Move the file to the uploads dir
- 	if ( false === @ move_uploaded_file( $file['tmp_name'], $tmp_file ) )
- 		return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );
- 
- 	// If a resize was requested, perform the resize.
- 	$image_resize = isset( $_POST['image_resize'] ) && 'true' == $_POST['image_resize'];
- 	$do_resize = apply_filters( 'wp_upload_resize', $image_resize );
- 	$size = @getimagesize( $tmp_file );
- 	if ( $do_resize && $size ) {
- 		$old_temp = $tmp_file;
- 		$tmp_file = image_resize( $tmp_file, (int) get_option('large_size_w'), (int) get_option('large_size_h'), 0, 'resized');
- 		if ( ! is_wp_error($tmp_file) ) {
- 			unlink($old_temp);
- 		} else {
- 			$tmp_file = $old_temp;
- 		}
- 	}
- 
- 	// Copy the temporary file into its destination
  	$new_file = $uploads['path'] . "/$filename";
! 	copy( $tmp_file, $new_file );
! 	unlink($tmp_file);
  
  	// Set correct file permissions
  	$stat = stat( dirname( $new_file ));
--- 323,332 ----
  
  	$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );
  
  	// Move the file to the uploads dir
  	$new_file = $uploads['path'] . "/$filename";
! 	if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
! 		return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );
  
  	// Set correct file permissions
  	$stat = stat( dirname( $new_file ));
***************
*** 364,370 ****
  
  /**
   * Handle sideloads, which is the process of retrieving a media item from another server instead of
!  * a traditional media upload.  This process involves sanitizing the filename, checking extensions
   * for mime type, and moving the file to the appropriate directory within the uploads directory.
   *
   * @since 2.6.0
--- 344,350 ----
  
  /**
   * Handle sideloads, which is the process of retrieving a media item from another server instead of
!  * a traditional media upload. This process involves sanitizing the filename, checking extensions
   * for mime type, and moving the file to the appropriate directory within the uploads directory.
   *
   * @since 2.6.0
***************
*** 486,492 ****
  
  /**
   * Downloads a url to a local temporary file using the WordPress HTTP Class.
!  * Please note, That the calling function must unlink() the  file.
   *
   * @since 2.5.0
   *
--- 466,472 ----
  
  /**
   * Downloads a url to a local temporary file using the WordPress HTTP Class.
!  * Please note, That the calling function must unlink() the file.
   *
   * @since 2.5.0
   *
***************
*** 648,654 ****
  			return new WP_Error('extract_failed', __('Could not extract file from archive.'), $info['name']);
  
  		if ( ! $wp_filesystem->put_contents( $to . $info['name'], $contents, FS_CHMOD_FILE) )
! 			return new WP_Error('copy_failed', __('Could not copy file.'), $to . $info['filename']);
  	}
  
  	$z->close();
--- 628,634 ----
  			return new WP_Error('extract_failed', __('Could not extract file from archive.'), $info['name']);
  
  		if ( ! $wp_filesystem->put_contents( $to . $info['name'], $contents, FS_CHMOD_FILE) )
! 			return new WP_Error('copy_failed', __('Could not copy file.'), $to . $info['name']);
  	}
  
  	$z->close();
***************
*** 884,890 ****
  }
  
  /**
!  * Displays a form to the user to request for their FTP/SSH details in order to  connect to the filesystem.
   * All chosen/entered details are saved, Excluding the Password.
   *
   * Hostnames may be in the form of hostname:portnumber (eg: wordpress.org:2467) to specify an alternate FTP/SSH port.
--- 864,870 ----
  }
  
  /**
!  * Displays a form to the user to request for their FTP/SSH details in order to connect to the filesystem.
   * All chosen/entered details are saved, Excluding the Password.
   *
   * Hostnames may be in the form of hostname:portnumber (eg: wordpress.org:2467) to specify an alternate FTP/SSH port.
***************
*** 896,902 ****
   * @param string $form_post the URL to post the form to
   * @param string $type the chosen Filesystem method in use
   * @param boolean $error if the current request has failed to connect
!  * @param string $context The directory which is needed access to, The write-test will be performed on  this directory by get_filesystem_method()
   * @param string $extra_fields Extra POST fields which should be checked for to be included in the post.
   * @return boolean False on failure. True on success.
   */
--- 876,882 ----
   * @param string $form_post the URL to post the form to
   * @param string $type the chosen Filesystem method in use
   * @param boolean $error if the current request has failed to connect
!  * @param string $context The directory which is needed access to, The write-test will be performed on this directory by get_filesystem_method()
   * @param string $extra_fields Extra POST fields which should be checked for to be included in the post.
   * @return boolean False on failure. True on success.
   */
***************
*** 1075,1079 ****
  <?php
  	return false;
  }
- 
- ?>
--- 1055,1057 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/image-edit.php ./wordpress-3.4/wp-admin/includes/image-edit.php
*** ./wordpress-3.3.2/wp-admin/includes/image-edit.php	2011-10-18 15:33:34.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/image-edit.php	2012-04-06 15:47:24.000000000 -0500
***************
*** 67,73 ****
  	<input type="hidden" id="imgedit-y-<?php echo $post_id; ?>" value="<?php echo $meta['height']; ?>" />
  
  	<div id="imgedit-crop-<?php echo $post_id; ?>" class="imgedit-crop-wrap">
! 	<img id="image-preview-<?php echo $post_id; ?>" onload="imageEdit.imgLoaded('<?php echo $post_id; ?>')" src="<?php echo admin_url('admin-ajax.php'); ?>?action=imgedit-preview&amp;_ajax_nonce=<?php echo $nonce; ?>&amp;postid=<?php echo $post_id; ?>&amp;rand=<?php echo rand(1, 99999); ?>" />
  	</div>
  
  	<div class="imgedit-submit">
--- 67,73 ----
  	<input type="hidden" id="imgedit-y-<?php echo $post_id; ?>" value="<?php echo $meta['height']; ?>" />
  
  	<div id="imgedit-crop-<?php echo $post_id; ?>" class="imgedit-crop-wrap">
! 	<img id="image-preview-<?php echo $post_id; ?>" onload="imageEdit.imgLoaded('<?php echo $post_id; ?>')" src="<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>?action=imgedit-preview&amp;_ajax_nonce=<?php echo $nonce; ?>&amp;postid=<?php echo $post_id; ?>&amp;rand=<?php echo rand(1, 99999); ?>" />
  	</div>
  
  	<div class="imgedit-submit">
***************
*** 192,241 ****
  	</tbody></table>
  	<div class="imgedit-wait" id="imgedit-wait-<?php echo $post_id; ?>"></div>
  	<script type="text/javascript">imageEdit.init(<?php echo $post_id; ?>);</script>
! 	<div class="hidden" id="imgedit-leaving-<?php echo $post_id; ?>"><?php _e("There are unsaved changes that will be lost.  'OK' to continue, 'Cancel' to return to the Image Editor."); ?></div>
  	</div>
  <?php
  }
  
- function load_image_to_edit($post_id, $mime_type, $size = 'full') {
- 	$filepath = get_attached_file($post_id);
- 
- 	if ( $filepath && file_exists($filepath) ) {
- 		if ( 'full' != $size && ( $data = image_get_intermediate_size($post_id, $size) ) ) {
- 			$filepath = apply_filters('load_image_to_edit_filesystempath', path_join( dirname($filepath), $data['file'] ), $post_id, $size);
- 		}
- 	} elseif ( function_exists('fopen') && function_exists('ini_get') && true == ini_get('allow_url_fopen') ) {
- 		$filepath = apply_filters('load_image_to_edit_attachmenturl', wp_get_attachment_url($post_id) , $post_id, $size);
- 	}
- 
- 	$filepath = apply_filters('load_image_to_edit_path', $filepath, $post_id, $size);
- 	if ( empty($filepath) )
- 		return false;
- 
- 	switch ( $mime_type ) {
- 		case 'image/jpeg':
- 			$image = imagecreatefromjpeg($filepath);
- 			break;
- 		case 'image/png':
- 			$image = imagecreatefrompng($filepath);
- 			break;
- 		case 'image/gif':
- 			$image = imagecreatefromgif($filepath);
- 			break;
- 		default:
- 			$image = false;
- 			break;
- 	}
- 	if ( is_resource($image) ) {
- 		$image = apply_filters('load_image_to_edit', $image, $post_id, $size);
- 		if ( function_exists('imagealphablending') && function_exists('imagesavealpha') ) {
- 			imagealphablending($image, false);
- 			imagesavealpha($image, true);
- 		}
- 	}
- 	return $image;
- }
- 
  function wp_stream_image($image, $mime_type, $post_id) {
  	$image = apply_filters('image_save_pre', $image, $post_id);
  
--- 192,202 ----
  	</tbody></table>
  	<div class="imgedit-wait" id="imgedit-wait-<?php echo $post_id; ?>"></div>
  	<script type="text/javascript">imageEdit.init(<?php echo $post_id; ?>);</script>
! 	<div class="hidden" id="imgedit-leaving-<?php echo $post_id; ?>"><?php _e("There are unsaved changes that will be lost. 'OK' to continue, 'Cancel' to return to the Image Editor."); ?></div>
  	</div>
  <?php
  }
  
  function wp_stream_image($image, $mime_type, $post_id) {
  	$image = apply_filters('image_save_pre', $image, $post_id);
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/image.php ./wordpress-3.4/wp-admin/includes/image.php
*** ./wordpress-3.3.2/wp-admin/includes/image.php	2011-09-03 09:18:10.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/image.php	2012-06-09 20:26:12.000000000 -0500
***************
*** 32,38 ****
   *
   * @since 2.1.0
   *
!  * @param string|int $src_file The source file or Attachment ID.
   * @param int $src_x The start x position to crop from.
   * @param int $src_y The start y position to crop from.
   * @param int $src_w The width to crop.
--- 32,38 ----
   *
   * @since 2.1.0
   *
!  * @param string|int $src The source file or Attachment ID.
   * @param int $src_x The start x position to crop from.
   * @param int $src_y The start y position to crop from.
   * @param int $src_w The width to crop.
***************
*** 43,55 ****
   * @param string $dst_file Optional. The destination file to write to.
   * @return string|WP_Error|false New filepath on success, WP_Error or false on failure.
   */
! function wp_crop_image( $src_file, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs = false, $dst_file = false ) {
! 	if ( is_numeric( $src_file ) ) // Handle int as attachment ID
! 		$src_file = get_attached_file( $src_file );
! 
! 	$src = wp_load_image( $src_file );
  
! 	if ( !is_resource( $src ) )
  		return new WP_Error( 'error_loading_image', $src, $src_file );
  
  	$dst = wp_imagecreatetruecolor( $dst_w, $dst_h );
--- 43,69 ----
   * @param string $dst_file Optional. The destination file to write to.
   * @return string|WP_Error|false New filepath on success, WP_Error or false on failure.
   */
! function wp_crop_image( $src, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs = false, $dst_file = false ) {
! 	if ( is_numeric( $src ) ) { // Handle int as attachment ID
! 		$src_file = get_attached_file( $src );
! 		if ( ! file_exists( $src_file ) ) {
! 			// If the file doesn't exist, attempt a url fopen on the src link.
! 			// This can occur with certain file replication plugins.
! 			$post = get_post( $src );
! 			$image_type = $post->post_mime_type;
! 			$src = load_image_to_edit( $src, $post->post_mime_type, 'full' );
! 		} else {
! 			$size = @getimagesize( $src_file );
! 			$image_type = ( $size ) ? $size['mime'] : '';
! 			$src = wp_load_image( $src_file );
! 		}
! 	} else {
! 		$size = @getimagesize( $src );
! 		$image_type = ( $size ) ? $size['mime'] : '';
! 		$src = wp_load_image( $src );
! 	}
  
! 	if ( ! is_resource( $src ) )
  		return new WP_Error( 'error_loading_image', $src, $src_file );
  
  	$dst = wp_imagecreatetruecolor( $dst_w, $dst_h );
***************
*** 59,65 ****
  		$src_h -= $src_y;
  	}
  
! 	if (function_exists('imageantialias'))
  		imageantialias( $dst, true );
  
  	imagecopyresampled( $dst, $src, 0, 0, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h );
--- 73,79 ----
  		$src_h -= $src_y;
  	}
  
! 	if ( function_exists( 'imageantialias' ) )
  		imageantialias( $dst, true );
  
  	imagecopyresampled( $dst, $src, 0, 0, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h );
***************
*** 69,77 ****
  	if ( ! $dst_file )
  		$dst_file = str_replace( basename( $src_file ), 'cropped-' . basename( $src_file ), $src_file );
  
! 	$dst_file = preg_replace( '/\\.[^\\.]+$/', '.jpg', $dst_file );
  
! 	if ( imagejpeg( $dst, $dst_file, apply_filters( 'jpeg_quality', 90, 'wp_crop_image' ) ) )
  		return $dst_file;
  	else
  		return false;
--- 83,100 ----
  	if ( ! $dst_file )
  		$dst_file = str_replace( basename( $src_file ), 'cropped-' . basename( $src_file ), $src_file );
  
! 	if ( 'image/png' != $image_type )
! 		$dst_file = preg_replace( '/\\.[^\\.]+$/', '.jpg', $dst_file );
! 
! 	// The directory containing the original file may no longer exist when
! 	// using a replication plugin.
! 	wp_mkdir_p( dirname( $dst_file ) );
! 
! 	$dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), basename( $dst_file ) );
  
! 	if ( 'image/png' == $image_type && imagepng( $dst, $dst_file ) )
! 		return $dst_file;
! 	elseif ( imagejpeg( $dst, $dst_file, apply_filters( 'jpeg_quality', 90, 'wp_crop_image' ) ) )
  		return $dst_file;
  	else
  		return false;
***************
*** 104,110 ****
  		global $_wp_additional_image_sizes;
  
  		foreach ( get_intermediate_image_sizes() as $s ) {
! 			$sizes[$s] = array( 'width' => '', 'height' => '', 'crop' => FALSE );
  			if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
  				$sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
  			else
--- 127,133 ----
  		global $_wp_additional_image_sizes;
  
  		foreach ( get_intermediate_image_sizes() as $s ) {
! 			$sizes[$s] = array( 'width' => '', 'height' => '', 'crop' => false );
  			if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
  				$sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
  			else
***************
*** 205,211 ****
  
  	// exif contains a bunch of data we'll probably never need formatted in ways
  	// that are difficult to use. We'll normalize it and just extract the fields
! 	// that are likely to be useful.  Fractions and numbers are converted to
  	// floats, dates to unix timestamps, and everything else to strings.
  	$meta = array(
  		'aperture' => 0,
--- 228,234 ----
  
  	// exif contains a bunch of data we'll probably never need formatted in ways
  	// that are difficult to use. We'll normalize it and just extract the fields
! 	// that are likely to be useful. Fractions and numbers are converted to
  	// floats, dates to unix timestamps, and everything else to strings.
  	$meta = array(
  		'aperture' => 0,
***************
*** 296,303 ****
  			$meta['created_timestamp'] = wp_exif_date2ts($exif['DateTimeDigitized'] );
  		if ( ! empty($exif['FocalLength'] ) )
  			$meta['focal_length'] = wp_exif_frac2dec( $exif['FocalLength'] );
! 		if ( ! empty($exif['ISOSpeedRatings'] ) )
! 			$meta['iso'] = utf8_encode( trim( $exif['ISOSpeedRatings'] ) );
  		if ( ! empty($exif['ExposureTime'] ) )
  			$meta['shutter_speed'] = wp_exif_frac2dec( $exif['ExposureTime'] );
  	}
--- 319,328 ----
  			$meta['created_timestamp'] = wp_exif_date2ts($exif['DateTimeDigitized'] );
  		if ( ! empty($exif['FocalLength'] ) )
  			$meta['focal_length'] = wp_exif_frac2dec( $exif['FocalLength'] );
! 		if ( ! empty($exif['ISOSpeedRatings'] ) ) {
! 			$meta['iso'] = is_array( $exif['ISOSpeedRatings'] ) ? reset( $exif['ISOSpeedRatings'] ) : $exif['ISOSpeedRatings'];
! 			$meta['iso'] = utf8_encode( trim( $meta['iso'] ) );
! 		}
  		if ( ! empty($exif['ExposureTime'] ) )
  			$meta['shutter_speed'] = wp_exif_frac2dec( $exif['ExposureTime'] );
  	}
***************
*** 339,341 ****
--- 364,463 ----
  
  	return apply_filters('file_is_displayable_image', $result, $path);
  }
+ 
+ /**
+  * Load an image resource for editing.
+  *
+  * @since 2.9.0
+  *
+  * @param string $attachment_id Attachment ID.
+  * @param string $mime_type Image mime type.
+  * @param string $size Optional. Image size, defaults to 'full'.
+  * @return resource|false The resulting image resource on success, false on failure.
+  */
+ function load_image_to_edit( $attachment_id, $mime_type, $size = 'full' ) {
+ 	$filepath = _load_image_to_edit_path( $attachment_id, $size );
+ 	if ( empty( $filepath ) )
+ 		return false;
+ 
+ 	switch ( $mime_type ) {
+ 		case 'image/jpeg':
+ 			$image = imagecreatefromjpeg($filepath);
+ 			break;
+ 		case 'image/png':
+ 			$image = imagecreatefrompng($filepath);
+ 			break;
+ 		case 'image/gif':
+ 			$image = imagecreatefromgif($filepath);
+ 			break;
+ 		default:
+ 			$image = false;
+ 			break;
+ 	}
+ 	if ( is_resource($image) ) {
+ 		$image = apply_filters('load_image_to_edit', $image, $attachment_id, $size);
+ 		if ( function_exists('imagealphablending') && function_exists('imagesavealpha') ) {
+ 			imagealphablending($image, false);
+ 			imagesavealpha($image, true);
+ 		}
+ 	}
+ 	return $image;
+ }
+ 
+ /**
+  * Retrieve the path or url of an attachment's attached file.
+  *
+  * If the attached file is not present on the local filesystem (usually due to replication plugins),
+  * then the url of the file is returned if url fopen is supported.
+  *
+  * @since 3.4.0
+  * @access private
+  *
+  * @param string $attachment_id Attachment ID.
+  * @param string $size Optional. Image size, defaults to 'full'.
+  * @return string|false File path or url on success, false on failure.
+  */
+ function _load_image_to_edit_path( $attachment_id, $size = 'full' ) {
+ 	$filepath = get_attached_file( $attachment_id );
+ 
+ 	if ( $filepath && file_exists( $filepath ) ) {
+ 		if ( 'full' != $size && ( $data = image_get_intermediate_size( $attachment_id, $size ) ) ) {
+ 			$filepath = apply_filters( 'load_image_to_edit_filesystempath', path_join( dirname( $filepath ), $data['file'] ), $attachment_id, $size );
+ 		}
+ 	} elseif ( function_exists( 'fopen' ) && function_exists( 'ini_get' ) && true == ini_get( 'allow_url_fopen' ) ) {
+ 		$filepath = apply_filters( 'load_image_to_edit_attachmenturl', wp_get_attachment_url( $attachment_id ), $attachment_id, $size );
+ 	}
+ 
+ 	return apply_filters( 'load_image_to_edit_path', $filepath, $attachment_id, $size );
+ }
+ 
+ /**
+  * Copy an existing image file.
+  *
+  * @since 3.4.0
+  * @access private
+  *
+  * @param string $attachment_id Attachment ID.
+  * @return string|false New file path on success, false on failure.
+  */
+ function _copy_image_file( $attachment_id ) {
+ 	$dst_file = $src_file = get_attached_file( $attachment_id );
+ 	if ( ! file_exists( $src_file ) )
+ 		$src_file = _load_image_to_edit_path( $attachment_id );
+ 
+ 	if ( $src_file ) {
+ 		$dst_file = str_replace( basename( $dst_file ), 'copy-' . basename( $dst_file ), $dst_file );
+ 		$dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), basename( $dst_file ) );
+ 
+ 		// The directory containing the original file may no longer exist when
+ 		// using a replication plugin.
+ 		wp_mkdir_p( dirname( $dst_file ) );
+ 
+ 		if ( ! @copy( $src_file, $dst_file ) )
+ 			$dst_file = false;
+ 	} else {
+ 		$dst_file = false;
+ 	}
+ 
+ 	return $dst_file;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/import.php ./wordpress-3.4/wp-admin/includes/import.php
*** ./wordpress-3.3.2/wp-admin/includes/import.php	2011-05-22 18:25:28.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/import.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 93,97 ****
  
  	return array( 'file' => $file, 'id' => $id );
  }
- 
- ?>
--- 93,95 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/list-table.php ./wordpress-3.4/wp-admin/includes/list-table.php
*** ./wordpress-3.3.2/wp-admin/includes/list-table.php	2011-01-16 15:47:24.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/list-table.php	2012-03-02 16:09:26.000000000 -0600
***************
*** 28,34 ****
  		'WP_Links_List_Table' => 'links',
  		'WP_Plugin_Install_List_Table' => 'plugin-install',
  		'WP_Themes_List_Table' => 'themes',
! 		'WP_Theme_Install_List_Table' => 'theme-install',
  		'WP_Plugins_List_Table' => 'plugins',
  		// Network Admin
  		'WP_MS_Sites_List_Table' => 'ms-sites',
--- 28,34 ----
  		'WP_Links_List_Table' => 'links',
  		'WP_Plugin_Install_List_Table' => 'plugin-install',
  		'WP_Themes_List_Table' => 'themes',
! 		'WP_Theme_Install_List_Table' => array( 'themes', 'theme-install' ),
  		'WP_Plugins_List_Table' => 'plugins',
  		// Network Admin
  		'WP_MS_Sites_List_Table' => 'ms-sites',
***************
*** 37,43 ****
  	);
  
  	if ( isset( $core_classes[ $class ] ) ) {
! 		require_once( ABSPATH . 'wp-admin/includes/class-wp-' . $core_classes[ $class ] . '-list-table.php' );
  		return new $class;
  	}
  
--- 37,44 ----
  	);
  
  	if ( isset( $core_classes[ $class ] ) ) {
! 		foreach ( (array) $core_classes[ $class ] as $required )
! 			require_once( ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php' );
  		return new $class;
  	}
  
***************
*** 101,104 ****
  		return $this->_columns;
  	}
  }
- ?>
\ No newline at end of file
--- 102,104 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/manifest.php ./wordpress-3.4/wp-admin/includes/manifest.php
*** ./wordpress-3.3.2/wp-admin/includes/manifest.php	2011-08-03 05:19:00.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/manifest.php	2012-02-16 22:59:42.000000000 -0600
***************
*** 43,49 ****
  		array('images/wpspin_dark.gif'),
  		array('images/logo.gif'),
  		array('images/logo-ghost.png'),
- 		array('images/logo-login.gif'),
  		array('images/media-button-image.gif'),
  		array('images/media-button-music.gif'),
  		array('images/media-button-other.gif'),
--- 43,48 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/media.php ./wordpress-3.4/wp-admin/includes/media.php
*** ./wordpress-3.3.2/wp-admin/includes/media.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/media.php	2012-06-06 11:00:08.000000000 -0500
***************
*** 62,76 ****
   * @since 2.5.0
   */
  function the_media_upload_tabs() {
! 	global $redir_tab, $is_iphone;
  	$tabs = media_upload_tabs();
! 
! 	if ( $is_iphone ) {
! 		unset($tabs['type']);
! 		$default = 'type_url';
! 	} else {
! 		$default = 'type';
! 	}
  
  	if ( !empty($tabs) ) {
  		echo "<ul id='sidemenu'>\n";
--- 62,70 ----
   * @since 2.5.0
   */
  function the_media_upload_tabs() {
! 	global $redir_tab;
  	$tabs = media_upload_tabs();
! 	$default = 'type';
  
  	if ( !empty($tabs) ) {
  		echo "<ul id='sidemenu'>\n";
***************
*** 144,171 ****
  
  	$id = ( 0 < (int) $id ) ? 'attachment_' . $id : '';
  
! 	if ( ! preg_match( '/width="([0-9]+)/', $html, $matches ) )
  		return $html;
  
  	$width = $matches[1];
  
! 	$caption = str_replace(	array( '>',    '<',    '"',      "'" ),
! 							array( '&gt;', '&lt;', '&quot;', '&#039;' ),
! 							$caption
! 						  );
  
  	$html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html );
  	if ( empty($align) )
  		$align = 'none';
  
! 	$shcode = '[caption id="' . $id . '" align="align' . $align
! 	. '" width="' . $width . '" caption="' . addslashes($caption) . '"]' . $html . '[/caption]';
  
  	return apply_filters( 'image_add_caption_shortcode', $shcode, $html );
  }
  add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
  
  /**
   * {@internal Missing Short Description}}
   *
   * @since 2.5.0
--- 138,175 ----
  
  	$id = ( 0 < (int) $id ) ? 'attachment_' . $id : '';
  
! 	if ( ! preg_match( '/width=["\']([0-9]+)/', $html, $matches ) )
  		return $html;
  
  	$width = $matches[1];
  
! 	$caption = str_replace( array("\r\n", "\r"), "\n", $caption);
! 	$caption = preg_replace_callback( '/<[a-zA-Z0-9]+(?: [^<>]+>)*/', '_cleanup_image_add_caption', $caption );
! 	// convert any remaining line breaks to <br>
! 	$caption = preg_replace( '/[ \n\t]*\n[ \t]*/', '<br />', $caption );
  
  	$html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html );
  	if ( empty($align) )
  		$align = 'none';
  
! 	$shcode = '[caption id="' . $id . '" align="align' . $align	. '" width="' . $width . '"]' . $html . ' ' . $caption . '[/caption]';
  
  	return apply_filters( 'image_add_caption_shortcode', $shcode, $html );
  }
  add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
  
  /**
+  * Private preg_replace callback used in image_add_caption()
+  *
+  * @access private
+  * @since 3.4.0
+  */
+ function _cleanup_image_add_caption( $matches ) {
+ 	// remove any line breaks from inside the tags
+ 	return preg_replace( '/[\r\n\t]+/', ' ', $matches[0] );
+ }
+ 
+ /**
   * {@internal Missing Short Description}}
   *
   * @since 2.5.0
***************
*** 334,340 ****
  //<![CDATA[
  addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
  var userSettings = {'url':'<?php echo SITECOOKIEPATH; ?>','uid':'<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>','time':'<?php echo time(); ?>'};
! var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>', pagenow = 'media-upload-popup', adminpage = 'media-upload-popup',
  isRtl = <?php echo (int) is_rtl(); ?>;
  //]]>
  </script>
--- 338,344 ----
  //<![CDATA[
  addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
  var userSettings = {'url':'<?php echo SITECOOKIEPATH; ?>','uid':'<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>','time':'<?php echo time(); ?>'};
! var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>', pagenow = 'media-upload-popup', adminpage = 'media-upload-popup',
  isRtl = <?php echo (int) is_rtl(); ?>;
  //]]>
  </script>
***************
*** 386,400 ****
  	return "<a href='" . esc_url( get_upload_iframe_src($type) ) . "' id='{$id}-add_{$type}' class='thickbox add_$type' title='" . esc_attr( $title ) . "'><img src='" . esc_url( admin_url( $icon ) ) . "' alt='$title' onclick='return false;' /></a>";
  }
  
! function get_upload_iframe_src( $type = null ) {
  	global $post_ID;
  
! 	$uploading_iframe_ID = (int) $post_ID;
! 	$upload_iframe_src = add_query_arg( 'post_id', $uploading_iframe_ID, admin_url('media-upload.php') );
  
  	if ( $type && 'media' != $type )
  		$upload_iframe_src = add_query_arg('type', $type, $upload_iframe_src);
  
  	$upload_iframe_src = apply_filters($type . '_upload_iframe_src', $upload_iframe_src);
  
  	return add_query_arg('TB_iframe', true, $upload_iframe_src);
--- 390,409 ----
  	return "<a href='" . esc_url( get_upload_iframe_src($type) ) . "' id='{$id}-add_{$type}' class='thickbox add_$type' title='" . esc_attr( $title ) . "'><img src='" . esc_url( admin_url( $icon ) ) . "' alt='$title' onclick='return false;' /></a>";
  }
  
! function get_upload_iframe_src( $type = null, $post_id = null, $tab = null ) {
  	global $post_ID;
  
! 	if ( empty( $post_id ) )
! 		$post_id = $post_ID;
! 
! 	$upload_iframe_src = add_query_arg( 'post_id', (int) $post_id, admin_url('media-upload.php') );
  
  	if ( $type && 'media' != $type )
  		$upload_iframe_src = add_query_arg('type', $type, $upload_iframe_src);
  
+ 	if ( ! empty( $tab ) )
+ 		$upload_iframe_src = add_query_arg('tab', $tab, $upload_iframe_src);
+ 
  	$upload_iframe_src = apply_filters($type . '_upload_iframe_src', $upload_iframe_src);
  
  	return add_query_arg('TB_iframe', true, $upload_iframe_src);
***************
*** 477,483 ****
  	if ( isset($send_id) ) {
  		$attachment = stripslashes_deep( $_POST['attachments'][$send_id] );
  
! 		$html = $attachment['post_title'];
  		if ( !empty($attachment['url']) ) {
  			$rel = '';
  			if ( strpos($attachment['url'], 'attachment_id') || get_attachment_link($send_id) == $attachment['url'] )
--- 486,492 ----
  	if ( isset($send_id) ) {
  		$attachment = stripslashes_deep( $_POST['attachments'][$send_id] );
  
! 		$html = isset( $attachment['post_title'] ) ? $attachment['post_title'] : '';
  		if ( !empty($attachment['url']) ) {
  			$rel = '';
  			if ( strpos($attachment['url'], 'attachment_id') || get_attachment_link($send_id) == $attachment['url'] )
***************
*** 500,507 ****
   * @return unknown
   */
  function wp_media_upload_handler() {
- 	global $is_iphone;
- 
  	$errors = array();
  	$id = 0;
  
--- 509,514 ----
***************
*** 572,581 ****
  		return wp_iframe( 'media_upload_type_url_form', $type, $errors, $id );
  	}
  
! 	if ( $is_iphone )
! 		return wp_iframe( 'media_upload_type_url_form', 'image', $errors, $id );
! 	else
! 		return wp_iframe( 'media_upload_type_form', 'image', $errors, $id );
  }
  
  /**
--- 579,585 ----
  		return wp_iframe( 'media_upload_type_url_form', $type, $errors, $id );
  	}
  
! 	return wp_iframe( 'media_upload_type_form', 'image', $errors, $id );
  }
  
  /**
***************
*** 776,787 ****
  
  	return "
  	<input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='" . esc_attr($url) . "' /><br />
! 	<button type='button' class='button urlnone' title=''>" . __('None') . "</button>
! 	<button type='button' class='button urlfile' title='" . esc_attr($file) . "'>" . __('File URL') . "</button>
! 	<button type='button' class='button urlpost' title='" . esc_attr($link) . "'>" . __('Attachment Post URL') . "</button>
  ";
  }
  
  /**
   * {@internal Missing Short Description}}
   *
--- 780,798 ----
  
  	return "
  	<input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='" . esc_attr($url) . "' /><br />
! 	<button type='button' class='button urlnone' data-link-url=''>" . __('None') . "</button>
! 	<button type='button' class='button urlfile' data-link-url='" . esc_attr($file) . "'>" . __('File URL') . "</button>
! 	<button type='button' class='button urlpost' data-link-url='" . esc_attr($link) . "'>" . __('Attachment Post URL') . "</button>
  ";
  }
  
+ function wp_caption_input_textarea($edit_post) {
+ 	// post data is already escaped
+ 	$name = "attachments[{$edit_post->ID}][post_excerpt]";
+ 
+ 	return '<textarea name="' . $name . '" id="' . $name . '">' . $edit_post->post_excerpt . '</textarea>';
+ }
+ 
  /**
   * {@internal Missing Short Description}}
   *
***************
*** 927,933 ****
  		'image_alt'   => array(),
  		'post_excerpt' => array(
  			'label'      => __('Caption'),
! 			'value'      => $edit_post->post_excerpt
  		),
  		'post_content' => array(
  			'label'      => __('Description'),
--- 936,943 ----
  		'image_alt'   => array(),
  		'post_excerpt' => array(
  			'label'      => __('Caption'),
! 			'input'      => 'html',
! 			'html'       => wp_caption_input_textarea($edit_post)
  		),
  		'post_content' => array(
  			'label'      => __('Description'),
***************
*** 1151,1157 ****
  			$delete = "<a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" . __( 'Delete Permanently' ) . '</a>';
  		} elseif ( !MEDIA_TRASH ) {
  			$delete = "<a href='#' class='del-link' onclick=\"document.getElementById('del_attachment_$attachment_id').style.display='block';return false;\">" . __( 'Delete' ) . "</a>
! 			 <div id='del_attachment_$attachment_id' class='del-attachment' style='display:none;'>" . sprintf( __( 'You are about to delete <strong>%s</strong>.' ), $filename ) . "
  			 <a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='button'>" . __( 'Continue' ) . "</a>
  			 <a href='#' class='button' onclick=\"this.parentNode.style.display='none';return false;\">" . __( 'Cancel' ) . "</a>
  			 </div>";
--- 1159,1165 ----
  			$delete = "<a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" . __( 'Delete Permanently' ) . '</a>';
  		} elseif ( !MEDIA_TRASH ) {
  			$delete = "<a href='#' class='del-link' onclick=\"document.getElementById('del_attachment_$attachment_id').style.display='block';return false;\">" . __( 'Delete' ) . "</a>
! 			 <div id='del_attachment_$attachment_id' class='del-attachment' style='display:none;'><p>" . sprintf( __( 'You are about to delete <strong>%s</strong>.' ), $filename ) . "</p>
  			 <a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-attachment_' . $attachment_id ) . "' id='del[$attachment_id]' class='button'>" . __( 'Continue' ) . "</a>
  			 <a href='#' class='button' onclick=\"this.parentNode.style.display='none';return false;\">" . __( 'Cancel' ) . "</a>
  			 </div>";
***************
*** 1206,1214 ****
  		if ( !empty( $field[ $field['input'] ] ) )
  			$item .= $field[ $field['input'] ];
  		elseif ( $field['input'] == 'textarea' ) {
! 			if ( user_can_richedit() ) { // textarea_escaped when user_can_richedit() = false
! 				$field['value'] = esc_textarea( $field['value'] );
  			}
  			$item .= "<textarea id='$name' name='$name' $aria_required>" . $field['value'] . '</textarea>';
  		} else {
  			$item .= "<input type='text' class='text' id='$name' name='$name' value='" . esc_attr( $field['value'] ) . "' $aria_required />";
--- 1214,1224 ----
  		if ( !empty( $field[ $field['input'] ] ) )
  			$item .= $field[ $field['input'] ];
  		elseif ( $field['input'] == 'textarea' ) {
! 			if ( 'post_content' == $id && user_can_richedit() ) {
! 				// sanitize_post() skips the post_content when user_can_richedit
! 				$field['value'] = htmlspecialchars( $field['value'], ENT_QUOTES );
  			}
+ 			// post_excerpt is already escaped by sanitize_post() in get_attachment_fields_to_edit()
  			$item .= "<textarea id='$name' name='$name' $aria_required>" . $field['value'] . '</textarea>';
  		} else {
  			$item .= "<input type='text' class='text' id='$name' name='$name' value='" . esc_attr( $field['value'] ) . "' $aria_required />";
***************
*** 1272,1281 ****
   * @param unknown_type $errors
   */
  function media_upload_form( $errors = null ) {
! 	global $type, $tab, $pagenow, $is_IE, $is_opera, $is_iphone;
  
! 	if ( $is_iphone )
  		return;
  
  	$upload_action_url = admin_url('async-upload.php');
  	$post_id = isset($_REQUEST['post_id']) ? intval($_REQUEST['post_id']) : 0;
--- 1282,1293 ----
   * @param unknown_type $errors
   */
  function media_upload_form( $errors = null ) {
! 	global $type, $tab, $pagenow, $is_IE, $is_opera;
  
! 	if ( ! _device_can_upload() ) {
! 		echo '<p>' . __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="http://wordpress.org/extend/mobile/">native app for your device</a> instead.') . '</p>';
  		return;
+ 	}
  
  	$upload_action_url = admin_url('async-upload.php');
  	$post_id = isset($_REQUEST['post_id']) ? intval($_REQUEST['post_id']) : 0;
***************
*** 1406,1415 ****
   * @param unknown_type $id
   */
  function media_upload_type_form($type = 'file', $errors = null, $id = null) {
- 	global $is_iphone;
- 
- 	if ( $is_iphone )
- 		return;
  
  	media_upload_header();
  
--- 1418,1423 ----
***************
*** 1517,1524 ****
  			alt = f.alt.value.replace(/'/g, '&#039;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
  
  <?php if ( ! apply_filters( 'disable_captions', '' ) ) { ?>
! 		if ( f.caption.value )
! 			caption = f.caption.value.replace(/'/g, '&#039;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
  <?php } ?>
  
  		cls = caption ? '' : ' class="'+t.align+'"';
--- 1525,1538 ----
  			alt = f.alt.value.replace(/'/g, '&#039;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
  
  <?php if ( ! apply_filters( 'disable_captions', '' ) ) { ?>
! 		if ( f.caption.value ) {
! 			caption = f.caption.value.replace(/\r\n|\r/g, '\n');
! 			caption = caption.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){
! 				return a.replace(/[\r\n\t]+/, ' ');
! 			});
! 
! 			caption = caption.replace(/\s*\n\s*/g, '<br />');
! 		}
  <?php } ?>
  
  		cls = caption ? '' : ' class="'+t.align+'"';
***************
*** 1531,1537 ****
  		}
  
  		if ( caption )
! 			html = '[caption id="" align="'+t.align+'" width="'+t.width+'" caption="'+caption+'"]'+html+'[/caption]';
  
  		var win = window.dialogArguments || opener || parent || top;
  		win.send_to_editor(html);
--- 1545,1551 ----
  		}
  
  		if ( caption )
! 			html = '[caption id="" align="'+t.align+'" width="'+t.width+'"]'+html+caption+'[/caption]';
  
  		var win = window.dialogArguments || opener || parent || top;
  		win.send_to_editor(html);
***************
*** 1778,1787 ****
  <input type="hidden" name="tab" value="<?php echo esc_attr( $tab ); ?>" />
  <input type="hidden" name="post_id" value="<?php echo (int) $post_id; ?>" />
  <input type="hidden" name="post_mime_type" value="<?php echo isset( $_GET['post_mime_type'] ) ? esc_attr( $_GET['post_mime_type'] ) : ''; ?>" />
  
  <p id="media-search" class="search-box">
  	<label class="screen-reader-text" for="media-search-input"><?php _e('Search Media');?>:</label>
! 	<input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" />
  	<?php submit_button( __( 'Search Media' ), 'button', '', false ); ?>
  </p>
  
--- 1792,1802 ----
  <input type="hidden" name="tab" value="<?php echo esc_attr( $tab ); ?>" />
  <input type="hidden" name="post_id" value="<?php echo (int) $post_id; ?>" />
  <input type="hidden" name="post_mime_type" value="<?php echo isset( $_GET['post_mime_type'] ) ? esc_attr( $_GET['post_mime_type'] ) : ''; ?>" />
+ <input type="hidden" name="context" value="<?php echo isset( $_GET['context'] ) ? esc_attr( $_GET['context'] ) : ''; ?>" />
  
  <p id="media-search" class="search-box">
  	<label class="screen-reader-text" for="media-search-input"><?php _e('Search Media');?>:</label>
! 	<input type="search" id="media-search-input" name="s" value="<?php the_search_query(); ?>" />
  	<?php submit_button( __( 'Search Media' ), 'button', '', false ); ?>
  </p>
  
***************
*** 1920,1926 ****
  			<th valign="top" scope="row" class="label">
  				<span class="alignleft"><label for="caption">' . __('Image Caption') . '</label></span>
  			</th>
! 			<td class="field"><input id="caption" name="caption" value="" type="text" /></td>
  		</tr>
  ';
  	} else {
--- 1935,1941 ----
  			<th valign="top" scope="row" class="label">
  				<span class="alignleft"><label for="caption">' . __('Image Caption') . '</label></span>
  			</th>
! 			<td class="field"><textarea id="caption" name="caption"></textarea></td>
  		</tr>
  ';
  	} else {
***************
*** 2054,2060 ****
  function media_upload_html_bypass() {
  	?>
  	<p class="upload-html-bypass hide-if-no-js">
! 	<?php _e('You are using the browser&#8217;s built-in file uploader. The new WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the new uploader</a>.'); ?>
  	</p>
  	<?php
  }
--- 2069,2075 ----
  function media_upload_html_bypass() {
  	?>
  	<p class="upload-html-bypass hide-if-no-js">
!        <?php _e('You are using the browser&#8217;s built-in file uploader. The WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the multi-file uploader</a>.'); ?>
  	</p>
  	<?php
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/menu.php ./wordpress-3.4/wp-admin/includes/menu.php
*** ./wordpress-3.3.2/wp-admin/includes/menu.php	2011-10-27 15:00:09.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/menu.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 227,231 ****
  }
  
  $menu = add_menu_classes($menu);
- 
- ?>
\ No newline at end of file
--- 227,229 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/meta-boxes.php ./wordpress-3.4/wp-admin/includes/meta-boxes.php
*** ./wordpress-3.3.2/wp-admin/includes/meta-boxes.php	2011-09-29 16:21:15.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/meta-boxes.php	2012-05-25 08:45:16.000000000 -0500
***************
*** 27,40 ****
  
  <div id="minor-publishing-actions">
  <div id="save-action">
! <?php if ( 'publish' != $post->post_status && 'future' != $post->post_status && 'pending' != $post->post_status )  { ?>
  <input <?php if ( 'private' == $post->post_status ) { ?>style="display:none"<?php } ?> type="submit" name="save" id="save-post" value="<?php esc_attr_e('Save Draft'); ?>" tabindex="4" class="button button-highlighted" />
  <?php } elseif ( 'pending' == $post->post_status && $can_publish ) { ?>
  <input type="submit" name="save" id="save-post" value="<?php esc_attr_e('Save as Pending'); ?>" tabindex="4" class="button button-highlighted" />
  <?php } ?>
  <img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-loading" id="draft-ajax-loading" alt="" />
  </div>
! 
  <div id="preview-action">
  <?php
  if ( 'publish' == $post->post_status ) {
--- 27,40 ----
  
  <div id="minor-publishing-actions">
  <div id="save-action">
! <?php if ( 'publish' != $post->post_status && 'future' != $post->post_status && 'pending' != $post->post_status ) { ?>
  <input <?php if ( 'private' == $post->post_status ) { ?>style="display:none"<?php } ?> type="submit" name="save" id="save-post" value="<?php esc_attr_e('Save Draft'); ?>" tabindex="4" class="button button-highlighted" />
  <?php } elseif ( 'pending' == $post->post_status && $can_publish ) { ?>
  <input type="submit" name="save" id="save-post" value="<?php esc_attr_e('Save as Pending'); ?>" tabindex="4" class="button button-highlighted" />
  <?php } ?>
  <img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-loading" id="draft-ajax-loading" alt="" />
  </div>
! <?php if ( $post_type_object->public ) : ?>
  <div id="preview-action">
  <?php
  if ( 'publish' == $post->post_status ) {
***************
*** 51,63 ****
  <a class="preview button" href="<?php echo $preview_link; ?>" target="wp-preview" id="post-preview" tabindex="4"><?php echo $preview_button; ?></a>
  <input type="hidden" name="wp-preview" id="wp-preview" value="" />
  </div>
! 
  <div class="clear"></div>
  </div><?php // /minor-publishing-actions ?>
  
  <div id="misc-publishing-actions">
  
! <div class="misc-pub-section<?php if ( !$can_publish ) { echo ' misc-pub-section-last'; } ?>"><label for="post_status"><?php _e('Status:') ?></label>
  <span id="post-status-display">
  <?php
  switch ( $post->post_status ) {
--- 51,63 ----
  <a class="preview button" href="<?php echo $preview_link; ?>" target="wp-preview" id="post-preview" tabindex="4"><?php echo $preview_button; ?></a>
  <input type="hidden" name="wp-preview" id="wp-preview" value="" />
  </div>
! <?php endif; // public post type ?>
  <div class="clear"></div>
  </div><?php // /minor-publishing-actions ?>
  
  <div id="misc-publishing-actions">
  
! <div class="misc-pub-section"><label for="post_status"><?php _e('Status:') ?></label>
  <span id="post-status-display">
  <?php
  switch ( $post->post_status ) {
***************
*** 107,113 ****
  <?php } ?>
  </div><?php // /misc-pub-section ?>
  
! <div class="misc-pub-section " id="visibility">
  <?php _e('Visibility:'); ?> <span id="post-visibility-display"><?php
  
  if ( 'private' == $post->post_status ) {
--- 107,113 ----
  <?php } ?>
  </div><?php // /misc-pub-section ?>
  
! <div class="misc-pub-section" id="visibility">
  <?php _e('Visibility:'); ?> <span id="post-visibility-display"><?php
  
  if ( 'private' == $post->post_status ) {
***************
*** 176,182 ****
  }
  
  if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
! <div class="misc-pub-section curtime misc-pub-section-last">
  	<span id="timestamp">
  	<?php printf($stamp, $date); ?></span>
  	<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js" tabindex='4'><?php _e('Edit') ?></a>
--- 174,180 ----
  }
  
  if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
! <div class="misc-pub-section curtime">
  	<span id="timestamp">
  	<?php printf($stamp, $date); ?></span>
  	<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js" tabindex='4'><?php _e('Edit') ?></a>
***************
*** 279,290 ****
  	$tax_name = esc_attr($taxonomy);
  	$taxonomy = get_taxonomy($taxonomy);
  	$disabled = !current_user_can($taxonomy->cap->assign_terms) ? 'disabled="disabled"' : '';
  ?>
  <div class="tagsdiv" id="<?php echo $tax_name; ?>">
  	<div class="jaxtag">
  	<div class="nojs-tags hide-if-js">
  	<p><?php echo $taxonomy->labels->add_or_remove_items; ?></p>
! 	<textarea name="<?php echo "tax_input[$tax_name]"; ?>" rows="3" cols="20" class="the-tags" id="tax-input-<?php echo $tax_name; ?>" <?php echo $disabled; ?>><?php echo get_terms_to_edit( $post->ID, $tax_name ); // textarea_escaped by esc_attr() ?></textarea></div>
   	<?php if ( current_user_can($taxonomy->cap->assign_terms) ) : ?>
  	<div class="ajaxtag hide-if-no-js">
  		<label class="screen-reader-text" for="new-tag-<?php echo $tax_name; ?>"><?php echo $box['title']; ?></label>
--- 276,288 ----
  	$tax_name = esc_attr($taxonomy);
  	$taxonomy = get_taxonomy($taxonomy);
  	$disabled = !current_user_can($taxonomy->cap->assign_terms) ? 'disabled="disabled"' : '';
+ 	$comma = _x( ',', 'tag delimiter' );
  ?>
  <div class="tagsdiv" id="<?php echo $tax_name; ?>">
  	<div class="jaxtag">
  	<div class="nojs-tags hide-if-js">
  	<p><?php echo $taxonomy->labels->add_or_remove_items; ?></p>
! 	<textarea name="<?php echo "tax_input[$tax_name]"; ?>" rows="3" cols="20" class="the-tags" id="tax-input-<?php echo $tax_name; ?>" <?php echo $disabled; ?>><?php echo str_replace( ',', $comma . ' ', get_terms_to_edit( $post->ID, $tax_name ) ); // textarea_escaped by esc_attr() ?></textarea></div>
   	<?php if ( current_user_can($taxonomy->cap->assign_terms) ) : ?>
  	<div class="ajaxtag hide-if-no-js">
  		<label class="screen-reader-text" for="new-tag-<?php echo $tax_name; ?>"><?php echo $box['title']; ?></label>
***************
*** 359,365 ****
  						<?php echo $tax->labels->parent_item_colon; ?>
  					</label>
  					<?php wp_dropdown_categories( array( 'taxonomy' => $taxonomy, 'hide_empty' => 0, 'name' => 'new'.$taxonomy.'_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;', 'tab_index' => 3 ) ); ?>
! 					<input type="button" id="<?php echo $taxonomy; ?>-add-submit" class="add:<?php echo $taxonomy ?>checklist:<?php echo $taxonomy ?>-add button category-add-sumbit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" tabindex="3" />
  					<?php wp_nonce_field( 'add-'.$taxonomy, '_ajax_nonce-add-'.$taxonomy, false ); ?>
  					<span id="<?php echo $taxonomy; ?>-ajax-response"></span>
  				</p>
--- 356,362 ----
  						<?php echo $tax->labels->parent_item_colon; ?>
  					</label>
  					<?php wp_dropdown_categories( array( 'taxonomy' => $taxonomy, 'hide_empty' => 0, 'name' => 'new'.$taxonomy.'_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;', 'tab_index' => 3 ) ); ?>
! 					<input type="button" id="<?php echo $taxonomy; ?>-add-submit" class="add:<?php echo $taxonomy ?>checklist:<?php echo $taxonomy ?>-add button category-add-submit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" tabindex="3" />
  					<?php wp_nonce_field( 'add-'.$taxonomy, '_ajax_nonce-add-'.$taxonomy, false ); ?>
  					<span id="<?php echo $taxonomy; ?>-ajax-response"></span>
  				</p>
***************
*** 478,502 ****
  function post_comment_meta_box($post) {
  	global $wpdb, $post_ID;
  
  	$total = $wpdb->get_var($wpdb->prepare("SELECT count(1) FROM $wpdb->comments WHERE comment_post_ID = '%d' AND ( comment_approved = '0' OR comment_approved = '1')", $post_ID));
  
  	if ( 1 > $total ) {
! 		echo '<p>' . __('No comments yet.') . '</p>';
! 		return;
  	}
  
! 	wp_nonce_field( 'get-comments', 'add_comment_nonce', false );
  
- 	$wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
- 	$wp_list_table->display( true );
- ?>
- <p class="hide-if-no-js"><a href="#commentstatusdiv" id="show-comments" onclick="commentsBox.get(<?php echo $total; ?>);return false;"><?php _e('Show comments'); ?></a> <img class="waiting" style="display:none;" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /></p>
- <?php
- 	$hidden = get_hidden_meta_boxes('post');
- 	if ( ! in_array('commentsdiv', $hidden) ) { ?>
- 		<script type="text/javascript">jQuery(document).ready(function(){commentsBox.get(<?php echo $total; ?>, 10);});</script>
- <?php
- 	}
  	wp_comment_trashnotice();
  }
  
--- 471,500 ----
  function post_comment_meta_box($post) {
  	global $wpdb, $post_ID;
  
+ 	wp_nonce_field( 'get-comments', 'add_comment_nonce', false );
+ 	?>
+ 	<p class="hide-if-no-js" id="add-new-comment"><a href="#commentstatusdiv" onclick="commentReply.addcomment(<?php echo $post_ID; ?>);return false;"><?php _e('Add comment'); ?></a></p>
+ 	<?php
+ 
  	$total = $wpdb->get_var($wpdb->prepare("SELECT count(1) FROM $wpdb->comments WHERE comment_post_ID = '%d' AND ( comment_approved = '0' OR comment_approved = '1')", $post_ID));
+ 	$wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
+ 	$wp_list_table->display( true );
  
  	if ( 1 > $total ) {
! 		echo '<p id="no-comments">' . __('No comments yet.') . '</p>';
! 	} else {
! 		$hidden = get_hidden_meta_boxes('post');
! 		if ( ! in_array('commentsdiv', $hidden) ) {
! 			?>
! 			<script type="text/javascript">jQuery(document).ready(function(){commentsBox.get(<?php echo $total; ?>, 10);});</script>
! 			<?php
! 		}
  	}
  
! 	?>
! 	<p class="hide-if-no-js hidden" id="show-comments"><a href="#commentstatusdiv" onclick="commentsBox.get(<?php echo $total; ?>);return false;"><?php _e('Show comments'); ?></a> <img class="waiting" style="display:none;" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /></p>
! 	<?php
  
  	wp_comment_trashnotice();
  }
  
***************
*** 627,633 ****
  </div>
  
  <div id="misc-publishing-actions">
! <div class="misc-pub-section misc-pub-section-last">
  	<label for="link_private" class="selectit"><input id="link_private" name="link_visible" type="checkbox" value="N" <?php checked($link->link_visible, 'N'); ?> /> <?php _e('Keep this link private') ?></label>
  </div>
  </div>
--- 620,626 ----
  </div>
  
  <div id="misc-publishing-actions">
! <div class="misc-pub-section">
  	<label for="link_private" class="selectit"><input id="link_private" name="link_visible" type="checkbox" value="N" <?php checked($link->link_visible, 'N'); ?> /> <?php _e('Keep this link private') ?></label>
  </div>
  </div>
***************
*** 639,645 ****
  <div id="delete-action">
  <?php
  if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('manage_links') ) { ?>
! 	<a class="submitdelete deletion" href="<?php echo wp_nonce_url("link.php?action=delete&amp;link_id=$link->link_id", 'delete-bookmark_' . $link->link_id); ?>" onclick="if ( confirm('<?php echo esc_js(sprintf(__("You are about to delete this link '%s'\n  'Cancel' to stop, 'OK' to delete."), $link->link_name )); ?>') ) {return true;}return false;"><?php _e('Delete'); ?></a>
  <?php } ?>
  </div>
  
--- 632,638 ----
  <div id="delete-action">
  <?php
  if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('manage_links') ) { ?>
! 	<a class="submitdelete deletion" href="<?php echo wp_nonce_url("link.php?action=delete&amp;link_id=$link->link_id", 'delete-bookmark_' . $link->link_id); ?>" onclick="if ( confirm('<?php echo esc_js(sprintf(__("You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete."), $link->link_name )); ?>') ) {return true;}return false;"><?php _e('Delete'); ?></a>
  <?php } ?>
  </div>
  
***************
*** 666,703 ****
   *
   * @param object $link
   */
! function link_categories_meta_box($link) { ?>
! <ul id="category-tabs" class="category-tabs">
! 	<li class="tabs"><a href="#categories-all"><?php _e( 'All Categories' ); ?></a></li>
! 	<li class="hide-if-no-js"><a href="#categories-pop"><?php _e( 'Most Used' ); ?></a></li>
! </ul>
! 
! <div id="categories-all" class="tabs-panel">
! 	<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
! 		<?php
! 		if ( isset($link->link_id) )
! 			wp_link_category_checklist($link->link_id);
! 		else
! 			wp_link_category_checklist();
! 		?>
  	</ul>
- </div>
  
! <div id="categories-pop" class="tabs-panel" style="display: none;">
! 	<ul id="categorychecklist-pop" class="categorychecklist form-no-clear">
! 		<?php wp_popular_terms_checklist('link_category'); ?>
! 	</ul>
! </div>
  
! <div id="category-adder" class="wp-hidden-children">
! 	<h4><a id="category-add-toggle" href="#category-add"><?php _e( '+ Add New Category' ); ?></a></h4>
! 	<p id="link-category-add" class="wp-hidden-child">
! 		<label class="screen-reader-text" for="newcat"><?php _e( '+ Add New Category' ); ?></label>
! 		<input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php esc_attr_e( 'New category name' ); ?>" aria-required="true" />
! 		<input type="button" id="category-add-submit" class="add:categorychecklist:linkcategorydiv button" value="<?php esc_attr_e( 'Add' ); ?>" />
! 		<?php wp_nonce_field( 'add-link-category', '_ajax_nonce', false ); ?>
! 		<span id="category-ajax-response"></span>
! 	</p>
  </div>
  <?php
  }
--- 658,698 ----
   *
   * @param object $link
   */
! function link_categories_meta_box($link) {
! ?>
! <div id="taxonomy-linkcategory" class="categorydiv">
! 	<ul id="category-tabs" class="category-tabs">
! 		<li class="tabs"><a href="#categories-all"><?php _e( 'All Categories' ); ?></a></li>
! 		<li class="hide-if-no-js"><a href="#categories-pop"><?php _e( 'Most Used' ); ?></a></li>
  	</ul>
  
! 	<div id="categories-all" class="tabs-panel">
! 		<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
! 			<?php
! 			if ( isset($link->link_id) )
! 				wp_link_category_checklist($link->link_id);
! 			else
! 				wp_link_category_checklist();
! 			?>
! 		</ul>
! 	</div>
! 
! 	<div id="categories-pop" class="tabs-panel" style="display: none;">
! 		<ul id="categorychecklist-pop" class="categorychecklist form-no-clear">
! 			<?php wp_popular_terms_checklist('link_category'); ?>
! 		</ul>
! 	</div>
  
! 	<div id="category-adder" class="wp-hidden-children">
! 		<h4><a id="category-add-toggle" href="#category-add"><?php _e( '+ Add New Category' ); ?></a></h4>
! 		<p id="link-category-add" class="wp-hidden-child">
! 			<label class="screen-reader-text" for="newcat"><?php _e( '+ Add New Category' ); ?></label>
! 			<input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php esc_attr_e( 'New category name' ); ?>" aria-required="true" />
! 			<input type="button" id="category-add-submit" class="add:categorychecklist:linkcategorydiv button" value="<?php esc_attr_e( 'Add' ); ?>" />
! 			<?php wp_nonce_field( 'add-link-category', '_ajax_nonce', false ); ?>
! 			<span id="category-ajax-response"></span>
! 		</p>
! 	</div>
  </div>
  <?php
  }
***************
*** 767,877 ****
   */
  function link_xfn_meta_box($link) {
  ?>
! <table class="editform" style="width: 100%;" cellspacing="2" cellpadding="5">
  	<tr>
! 		<th style="width: 20%;" scope="row"><label for="link_rel"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('rel:') ?></label></th>
! 		<td style="width: 80%;"><input type="text" name="link_rel" id="link_rel" size="50" value="<?php echo ( isset( $link->link_rel ) ? esc_attr($link->link_rel) : ''); ?>" /></td>
  	</tr>
  	<tr>
! 		<td colspan="2">
! 			<table cellpadding="3" cellspacing="5" class="form-table">
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('identity') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('identity') ?> </span></legend>
! 						<label for="me">
! 						<input type="checkbox" name="identity" value="me" id="me" <?php xfn_check('identity', 'me'); ?> />
! 						<?php _e('another web address of mine') ?></label>
! 					</fieldset></td>
! 				</tr>
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friendship') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friendship') ?> </span></legend>
! 						<label for="contact">
! 						<input class="valinp" type="radio" name="friendship" value="contact" id="contact" <?php xfn_check('friendship', 'contact'); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('contact') ?></label>
! 						<label for="acquaintance">
! 						<input class="valinp" type="radio" name="friendship" value="acquaintance" id="acquaintance" <?php xfn_check('friendship', 'acquaintance'); ?> />  <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('acquaintance') ?></label>
! 						<label for="friend">
! 						<input class="valinp" type="radio" name="friendship" value="friend" id="friend" <?php xfn_check('friendship', 'friend'); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friend') ?></label>
! 						<label for="friendship">
! 						<input name="friendship" type="radio" class="valinp" value="" id="friendship" <?php xfn_check('friendship'); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?></label>
! 					</fieldset></td>
! 				</tr>
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('physical') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('physical') ?> </span></legend>
! 						<label for="met">
! 						<input class="valinp" type="checkbox" name="physical" value="met" id="met" <?php xfn_check('physical', 'met'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('met') ?></label>
! 					</fieldset></td>
! 				</tr>
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('professional') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('professional') ?> </span></legend>
! 						<label for="co-worker">
! 						<input class="valinp" type="checkbox" name="professional" value="co-worker" id="co-worker" <?php xfn_check('professional', 'co-worker'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('co-worker') ?></label>
! 						<label for="colleague">
! 						<input class="valinp" type="checkbox" name="professional" value="colleague" id="colleague" <?php xfn_check('professional', 'colleague'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('colleague') ?></label>
! 					</fieldset></td>
! 				</tr>
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('geographical') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('geographical') ?> </span></legend>
! 						<label for="co-resident">
! 						<input class="valinp" type="radio" name="geographical" value="co-resident" id="co-resident" <?php xfn_check('geographical', 'co-resident'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('co-resident') ?></label>
! 						<label for="neighbor">
! 						<input class="valinp" type="radio" name="geographical" value="neighbor" id="neighbor" <?php xfn_check('geographical', 'neighbor'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('neighbor') ?></label>
! 						<label for="geographical">
! 						<input class="valinp" type="radio" name="geographical" value="" id="geographical" <?php xfn_check('geographical'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?></label>
! 					</fieldset></td>
! 				</tr>
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('family') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('family') ?> </span></legend>
! 						<label for="child">
! 						<input class="valinp" type="radio" name="family" value="child" id="child" <?php xfn_check('family', 'child'); ?>  />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('child') ?></label>
! 						<label for="kin">
! 						<input class="valinp" type="radio" name="family" value="kin" id="kin" <?php xfn_check('family', 'kin'); ?>  />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('kin') ?></label>
! 						<label for="parent">
! 						<input class="valinp" type="radio" name="family" value="parent" id="parent" <?php xfn_check('family', 'parent'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('parent') ?></label>
! 						<label for="sibling">
! 						<input class="valinp" type="radio" name="family" value="sibling" id="sibling" <?php xfn_check('family', 'sibling'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('sibling') ?></label>
! 						<label for="spouse">
! 						<input class="valinp" type="radio" name="family" value="spouse" id="spouse" <?php xfn_check('family', 'spouse'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('spouse') ?></label>
! 						<label for="family">
! 						<input class="valinp" type="radio" name="family" value="" id="family" <?php xfn_check('family'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?></label>
! 					</fieldset></td>
! 				</tr>
! 				<tr>
! 					<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('romantic') ?> </th>
! 					<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('romantic') ?> </span></legend>
! 						<label for="muse">
! 						<input class="valinp" type="checkbox" name="romantic" value="muse" id="muse" <?php xfn_check('romantic', 'muse'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('muse') ?></label>
! 						<label for="crush">
! 						<input class="valinp" type="checkbox" name="romantic" value="crush" id="crush" <?php xfn_check('romantic', 'crush'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('crush') ?></label>
! 						<label for="date">
! 						<input class="valinp" type="checkbox" name="romantic" value="date" id="date" <?php xfn_check('romantic', 'date'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('date') ?></label>
! 						<label for="romantic">
! 						<input class="valinp" type="checkbox" name="romantic" value="sweetheart" id="romantic" <?php xfn_check('romantic', 'sweetheart'); ?> />
! 						<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('sweetheart') ?></label>
! 					</fieldset></td>
! 				</tr>
! 			</table>
! 		</td>
  	</tr>
  </table>
  <p><?php _e('If the link is to a person, you can specify your relationship with them using the above form. If you would like to learn more about the idea check out <a href="http://gmpg.org/xfn/">XFN</a>.'); ?></p>
  <?php
--- 759,868 ----
   */
  function link_xfn_meta_box($link) {
  ?>
! <table class="links-table" cellspacing="0">
  	<tr>
! 		<th scope="row"><label for="link_rel"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('rel:') ?></label></th>
! 		<td><input type="text" name="link_rel" id="link_rel" value="<?php echo ( isset( $link->link_rel ) ? esc_attr($link->link_rel) : ''); ?>" /></td>
  	</tr>
  	<tr>
! 		<th scope="row"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('identity') ?></th>
! 		<td><fieldset><legend class="screen-reader-text"><span><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('identity') ?></span></legend>
! 			<label for="me">
! 			<input type="checkbox" name="identity" value="me" id="me" <?php xfn_check('identity', 'me'); ?> />
! 			<?php _e('another web address of mine') ?></label>
! 		</fieldset></td>
! 	</tr>
! 	<tr>
! 		<th scope="row"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friendship') ?></th>
! 		<td><fieldset><legend class="screen-reader-text"><span><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friendship') ?></span></legend>
! 			<label for="contact">
! 			<input class="valinp" type="radio" name="friendship" value="contact" id="contact" <?php xfn_check('friendship', 'contact'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('contact') ?>
! 			</label>
! 			<label for="acquaintance">
! 			<input class="valinp" type="radio" name="friendship" value="acquaintance" id="acquaintance" <?php xfn_check('friendship', 'acquaintance'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('acquaintance') ?>
! 			</label>
! 			<label for="friend">
! 			<input class="valinp" type="radio" name="friendship" value="friend" id="friend" <?php xfn_check('friendship', 'friend'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('friend') ?>
! 			</label>
! 			<label for="friendship">
! 			<input name="friendship" type="radio" class="valinp" value="" id="friendship" <?php xfn_check('friendship'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?>
! 			</label>
! 		</fieldset></td>
  	</tr>
+ 	<tr>
+ 		<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('physical') ?> </th>
+ 		<td><fieldset><legend class="screen-reader-text"><span><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('physical') ?></span></legend>
+ 			<label for="met">
+ 			<input class="valinp" type="checkbox" name="physical" value="met" id="met" <?php xfn_check('physical', 'met'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('met') ?>
+ 			</label>
+ 		</fieldset></td>
+ 	</tr>
+ 	<tr>
+ 		<th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('professional') ?> </th>
+ 		<td><fieldset><legend class="screen-reader-text"><span><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('professional') ?></span></legend>
+ 			<label for="co-worker">
+ 			<input class="valinp" type="checkbox" name="professional" value="co-worker" id="co-worker" <?php xfn_check('professional', 'co-worker'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('co-worker') ?>
+ 			</label>
+ 			<label for="colleague">
+ 			<input class="valinp" type="checkbox" name="professional" value="colleague" id="colleague" <?php xfn_check('professional', 'colleague'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('colleague') ?>
+ 			</label>
+ 		</fieldset></td>
+ 	</tr>
+ 	<tr>
+ 		<th scope="row"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('geographical') ?></th>
+ 		<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('geographical') ?> </span></legend>
+ 			<label for="co-resident">
+ 			<input class="valinp" type="radio" name="geographical" value="co-resident" id="co-resident" <?php xfn_check('geographical', 'co-resident'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('co-resident') ?>
+ 			</label>
+ 			<label for="neighbor">
+ 			<input class="valinp" type="radio" name="geographical" value="neighbor" id="neighbor" <?php xfn_check('geographical', 'neighbor'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('neighbor') ?>
+ 			</label>
+ 			<label for="geographical">
+ 			<input class="valinp" type="radio" name="geographical" value="" id="geographical" <?php xfn_check('geographical'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?>
+ 			</label>
+ 		</fieldset></td>
+ 	</tr>
+ 	<tr>
+ 		<th scope="row"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('family') ?></th>
+ 		<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('family') ?> </span></legend>
+ 			<label for="child">
+ 			<input class="valinp" type="radio" name="family" value="child" id="child" <?php xfn_check('family', 'child'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('child') ?>
+ 			</label>
+ 			<label for="kin">
+ 			<input class="valinp" type="radio" name="family" value="kin" id="kin" <?php xfn_check('family', 'kin'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('kin') ?>
+ 			</label>
+ 			<label for="parent">
+ 			<input class="valinp" type="radio" name="family" value="parent" id="parent" <?php xfn_check('family', 'parent'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('parent') ?>
+ 			</label>
+ 			<label for="sibling">
+ 			<input class="valinp" type="radio" name="family" value="sibling" id="sibling" <?php xfn_check('family', 'sibling'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('sibling') ?>
+ 			</label>
+ 			<label for="spouse">
+ 			<input class="valinp" type="radio" name="family" value="spouse" id="spouse" <?php xfn_check('family', 'spouse'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('spouse') ?>
+ 			</label>
+ 			<label for="family">
+ 			<input class="valinp" type="radio" name="family" value="" id="family" <?php xfn_check('family'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('none') ?>
+ 			</label>
+ 		</fieldset></td>
+ 	</tr>
+ 	<tr>
+ 		<th scope="row"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('romantic') ?></th>
+ 		<td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('romantic') ?> </span></legend>
+ 			<label for="muse">
+ 			<input class="valinp" type="checkbox" name="romantic" value="muse" id="muse" <?php xfn_check('romantic', 'muse'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('muse') ?>
+ 			</label>
+ 			<label for="crush">
+ 			<input class="valinp" type="checkbox" name="romantic" value="crush" id="crush" <?php xfn_check('romantic', 'crush'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('crush') ?>
+ 			</label>
+ 			<label for="date">
+ 			<input class="valinp" type="checkbox" name="romantic" value="date" id="date" <?php xfn_check('romantic', 'date'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('date') ?>
+ 			</label>
+ 			<label for="romantic">
+ 			<input class="valinp" type="checkbox" name="romantic" value="sweetheart" id="romantic" <?php xfn_check('romantic', 'sweetheart'); ?> />&nbsp;<?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('sweetheart') ?>
+ 			</label>
+ 		</fieldset></td>
+ 	</tr>
+ 
  </table>
  <p><?php _e('If the link is to a person, you can specify your relationship with them using the above form. If you would like to learn more about the idea check out <a href="http://gmpg.org/xfn/">XFN</a>.'); ?></p>
  <?php
***************
*** 887,914 ****
   */
  function link_advanced_meta_box($link) {
  ?>
! <table class="form-table" style="width: 100%;" cellspacing="2" cellpadding="5">
! 	<tr class="form-field">
! 		<th valign="top"  scope="row"><label for="link_image"><?php _e('Image Address') ?></label></th>
! 		<td><input type="text" name="link_image" class="code" id="link_image" size="50" value="<?php echo ( isset( $link->link_image ) ? esc_attr($link->link_image) : ''); ?>" style="width: 95%" /></td>
! 	</tr>
! 	<tr class="form-field">
! 		<th valign="top"  scope="row"><label for="rss_uri"><?php _e('RSS Address') ?></label></th>
! 		<td><input name="link_rss" class="code" type="text" id="rss_uri" value="<?php echo  ( isset( $link->link_rss ) ? esc_attr($link->link_rss) : ''); ?>" size="50" style="width: 95%" /></td>
! 	</tr>
! 	<tr class="form-field">
! 		<th valign="top"  scope="row"><label for="link_notes"><?php _e('Notes') ?></label></th>
! 		<td><textarea name="link_notes" id="link_notes" cols="50" rows="10" style="width: 95%"><?php echo ( isset( $link->link_notes ) ? $link->link_notes : ''); // textarea_escaped ?></textarea></td>
  	</tr>
! 	<tr class="form-field">
! 		<th valign="top"  scope="row"><label for="link_rating"><?php _e('Rating') ?></label></th>
  		<td><select name="link_rating" id="link_rating" size="1">
  		<?php
! 			for ($r = 0; $r <= 10; $r++) {
! 				echo('            <option value="'. esc_attr($r) .'" ');
! 				if ( isset($link->link_rating) && $link->link_rating == $r)
! 					echo 'selected="selected"';
! 				echo('>'.$r.'</option>');
  			}
  		?></select>&nbsp;<?php _e('(Leave at 0 for no rating.)') ?>
  		</td>
--- 877,904 ----
   */
  function link_advanced_meta_box($link) {
  ?>
! <table class="links-table" cellpadding="0">
! 	<tr>
! 		<th scope="row"><label for="link_image"><?php _e('Image Address') ?></label></th>
! 		<td><input type="text" name="link_image" class="code" id="link_image" value="<?php echo ( isset( $link->link_image ) ? esc_attr($link->link_image) : ''); ?>" /></td>
! 	</tr>
! 	<tr>
! 		<th scope="row"><label for="rss_uri"><?php _e('RSS Address') ?></label></th>
! 		<td><input name="link_rss" class="code" type="text" id="rss_uri" value="<?php echo ( isset( $link->link_rss ) ? esc_attr($link->link_rss) : ''); ?>" /></td>
! 	</tr>
! 	<tr>
! 		<th scope="row"><label for="link_notes"><?php _e('Notes') ?></label></th>
! 		<td><textarea name="link_notes" id="link_notes" rows="10"><?php echo ( isset( $link->link_notes ) ? $link->link_notes : ''); // textarea_escaped ?></textarea></td>
  	</tr>
! 	<tr>
! 		<th scope="row"><label for="link_rating"><?php _e('Rating') ?></label></th>
  		<td><select name="link_rating" id="link_rating" size="1">
  		<?php
! 			for ( $r = 0; $r <= 10; $r++ ) {
! 				echo '<option value="' . $r . '"';
! 				if ( isset($link->link_rating) && $link->link_rating == $r )
! 					echo ' selected="selected"';
! 				echo('>' . $r . '</option>');
  			}
  		?></select>&nbsp;<?php _e('(Leave at 0 for no rating.)') ?>
  		</td>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/misc.php ./wordpress-3.4/wp-admin/includes/misc.php
*** ./wordpress-3.3.2/wp-admin/includes/misc.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/misc.php	2012-04-09 20:19:30.000000000 -0500
***************
*** 196,212 ****
   *
   * @since 2.1.0
   *
!  * @param unknown_type $old_value
!  * @param unknown_type $value
   */
  function update_home_siteurl( $old_value, $value ) {
- 	global $wp_rewrite;
- 
  	if ( defined( "WP_INSTALLING" ) )
  		return;
  
  	// If home changed, write rewrite rules to new location.
! 	$wp_rewrite->flush_rules();
  }
  
  add_action( 'update_option_home', 'update_home_siteurl', 10, 2 );
--- 196,210 ----
   *
   * @since 2.1.0
   *
!  * @param string $old_value
!  * @param string $value
   */
  function update_home_siteurl( $old_value, $value ) {
  	if ( defined( "WP_INSTALLING" ) )
  		return;
  
  	// If home changed, write rewrite rules to new location.
! 	flush_rewrite_rules();
  }
  
  add_action( 'update_option_home', 'update_home_siteurl', 10, 2 );
***************
*** 586,594 ****
  }
  
  function _ipad_meta() {
! 	if ( strpos($_SERVER['HTTP_USER_AGENT'], 'iPad') !== false ) { ?>
! 		<meta name="viewport" id="ipad-viewportmeta" content="width=device-width, initial-scale=1">
! 	<?php
  	}
  }
  add_action('admin_head', '_ipad_meta');
--- 583,592 ----
  }
  
  function _ipad_meta() {
! 	if ( wp_is_mobile() ) {
! 		?>
! 		<meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=1">
! 		<?php
  	}
  }
  add_action('admin_head', '_ipad_meta');
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/ms-deprecated.php ./wordpress-3.4/wp-admin/includes/ms-deprecated.php
*** ./wordpress-3.3.2/wp-admin/includes/ms-deprecated.php	2010-04-04 08:29:35.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/ms-deprecated.php	2012-02-28 15:24:44.000000000 -0600
***************
*** 65,68 ****
  	return is_network_only_plugin( $file );
  }
  
! ?>
\ No newline at end of file
--- 65,76 ----
  	return is_network_only_plugin( $file );
  }
  
! function get_site_allowed_themes() {
! 	_deprecated_function( __FUNCTION__, '3.4', 'WP_Theme::get_allowed_on_network()' );
! 	return array_map( 'intval', WP_Theme::get_allowed_on_network() );
! }
! 
! function wpmu_get_blog_allowedthemes( $blog_id = 0 ) {
! 	_deprecated_function( __FUNCTION__, '3.4', 'WP_Theme::get_allowed_on_site()' );
! 	return array_map( 'intval', WP_Theme::get_allowed_on_site( $blog_id ) );
! }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/ms.php ./wordpress-3.4/wp-admin/includes/ms.php
*** ./wordpress-3.3.2/wp-admin/includes/ms.php	2012-01-03 11:54:50.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/ms.php	2012-05-30 11:14:57.000000000 -0500
***************
*** 49,55 ****
   * @since 3.0.0
   *
   * @param int $blog_id Blog ID
!  * @param bool $drop True if blog's table should be dropped.  Default is false.
   * @return void
   */
  function wpmu_delete_blog( $blog_id, $drop = false ) {
--- 49,55 ----
   * @since 3.0.0
   *
   * @param int $blog_id Blog ID
!  * @param bool $drop True if blog's table should be dropped. Default is false.
   * @return void
   */
  function wpmu_delete_blog( $blog_id, $drop = false ) {
***************
*** 89,95 ****
  			$wpdb->query( "DROP TABLE IF EXISTS `$table`" );
  		}
  
! 		$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->blogs WHERE blog_id = %d", $blog_id ) );
  		$dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id );
  		$dir = rtrim( $dir, DIRECTORY_SEPARATOR );
  		$top_dir = $dir;
--- 89,96 ----
  			$wpdb->query( "DROP TABLE IF EXISTS `$table`" );
  		}
  
! 		$wpdb->delete( $wpdb->blogs, array( 'blog_id' => $blog_id ) );
! 
  		$dir = apply_filters( 'wpmu_delete_blog_upload_dir', WP_CONTENT_DIR . "/blogs.dir/{$blog_id}/files/", $blog_id );
  		$dir = rtrim( $dir, DIRECTORY_SEPARATOR );
  		$top_dir = $dir;
***************
*** 115,121 ****
  			$index++;
  		}
  
! 		$stack = array_reverse( $stack );  // Last added dirs are deepest
  		foreach( (array) $stack as $dir ) {
  			if ( $dir != $top_dir)
  			@rmdir( $dir );
--- 116,122 ----
  			$index++;
  		}
  
! 		$stack = array_reverse( $stack ); // Last added dirs are deepest
  		foreach( (array) $stack as $dir ) {
  			if ( $dir != $top_dir)
  			@rmdir( $dir );
***************
*** 131,136 ****
--- 132,138 ----
  	global $wpdb;
  
  	$id = (int) $id;
+ 	$user = new WP_User( $id );
  
  	do_action( 'wpmu_delete_user', $id );
  
***************
*** 158,167 ****
  		}
  	}
  
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->users WHERE ID = %d", $id ) );
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
  
! 	clean_user_cache( $id );
  
  	// allow for commit transaction
  	do_action( 'deleted_user', $id );
--- 160,172 ----
  		}
  	}
  
! 	$meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
! 	foreach ( $meta as $mid )
! 		delete_metadata_by_mid( 'user', $mid );
! 
! 	$wpdb->delete( $wpdb->users, array( 'ID' => $id ) );
  
! 	clean_user_cache( $user );
  
  	// allow for commit transaction
  	do_action( 'deleted_user', $id );
***************
*** 169,203 ****
  	return true;
  }
  
- function wpmu_get_blog_allowedthemes( $blog_id = 0 ) {
- 	$themes = get_themes();
- 
- 	if ( $blog_id != 0 )
- 		switch_to_blog( $blog_id );
- 
- 	$blog_allowed_themes = get_option( 'allowedthemes' );
- 	if ( !is_array( $blog_allowed_themes ) || empty( $blog_allowed_themes ) ) { // convert old allowed_themes to new allowedthemes
- 		$blog_allowed_themes = get_option( 'allowed_themes' );
- 
- 		if ( is_array( $blog_allowed_themes ) ) {
- 			foreach( (array) $themes as $key => $theme ) {
- 				$theme_key = esc_html( $theme['Stylesheet'] );
- 				if ( isset( $blog_allowed_themes[$key] ) == true ) {
- 					$blog_allowedthemes[$theme_key] = 1;
- 				}
- 			}
- 			$blog_allowed_themes = $blog_allowedthemes;
- 			add_option( 'allowedthemes', $blog_allowed_themes );
- 			delete_option( 'allowed_themes' );
- 		}
- 	}
- 
- 	if ( $blog_id != 0 )
- 		restore_current_blog();
- 
- 	return $blog_allowed_themes;
- }
- 
  function update_option_new_admin_email( $old_value, $value ) {
  	$email = get_option( 'admin_email' );
  	if ( $value == get_option( 'admin_email' ) || !is_email( $value ) )
--- 174,179 ----
***************
*** 296,321 ****
  }
  add_action( 'admin_notices', 'new_user_email_admin_notice' );
  
- function get_site_allowed_themes() {
- 	$themes = get_themes();
- 	$allowed_themes = get_site_option( 'allowedthemes' );
- 	if ( !is_array( $allowed_themes ) || empty( $allowed_themes ) ) {
- 		$allowed_themes = get_site_option( 'allowed_themes' ); // convert old allowed_themes format
- 		if ( !is_array( $allowed_themes ) ) {
- 			$allowed_themes = array();
- 		} else {
- 			foreach( (array) $themes as $key => $theme ) {
- 				$theme_key = esc_html( $theme['Stylesheet'] );
- 				if ( isset( $allowed_themes[ $key ] ) == true ) {
- 					$allowedthemes[ $theme_key ] = 1;
- 				}
- 			}
- 			$allowed_themes = $allowedthemes;
- 		}
- 	}
- 	return $allowed_themes;
- }
- 
  /**
   * Determines if there is any upload space left in the current blog's quota.
   *
--- 272,277 ----
***************
*** 423,429 ****
  	?>
  	<tr>
  		<th><?php _e( 'Site Upload Space Quota '); ?></th>
! 		<td><input type="text" size="3" name="option[blog_upload_space]" value="<?php echo $quota; ?>" /> <?php _e( 'MB (Leave blank for network default)' ); ?></td>
  	</tr>
  	<?php
  }
--- 379,385 ----
  	?>
  	<tr>
  		<th><?php _e( 'Site Upload Space Quota '); ?></th>
! 		<td><input type="number" step="1" min="0" style="width: 100px" name="option[blog_upload_space]" value="<?php echo $quota; ?>" /> <?php _e( 'MB (Leave blank for network default)' ); ?></td>
  	</tr>
  	<?php
  }
***************
*** 432,443 ****
  function update_user_status( $id, $pref, $value, $deprecated = null ) {
  	global $wpdb;
  
! 	if ( null !== $deprecated  )
  		_deprecated_argument( __FUNCTION__, '3.1' );
  
  	$wpdb->update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) );
  
! 	clean_user_cache( $id );
  
  	if ( $pref == 'spam' ) {
  		if ( $value == 1 )
--- 388,400 ----
  function update_user_status( $id, $pref, $value, $deprecated = null ) {
  	global $wpdb;
  
! 	if ( null !== $deprecated )
  		_deprecated_argument( __FUNCTION__, '3.1' );
  
  	$wpdb->update( $wpdb->users, array( $pref => $value ), array( 'ID' => $id ) );
  
! 	$user = new WP_User( $id );
! 	clean_user_cache( $user );
  
  	if ( $pref == 'spam' ) {
  		if ( $value == 1 )
***************
*** 455,461 ****
  	if ( !$user = get_userdata( $id ) )
  		return false;
  
! 	clean_user_cache( $id );
  
  	return $id;
  }
--- 412,418 ----
  	if ( !$user = get_userdata( $id ) )
  		return false;
  
! 	clean_user_cache( $user );
  
  	return $id;
  }
***************
*** 551,557 ****
  			$output[$be] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . $be . '</option>';
  		} else {
  			$translated = format_code_lang( $code_lang );
! 			$output[$translated] =  '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . esc_html ( $translated ) . '</option>';
  		}
  
  	}
--- 508,514 ----
  			$output[$be] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . $be . '</option>';
  		} else {
  			$translated = format_code_lang( $code_lang );
! 			$output[$translated] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . esc_html ( $translated ) . '</option>';
  		}
  
  	}
***************
*** 636,642 ****
  				<?php foreach( (array) $all_blogs as $blog ) {
  					if ( $primary_blog == $blog->userblog_id )
  						$found = true;
! 					?><option value="<?php echo $blog->userblog_id ?>"<?php selected( $primary_blog,  $blog->userblog_id ); ?>><?php echo esc_url( get_home_url( $blog->userblog_id ) ) ?></option><?php
  				} ?>
  			</select>
  			<?php
--- 593,599 ----
  				<?php foreach( (array) $all_blogs as $blog ) {
  					if ( $primary_blog == $blog->userblog_id )
  						$found = true;
! 					?><option value="<?php echo $blog->userblog_id ?>"<?php selected( $primary_blog, $blog->userblog_id ); ?>><?php echo esc_url( get_home_url( $blog->userblog_id ) ) ?></option><?php
  				} ?>
  			</select>
  			<?php
***************
*** 773,782 ****
   * Whether or not we have a large network.
   *
   * The default criteria for a large network is either more than 10,000 users or more than 10,000 sites.
!  * Plugins can alter this criteria  using the 'wp_is_large_network' filter.
   *
   * @since 3.3.0
!  * @param string $using 'sites or 'users'.  Default is 'sites'.
   * @return bool True if the network meets the criteria for large. False otherwise.
   */
  function wp_is_large_network( $using = 'sites' ) {
--- 730,739 ----
   * Whether or not we have a large network.
   *
   * The default criteria for a large network is either more than 10,000 users or more than 10,000 sites.
!  * Plugins can alter this criteria using the 'wp_is_large_network' filter.
   *
   * @since 3.3.0
!  * @param string $using 'sites or 'users'. Default is 'sites'.
   * @return bool True if the network meets the criteria for large. False otherwise.
   */
  function wp_is_large_network( $using = 'sites' ) {
***************
*** 788,791 ****
  	$count = get_blog_count();
  	return apply_filters( 'wp_is_large_network', $count > 10000, 'sites', $count );
  }
- ?>
--- 745,747 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/nav-menu.php ./wordpress-3.4/wp-admin/includes/nav-menu.php
*** ./wordpress-3.3.2/wp-admin/includes/nav-menu.php	2011-10-28 10:48:44.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/nav-menu.php	2012-03-09 19:23:48.000000000 -0600
***************
*** 7,13 ****
   * @since 3.0.0
   * @uses Walker_Nav_Menu
   */
! class Walker_Nav_Menu_Edit extends Walker_Nav_Menu  {
  	/**
  	 * @see Walker_Nav_Menu::start_lvl()
  	 * @since 3.0.0
--- 7,13 ----
   * @since 3.0.0
   * @uses Walker_Nav_Menu
   */
! class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
  	/**
  	 * @see Walker_Nav_Menu::start_lvl()
  	 * @since 3.0.0
***************
*** 209,215 ****
   * @since 3.0.0
   * @uses Walker_Nav_Menu
   */
! class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu  {
  	function __construct( $fields = false ) {
  		if ( $fields ) {
  			$this->db_fields = $fields;
--- 209,215 ----
   * @since 3.0.0
   * @uses Walker_Nav_Menu
   */
! class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
  	function __construct( $fields = false ) {
  		if ( $fields ) {
  			$this->db_fields = $fields;
***************
*** 692,698 ****
  			}
  			?>
  			<p class="quick-search-wrap">
! 				<input type="text" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-posttype-<?php echo $post_type_name; ?>" />
  				<img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  				<?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-posttype-' . $post_type_name ) ); ?>
  			</p>
--- 691,697 ----
  			}
  			?>
  			<p class="quick-search-wrap">
! 				<input type="search" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-posttype-<?php echo $post_type_name; ?>" />
  				<img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  				<?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-posttype-' . $post_type_name ) ); ?>
  			</p>
***************
*** 814,820 ****
  		'hide_empty' => false,
  		'hierarchical' => 1,
  		'include' => '',
- 		'include_last_update_time' => false,
  		'number' => $per_page,
  		'offset' => $offset,
  		'order' => 'ASC',
--- 811,816 ----
***************
*** 926,932 ****
  			}
  			?>
  			<p class="quick-search-wrap">
! 				<input type="text" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-taxonomy-<?php echo $taxonomy_name; ?>" />
  				<img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  				<?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-taxonomy-' . $taxonomy_name ) ); ?>
  			</p>
--- 922,928 ----
  			}
  			?>
  			<p class="quick-search-wrap">
! 				<input type="search" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-taxonomy-<?php echo $taxonomy_name; ?>" />
  				<img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  				<?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-taxonomy-' . $taxonomy_name ) ); ?>
  			</p>
***************
*** 990,996 ****
  				(
  					! isset( $_item_object_data['menu-item-type'] ) || // and item type either isn't set
  					in_array( $_item_object_data['menu-item-url'], array( 'http://', '' ) ) || // or URL is the default
! 					! ( 'custom' == $_item_object_data['menu-item-type'] && ! isset( $_item_object_data['menu-item-db-id'] ) ) ||  // or it's not a custom menu item (but not the custom home page)
  					! empty( $_item_object_data['menu-item-db-id'] ) // or it *is* a custom menu item that already exists
  				)
  			) {
--- 986,992 ----
  				(
  					! isset( $_item_object_data['menu-item-type'] ) || // and item type either isn't set
  					in_array( $_item_object_data['menu-item-url'], array( 'http://', '' ) ) || // or URL is the default
! 					! ( 'custom' == $_item_object_data['menu-item-type'] && ! isset( $_item_object_data['menu-item-db-id'] ) ) || // or it's not a custom menu item (but not the custom home page)
  					! empty( $_item_object_data['menu-item-db-id'] ) // or it *is* a custom menu item that already exists
  				)
  			) {
***************
*** 1165,1169 ****
  }
  
  add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items');
- 
- ?>
--- 1160,1162 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/plugin-install.php ./wordpress-3.4/wp-admin/includes/plugin-install.php
*** ./wordpress-3.3.2/wp-admin/includes/plugin-install.php	2011-11-01 23:14:14.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/plugin-install.php	2012-05-09 11:27:24.000000000 -0500
***************
*** 43,53 ****
  	if ( false === $res ) {
  		$request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'timeout' => 15, 'body' => array('action' => $action, 'request' => serialize($args))) );
  		if ( is_wp_error($request) ) {
! 			$res = new WP_Error('plugins_api_failed', __('An Unexpected HTTP Error occurred during the API request.'), $request->get_error_message() );
  		} else {
! 			$res = unserialize( wp_remote_retrieve_body( $request ) );
! 			if ( false === $res )
! 				$res = new WP_Error('plugins_api_failed', __('An unknown error occurred.'), wp_remote_retrieve_body( $request ) );
  		}
  	} elseif ( !is_wp_error($res) ) {
  		$res->external = true;
--- 43,53 ----
  	if ( false === $res ) {
  		$request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'timeout' => 15, 'body' => array('action' => $action, 'request' => serialize($args))) );
  		if ( is_wp_error($request) ) {
! 			$res = new WP_Error('plugins_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
  		} else {
! 			$res = maybe_unserialize( wp_remote_retrieve_body( $request ) );
! 			if ( ! is_object( $res ) && ! is_array( $res ) )
! 				$res = new WP_Error('plugins_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) );
  		}
  	} elseif ( !is_wp_error($res) ) {
  		$res->external = true;
***************
*** 84,91 ****
  	<p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="http://wordpress.org/extend/plugins/">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%s">this page</a>.' ), self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
  
  	<h4><?php _e('Search') ?></h4>
! 	<p class="install-help"><?php _e('Search for plugins by keyword, author, or tag.') ?></p>
! 	<?php install_search_form(); ?>
  
  	<h4><?php _e('Popular tags') ?></h4>
  	<p class="install-help"><?php _e('You may also browse based on the most popular tags in the Plugin Directory:') ?></p>
--- 84,90 ----
  	<p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="http://wordpress.org/extend/plugins/">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%s">this page</a>.' ), self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
  
  	<h4><?php _e('Search') ?></h4>
! 	<?php install_search_form( false ); ?>
  
  	<h4><?php _e('Popular tags') ?></h4>
  	<p class="install-help"><?php _e('You may also browse based on the most popular tags in the Plugin Directory:') ?></p>
***************
*** 116,133 ****
   *
   * @since 2.7.0
   */
! function install_search_form(){
! 	$type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : '';
  	$term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : '';
  
  	?><form id="search-plugins" method="get" action="">
  		<input type="hidden" name="tab" value="search" />
  		<select name="type" id="typeselector">
! 			<option value="term"<?php selected('term', $type) ?>><?php _e('Term'); ?></option>
  			<option value="author"<?php selected('author', $type) ?>><?php _e('Author'); ?></option>
  			<option value="tag"<?php selected('tag', $type) ?>><?php _ex('Tag', 'Plugin Installer'); ?></option>
  		</select>
! 		<input type="text" name="s" value="<?php echo esc_attr($term) ?>" />
  		<label class="screen-reader-text" for="plugin-search-input"><?php _e('Search Plugins'); ?></label>
  		<?php submit_button( __( 'Search Plugins' ), 'button', 'plugin-search-input', false ); ?>
  	</form><?php
--- 115,134 ----
   *
   * @since 2.7.0
   */
! function install_search_form( $type_selector = true ) {
! 	$type = isset($_REQUEST['type']) ? stripslashes( $_REQUEST['type'] ) : 'term';
  	$term = isset($_REQUEST['s']) ? stripslashes( $_REQUEST['s'] ) : '';
  
  	?><form id="search-plugins" method="get" action="">
  		<input type="hidden" name="tab" value="search" />
+ 		<?php if ( $type_selector ) : ?>
  		<select name="type" id="typeselector">
! 			<option value="term"<?php selected('term', $type) ?>><?php _e('Keyword'); ?></option>
  			<option value="author"<?php selected('author', $type) ?>><?php _e('Author'); ?></option>
  			<option value="tag"<?php selected('tag', $type) ?>><?php _ex('Tag', 'Plugin Installer'); ?></option>
  		</select>
! 		<?php endif; ?>
! 		<input type="search" name="s" value="<?php echo esc_attr($term) ?>" />
  		<label class="screen-reader-text" for="plugin-search-input"><?php _e('Search Plugins'); ?></label>
  		<?php submit_button( __( 'Search Plugins' ), 'button', 'plugin-search-input', false ); ?>
  	</form><?php
***************
*** 167,173 ****
  add_action('install_plugins_featured', 'display_plugins_table');
  add_action('install_plugins_popular', 'display_plugins_table');
  add_action('install_plugins_new', 'display_plugins_table');
- add_action('install_plugins_updated', 'display_plugins_table');
  
  /**
   * Determine the status we can perform on a plugin.
--- 168,173 ----
***************
*** 185,191 ****
  
  	//Check to see if this plugin is known to be installed, and has an update awaiting it.
  	$update_plugins = get_site_transient('update_plugins');
! 	if ( is_object( $update_plugins ) ) {
  		foreach ( (array)$update_plugins->response as $file => $plugin ) {
  			if ( $plugin->slug === $api->slug ) {
  				$status = 'update_available';
--- 185,191 ----
  
  	//Check to see if this plugin is known to be installed, and has an update awaiting it.
  	$update_plugins = get_site_transient('update_plugins');
! 	if ( isset( $update_plugins->response ) ) {
  		foreach ( (array)$update_plugins->response as $file => $plugin ) {
  			if ( $plugin->slug === $api->slug ) {
  				$status = 'update_available';
***************
*** 199,205 ****
  	}
  
  	if ( 'install' == $status ) {
! 		if ( is_dir( WP_PLUGIN_DIR  . '/' . $api->slug ) ) {
  			$installed_plugin = get_plugins('/' . $api->slug);
  			if ( empty($installed_plugin) ) {
  				if ( current_user_can('install_plugins') )
--- 199,205 ----
  	}
  
  	if ( 'install' == $status ) {
! 		if ( is_dir( WP_PLUGIN_DIR . '/' . $api->slug ) ) {
  			$installed_plugin = get_plugins('/' . $api->slug);
  			if ( empty($installed_plugin) ) {
  				if ( current_user_can('install_plugins') )
***************
*** 245,256 ****
  	if ( is_wp_error($api) )
  		wp_die($api);
  
! 	$plugins_allowedtags = array('a' => array('href' => array(), 'title' => array(), 'target' => array()),
! 								'abbr' => array('title' => array()), 'acronym' => array('title' => array()),
! 								'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(),
! 								'div' => array(), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(),
! 								'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(),
! 								'img' => array('src' => array(), 'class' => array(), 'alt' => array()));
  	//Sanitize HTML
  	foreach ( (array)$api->sections as $section_name => $content )
  		$api->sections[$section_name] = wp_kses($content, $plugins_allowedtags);
--- 245,268 ----
  	if ( is_wp_error($api) )
  		wp_die($api);
  
! 	$plugins_allowedtags = array(
! 		'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ),
! 		'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ),
! 		'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(),
! 		'div' => array(), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(),
! 		'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(),
! 		'img' => array( 'src' => array(), 'class' => array(), 'alt' => array() )
! 	);
! 
! 	$plugins_section_titles = array(
! 		'description'  => _x('Description',  'Plugin installer section title'),
! 		'installation' => _x('Installation', 'Plugin installer section title'),
! 		'faq'          => _x('FAQ',          'Plugin installer section title'),
! 		'screenshots'  => _x('Screenshots',  'Plugin installer section title'),
! 		'changelog'    => _x('Changelog',    'Plugin installer section title'),
! 		'other_notes'  => _x('Other Notes',  'Plugin installer section title')
! 	);
! 
  	//Sanitize HTML
  	foreach ( (array)$api->sections as $section_name => $content )
  		$api->sections[$section_name] = wp_kses($content, $plugins_allowedtags);
***************
*** 268,281 ****
  	echo "<ul id='sidemenu'>\n";
  	foreach ( (array)$api->sections as $section_name => $content ) {
  
! 		$title = $section_name;
! 		$title = ucwords(str_replace('_', ' ', $title));
  
  		$class = ( $section_name == $section ) ? ' class="current"' : '';
  		$href = add_query_arg( array('tab' => $tab, 'section' => $section_name) );
  		$href = esc_url($href);
! 		$san_title = esc_attr(sanitize_title_with_dashes($title));
! 		echo "\t<li><a name='$san_title' target='' href='$href'$class>$title</a></li>\n";
  	}
  	echo "</ul>\n";
  	echo "</div>\n";
--- 280,295 ----
  	echo "<ul id='sidemenu'>\n";
  	foreach ( (array)$api->sections as $section_name => $content ) {
  
! 		if ( isset( $plugins_section_titles[ $section_name ] ) )
! 			$title = $plugins_section_titles[ $section_name ];
! 		else
! 			$title = ucwords( str_replace( '_', ' ', $section_name ) );
  
  		$class = ( $section_name == $section ) ? ' class="current"' : '';
  		$href = add_query_arg( array('tab' => $tab, 'section' => $section_name) );
  		$href = esc_url($href);
! 		$san_section = esc_attr( $section_name );
! 		echo "\t<li><a name='$san_section' href='$href' $class>$title</a></li>\n";
  	}
  	echo "</ul>\n";
  	echo "</div>\n";
***************
*** 322,339 ****
  <?php endif; if ( ! empty($api->slug) && empty($api->external) ) : ?>
  			<li><a target="_blank" href="http://wordpress.org/extend/plugins/<?php echo $api->slug ?>/"><?php _e('WordPress.org Plugin Page &#187;') ?></a></li>
  <?php endif; if ( ! empty($api->homepage) ) : ?>
! 			<li><a target="_blank" href="<?php echo $api->homepage ?>"><?php _e('Plugin Homepage  &#187;') ?></a></li>
  <?php endif; ?>
  		</ul>
  		<?php if ( ! empty($api->rating) ) : ?>
  		<h2><?php _e('Average Rating') ?></h2>
  		<div class="star-holder" title="<?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?>">
! 			<div class="star star-rating" style="width: <?php echo esc_attr($api->rating) ?>px"></div>
! 			<div class="star star5"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('5 stars') ?>" /></div>
! 			<div class="star star4"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('4 stars') ?>" /></div>
! 			<div class="star star3"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('3 stars') ?>" /></div>
! 			<div class="star star2"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('2 stars') ?>" /></div>
! 			<div class="star star1"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('1 star') ?>" /></div>
  		</div>
  		<small><?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?></small>
  		<?php endif; ?>
--- 336,348 ----
  <?php endif; if ( ! empty($api->slug) && empty($api->external) ) : ?>
  			<li><a target="_blank" href="http://wordpress.org/extend/plugins/<?php echo $api->slug ?>/"><?php _e('WordPress.org Plugin Page &#187;') ?></a></li>
  <?php endif; if ( ! empty($api->homepage) ) : ?>
! 			<li><a target="_blank" href="<?php echo $api->homepage ?>"><?php _e('Plugin Homepage &#187;') ?></a></li>
  <?php endif; ?>
  		</ul>
  		<?php if ( ! empty($api->rating) ) : ?>
  		<h2><?php _e('Average Rating') ?></h2>
  		<div class="star-holder" title="<?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?>">
! 			<div class="star star-rating" style="width: <?php echo esc_attr( str_replace( ',', '.', $api->rating ) ); ?>px"></div>
  		</div>
  		<small><?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?></small>
  		<?php endif; ?>
***************
*** 347,364 ****
  			echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.') . '</p></div>';
  
  		foreach ( (array)$api->sections as $section_name => $content ) {
! 			$title = $section_name;
! 			$title[0] = strtoupper($title[0]);
! 			$title = str_replace('_', ' ', $title);
  
  			$content = links_add_base_url($content, 'http://wordpress.org/extend/plugins/' . $api->slug . '/');
  			$content = links_add_target($content, '_blank');
  
! 			$san_title = esc_attr(sanitize_title_with_dashes($title));
  
  			$display = ( $section_name == $section ) ? 'block' : 'none';
  
! 			echo "\t<div id='section-{$san_title}' class='section' style='display: {$display};'>\n";
  			echo "\t\t<h2 class='long-header'>$title</h2>";
  			echo $content;
  			echo "\t</div>\n";
--- 356,375 ----
  			echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.') . '</p></div>';
  
  		foreach ( (array)$api->sections as $section_name => $content ) {
! 
! 			if ( isset( $plugins_section_titles[ $section_name ] ) )
! 				$title = $plugins_section_titles[ $section_name ];
! 			else
! 				$title = ucwords( str_replace( '_', ' ', $section_name ) );
  
  			$content = links_add_base_url($content, 'http://wordpress.org/extend/plugins/' . $api->slug . '/');
  			$content = links_add_target($content, '_blank');
  
! 			$san_section = esc_attr( $section_name );
  
  			$display = ( $section_name == $section ) ? 'block' : 'none';
  
! 			echo "\t<div id='section-{$san_section}' class='section' style='display: {$display};'>\n";
  			echo "\t\t<h2 class='long-header'>$title</h2>";
  			echo $content;
  			echo "\t</div>\n";
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/plugin.php ./wordpress-3.4/wp-admin/includes/plugin.php
*** ./wordpress-3.3.2/wp-admin/includes/plugin.php	2011-10-12 11:35:33.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/plugin.php	2012-04-20 19:45:53.000000000 -0500
***************
*** 65,72 ****
   * @since 1.5.0
   *
   * @param string $plugin_file Path to the plugin file
!  * @param bool $markup If the returned data should have HTML markup applied
!  * @param bool $translate If the returned data should be translated
   * @return array See above for description.
   */
  function get_plugin_data( $plugin_file, $markup = true, $translate = true ) {
--- 65,72 ----
   * @since 1.5.0
   *
   * @param string $plugin_file Path to the plugin file
!  * @param bool $markup Optional. If the returned data should have HTML markup applied. Defaults to true.
!  * @param bool $translate Optional. If the returned data should be translated. Defaults to true.
   * @return array See above for description.
   */
  function get_plugin_data( $plugin_file, $markup = true, $translate = true ) {
***************
*** 88,155 ****
  	$plugin_data = get_file_data( $plugin_file, $default_headers, 'plugin' );
  
  	// Site Wide Only is the old header for Network
! 	if ( empty( $plugin_data['Network'] ) && ! empty( $plugin_data['_sitewide'] ) ) {
  		_deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The <code>%1$s</code> plugin header is deprecated. Use <code>%2$s</code> instead.' ), 'Site Wide Only: true', 'Network: true' ) );
  		$plugin_data['Network'] = $plugin_data['_sitewide'];
  	}
  	$plugin_data['Network'] = ( 'true' == strtolower( $plugin_data['Network'] ) );
  	unset( $plugin_data['_sitewide'] );
  
! 	//For backward compatibility by default Title is the same as Name.
! 	$plugin_data['Title'] = $plugin_data['Name'];
! 
! 	if ( $markup || $translate )
  		$plugin_data = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup, $translate );
! 	else
  		$plugin_data['AuthorName'] = $plugin_data['Author'];
  
  	return $plugin_data;
  }
  
! function _get_plugin_data_markup_translate($plugin_file, $plugin_data, $markup = true, $translate = true) {
! 
! 	//Translate fields
! 	if ( $translate && ! empty($plugin_data['TextDomain']) ) {
! 		if ( ! empty( $plugin_data['DomainPath'] ) )
! 			load_plugin_textdomain($plugin_data['TextDomain'], false, dirname($plugin_file). $plugin_data['DomainPath']);
! 		else
! 			load_plugin_textdomain($plugin_data['TextDomain'], false, dirname($plugin_file));
  
! 		foreach ( array('Name', 'PluginURI', 'Description', 'Author', 'AuthorURI', 'Version') as $field )
! 			$plugin_data[ $field ] = translate($plugin_data[ $field ], $plugin_data['TextDomain']);
  	}
  
! 	$plugins_allowedtags = array(
! 		'a'       => array( 'href' => array(), 'title' => array() ),
! 		'abbr'    => array( 'title' => array() ),
! 		'acronym' => array( 'title' => array() ),
! 		'code'    => array(),
! 		'em'      => array(),
! 		'strong'  => array(),
  	);
  
! 	$plugin_data['AuthorName'] = $plugin_data['Author'] = wp_kses( $plugin_data['Author'], $plugins_allowedtags );
  
! 	//Apply Markup
  	if ( $markup ) {
! 		if ( ! empty($plugin_data['PluginURI']) && ! empty($plugin_data['Name']) )
  			$plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . esc_attr__( 'Visit plugin homepage' ) . '">' . $plugin_data['Name'] . '</a>';
- 		else
- 			$plugin_data['Title'] = $plugin_data['Name'];
  
! 		if ( ! empty($plugin_data['AuthorURI']) && ! empty($plugin_data['Author']) )
  			$plugin_data['Author'] = '<a href="' . $plugin_data['AuthorURI'] . '" title="' . esc_attr__( 'Visit author homepage' ) . '">' . $plugin_data['Author'] . '</a>';
  
  		$plugin_data['Description'] = wptexturize( $plugin_data['Description'] );
- 		if ( ! empty($plugin_data['Author']) )
- 			$plugin_data['Description'] .= ' <cite>' . sprintf( __('By %s'), $plugin_data['Author'] ) . '.</cite>';
- 	}
  
! 	// Sanitize all displayed data. Author and AuthorName sanitized above.
! 	$plugin_data['Title']       = wp_kses( $plugin_data['Title'],       $plugins_allowedtags );
! 	$plugin_data['Version']     = wp_kses( $plugin_data['Version'],     $plugins_allowedtags );
! 	$plugin_data['Description'] = wp_kses( $plugin_data['Description'], $plugins_allowedtags );
! 	$plugin_data['Name']        = wp_kses( $plugin_data['Name'],        $plugins_allowedtags );
  
  	return $plugin_data;
  }
--- 88,172 ----
  	$plugin_data = get_file_data( $plugin_file, $default_headers, 'plugin' );
  
  	// Site Wide Only is the old header for Network
! 	if ( ! $plugin_data['Network'] && $plugin_data['_sitewide'] ) {
  		_deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The <code>%1$s</code> plugin header is deprecated. Use <code>%2$s</code> instead.' ), 'Site Wide Only: true', 'Network: true' ) );
  		$plugin_data['Network'] = $plugin_data['_sitewide'];
  	}
  	$plugin_data['Network'] = ( 'true' == strtolower( $plugin_data['Network'] ) );
  	unset( $plugin_data['_sitewide'] );
  
! 	if ( $markup || $translate ) {
  		$plugin_data = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup, $translate );
! 	} else {
! 		$plugin_data['Title']      = $plugin_data['Name'];
  		$plugin_data['AuthorName'] = $plugin_data['Author'];
+ 	}
  
  	return $plugin_data;
  }
  
! /**
!  * Sanitizes plugin data, optionally adds markup, optionally translates.
!  *
!  * @since 2.7.0
!  * @access private
!  * @see get_plugin_data()
!  */
! function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) {
  
! 	// Translate fields
! 	if ( $translate ) {
! 		if ( $textdomain = $plugin_data['TextDomain'] ) {
! 			if ( $plugin_data['DomainPath'] )
! 				load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) . $plugin_data['DomainPath'] );
! 			else
! 				load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) );
! 		} elseif ( in_array( basename( $plugin_file ), array( 'hello.php', 'akismet.php' ) ) ) {
! 			$textdomain = 'default';
! 		}
! 		if ( $textdomain ) {
! 			foreach ( array( 'Name', 'PluginURI', 'Description', 'Author', 'AuthorURI', 'Version' ) as $field )
! 				$plugin_data[ $field ] = translate( $plugin_data[ $field ], $textdomain );
! 		}
  	}
  
! 	// Sanitize fields
! 	$allowed_tags = $allowed_tags_in_links = array(
! 		'abbr'    => array( 'title' => true ),
! 		'acronym' => array( 'title' => true ),
! 		'code'    => true,
! 		'em'      => true,
! 		'strong'  => true,
  	);
+ 	$allowed_tags['a'] = array( 'href' => true, 'title' => true );
+ 
+ 	// Name is marked up inside <a> tags. Don't allow these.
+ 	// Author is too, but some plugins have used <a> here (omitting Author URI).
+ 	$plugin_data['Name']        = wp_kses( $plugin_data['Name'],        $allowed_tags_in_links );
+ 	$plugin_data['Author']      = wp_kses( $plugin_data['Author'],      $allowed_tags );
  
! 	$plugin_data['Description'] = wp_kses( $plugin_data['Description'], $allowed_tags );
! 	$plugin_data['Version']     = wp_kses( $plugin_data['Version'],     $allowed_tags );
  
! 	$plugin_data['PluginURI']   = esc_url( $plugin_data['PluginURI'] );
! 	$plugin_data['AuthorURI']   = esc_url( $plugin_data['AuthorURI'] );
! 
! 	$plugin_data['Title']      = $plugin_data['Name'];
! 	$plugin_data['AuthorName'] = $plugin_data['Author'];
! 
! 	// Apply markup
  	if ( $markup ) {
! 		if ( $plugin_data['PluginURI'] && $plugin_data['Name'] )
  			$plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . esc_attr__( 'Visit plugin homepage' ) . '">' . $plugin_data['Name'] . '</a>';
  
! 		if ( $plugin_data['AuthorURI'] && $plugin_data['Author'] )
  			$plugin_data['Author'] = '<a href="' . $plugin_data['AuthorURI'] . '" title="' . esc_attr__( 'Visit author homepage' ) . '">' . $plugin_data['Author'] . '</a>';
  
  		$plugin_data['Description'] = wptexturize( $plugin_data['Description'] );
  
! 		if ( $plugin_data['Author'] )
! 			$plugin_data['Description'] .= ' <cite>' . sprintf( __('By %s.'), $plugin_data['Author'] ) . '</cite>';
! 	}
  
  	return $plugin_data;
  }
***************
*** 555,563 ****
   * @since 2.5.0
   *
   * @param string|array $plugins Single plugin or list of plugins to deactivate.
   * @param bool $silent Prevent calling deactivation hooks. Default is false.
   */
! function deactivate_plugins( $plugins, $silent = false ) {
  	if ( is_multisite() )
  		$network_current = get_site_option( 'active_sitewide_plugins', array() );
  	$current = get_option( 'active_plugins', array() );
--- 572,582 ----
   * @since 2.5.0
   *
   * @param string|array $plugins Single plugin or list of plugins to deactivate.
+  * @param mixed $network_wide Whether to deactivate the plugin for all sites in the network.
+  * 	A value of null (the default) will deactivate plugins for both the site and the network.
   * @param bool $silent Prevent calling deactivation hooks. Default is false.
   */
! function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
  	if ( is_multisite() )
  		$network_current = get_site_option( 'active_sitewide_plugins', array() );
  	$current = get_option( 'active_plugins', array() );
***************
*** 568,582 ****
  		if ( ! is_plugin_active($plugin) )
  			continue;
  
! 		$network_wide = is_plugin_active_for_network( $plugin );
  
  		if ( ! $silent )
! 			do_action( 'deactivate_plugin', $plugin, $network_wide );
  
! 		if ( $network_wide ) {
! 			$do_network = true;
! 			unset( $network_current[ $plugin ] );
! 		} else {
  			$key = array_search( $plugin, $current );
  			if ( false !== $key ) {
  				$do_blog = true;
--- 587,607 ----
  		if ( ! is_plugin_active($plugin) )
  			continue;
  
! 		$network_deactivating = false !== $network_wide && is_plugin_active_for_network( $plugin );
  
  		if ( ! $silent )
! 			do_action( 'deactivate_plugin', $plugin, $network_deactivating );
  
! 		if ( false !== $network_wide ) {
! 			if ( is_plugin_active_for_network( $plugin ) ) {
! 				$do_network = true;
! 				unset( $network_current[ $plugin ] );
! 			} elseif ( $network_wide ) {
! 				continue;
! 			}
! 		}
! 
! 		if ( true !== $network_wide ) {
  			$key = array_search( $plugin, $current );
  			if ( false !== $key ) {
  				$do_blog = true;
***************
*** 585,592 ****
  		}
  
  		if ( ! $silent ) {
! 			do_action( 'deactivate_' . $plugin, $network_wide );
! 			do_action( 'deactivated_plugin', $plugin, $network_wide );
  		}
  	}
  
--- 610,617 ----
  		}
  
  		if ( ! $silent ) {
! 			do_action( 'deactivate_' . $plugin, $network_deactivating );
! 			do_action( 'deactivated_plugin', $plugin, $network_deactivating );
  		}
  	}
  
***************
*** 863,869 ****
   *
   * @return string The resulting page's hook_suffix
   */
! function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '', $position = NULL ) {
  	global $menu, $admin_page_hooks, $_registered_pages, $_parent_pages;
  
  	$menu_slug = plugin_basename( $menu_slug );
--- 888,894 ----
   *
   * @return string The resulting page's hook_suffix
   */
! function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '', $position = null ) {
  	global $menu, $admin_page_hooks, $_registered_pages, $_parent_pages;
  
  	$menu_slug = plugin_basename( $menu_slug );
***************
*** 882,888 ****
  
  	$new_menu = array( $menu_title, $capability, $menu_slug, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
  
! 	if ( null === $position  )
  		$menu[] = $new_menu;
  	else
  		$menu[$position] = $new_menu;
--- 907,913 ----
  
  	$new_menu = array( $menu_title, $capability, $menu_slug, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
  
! 	if ( null === $position )
  		$menu[] = $new_menu;
  	else
  		$menu[$position] = $new_menu;
***************
*** 985,994 ****
  	}
  
  	// If the parent doesn't already have a submenu, add a link to the parent
! 	// as the first item in the submenu.  If the submenu file is the same as the
! 	// parent file someone is trying to link back to the parent manually.  In
  	// this case, don't automatically add a link back to avoid duplication.
! 	if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug  ) {
  		foreach ( (array)$menu as $parent_menu ) {
  			if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
  				$submenu[$parent_slug][] = $parent_menu;
--- 1010,1019 ----
  	}
  
  	// If the parent doesn't already have a submenu, add a link to the parent
! 	// as the first item in the submenu. If the submenu file is the same as the
! 	// parent file someone is trying to link back to the parent manually. In
  	// this case, don't automatically add a link back to avoid duplication.
! 	if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug ) {
  		foreach ( (array)$menu as $parent_menu ) {
  			if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
  				$submenu[$parent_slug][] = $parent_menu;
***************
*** 1002,1008 ****
  		add_action( $hookname, $function );
  
  	$_registered_pages[$hookname] = true;
! 	// backwards-compatibility for plugins using add_management page.  See wp-admin/admin.php for redirect from edit.php to tools.php
  	if ( 'tools.php' == $parent_slug )
  		$_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
  
--- 1027,1033 ----
  		add_action( $hookname, $function );
  
  	$_registered_pages[$hookname] = true;
! 	// backwards-compatibility for plugins using add_management page. See wp-admin/admin.php for redirect from edit.php to tools.php
  	if ( 'tools.php' == $parent_slug )
  		$_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
  
***************
*** 1589,1595 ****
   *
   * @since 2.7.0
   *
!  * @param string $option_group A settings group name.  Should correspond to a whitelisted option key name.
   * 	Default whitelisted option key names include "general," "discussion," and "reading," among others.
   * @param string $option_name The name of an option to sanitize and save.
   * @param unknown_type $sanitize_callback A callback function that sanitizes the option's value.
--- 1613,1619 ----
   *
   * @since 2.7.0
   *
!  * @param string $option_group A settings group name. Should correspond to a whitelisted option key name.
   * 	Default whitelisted option key names include "general," "discussion," and "reading," among others.
   * @param string $option_name The name of an option to sanitize and save.
   * @param unknown_type $sanitize_callback A callback function that sanitizes the option's value.
***************
*** 1715,1726 ****
   *
   * @since 2.7.0
   *
!  * @param string $option_group A settings group name.  This should match the group name used in register_setting().
   */
  function settings_fields($option_group) {
  	echo "<input type='hidden' name='option_page' value='" . esc_attr($option_group) . "' />";
  	echo '<input type="hidden" name="action" value="update" />';
  	wp_nonce_field("$option_group-options");
  }
- 
- ?>
--- 1739,1748 ----
   *
   * @since 2.7.0
   *
!  * @param string $option_group A settings group name. This should match the group name used in register_setting().
   */
  function settings_fields($option_group) {
  	echo "<input type='hidden' name='option_page' value='" . esc_attr($option_group) . "' />";
  	echo '<input type="hidden" name="action" value="update" />';
  	wp_nonce_field("$option_group-options");
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/post.php ./wordpress-3.4/wp-admin/includes/post.php
*** ./wordpress-3.3.2/wp-admin/includes/post.php	2011-11-24 10:06:17.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/post.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 171,177 ****
  	$post_data = _wp_translate_postdata( true, $post_data );
  	if ( is_wp_error($post_data) )
  		wp_die( $post_data->get_error_message() );
! 	if ( 'autosave' != $post_data['action']  && 'auto-draft' == $post_data['post_status'] )
  		$post_data['post_status'] = 'draft';
  
  	if ( isset($post_data['visibility']) ) {
--- 171,177 ----
  	$post_data = _wp_translate_postdata( true, $post_data );
  	if ( is_wp_error($post_data) )
  		wp_die( $post_data->get_error_message() );
! 	if ( 'autosave' != $post_data['action'] && 'auto-draft' == $post_data['post_status'] )
  		$post_data['post_status'] = 'draft';
  
  	if ( isset($post_data['visibility']) ) {
***************
*** 302,311 ****
  			if ( empty($terms) )
  				continue;
  			if ( is_taxonomy_hierarchical( $tax_name ) ) {
! 				$tax_input[$tax_name] = array_map( 'absint', $terms );
  			} else {
! 				$tax_input[$tax_name] = preg_replace( '/\s*,\s*/', ',', rtrim( trim($terms), ' ,' ) );
! 				$tax_input[$tax_name] = explode(',', $tax_input[$tax_name]);
  			}
  		}
  	}
--- 302,313 ----
  			if ( empty($terms) )
  				continue;
  			if ( is_taxonomy_hierarchical( $tax_name ) ) {
! 				$tax_input[ $tax_name ] = array_map( 'absint', $terms );
  			} else {
! 				$comma = _x( ',', 'tag delimiter' );
! 				if ( ',' !== $comma )
! 					$terms = str_replace( $comma, ',', $terms );
! 				$tax_input[ $tax_name ] = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) );
  			}
  		}
  	}
***************
*** 352,358 ****
  		$tax_names = get_object_taxonomies( $post );
  		foreach ( $tax_names as $tax_name ) {
  			$taxonomy_obj = get_taxonomy($tax_name);
! 			if (  isset( $tax_input[$tax_name]) && current_user_can( $taxonomy_obj->cap->assign_terms ) )
  				$new_terms = $tax_input[$tax_name];
  			else
  				$new_terms = array();
--- 354,360 ----
  		$tax_names = get_object_taxonomies( $post );
  		foreach ( $tax_names as $tax_name ) {
  			$taxonomy_obj = get_taxonomy($tax_name);
! 			if ( isset( $tax_input[$tax_name]) && current_user_can( $taxonomy_obj->cap->assign_terms ) )
  				$new_terms = $tax_input[$tax_name];
  			else
  				$new_terms = array();
***************
*** 415,424 ****
  		$post_excerpt = esc_html( stripslashes( $_REQUEST['excerpt'] ));
  
  	if ( $create_in_db ) {
- 		// Cleanup old auto-drafts more than 7 days old
- 		$old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" );
- 		foreach ( (array) $old_posts as $delete )
- 			wp_delete_post( $delete, true ); // Force delete
  		$post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
  		$post = get_post( $post_id );
  		if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
--- 417,422 ----
***************
*** 747,796 ****
   * @return unknown
   */
  function _fix_attachment_links( $post_ID ) {
- 	global $_fix_attachment_link_id;
- 
  	$post = & get_post( $post_ID, ARRAY_A );
  
! 	$search = "#<a[^>]+rel=('|\")[^'\"]*attachment[^>]*>#ie";
! 
! 	// See if we have any rel="attachment" links
! 	if ( 0 == preg_match_all( $search, $post['post_content'], $anchor_matches, PREG_PATTERN_ORDER ) )
  		return;
  
! 	$i = 0;
! 	$search = "#[\s]+rel=(\"|')(.*?)wp-att-(\d+)\\1#i";
! 	foreach ( $anchor_matches[0] as $anchor ) {
! 		if ( 0 == preg_match( $search, $anchor, $id_matches ) )
! 			continue;
  
! 		$id = (int) $id_matches[3];
  
! 		// While we have the attachment ID, let's adopt any orphans.
! 		$attachment = & get_post( $id, ARRAY_A );
! 		if ( ! empty( $attachment) && ! is_object( get_post( $attachment['post_parent'] ) ) ) {
! 			$attachment['post_parent'] = $post_ID;
! 			// Escape data pulled from DB.
! 			$attachment = add_magic_quotes( $attachment );
! 			wp_update_post( $attachment );
! 		}
  
! 		$post_search[$i] = $anchor;
! 		 $_fix_attachment_link_id = $id;
! 		$post_replace[$i] = preg_replace_callback( "#href=(\"|')[^'\"]*\\1#", '_fix_attachment_links_replace_cb', $anchor );
! 		++$i;
! 	}
  
! 	$post['post_content'] = str_replace( $post_search, $post_replace, $post['post_content'] );
  
! 	// Escape data pulled from DB.
! 	$post = add_magic_quotes( $post);
  
! 	return wp_update_post( $post);
! }
  
! function _fix_attachment_links_replace_cb($match) {
!         global $_fix_attachment_link_id;
!         return stripslashes( 'href='.$match[1] ).get_attachment_link( $_fix_attachment_link_id ).stripslashes( $match[1] );
  }
  
  /**
--- 745,791 ----
   * @return unknown
   */
  function _fix_attachment_links( $post_ID ) {
  	$post = & get_post( $post_ID, ARRAY_A );
+ 	$content = $post['post_content'];
  
! 	// quick sanity check, don't run if no pretty permalinks or post is not published
! 	if ( !get_option('permalink_structure') || $post['post_status'] != 'publish' )
  		return;
  
! 	// Short if there aren't any links or no '?attachment_id=' strings (strpos cannot be zero)
! 	if ( !strpos($content, '?attachment_id=') || !preg_match_all( '/<a ([^>]+)>[\s\S]+?<\/a>/', $content, $link_matches ) )
! 		return;
  
! 	$site_url = get_bloginfo('url');
! 	$site_url = substr( $site_url, (int) strpos($site_url, '://') ); // remove the http(s)
! 	$replace = '';
! 
! 	foreach ( $link_matches[1] as $key => $value ) {
! 		if ( !strpos($value, '?attachment_id=') || !strpos($value, 'wp-att-')
! 			|| !preg_match( '/href=(["\'])[^"\']*\?attachment_id=(\d+)[^"\']*\\1/', $value, $url_match )
! 			|| !preg_match( '/rel=["\'][^"\']*wp-att-(\d+)/', $value, $rel_match ) )
! 				continue;
  
! 		$quote = $url_match[1]; // the quote (single or double)
! 		$url_id = (int) $url_match[2];
! 		$rel_id = (int) $rel_match[1];
  
! 		if ( !$url_id || !$rel_id || $url_id != $rel_id || strpos($url_match[0], $site_url) === false )
! 			continue;
  
! 		$link = $link_matches[0][$key];
! 		$replace = str_replace( $url_match[0], 'href=' . $quote . get_attachment_link( $url_id ) . $quote, $link );
  
! 		$content = str_replace( $link, $replace, $content );
! 	}
  
! 	if ( $replace ) {
! 		$post['post_content'] = $content;
! 		// Escape data pulled from DB.
! 		$post = add_magic_quotes($post);
  
! 		return wp_update_post($post);
! 	}
  }
  
  /**
***************
*** 973,979 ****
  }
  
  function _edit_attachments_query_helper($where) {
! 	return $where .= ' AND post_parent < 1';
  }
  
  /**
--- 968,975 ----
  }
  
  function _edit_attachments_query_helper($where) {
! 	global $wpdb;
! 	return $where .= " AND {$wpdb->posts}.post_parent < 1";
  }
  
  /**
***************
*** 1140,1151 ****
   * @since 2.9.0
   *
   * @param int $thumbnail_id ID of the attachment used for thumbnail
   * @return string html
   */
! function _wp_post_thumbnail_html( $thumbnail_id = NULL ) {
  	global $content_width, $_wp_additional_image_sizes, $post_ID;
! 	$set_thumbnail_link = '<p class="hide-if-no-js"><a title="' . esc_attr__( 'Set featured image' ) . '" href="' . esc_url( get_upload_iframe_src('image') ) . '" id="set-post-thumbnail" class="thickbox">%s</a></p>';
! 	$content = sprintf($set_thumbnail_link, esc_html__( 'Set featured image' ));
  
  	if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
  		$old_content_width = $content_width;
--- 1136,1153 ----
   * @since 2.9.0
   *
   * @param int $thumbnail_id ID of the attachment used for thumbnail
+  * @param int $post_id ID of the post associated with the thumbnail, defaults to global $post_ID
   * @return string html
   */
! function _wp_post_thumbnail_html( $thumbnail_id = null, $post_id = null ) {
  	global $content_width, $_wp_additional_image_sizes, $post_ID;
! 
! 	if ( empty( $post_id ) )
! 		$post_id = $post_ID;
! 
! 	$upload_iframe_src = esc_url( get_upload_iframe_src('image', $post_id) );
! 	$set_thumbnail_link = '<p class="hide-if-no-js"><a title="' . esc_attr__( 'Set featured image' ) . '" href="%s" id="set-post-thumbnail" class="thickbox">%s</a></p>';
! 	$content = sprintf( $set_thumbnail_link, $upload_iframe_src, esc_html__( 'Set featured image' ) );
  
  	if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
  		$old_content_width = $content_width;
***************
*** 1155,1162 ****
  		else
  			$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' );
  		if ( !empty( $thumbnail_html ) ) {
! 			$ajax_nonce = wp_create_nonce( "set_post_thumbnail-$post_ID" );
! 			$content = sprintf($set_thumbnail_link, $thumbnail_html);
  			$content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail" onclick="WPRemoveThumbnail(\'' . $ajax_nonce . '\');return false;">' . esc_html__( 'Remove featured image' ) . '</a></p>';
  		}
  		$content_width = $old_content_width;
--- 1157,1164 ----
  		else
  			$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' );
  		if ( !empty( $thumbnail_html ) ) {
! 			$ajax_nonce = wp_create_nonce( "set_post_thumbnail-$post_id" );
! 			$content = sprintf( $set_thumbnail_link, $upload_iframe_src, $thumbnail_html );
  			$content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail" onclick="WPRemoveThumbnail(\'' . $ajax_nonce . '\');return false;">' . esc_html__( 'Remove featured image' ) . '</a></p>';
  		}
  		$content_width = $old_content_width;
***************
*** 1259,1265 ****
  	if ( is_wp_error( $translated ) )
  		return $translated;
  
! 	// Only store one autosave.  If there is already an autosave, overwrite it.
  	if ( $old_autosave = wp_get_post_autosave( $post_id ) ) {
  		$new_autosave = _wp_post_revision_fields( $_POST, true );
  		$new_autosave['ID'] = $old_autosave->ID;
--- 1261,1267 ----
  	if ( is_wp_error( $translated ) )
  		return $translated;
  
! 	// Only store one autosave. If there is already an autosave, overwrite it.
  	if ( $old_autosave = wp_get_post_autosave( $post_id ) ) {
  		$new_autosave = _wp_post_revision_fields( $_POST, true );
  		$new_autosave['ID'] = $old_autosave->ID;
***************
*** 1320,1326 ****
  
  	if ( 'draft' == $post->post_status ) {
  		$id = edit_post();
! 	} else { // Non drafts are not overwritten.  The autosave is stored in a special post revision.
  		$id = wp_create_post_autosave( $post->ID );
  		if ( ! is_wp_error($id) )
  			$id = $post->ID;
--- 1322,1328 ----
  
  	if ( 'draft' == $post->post_status ) {
  		$id = edit_post();
! 	} else { // Non drafts are not overwritten. The autosave is stored in a special post revision.
  		$id = wp_create_post_autosave( $post->ID );
  		if ( ! is_wp_error($id) )
  			$id = $post->ID;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/schema.php ./wordpress-3.4/wp-admin/includes/schema.php
*** ./wordpress-3.3.2/wp-admin/includes/schema.php	2011-11-28 14:35:36.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/schema.php	2012-04-04 20:05:49.000000000 -0500
***************
*** 30,36 ****
   * @since 3.3.0
   *
   * @param string $scope Optional. The tables for which to retrieve SQL. Can be all, global, ms_global, or blog tables. Defaults to all.
!  * @param int $blog_id Optional. The blog ID for which to retrieve SQL.  Default is the current blog ID.
   * @return string The SQL needed to create the requested tables.
   */
  function wp_get_db_schema( $scope = 'all', $blog_id = null ) {
--- 30,36 ----
   * @since 3.3.0
   *
   * @param string $scope Optional. The tables for which to retrieve SQL. Can be all, global, ms_global, or blog tables. Defaults to all.
!  * @param int $blog_id Optional. The blog ID for which to retrieve SQL. Default is the current blog ID.
   * @return string The SQL needed to create the requested tables.
   */
  function wp_get_db_schema( $scope = 'all', $blog_id = null ) {
***************
*** 103,109 ****
    comment_parent bigint(20) unsigned NOT NULL default '0',
    user_id bigint(20) unsigned NOT NULL default '0',
    PRIMARY KEY  (comment_ID),
-   KEY comment_approved (comment_approved),
    KEY comment_post_ID (comment_post_ID),
    KEY comment_approved_date_gmt (comment_approved,comment_date_gmt),
    KEY comment_date_gmt (comment_date_gmt),
--- 103,108 ----
***************
*** 128,134 ****
  ) $charset_collate;
  CREATE TABLE $wpdb->options (
    option_id bigint(20) unsigned NOT NULL auto_increment,
-   blog_id int(11) NOT NULL default '0',
    option_name varchar(64) NOT NULL default '',
    option_value longtext NOT NULL,
    autoload varchar(20) NOT NULL default 'yes',
--- 127,132 ----
***************
*** 161,167 ****
    pinged text 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 text NOT NULL,
    post_parent bigint(20) unsigned NOT NULL default '0',
    guid varchar(255) NOT NULL default '',
    menu_order int(11) NOT NULL default '0',
--- 159,165 ----
    pinged text 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 NOT NULL,
    post_parent bigint(20) unsigned NOT NULL default '0',
    guid varchar(255) NOT NULL default '',
    menu_order int(11) NOT NULL default '0',
***************
*** 345,356 ****
  
  	$template = WP_DEFAULT_THEME;
  	// If default theme is a child theme, we need to get its template
! 	foreach ( (array) get_themes() as $theme ) {
! 		if ( WP_DEFAULT_THEME == $theme['Stylesheet'] ) {
! 			$template = $theme['Template'];
! 			break;
! 		}
! 	}
  
  	$options = array(
  	'siteurl' => $guessurl,
--- 343,363 ----
  
  	$template = WP_DEFAULT_THEME;
  	// If default theme is a child theme, we need to get its template
! 	$theme = wp_get_theme( $template );
! 	if ( ! $theme->errors() )
! 		$template = $theme->get_template();
! 
! 	$timezone_string = '';
! 	$gmt_offset = 0;
! 	/* translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14)
! 	   or a valid timezone string (America/New_York). See http://us3.php.net/manual/en/timezones.php
! 	   for all timezone strings supported by PHP.
! 	*/
! 	$offset_or_tz = _x( '0', 'default GMT offset or timezone string' );
! 	if ( is_numeric( $offset_or_tz ) )
! 		$gmt_offset = $offset_or_tz;
! 	elseif ( $offset_or_tz && in_array( $offset_or_tz, timezone_identifiers_list() ) )
! 			$timezone_string = $offset_or_tz;
  
  	$options = array(
  	'siteurl' => $guessurl,
***************
*** 359,365 ****
  	'blogdescription' => __('Just another WordPress site'),
  	'users_can_register' => 0,
  	'admin_email' => 'you@example.com',
! 	'start_of_week' => 1,
  	'use_balanceTags' => 0,
  	'use_smilies' => 1,
  	'require_name_email' => 1,
--- 366,373 ----
  	'blogdescription' => __('Just another WordPress site'),
  	'users_can_register' => 0,
  	'admin_email' => 'you@example.com',
! 	/* translators: default start of the week. 0 = Sunday, 1 = Monday */
! 	'start_of_week' => _x( '1', 'start of week' ),
  	'use_balanceTags' => 0,
  	'use_smilies' => 1,
  	'require_name_email' => 1,
***************
*** 398,404 ****
  	'ping_sites' => 'http://rpc.pingomatic.com/',
  	'advanced_edit' => 0,
  	'comment_max_links' => 2,
! 	'gmt_offset' => date('Z') / 3600,
  
  	// 1.5
  	'default_email_category' => 1,
--- 406,412 ----
  	'ping_sites' => 'http://rpc.pingomatic.com/',
  	'advanced_edit' => 0,
  	'comment_max_links' => 2,
! 	'gmt_offset' => $gmt_offset,
  
  	// 1.5
  	'default_email_category' => 1,
***************
*** 408,414 ****
  	'comment_whitelist' => 1,
  	'blacklist_keys' => '',
  	'comment_registration' => 0,
- 	'rss_language' => 'en',
  	'html_type' => 'text/html',
  
  	// 1.5.1
--- 416,421 ----
***************
*** 463,471 ****
  	'widget_categories' => array(),
  	'widget_text' => array(),
  	'widget_rss' => array(),
  
  	// 2.8
! 	'timezone_string' => '',
  
  	// 2.9
  	'embed_autourls' => 1,
--- 470,479 ----
  	'widget_categories' => array(),
  	'widget_text' => array(),
  	'widget_rss' => array(),
+ 	'uninstall_plugins' => array(),
  
  	// 2.8
! 	'timezone_string' => $timezone_string,
  
  	// 2.9
  	'embed_autourls' => 1,
***************
*** 494,500 ****
  	}
  
  	// Set autoload to no for these options
! 	$fat_options = array( 'moderation_keys', 'recently_edited', 'blacklist_keys' );
  
  	$existing_options = $wpdb->get_col("SELECT option_name FROM $wpdb->options");
  
--- 502,508 ----
  	}
  
  	// Set autoload to no for these options
! 	$fat_options = array( 'moderation_keys', 'recently_edited', 'blacklist_keys', 'uninstall_plugins' );
  
  	$existing_options = $wpdb->get_col("SELECT option_name FROM $wpdb->options");
  
***************
*** 523,529 ****
  	if ( !__get_option('home') ) update_option('home', $guessurl);
  
  	// Delete unused options
! 	$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page', 'wporg_popular_tags', 'what_to_show');
  	foreach ( $unusedoptions as $option )
  		delete_option($option);
  
--- 531,537 ----
  	if ( !__get_option('home') ) update_option('home', $guessurl);
  
  	// Delete unused options
! 	$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page', 'wporg_popular_tags', 'what_to_show', 'rss_language');
  	foreach ( $unusedoptions as $option )
  		delete_option($option);
  
***************
*** 879,885 ****
  		'admin_user_id' => $site_user->ID,
  		'registration' => 'none',
  		'upload_filetypes' => 'jpg jpeg png gif mp3 mov avi wmv midi mid pdf',
! 		'blog_upload_space' => 10,
  		'fileupload_maxk' => 1500,
  		'site_admins' => $site_admins,
  		'allowedthemes' => $allowed_themes,
--- 887,893 ----
  		'admin_user_id' => $site_user->ID,
  		'registration' => 'none',
  		'upload_filetypes' => 'jpg jpeg png gif mp3 mov avi wmv midi mid pdf',
! 		'blog_upload_space' => 100,
  		'fileupload_maxk' => 1500,
  		'site_admins' => $site_admins,
  		'allowedthemes' => $allowed_themes,
***************
*** 928,938 ****
  	}
  
  	if ( $subdomain_install )
! 		update_option( 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/');
  	else
! 		update_option( 'permalink_structure', '/blog/%year%/%monthnum%/%day%/%postname%/');
  
! 	$wp_rewrite->flush_rules();
  
  	if ( $subdomain_install ) {
  		$vhost_ok = false;
--- 936,946 ----
  	}
  
  	if ( $subdomain_install )
! 		$wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%day%/%postname%/' );
  	else
! 		$wp_rewrite->set_permalink_structure( '/blog/%year%/%monthnum%/%day%/%postname%/' );
  
! 	flush_rewrite_rules();
  
  	if ( $subdomain_install ) {
  		$vhost_ok = false;
***************
*** 958,962 ****
  
  	return true;
  }
- 
- ?>
--- 966,968 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/screen.php ./wordpress-3.4/wp-admin/includes/screen.php
*** ./wordpress-3.3.2/wp-admin/includes/screen.php	2011-12-06 18:13:52.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/screen.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 114,120 ****
   *
   * @param string $option An option name.
   * @param mixed $args Option-dependent arguments.
-  * @return void
   */
  function add_screen_option( $option, $args = array() ) {
  	$current_screen = get_current_screen();
--- 114,119 ----
***************
*** 176,182 ****
   *
   * @since 3.1.0
   *
!  * @return object Current screen object
   */
  function get_current_screen() {
  	global $current_screen;
--- 175,181 ----
   *
   * @since 3.1.0
   *
!  * @return WP_Screen Current screen object
   */
  function get_current_screen() {
  	global $current_screen;
***************
*** 196,202 ****
   * @param mixed $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen,
   *	or an existing screen object.
   */
! function set_current_screen( $hook_name =  '' ) {
  	WP_Screen::get( $hook_name )->set_current_screen();
  }
  
--- 195,201 ----
   * @param mixed $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen,
   *	or an existing screen object.
   */
! function set_current_screen( $hook_name = '' ) {
  	WP_Screen::get( $hook_name )->set_current_screen();
  }
  
***************
*** 208,214 ****
   */
  final class WP_Screen {
  	/**
! 	 * Any action associated with the screen. 'add' for *-add.php and *-new.php screens.  Empty otherwise.
  	 *
  	 * @since 3.3.0
  	 * @var string
--- 207,213 ----
   */
  final class WP_Screen {
  	/**
! 	 * Any action associated with the screen. 'add' for *-add.php and *-new.php screens. Empty otherwise.
  	 *
  	 * @since 3.3.0
  	 * @var string
***************
*** 217,223 ****
  	public $action;
  
  	/**
! 	 * The base type of the screen.  This is typically the same as $id but with any post types and taxonomies stripped.
  	 * For example, for an $id of 'edit-post' the base is 'edit'.
  	 *
  	 * @since 3.3.0
--- 216,222 ----
  	public $action;
  
  	/**
! 	 * The base type of the screen. This is typically the same as $id but with any post types and taxonomies stripped.
  	 * For example, for an $id of 'edit-post' the base is 'edit'.
  	 *
  	 * @since 3.3.0
***************
*** 227,232 ****
--- 226,240 ----
  	public $base;
  
  	/**
+ 	 * The number of columns to display. Access with get_columns().
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @var int
+ 	 * @access private
+ 	 */
+ 	private $columns = 0;
+ 
+ 	/**
  	 * The unique ID of the screen.
  	 *
  	 * @since 3.3.0
***************
*** 539,545 ****
  	 *
  	 * @since 3.3.0
  	 *
! 	 * @param string $parent_file The parent file of the screen.  Typically the $parent_file global.
  	 */
  	function set_parentage( $parent_file ) {
  		$this->parent_file = $parent_file;
--- 547,553 ----
  	 *
  	 * @since 3.3.0
  	 *
! 	 * @param string $parent_file The parent file of the screen. Typically the $parent_file global.
  	 */
  	function set_parentage( $parent_file ) {
  		$this->parent_file = $parent_file;
***************
*** 565,571 ****
  	 *
  	 * @since 3.3.0
  	 *
! 	 * @param string
  	 */
  	public function get_option( $option, $key = false ) {
  		if ( ! isset( $this->_options[ $option ] ) )
--- 573,580 ----
  	 *
  	 * @since 3.3.0
  	 *
! 	 * @param string $option Option ID.
! 	 * @param mixed $key Optional. Specific array key for when the option is an array.
  	 */
  	public function get_option( $option, $key = false ) {
  		if ( ! isset( $this->_options[ $option ] ) )
***************
*** 579,584 ****
--- 588,618 ----
  	}
  
  	/**
+ 	 * Gets the help tabs registered for the screen.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return array Help tabs with arguments.
+ 	 */
+ 	public function get_help_tabs() {
+ 		return $this->_help_tabs;
+ 	}
+ 
+ 	/**
+ 	 * Gets the arguments for a help tab.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id Help Tab ID.
+ 	 * @return array Help tab arguments.
+ 	 */
+ 	public function get_help_tab( $id ) {
+ 		if ( ! isset( $this->_help_tabs[ $id ] ) )
+ 			return null;
+ 		return $this->_help_tabs[ $id ];
+ 	}
+ 
+ 	/**
  	 * Add a help tab to the contextual help for the screen.
  	 * Call this on the load-$pagenow hook for the relevant screen.
  	 *
***************
*** 606,612 ****
  		if ( ! $args['id'] || ! $args['title'] )
  			return;
  
! 		$this->_help_tabs[] = $args;
  	}
  
  	/**
--- 640,647 ----
  		if ( ! $args['id'] || ! $args['title'] )
  			return;
  
! 		// Allows for overriding an existing tab with that ID.
! 		$this->_help_tabs[ $args['id'] ] = $args;
  	}
  
  	/**
***************
*** 630,635 ****
--- 665,681 ----
  	}
  
  	/**
+ 	 * Gets the content from a contextual help sidebar.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return string Contents of the help sidebar.
+ 	 */
+ 	public function get_help_sidebar() {
+ 		return $this->_help_sidebar;
+ 	}
+ 
+ 	/**
  	 * Add a sidebar to the contextual help for the screen.
  	 * Call this in template files after admin.php is loaded and before admin-header.php is loaded to add a sidebar to the contextual help.
  	 *
***************
*** 642,647 ****
--- 688,710 ----
  	}
  
  	/**
+ 	 * Gets the number of layout columns the user has selected.
+ 	 *
+ 	 * The layout_columns option controls the max number and default number of
+ 	 * columns. This method returns the number of columns within that range selected
+ 	 * by the user via Screen Options. If no selection has been made, the default
+ 	 * provisioned in layout_columns is returned. If the screen does not support
+ 	 * selecting the number of layout columns, 0 is returned.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return int Number of columns to display.
+ 	 */
+ 	public function get_columns() {
+ 		return $this->columns;
+ 	}
+ 
+ 	/**
  	 * Render the screen's help section.
  	 *
  	 * This will trigger the deprecated filters for backwards compatibility.
***************
*** 657,663 ****
  		$old_help = apply_filters( 'contextual_help', $old_help, $this->id, $this );
  
  		// Default help only if there is no old-style block of text and no new-style help tabs.
! 		if ( empty( $old_help ) && empty( $this->_help_tabs ) ) {
  			$default_help = apply_filters( 'default_contextual_help', '' );
  			if ( $default_help )
  				$old_help = '<p>' . $default_help . '</p>';
--- 720,726 ----
  		$old_help = apply_filters( 'contextual_help', $old_help, $this->id, $this );
  
  		// Default help only if there is no old-style block of text and no new-style help tabs.
! 		if ( empty( $old_help ) && ! $this->get_help_tabs() ) {
  			$default_help = apply_filters( 'default_contextual_help', '' );
  			if ( $default_help )
  				$old_help = '<p>' . $default_help . '</p>';
***************
*** 671,680 ****
  			) );
  		}
  
! 		$has_sidebar = ! empty( $this->_help_sidebar );
  
  		$help_class = 'hidden';
! 		if ( ! $has_sidebar )
  			$help_class .= ' no-sidebar';
  
  		// Time to render!
--- 734,743 ----
  			) );
  		}
  
! 		$help_sidebar = $this->get_help_sidebar();
  
  		$help_class = 'hidden';
! 		if ( ! $help_sidebar )
  			$help_class .= ' no-sidebar';
  
  		// Time to render!
***************
*** 686,720 ****
  				<div id="contextual-help-columns">
  					<div class="contextual-help-tabs">
  						<ul>
! 						<?php foreach ( $this->_help_tabs as $i => $tab ):
  							$link_id  = "tab-link-{$tab['id']}";
  							$panel_id = "tab-panel-{$tab['id']}";
- 							$classes  = ( $i == 0 ) ? 'active' : '';
  							?>
  
! 							<li id="<?php echo esc_attr( $link_id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
  								<a href="<?php echo esc_url( "#$panel_id" ); ?>">
  									<?php echo esc_html( $tab['title'] ); ?>
  								</a>
  							</li>
! 						<?php endforeach; ?>
  						</ul>
  					</div>
  
! 					<?php if ( $has_sidebar ) : ?>
  					<div class="contextual-help-sidebar">
! 						<?php echo self::$this->_help_sidebar; ?>
  					</div>
  					<?php endif; ?>
  
  					<div class="contextual-help-tabs-wrap">
! 						<?php foreach ( $this->_help_tabs as $i => $tab ):
  							$panel_id = "tab-panel-{$tab['id']}";
- 							$classes  = ( $i == 0 ) ? 'active' : '';
- 							$classes .= ' help-tab-content';
  							?>
  
! 							<div id="<?php echo esc_attr( $panel_id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
  								<?php
  								// Print tab content.
  								echo $tab['content'];
--- 749,787 ----
  				<div id="contextual-help-columns">
  					<div class="contextual-help-tabs">
  						<ul>
! 						<?php
! 						$class = ' class="active"';
! 						foreach ( $this->get_help_tabs() as $tab ) :
  							$link_id  = "tab-link-{$tab['id']}";
  							$panel_id = "tab-panel-{$tab['id']}";
  							?>
  
! 							<li id="<?php echo esc_attr( $link_id ); ?>"<?php echo $class; ?>>
  								<a href="<?php echo esc_url( "#$panel_id" ); ?>">
  									<?php echo esc_html( $tab['title'] ); ?>
  								</a>
  							</li>
! 						<?php
! 							$class = '';
! 						endforeach;
! 						?>
  						</ul>
  					</div>
  
! 					<?php if ( $help_sidebar ) : ?>
  					<div class="contextual-help-sidebar">
! 						<?php echo $help_sidebar; ?>
  					</div>
  					<?php endif; ?>
  
  					<div class="contextual-help-tabs-wrap">
! 						<?php
! 						$classes = 'help-tab-content active';
! 						foreach ( $this->get_help_tabs() as $tab ):
  							$panel_id = "tab-panel-{$tab['id']}";
  							?>
  
! 							<div id="<?php echo esc_attr( $panel_id ); ?>" class="<?php echo $classes; ?>">
  								<?php
  								// Print tab content.
  								echo $tab['content'];
***************
*** 724,745 ****
  									call_user_func_array( $tab['callback'], array( $this, $tab ) );
  								?>
  							</div>
! 						<?php endforeach; ?>
  					</div>
  				</div>
  			</div>
  		<?php
  		// Add screen options
  		if ( $this->show_screen_options() )
  			$this->render_screen_options();
  		?>
  		</div>
  		<?php
! 		if ( ! $this->_help_tabs && ! $this->show_screen_options() )
  			return;
  		?>
  		<div id="screen-meta-links">
! 		<?php if ( $this->_help_tabs ) : ?>
  			<div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
  			<a href="#contextual-help-wrap" id="contextual-help-link" class="show-settings"><?php _e( 'Help' ); ?></a>
  			</div>
--- 791,831 ----
  									call_user_func_array( $tab['callback'], array( $this, $tab ) );
  								?>
  							</div>
! 						<?php
! 							$classes = 'help-tab-content';
! 						endforeach;
! 						?>
  					</div>
  				</div>
  			</div>
  		<?php
+ 		// Setup layout columns
+ 
+ 		// Back compat for plugins using the filter instead of add_screen_option()
+ 		$columns = apply_filters( 'screen_layout_columns', array(), $this->id, $this );
+ 
+ 		if ( ! empty( $columns ) && isset( $columns[ $this->id ] ) )
+ 			$this->add_option( 'layout_columns', array('max' => $columns[ $this->id ] ) );
+ 
+ 		if ( $this->get_option( 'layout_columns' ) ) {
+ 			$this->columns = (int) get_user_option("screen_layout_$this->id");
+ 
+ 			if ( ! $this->columns && $this->get_option( 'layout_columns', 'default' ) )
+ 				$this->columns = $this->get_option( 'layout_columns', 'default' );
+ 		}
+ 		$GLOBALS[ 'screen_layout_columns' ] = $this->columns; // Set the global for back-compat.
+ 
  		// Add screen options
  		if ( $this->show_screen_options() )
  			$this->render_screen_options();
  		?>
  		</div>
  		<?php
! 		if ( ! $this->get_help_tabs() && ! $this->show_screen_options() )
  			return;
  		?>
  		<div id="screen-meta-links">
! 		<?php if ( $this->get_help_tabs() ) : ?>
  			<div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
  			<a href="#contextual-help-wrap" id="contextual-help-link" class="show-settings"><?php _e( 'Help' ); ?></a>
  			</div>
***************
*** 792,800 ****
  		?>
  		<div id="screen-options-wrap" class="hidden">
  		<form id="adv-settings" action="" method="post">
  		<?php
  		if ( isset( $wp_meta_boxes[ $this->id ] ) ) : ?>
- 			<h5><?php _ex('Show on screen', 'Metaboxes') ?></h5>
  			<div class="metabox-prefs">
  				<?php
  					meta_box_prefs( $this );
--- 878,889 ----
  		?>
  		<div id="screen-options-wrap" class="hidden">
  		<form id="adv-settings" action="" method="post">
+ 		<?php if ( isset( $wp_meta_boxes[ $this->id ] ) || $this->get_option( 'per_page' ) || ( $columns && empty( $columns['_title'] ) ) ) : ?>
+ 			<h5><?php _e( 'Show on screen' ); ?></h5>
  		<?php
+ 		endif;
+ 
  		if ( isset( $wp_meta_boxes[ $this->id ] ) ) : ?>
  			<div class="metabox-prefs">
  				<?php
  					meta_box_prefs( $this );
***************
*** 809,823 ****
  								$welcome_checked = false;
  						}
  						echo '<label for="wp_welcome_panel-hide">';
! 						echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false )  . ' />';
! 						echo __( 'Welcome' ) . "</label>\n";
  					}
  				?>
  				<br class="clear" />
  			</div>
  			<?php endif;
! 			if ( ! empty( $columns ) ) : ?>
! 			<h5><?php echo ( isset( $columns['_title'] ) ?  $columns['_title'] :  _x('Show on screen', 'Columns') ) ?></h5>
  			<div class="metabox-prefs">
  				<?php
  				$special = array('_title', 'cb', 'comment', 'media', 'name', 'title', 'username', 'blogname');
--- 898,914 ----
  								$welcome_checked = false;
  						}
  						echo '<label for="wp_welcome_panel-hide">';
! 						echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false ) . ' />';
! 						echo _x( 'Welcome', 'Welcome panel' ) . "</label>\n";
  					}
  				?>
  				<br class="clear" />
  			</div>
  			<?php endif;
! 			if ( $columns ) :
! 				if ( ! empty( $columns['_title'] ) ) : ?>
! 			<h5><?php echo $columns['_title']; ?></h5>
! 			<?php endif; ?>
  			<div class="metabox-prefs">
  				<?php
  				$special = array('_title', 'cb', 'comment', 'media', 'name', 'title', 'username', 'blogname');
***************
*** 858,891 ****
  	 * @since 3.3.0
  	 */
  	function render_screen_layout() {
! 		global $screen_layout_columns;
! 
! 		// Back compat for plugins using the filter instead of add_screen_option()
! 		$columns = apply_filters( 'screen_layout_columns', array(), $this->id, $this );
! 
! 		if ( ! empty( $columns ) && isset( $columns[ $this->id ] ) )
! 			$this->add_option( 'layout_columns', array('max' => $columns[ $this->id ] ) );
! 
! 		if ( ! $this->get_option('layout_columns') ) {
! 			$screen_layout_columns = 0;
  			return;
- 		}
  
! 		$screen_layout_columns = get_user_option("screen_layout_$this->id");
  		$num = $this->get_option( 'layout_columns', 'max' );
  
- 		if ( ! $screen_layout_columns || 'auto' == $screen_layout_columns ) {
- 			if ( $this->get_option( 'layout_columns', 'default' ) )
- 				$screen_layout_columns = $this->get_option( 'layout_columns', 'default' );
- 		}
- 
  		?>
! 		<h5><?php _e('Screen Layout'); ?></h5>
  		<div class='columns-prefs'><?php
  			_e('Number of Columns:');
  			for ( $i = 1; $i <= $num; ++$i ):
  				?>
! 				<label>
  					<input type='radio' name='screen_columns' value='<?php echo esc_attr( $i ); ?>'
  						<?php checked( $screen_layout_columns, $i ); ?> />
  					<?php echo esc_html( $i ); ?>
--- 949,967 ----
  	 * @since 3.3.0
  	 */
  	function render_screen_layout() {
! 		if ( ! $this->get_option('layout_columns') )
  			return;
  
! 		$screen_layout_columns = $this->get_columns();
  		$num = $this->get_option( 'layout_columns', 'max' );
  
  		?>
! 		<h5 class="screen-layout"><?php _e('Screen Layout'); ?></h5>
  		<div class='columns-prefs'><?php
  			_e('Number of Columns:');
  			for ( $i = 1; $i <= $num; ++$i ):
  				?>
! 				<label class="columns-prefs-<?php echo $i; ?>">
  					<input type='radio' name='screen_columns' value='<?php echo esc_attr( $i ); ?>'
  						<?php checked( $screen_layout_columns, $i ); ?> />
  					<?php echo esc_html( $i ); ?>
***************
*** 932,944 ****
  			$per_page = apply_filters( 'edit_posts_per_page', $per_page, $this->post_type );
  
  		?>
! 		<h5><?php _ex('Show on screen', 'Screen Options') ?></h5>
! 		<div class='screen-options'>
! 			<?php if ( !empty($per_page_label) ): ?>
! 				<input type='text' class='screen-per-page' name='wp_screen_options[value]'
! 					id='<?php echo esc_attr( $option ); ?>' maxlength='3'
! 					value='<?php echo esc_attr( $per_page ); ?>' />
! 				<label for='<?php echo esc_attr( $option ); ?>'>
  					<?php echo esc_html( $per_page_label ); ?>
  				</label>
  			<?php endif;
--- 1008,1019 ----
  			$per_page = apply_filters( 'edit_posts_per_page', $per_page, $this->post_type );
  
  		?>
! 		<div class="screen-options">
! 			<?php if ( $per_page_label ) : ?>
! 				<input type="number" step="1" min="1" max="999" class="screen-per-page" name="wp_screen_options[value]"
! 					id="<?php echo esc_attr( $option ); ?>" maxlength="3"
! 					value="<?php echo esc_attr( $per_page ); ?>" />
! 				<label for="<?php echo esc_attr( $option ); ?>">
  					<?php echo esc_html( $per_page_label ); ?>
  				</label>
  			<?php endif;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/taxonomy.php ./wordpress-3.4/wp-admin/includes/taxonomy.php
*** ./wordpress-3.3.2/wp-admin/includes/taxonomy.php	2010-12-20 03:25:21.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/taxonomy.php	2012-01-04 16:44:19.000000000 -0600
***************
*** 86,92 ****
   *
   * @param mixed $catarr See defaults below. Set 'cat_ID' to a non-zero value to update an existing category. The 'taxonomy' key was added in 3.0.0.
   * @param bool $wp_error Optional, since 2.5.0. Set this to true if the caller handles WP_Error return values.
!  * @return int|object The ID number of the new or updated Category on success.  Zero or a WP_Error on failure, depending on param $wp_error.
   */
  function wp_insert_category($catarr, $wp_error = false) {
  	$cat_defaults = array('cat_ID' => 0, 'taxonomy' => 'category', 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '');
--- 86,92 ----
   *
   * @param mixed $catarr See defaults below. Set 'cat_ID' to a non-zero value to update an existing category. The 'taxonomy' key was added in 3.0.0.
   * @param bool $wp_error Optional, since 2.5.0. Set this to true if the caller handles WP_Error return values.
!  * @return int|object The ID number of the new or updated Category on success. Zero or a WP_Error on failure, depending on param $wp_error.
   */
  function wp_insert_category($catarr, $wp_error = false) {
  	$cat_defaults = array('cat_ID' => 0, 'taxonomy' => 'category', 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '');
***************
*** 117,123 ****
  	if ( $parent < 0 )
  		$parent = 0;
  
! 	if ( empty($parent) || !category_exists( $parent ) || ($cat_ID && cat_is_ancestor_of($cat_ID, $parent) ) )
  		$parent = 0;
  
  	$args = compact('name', 'slug', 'parent', 'description');
--- 117,123 ----
  	if ( $parent < 0 )
  		$parent = 0;
  
! 	if ( empty( $parent ) || ! term_exists( $parent, $taxonomy ) || ( $cat_ID && term_is_ancestor_of( $cat_ID, $parent, $taxonomy ) ) )
  		$parent = 0;
  
  	$args = compact('name', 'slug', 'parent', 'description');
***************
*** 145,151 ****
   *
   * @since 2.0.0
   *
!  * @param array $catarr The 'cat_ID' value is required.  All other keys are optional.
   * @return int|bool The ID number of the new or updated Category on success. Zero or FALSE on failure.
   */
  function wp_update_category($catarr) {
--- 145,151 ----
   *
   * @since 2.0.0
   *
!  * @param array $catarr The 'cat_ID' value is required. All other keys are optional.
   * @return int|bool The ID number of the new or updated Category on success. Zero or FALSE on failure.
   */
  function wp_update_category($catarr) {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/template.php ./wordpress-3.4/wp-admin/includes/template.php
*** ./wordpress-3.3.2/wp-admin/includes/template.php	2012-01-03 14:29:17.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/template.php	2012-06-13 12:38:42.000000000 -0500
***************
*** 14,38 ****
  //
  
  /**
!  * {@internal Missing Short Description}}
   *
   * @since 2.5.1
   */
  class Walker_Category_Checklist extends Walker {
  	var $tree_type = 'category';
  	var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
  
! 	function start_lvl(&$output, $depth, $args) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent<ul class='children'>\n";
  	}
  
! 	function end_lvl(&$output, $depth, $args) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent</ul>\n";
  	}
  
! 	function start_el(&$output, $category, $depth, $args) {
  		extract($args);
  		if ( empty($taxonomy) )
  			$taxonomy = 'category';
--- 13,40 ----
  //
  
  /**
!  * Walker to output an unordered list of category checkbox <input> elements.
   *
+  * @see Walker
+  * @see wp_category_checklist()
+  * @see wp_terms_checklist()
   * @since 2.5.1
   */
  class Walker_Category_Checklist extends Walker {
  	var $tree_type = 'category';
  	var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
  
! 	function start_lvl( &$output, $depth = 0, $args = array() ) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent<ul class='children'>\n";
  	}
  
! 	function end_lvl( &$output, $depth = 0, $args = array() ) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent</ul>\n";
  	}
  
! 	function start_el( &$output, $category, $depth, $args, $id = 0 ) {
  		extract($args);
  		if ( empty($taxonomy) )
  			$taxonomy = 'category';
***************
*** 46,80 ****
  		$output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
  	}
  
! 	function end_el(&$output, $category, $depth, $args) {
  		$output .= "</li>\n";
  	}
  }
  
  /**
!  * {@internal Missing Short Description}}
   *
   * @since 2.5.1
   *
!  * @param unknown_type $post_id
!  * @param unknown_type $descendants_and_self
!  * @param unknown_type $selected_cats
!  * @param unknown_type $popular_cats
   */
  function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) {
! 	wp_terms_checklist($post_id,
! 	 	array(
! 			'taxonomy' => 'category',
! 			'descendants_and_self' => $descendants_and_self,
! 			'selected_cats' => $selected_cats,
! 			'popular_cats' => $popular_cats,
! 			'walker' => $walker,
! 			'checked_ontop' => $checked_ontop
!   ));
  }
  
  /**
!  * Taxonomy independent version of wp_category_checklist
   *
   * @since 3.0.0
   *
--- 48,86 ----
  		$output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
  	}
  
! 	function end_el( &$output, $category, $depth = 0, $args = array() ) {
  		$output .= "</li>\n";
  	}
  }
  
  /**
!  * Output an unordered list of checkbox <input> elements labelled
!  * with category names.
   *
+  * @see wp_terms_checklist()
   * @since 2.5.1
   *
!  * @param int $post_id Mark categories associated with this post as checked. $selected_cats must not be an array.
!  * @param int $descendants_and_self ID of the category to output along with its descendents.
!  * @param bool|array $selected_cats List of categories to mark as checked.
!  * @param bool|array $popular_cats Override the list of categories that receive the "popular-category" class.
!  * @param object $walker Walker object to use to build the output.
!  * @param bool $checked_ontop Move checked items out of the hierarchy and to the top of the list.
   */
  function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) {
! 	wp_terms_checklist( $post_id, array(
! 		'taxonomy' => 'category',
! 		'descendants_and_self' => $descendants_and_self,
! 		'selected_cats' => $selected_cats,
! 		'popular_cats' => $popular_cats,
! 		'walker' => $walker,
! 		'checked_ontop' => $checked_ontop
! 	) );
  }
  
  /**
!  * Output an unordered list of checkbox <input> elements labelled
!  * with term names. Taxonomy independent version of wp_category_checklist().
   *
   * @since 3.0.0
   *
***************
*** 90,95 ****
--- 96,103 ----
  		'taxonomy' => 'category',
  		'checked_ontop' => true
  	);
+ 	$args = apply_filters( 'wp_terms_checklist_args', $args, $post_id );
+ 
  	extract( wp_parse_args($args, $defaults), EXTR_SKIP );
  
  	if ( empty($walker) || !is_a($walker, 'Walker') )
***************
*** 142,156 ****
  }
  
  /**
!  * {@internal Missing Short Description}}
   *
   * @since 2.5.0
   *
!  * @param unknown_type $taxonomy
!  * @param unknown_type $default
!  * @param unknown_type $number
!  * @param unknown_type $echo
!  * @return unknown
   */
  function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) {
  	global $post_ID;
--- 150,169 ----
  }
  
  /**
!  * Retrieve a list of the most popular terms from the specified taxonomy.
!  *
!  * If the $echo argument is true then the elements for a list of checkbox
!  * <input> elements labelled with the names of the selected terms is output.
!  * If the $post_ID global isn't empty then the terms associated with that
!  * post will be marked as checked.
   *
   * @since 2.5.0
   *
!  * @param string $taxonomy Taxonomy to retrieve terms from.
!  * @param int $default Unused.
!  * @param int $number Number of terms to retrieve. Defaults to 10.
!  * @param bool $echo Optionally output the list as well. Defaults to true.
!  * @return array List of popular term IDs.
   */
  function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) {
  	global $post_ID;
***************
*** 258,274 ****
  	if ( $post->post_type == 'page' )
  		echo '<div class="page_template">' . esc_html( get_post_meta( $post->ID, '_wp_page_template', true ) ) . '</div>';
  
! 	if ( $post_type_object->hierarchical )
  		echo '<div class="menu_order">' . $post->menu_order . '</div>';
  
  	$taxonomy_names = get_object_taxonomies( $post->post_type );
  	foreach ( $taxonomy_names as $taxonomy_name) {
  		$taxonomy = get_taxonomy( $taxonomy_name );
  
! 		if ( $taxonomy->hierarchical && $taxonomy->show_ui )
! 				echo '<div class="post_category" id="'.$taxonomy_name.'_'.$post->ID.'">' . implode( ',', wp_get_object_terms( $post->ID, $taxonomy_name, array('fields'=>'ids')) ) . '</div>';
! 		elseif ( $taxonomy->show_ui )
! 			echo '<div class="tags_input" id="'.$taxonomy_name.'_'.$post->ID.'">' . esc_html( str_replace( ',', ', ', get_terms_to_edit($post->ID, $taxonomy_name) ) ) . '</div>';
  	}
  
  	if ( !$post_type_object->hierarchical )
--- 271,290 ----
  	if ( $post->post_type == 'page' )
  		echo '<div class="page_template">' . esc_html( get_post_meta( $post->ID, '_wp_page_template', true ) ) . '</div>';
  
! 	if ( post_type_supports( $post->post_type, 'page-attributes' ) )
  		echo '<div class="menu_order">' . $post->menu_order . '</div>';
  
  	$taxonomy_names = get_object_taxonomies( $post->post_type );
  	foreach ( $taxonomy_names as $taxonomy_name) {
  		$taxonomy = get_taxonomy( $taxonomy_name );
  
! 		if ( $taxonomy->hierarchical && $taxonomy->show_ui ) {
! 				echo '<div class="post_category" id="' . $taxonomy_name . '_' . $post->ID . '">'
! 					. implode( ',', wp_get_object_terms( $post->ID, $taxonomy_name, array( 'fields' => 'ids' ) ) ) . '</div>';
! 		} elseif ( $taxonomy->show_ui ) {
! 			echo '<div class="tags_input" id="'.$taxonomy_name.'_'.$post->ID.'">'
! 				. esc_html( str_replace( ',', ', ', get_terms_to_edit( $post->ID, $taxonomy_name ) ) ) . '</div>';
! 		}
  	}
  
  	if ( !$post_type_object->hierarchical )
***************
*** 312,318 ****
  <div id="com-reply" style="display:none;"><div id="replyrow" style="display:none;">
  <?php endif; ?>
  	<div id="replyhead" style="display:none;"><h5><?php _e( 'Reply to Comment' ); ?></h5></div>
! 
  	<div id="edithead" style="display:none;">
  		<div class="inside">
  		<label for="author"><?php _e('Name') ?></label>
--- 328,334 ----
  <div id="com-reply" style="display:none;"><div id="replyrow" style="display:none;">
  <?php endif; ?>
  	<div id="replyhead" style="display:none;"><h5><?php _e( 'Reply to Comment' ); ?></h5></div>
! 	<div id="addhead" style="display:none;"><h5><?php _e('Add new Comment'); ?></h5></div>
  	<div id="edithead" style="display:none;">
  		<div class="inside">
  		<label for="author"><?php _e('Name') ?></label>
***************
*** 341,346 ****
--- 357,363 ----
  	<p id="replysubmit" class="submit">
  	<a href="#comments-form" class="cancel button-secondary alignleft" tabindex="106"><?php _e('Cancel'); ?></a>
  	<a href="#comments-form" class="save button-primary alignright" tabindex="104">
+ 	<span id="addbtn" style="display:none;"><?php _e('Add Comment'); ?></span>
  	<span id="savebtn" style="display:none;"><?php _e('Update Comment'); ?></span>
  	<span id="replybtn" style="display:none;"><?php _e('Submit Reply'); ?></span></a>
  	<img class="waiting" style="display:none;" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
***************
*** 590,596 ****
  		$month .= "\t\t\t" . '<option value="' . $monthnum . '"';
  		if ( $i == $mm )
  			$month .= ' selected="selected"';
! 		$month .= '>' . $monthnum . '-' . $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) ) . "</option>\n";
  	}
  	$month .= '</select>';
  
--- 607,614 ----
  		$month .= "\t\t\t" . '<option value="' . $monthnum . '"';
  		if ( $i == $mm )
  			$month .= ' selected="selected"';
! 		/* translators: 1: month number (01, 02, etc.), 2: month abbreviation */
! 		$month .= '>' . sprintf( __( '%1$s-%2$s' ), $monthnum, $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) ) ) . "</option>\n";
  	}
  	$month .= '</select>';
  
***************
*** 1200,1206 ****
   * @param boolean $sanitize Whether to re-sanitize the setting value before returning errors.
   * @return array Array of settings errors
   */
! function get_settings_errors( $setting = '', $sanitize = FALSE ) {
  	global $wp_settings_errors;
  
  	// If $sanitize is true, manually re-run the sanitizisation for this option
--- 1217,1223 ----
   * @param boolean $sanitize Whether to re-sanitize the setting value before returning errors.
   * @return array Array of settings errors
   */
! function get_settings_errors( $setting = '', $sanitize = false ) {
  	global $wp_settings_errors;
  
  	// If $sanitize is true, manually re-run the sanitizisation for this option
***************
*** 1252,1264 ****
   * @param boolean $sanitize Whether to re-sanitize the setting value before returning errors.
   * @param boolean $hide_on_update If set to true errors will not be shown if the settings page has already been submitted.
   */
! function settings_errors( $setting = '', $sanitize = FALSE, $hide_on_update = FALSE ) {
  
! 	if ($hide_on_update AND $_GET['settings-updated']) return;
  
  	$settings_errors = get_settings_errors( $setting, $sanitize );
  
! 	if ( !is_array($settings_errors) ) return;
  
  	$output = '';
  	foreach ( $settings_errors as $key => $details ) {
--- 1269,1283 ----
   * @param boolean $sanitize Whether to re-sanitize the setting value before returning errors.
   * @param boolean $hide_on_update If set to true errors will not be shown if the settings page has already been submitted.
   */
! function settings_errors( $setting = '', $sanitize = false, $hide_on_update = false ) {
  
! 	if ( $hide_on_update && ! empty( $_GET['settings-updated'] ) )
! 		return;
  
  	$settings_errors = get_settings_errors( $setting, $sanitize );
  
! 	if ( ! is_array( $settings_errors ) )
! 		return;
  
  	$output = '';
  	foreach ( $settings_errors as $key => $details ) {
***************
*** 1300,1306 ****
  					if ( 'attachment' == $post->name )
  						continue;
  				?>
! 				<input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name,  'post'); ?> />
  				<label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label>
  				<?php
  				} ?>
--- 1319,1325 ----
  					if ( 'attachment' == $post->name )
  						continue;
  				?>
! 				<input type="radio" name="find-posts-what" id="find-posts-<?php echo esc_attr($post->name); ?>" value="<?php echo esc_attr($post->name); ?>" <?php checked($post->name, 'post'); ?> />
  				<label for="find-posts-<?php echo esc_attr($post->name); ?>"><?php echo $post->label; ?></label>
  				<?php
  				} ?>
***************
*** 1390,1396 ****
  		'uid': '<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>',
  		'time':'<?php echo time() ?>'
  	},
! 	ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>',
  	pagenow = '<?php echo $current_screen->id; ?>',
  	typenow = '<?php echo $current_screen->post_type; ?>',
  	adminpage = '<?php echo $admin_body_class; ?>',
--- 1409,1415 ----
  		'uid': '<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>',
  		'time':'<?php echo time() ?>'
  	},
! 	ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
  	pagenow = '<?php echo $current_screen->id; ?>',
  	typenow = '<?php echo $current_screen->post_type; ?>',
  	adminpage = '<?php echo $admin_body_class; ?>',
***************
*** 1407,1415 ****
  do_action('admin_print_scripts');
  do_action("admin_head-$hook_suffix");
  do_action('admin_head');
  ?>
  </head>
! <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?>  class="wp-admin no-js iframe <?php echo apply_filters( 'admin_body_class', '' ) . ' ' . $admin_body_class; ?>">
  <script type="text/javascript">
  //<![CDATA[
  (function(){
--- 1426,1436 ----
  do_action('admin_print_scripts');
  do_action("admin_head-$hook_suffix");
  do_action('admin_head');
+ 
+ $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
  ?>
  </head>
! <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin no-js iframe <?php echo apply_filters( 'admin_body_class', '' ) . ' ' . $admin_body_class; ?>">
  <script type="text/javascript">
  //<![CDATA[
  (function(){
***************
*** 1589,1595 ****
   *                     Defaults to no other attributes. Other attributes can also be provided as a
   *                     string such as 'tabindex="1"', though the array format is typically cleaner.
   */
! function submit_button( $text = NULL, $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = NULL ) {
  	echo get_submit_button( $text, $type, $name, $wrap, $other_attributes );
  }
  
--- 1610,1616 ----
   *                     Defaults to no other attributes. Other attributes can also be provided as a
   *                     string such as 'tabindex="1"', though the array format is typically cleaner.
   */
! function submit_button( $text = null, $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = null ) {
  	echo get_submit_button( $text, $type, $name, $wrap, $other_attributes );
  }
  
***************
*** 1610,1616 ****
   *                     Defaults to no other attributes. Other attributes can also be provided as a
   *                     string such as 'tabindex="1"', though the array format is typically cleaner.
   */
! function get_submit_button( $text = NULL, $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = NULL ) {
  	switch ( $type ) :
  		case 'primary' :
  		case 'secondary' :
--- 1631,1637 ----
   *                     Defaults to no other attributes. Other attributes can also be provided as a
   *                     string such as 'tabindex="1"', though the array format is typically cleaner.
   */
! function get_submit_button( $text = null, $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = null ) {
  	switch ( $type ) :
  		case 'primary' :
  		case 'secondary' :
***************
*** 1622,1628 ****
  		default :
  			$class = $type; // Custom cases can just pass in the classes they want to be used
  	endswitch;
! 	$text = ( NULL == $text ) ? __( 'Save Changes' ) : $text;
  
  	// Default the id attribute to $name unless an id was specifically provided in $other_attributes
  	$id = $name;
--- 1643,1649 ----
  		default :
  			$class = $type; // Custom cases can just pass in the classes they want to be used
  	endswitch;
! 	$text = ( null == $text ) ? __( 'Save Changes' ) : $text;
  
  	// Default the id attribute to $name unless an id was specifically provided in $other_attributes
  	$id = $name;
***************
*** 1651,1663 ****
  }
  
  function _wp_admin_html_begin() {
  ?>
  <!DOCTYPE html>
  <!--[if IE 8]>
! <html xmlns="http://www.w3.org/1999/xhtml" class="ie8" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
  <![endif]-->
  <!--[if !(IE 8) ]><!-->
! <html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
  <!--<![endif]-->
  <head>
  <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
--- 1672,1685 ----
  }
  
  function _wp_admin_html_begin() {
+ 	$admin_html_class = ( is_admin_bar_showing() ) ? 'wp-toolbar' : '';
  ?>
  <!DOCTYPE html>
  <!--[if IE 8]>
! <html xmlns="http://www.w3.org/1999/xhtml" class="ie8 <?php echo $admin_html_class; ?>" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
  <![endif]-->
  <!--[if !(IE 8) ]><!-->
! <html xmlns="http://www.w3.org/1999/xhtml" class="<?php echo $admin_html_class; ?>" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
  <!--<![endif]-->
  <head>
  <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
***************
*** 1686,1721 ****
  			'index.php'    => 'wp330_toolbar',
  			'post-new.php' => 'wp330_media_uploader',
  			'post.php'     => 'wp330_media_uploader',
! 			'themes.php'   => 'wp330_saving_widgets',
  		);
  
  		// Check if screen related pointer is registered
  		if ( empty( $registered_pointers[ $hook_suffix ] ) )
  			return;
  
! 		$pointer = $registered_pointers[ $hook_suffix ];
  
  		$caps_required = array(
  			'wp330_media_uploader' => array( 'upload_files' ),
  			'wp330_saving_widgets' => array( 'edit_theme_options', 'switch_themes' ),
  		);
  
- 		if ( isset( $caps_required[ $pointer ] ) ) {
- 			foreach ( $caps_required[ $pointer ] as $cap ) {
- 				if ( ! current_user_can( $cap ) )
- 					return;
- 			}
- 		}
- 
  		// Get dismissed pointers
  		$dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
  
! 		// Pointer has been dismissed
! 		if ( in_array( $pointer, $dismissed ) )
! 			return;
  
! 		// Bind pointer print function
! 		add_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_' . $pointer ) );
  
  		// Add pointers script and style to queue
  		wp_enqueue_style( 'wp-pointer' );
--- 1708,1750 ----
  			'index.php'    => 'wp330_toolbar',
  			'post-new.php' => 'wp330_media_uploader',
  			'post.php'     => 'wp330_media_uploader',
! 			'themes.php'   => array( 'wp330_saving_widgets', 'wp340_customize_current_theme_link' ),
! 			'appearance_page_custom-header' => 'wp340_choose_image_from_library',
! 			'appearance_page_custom-background' => 'wp340_choose_image_from_library',
  		);
  
  		// Check if screen related pointer is registered
  		if ( empty( $registered_pointers[ $hook_suffix ] ) )
  			return;
  
! 		$pointers = (array) $registered_pointers[ $hook_suffix ];
  
  		$caps_required = array(
  			'wp330_media_uploader' => array( 'upload_files' ),
  			'wp330_saving_widgets' => array( 'edit_theme_options', 'switch_themes' ),
+ 			'wp340_customize_current_theme_link' => array( 'edit_theme_options' ),
+ 			'wp340_choose_image_from_library' => array( 'edit_theme_options' ),
  		);
  
  		// Get dismissed pointers
  		$dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
  
! 		$got_pointers = false;
! 		foreach ( array_diff( $pointers, $dismissed ) as $pointer ) {
! 			if ( isset( $caps_required[ $pointer ] ) ) {
! 				foreach ( $caps_required[ $pointer ] as $cap ) {
! 					if ( ! current_user_can( $cap ) )
! 						continue 2;
! 				}
! 			}
  
! 			// Bind pointer print function
! 			add_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_' . $pointer ) );
! 			$got_pointers = true;
! 		}
! 
! 		if ( ! $got_pointers )
! 			return;
  
  		// Add pointers script and style to queue
  		wp_enqueue_style( 'wp-pointer' );
***************
*** 1738,1745 ****
  		?>
  		<script type="text/javascript">
  		//<![CDATA[
! 		jQuery(document).ready( function($) {
! 			var options = <?php echo json_encode( $args ); ?>;
  
  			if ( ! options )
  				return;
--- 1767,1774 ----
  		?>
  		<script type="text/javascript">
  		//<![CDATA[
! 		(function($){
! 			var options = <?php echo json_encode( $args ); ?>, setup;
  
  			if ( ! options )
  				return;
***************
*** 1753,1760 ****
  				}
  			});
  
! 			$('<?php echo $selector; ?>').pointer( options ).pointer('open');
! 		});
  		//]]>
  		</script>
  		<?php
--- 1782,1797 ----
  				}
  			});
  
! 			setup = function() {
! 				$('<?php echo $selector; ?>').pointer( options ).pointer('open');
! 			};
! 
! 			if ( options.position && options.position.defer_loading )
! 				$(window).bind( 'load.wp-pointers', setup );
! 			else
! 				$(document).ready( setup );
! 
! 		})( jQuery );
  		//]]>
  		</script>
  		<?php
***************
*** 1795,1801 ****
  	 */
  	public static function pointer_wp330_saving_widgets() {
  		$content  = '<h3>' . __( 'New Feature: Saving Widgets' ) . '</h3>';
! 		$content .= '<p>' . __( 'If you change your mind and revert to your previous theme, we&#8217;ll put the widgets back the way you had them.' ). '</p>';
  
  		WP_Internal_Pointers::print_js( 'wp330_saving_widgets', '#message2', array(
  			'content'  => $content,
--- 1832,1838 ----
  	 */
  	public static function pointer_wp330_saving_widgets() {
  		$content  = '<h3>' . __( 'New Feature: Saving Widgets' ) . '</h3>';
! 		$content .= '<p>' . __( 'If you change your mind and revert to your previous theme, we&#8217;ll put the widgets back the way you had them.' ) . '</p>';
  
  		WP_Internal_Pointers::print_js( 'wp330_saving_widgets', '#message2', array(
  			'content'  => $content,
***************
*** 1804,1815 ****
  	}
  
  	/**
  	 * Prevents new users from seeing existing 'new feature' pointers.
  	 *
  	 * @since 3.3.0
  	 */
  	public static function dismiss_pointers_for_new_users( $user_id ) {
! 		add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_media_uploader,wp330_saving_widgets' );
  	}
  }
  
--- 1841,1883 ----
  	}
  
  	/**
+ 	 * Print 'New Feature: Current Theme Customize Link' for 3.4.0.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public static function pointer_wp340_customize_current_theme_link() {
+ 		$content  = '<h3>' . __( 'New Feature: Customizer' ) . '</h3>';
+ 		$content .= '<p>' . __( 'Click Customize to change the header, background, title and menus of the current theme, all in one place.' ) . '</p>';
+ 		$content .= '<p>' . __( 'Click the Live Preview links in the Available Themes list below to customize and preview another theme before activating it.' ) . '</p>';
+ 
+ 		WP_Internal_Pointers::print_js( 'wp340_customize_current_theme_link', '#customize-current-theme-link', array(
+ 			'content'  => $content,
+ 			'position' => array( 'edge' => 'top', 'align' => is_rtl() ? 'right' : 'left', 'offset' => is_rtl() ? '32 0' : '-32 0' ),
+ 		) );
+ 	}
+ 
+ 	/**
+ 	 * Print 'New Feature: Choose Image from Library' for 3.4.0.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public static function pointer_wp340_choose_image_from_library() {
+ 		$content  = '<h3>' . __( 'New Feature: Choose Image from Library' ) . '</h3>';
+ 		$content .= '<p>' . __( 'Want to use an image you uploaded earlier? Select it from your media library instead of uploading it again.' ) . '</p>';
+ 
+ 		WP_Internal_Pointers::print_js( 'wp340_choose_image_from_library', '#choose-from-library-link', array(
+ 			'content'  => $content,
+ 			'position' => array( 'edge' => 'top', 'align' => is_rtl() ? 'right' : 'left', 'defer_loading' => true ),
+ 		) );
+ 	}
+ 
+ 	/**
  	 * Prevents new users from seeing existing 'new feature' pointers.
  	 *
  	 * @since 3.3.0
  	 */
  	public static function dismiss_pointers_for_new_users( $user_id ) {
! 		add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_media_uploader,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link' );
  	}
  }
  
***************
*** 1831,1834 ****
  	}
  
  	return WP_Screen::get( $hook_name );
! }
\ No newline at end of file
--- 1899,1902 ----
  	}
  
  	return WP_Screen::get( $hook_name );
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/theme-install.php ./wordpress-3.4/wp-admin/includes/theme-install.php
*** ./wordpress-3.3.2/wp-admin/includes/theme-install.php	2011-10-20 10:04:46.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/theme-install.php	2012-05-16 18:38:53.000000000 -0500
***************
*** 24,38 ****
   *
   * @since 2.8.0
   *
!  * @deprecated since 3.1.0  Use get_theme_feature_list() instead.
   *
   * @return array
   */
  function install_themes_feature_list( ) {
  	if ( !$cache = get_transient( 'wporg_theme_feature_list' ) )
! 		set_transient( 'wporg_theme_feature_list', array( ),  10800);
  
! 	if ( $cache  )
  		return $cache;
  
  	$feature_list = themes_api( 'feature_list', array( ) );
--- 24,38 ----
   *
   * @since 2.8.0
   *
!  * @deprecated since 3.1.0 Use get_theme_feature_list() instead.
   *
   * @return array
   */
  function install_themes_feature_list( ) {
  	if ( !$cache = get_transient( 'wporg_theme_feature_list' ) )
! 		set_transient( 'wporg_theme_feature_list', array( ), 10800);
  
! 	if ( $cache )
  		return $cache;
  
  	$feature_list = themes_api( 'feature_list', array( ) );
***************
*** 49,68 ****
   *
   * @since 2.8.0
   */
! function install_theme_search_form() {
! 	$type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : '';
  	$term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '';
  	?>
- <p class="install-help"><?php _e('Search for themes by keyword, author, or tag.') ?></p>
- 
  <form id="search-themes" method="get" action="">
  	<input type="hidden" name="tab" value="search" />
  	<select	name="type" id="typeselector">
! 	<option value="term" <?php selected('term', $type) ?>><?php _e('Term'); ?></option>
  	<option value="author" <?php selected('author', $type) ?>><?php _e('Author'); ?></option>
  	<option value="tag" <?php selected('tag', $type) ?>><?php _ex('Tag', 'Theme Installer'); ?></option>
  	</select>
! 	<input type="text" name="s" size="30" value="<?php echo esc_attr($term) ?>" />
  	<?php submit_button( __( 'Search' ), 'button', 'search', false ); ?>
  </form>
  <?php
--- 49,70 ----
   *
   * @since 2.8.0
   */
! function install_theme_search_form( $type_selector = true ) {
! 	$type = isset( $_REQUEST['type'] ) ? stripslashes( $_REQUEST['type'] ) : 'term';
  	$term = isset( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : '';
+ 	if ( ! $type_selector )
+ 		echo '<p class="install-help">' . __( 'Search for themes by keyword.' ) . '</p>';
  	?>
  <form id="search-themes" method="get" action="">
  	<input type="hidden" name="tab" value="search" />
+ 	<?php if ( $type_selector ) : ?>
  	<select	name="type" id="typeselector">
! 	<option value="term" <?php selected('term', $type) ?>><?php _e('Keyword'); ?></option>
  	<option value="author" <?php selected('author', $type) ?>><?php _e('Author'); ?></option>
  	<option value="tag" <?php selected('tag', $type) ?>><?php _ex('Tag', 'Theme Installer'); ?></option>
  	</select>
! 	<?php endif; ?>
! 	<input type="search" name="s" size="30" value="<?php echo esc_attr($term) ?>" />
  	<?php submit_button( __( 'Search' ), 'button', 'search', false ); ?>
  </form>
  <?php
***************
*** 74,84 ****
   * @since 2.8.0
   */
  function install_themes_dashboard() {
! 	install_theme_search_form();
  ?>
  <h4><?php _e('Feature Filter') ?></h4>
! <form method="post" action="<?php echo self_admin_url( 'theme-install.php?tab=search' ); ?>">
! <p class="install-help"><?php _e('Find a theme based on specific features') ?></p>
  	<?php
  	$feature_list = get_theme_feature_list( );
  	echo '<div class="feature-filter">';
--- 76,88 ----
   * @since 2.8.0
   */
  function install_themes_dashboard() {
! 	install_theme_search_form( false );
  ?>
  <h4><?php _e('Feature Filter') ?></h4>
! <p class="install-help"><?php _e( 'Find a theme based on specific features.' ); ?></p>
! 
! <form method="get" action="">
! 	<input type="hidden" name="tab" value="search" />
  	<?php
  	$feature_list = get_theme_feature_list( );
  	echo '<div class="feature-filter">';
***************
*** 94,100 ****
  ?>
  
  <li>
! 	<input type="checkbox" name="features[<?php echo $feature; ?>]" id="feature-id-<?php echo $feature; ?>" value="<?php echo $feature; ?>" />
  	<label for="feature-id-<?php echo $feature; ?>"><?php echo $feature_name; ?></label>
  </li>
  
--- 98,104 ----
  ?>
  
  <li>
! 	<input type="checkbox" name="features[]" id="feature-id-<?php echo $feature; ?>" value="<?php echo $feature; ?>" />
  	<label for="feature-id-<?php echo $feature; ?>"><?php echo $feature_name; ?></label>
  </li>
  
***************
*** 125,199 ****
  }
  add_action('install_themes_upload', 'install_themes_upload', 10, 1);
  
! function display_theme($theme, $actions = null, $show_details = true) {
! 	global $themes_allowedtags;
! 
! 	if ( empty($theme) )
! 		return;
! 
! 	$name = wp_kses($theme->name, $themes_allowedtags);
! 	$desc = wp_kses($theme->description, $themes_allowedtags);
! 	//if ( strlen($desc) > 30 )
! 	//	$desc =  substr($desc, 0, 15) . '<span class="dots">...</span><span>' . substr($desc, -15) . '</span>';
! 
! 	$preview_link = $theme->preview_url . '?TB_iframe=true&amp;width=600&amp;height=400';
! 	if ( !is_array($actions) ) {
! 		$actions = array();
! 		$actions[] = '<a href="' . self_admin_url('theme-install.php?tab=theme-information&amp;theme=' . $theme->slug .
! 										'&amp;TB_iframe=true&amp;tbWidth=500&amp;tbHeight=385') . '" class="thickbox thickbox-preview onclick" title="' . esc_attr(sprintf(__('Install &#8220;%s&#8221;'), $name)) . '">' . __('Install') . '</a>';
! 		if ( !is_network_admin() )
! 			$actions[] = '<a href="' . $preview_link . '" class="thickbox thickbox-preview onclick previewlink" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $name)) . '">' . __('Preview') . '</a>';
! 		$actions = apply_filters('theme_install_action_links', $actions, $theme);
! 	}
! 
! 	$actions = implode ( ' | ', $actions );
! 	?>
! <a class='thickbox thickbox-preview screenshot'
! 	href='<?php echo esc_url($preview_link); ?>'
! 	title='<?php echo esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $name)); ?>'>
! <img src='<?php echo esc_url($theme->screenshot_url); ?>' width='150' />
! </a>
! <h3><?php echo $name ?></h3>
! <span class='action-links'><?php echo $actions ?></span>
! <p><?php echo $desc ?></p>
! <?php if ( $show_details ) { ?>
! <a href="#theme_detail" class="theme-detail hide-if-no-js" tabindex='4'><?php _e('Details') ?></a>
! <div class="themedetaildiv hide-if-js">
! <p><strong><?php _e('Version:') ?></strong> <?php echo wp_kses($theme->version, $themes_allowedtags) ?></p>
! <p><strong><?php _e('Author:') ?></strong> <?php echo wp_kses($theme->author, $themes_allowedtags) ?></p>
! <?php if ( ! empty($theme->last_updated) ) : ?>
! <p><strong><?php _e('Last Updated:') ?></strong> <span title="<?php echo $theme->last_updated ?>"><?php printf( __('%s ago'), human_time_diff(strtotime($theme->last_updated)) ) ?></span></p>
! <?php endif; if ( ! empty($theme->requires) ) : ?>
! <p><strong><?php _e('Requires WordPress Version:') ?></strong> <?php printf(__('%s or higher'), $theme->requires) ?></p>
! <?php endif; if ( ! empty($theme->tested) ) : ?>
! <p><strong><?php _e('Compatible up to:') ?></strong> <?php echo $theme->tested ?></p>
! <?php endif; if ( !empty($theme->downloaded) ) : ?>
! <p><strong><?php _e('Downloaded:') ?></strong> <?php printf(_n('%s time', '%s times', $theme->downloaded), number_format_i18n($theme->downloaded)) ?></p>
! <?php endif; ?>
! <div class="star-holder" title="<?php printf(_n('(based on %s rating)', '(based on %s ratings)', $theme->num_ratings), number_format_i18n($theme->num_ratings)) ?>">
! 	<div class="star star-rating" style="width: <?php echo esc_attr($theme->rating) ?>px"></div>
! 	<div class="star star5"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('5 stars') ?>" /></div>
! 	<div class="star star4"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('4 stars') ?>" /></div>
! 	<div class="star star3"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('3 stars') ?>" /></div>
! 	<div class="star star2"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('2 stars') ?>" /></div>
! 	<div class="star star1"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php esc_attr_e('1 star') ?>" /></div>
! </div>
! </div>
! <?php }
! 	/*
! 	 object(stdClass)[59]
! 	 public 'name' => string 'Magazine Basic' (length=14)
! 	 public 'slug' => string 'magazine-basic' (length=14)
! 	 public 'version' => string '1.1' (length=3)
! 	 public 'author' => string 'tinkerpriest' (length=12)
! 	 public 'preview_url' => string 'http://wp-themes.com/?magazine-basic' (length=36)
! 	 public 'screenshot_url' => string 'http://wp-themes.com/wp-content/themes/magazine-basic/screenshot.png' (length=68)
! 	 public 'rating' => float 80
! 	 public 'num_ratings' => int 1
! 	 public 'homepage' => string 'http://wordpress.org/extend/themes/magazine-basic' (length=49)
! 	 public 'description' => string 'A basic magazine style layout with a fully customizable layout through a backend interface. Designed by <a href="http://bavotasan.com">c.bavota</a> of <a href="http://tinkerpriestmedia.com">Tinker Priest Media</a>.' (length=214)
! 	 public 'download_link' => string 'http://wordpress.org/extend/themes/download/magazine-basic.1.1.zip' (length=66)
! 	 */
  }
  
  /**
--- 129,143 ----
  }
  add_action('install_themes_upload', 'install_themes_upload', 10, 1);
  
! /**
!  * Prints a theme on the Install Themes pages.
!  *
!  * @deprecated 3.4.0
!  */
! function display_theme( $theme ) {
! 	_deprecated_function( __FUNCTION__, '3.4' );
! 	global $wp_list_table;
! 	return $wp_list_table->single_row( $theme );
  }
  
  /**
***************
*** 217,321 ****
   * @since 2.8.0
   */
  function install_theme_information() {
! 	//TODO: This function needs a LOT of UI work :)
! 	global $tab, $themes_allowedtags;
! 
! 	$api = themes_api('theme_information', array('slug' => stripslashes( $_REQUEST['theme'] ) ));
  
! 	if ( is_wp_error($api) )
! 		wp_die($api);
  
! 	// Sanitize HTML
! 	foreach ( (array)$api->sections as $section_name => $content )
! 		$api->sections[$section_name] = wp_kses($content, $themes_allowedtags);
! 
! 	foreach ( array('version', 'author', 'requires', 'tested', 'homepage', 'downloaded', 'slug') as $key ) {
! 		if ( isset($api->$key) )
! 			$api->$key = wp_kses($api->$key, $themes_allowedtags);
! 	}
  
  	iframe_header( __('Theme Install') );
! 
! 	if ( empty($api->download_link) ) {
! 		echo '<div id="message" class="error"><p>' . __('<strong>ERROR:</strong> This theme is currently not available. Please try again later.') . '</p></div>';
! 		iframe_footer();
! 		exit;
! 	}
! 
! 	if ( !empty($api->tested) && version_compare($GLOBALS['wp_version'], $api->tested, '>') )
! 		echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This theme has <strong>not been tested</strong> with your current version of WordPress.') . '</p></div>';
! 	else if ( !empty($api->requires) && version_compare($GLOBALS['wp_version'], $api->requires, '<') )
! 		echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This theme has not been marked as <strong>compatible</strong> with your version of WordPress.') . '</p></div>';
! 
! 	// Default to a "new" theme
! 	$type = 'install';
! 	// Check to see if this theme is known to be installed, and has an update awaiting it.
! 	$update_themes = get_site_transient('update_themes');
! 	if ( is_object($update_themes) && isset($update_themes->response) ) {
! 		foreach ( (array)$update_themes->response as $theme_slug => $theme_info ) {
! 			if ( $theme_slug === $api->slug ) {
! 				$type = 'update_available';
! 				$update_file = $theme_slug;
! 				break;
! 			}
! 		}
! 	}
! 
! 	$themes = get_themes();
! 	foreach ( (array) $themes as $this_theme ) {
! 		if ( is_array($this_theme) && $this_theme['Stylesheet'] == $api->slug ) {
! 			if ( $this_theme['Version'] == $api->version ) {
! 				$type = 'latest_installed';
! 			} elseif ( $this_theme['Version'] > $api->version ) {
! 				$type = 'newer_installed';
! 				$newer_version = $this_theme['Version'];
! 			}
! 			break;
! 		}
! 	}
! ?>
! 
! <div class='available-theme'>
! <img src='<?php echo esc_url($api->screenshot_url) ?>' width='300' class="theme-preview-img" />
! <h3><?php echo $api->name; ?></h3>
! <p><?php printf(__('by %s'), $api->author); ?></p>
! <p><?php printf(__('Version: %s'), $api->version); ?></p>
! 
! <?php
! $buttons = '<a class="button" id="cancel" href="#" onclick="tb_close();return false;">' . __('Cancel') . '</a> ';
! 
! switch ( $type ) {
! default:
! case 'install':
! 	if ( current_user_can('install_themes') ) :
! 	$buttons .= '<a class="button-primary" id="install" href="' . wp_nonce_url(self_admin_url('update.php?action=install-theme&theme=' . $api->slug), 'install-theme_' . $api->slug) . '" target="_parent">' . __('Install Now') . '</a>';
! 	endif;
! 	break;
! case 'update_available':
! 	if ( current_user_can('update_themes') ) :
! 	$buttons .= '<a class="button-primary" id="install"	href="' . wp_nonce_url(self_admin_url('update.php?action=upgrade-theme&theme=' . $update_file), 'upgrade-theme_' . $update_file) . '" target="_parent">' . __('Install Update Now') . '</a>';
! 	endif;
! 	break;
! case 'newer_installed':
! 	if ( current_user_can('install_themes') || current_user_can('update_themes') ) :
! 	?><p><?php printf(__('Newer version (%s) is installed.'), $newer_version); ?></p><?php
! 	endif;
! 	break;
! case 'latest_installed':
! 	if ( current_user_can('install_themes') || current_user_can('update_themes') ) :
! 	?><p><?php _e('This version is already installed.'); ?></p><?php
! 	endif;
! 	break;
! } ?>
! <br class="clear" />
! </div>
! 
! <p class="action-button">
! <?php echo $buttons; ?>
! <br class="clear" />
! </p>
! 
! <?php
  	iframe_footer();
  	exit;
  }
--- 161,175 ----
   * @since 2.8.0
   */
  function install_theme_information() {
! 	global $tab, $themes_allowedtags, $wp_list_table;
  
! 	$theme = themes_api( 'theme_information', array( 'slug' => stripslashes( $_REQUEST['theme'] ) ) );
  
! 	if ( is_wp_error( $theme ) )
! 		wp_die( $theme );
  
  	iframe_header( __('Theme Install') );
! 	$wp_list_table->theme_installer_single( $theme );
  	iframe_footer();
  	exit;
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/theme.php ./wordpress-3.4/wp-admin/includes/theme.php
*** ./wordpress-3.3.2/wp-admin/includes/theme.php	2011-11-11 08:10:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/theme.php	2012-06-06 15:34:24.000000000 -0500
***************
*** 7,69 ****
   */
  
  /**
-  * {@internal Missing Short Description}}
-  *
-  * @since 2.0.0
-  *
-  * @return unknown
-  */
- function current_theme_info() {
- 	$themes = get_themes();
- 	$current_theme = get_current_theme();
- 
- 	if ( ! $themes ) {
- 		$ct = new stdClass;
- 		$ct->name = $current_theme;
- 		return $ct;
- 	}
- 
- 	if ( ! isset( $themes[$current_theme] ) ) {
- 		delete_option( 'current_theme' );
- 		$current_theme = get_current_theme();
- 	}
- 
- 	$ct = new stdClass;
- 	$ct->name = $current_theme;
- 	$ct->title = $themes[$current_theme]['Title'];
- 	$ct->version = $themes[$current_theme]['Version'];
- 	$ct->parent_theme = $themes[$current_theme]['Parent Theme'];
- 	$ct->template_dir = $themes[$current_theme]['Template Dir'];
- 	$ct->stylesheet_dir = $themes[$current_theme]['Stylesheet Dir'];
- 	$ct->template = $themes[$current_theme]['Template'];
- 	$ct->stylesheet = $themes[$current_theme]['Stylesheet'];
- 	$ct->screenshot = $themes[$current_theme]['Screenshot'];
- 	$ct->description = $themes[$current_theme]['Description'];
- 	$ct->author = $themes[$current_theme]['Author'];
- 	$ct->tags = $themes[$current_theme]['Tags'];
- 	$ct->theme_root = $themes[$current_theme]['Theme Root'];
- 	$ct->theme_root_uri = $themes[$current_theme]['Theme Root URI'];
- 	return $ct;
- }
- 
- /**
   * Remove a theme
   *
   * @since 2.8.0
   *
!  * @param string $template Template directory of the theme to delete
   * @param string $redirect Redirect to page when complete.
   * @return mixed
   */
! function delete_theme($template, $redirect = '') {
  	global $wp_filesystem;
  
! 	if ( empty($template) )
  		return false;
  
  	ob_start();
  	if ( empty( $redirect ) )
! 		$redirect = wp_nonce_url('themes.php?action=delete&template=' . $template, 'delete-theme_' . $template);
  	if ( false === ($credentials = request_filesystem_credentials($redirect)) ) {
  		$data = ob_get_contents();
  		ob_end_clean();
--- 7,29 ----
   */
  
  /**
   * Remove a theme
   *
   * @since 2.8.0
   *
!  * @param string $stylesheet Stylesheet of the theme to delete
   * @param string $redirect Redirect to page when complete.
   * @return mixed
   */
! function delete_theme($stylesheet, $redirect = '') {
  	global $wp_filesystem;
  
! 	if ( empty($stylesheet) )
  		return false;
  
  	ob_start();
  	if ( empty( $redirect ) )
! 		$redirect = wp_nonce_url('themes.php?action=delete&stylesheet=' . $stylesheet, 'delete-theme_' . $stylesheet);
  	if ( false === ($credentials = request_filesystem_credentials($redirect)) ) {
  		$data = ob_get_contents();
  		ob_end_clean();
***************
*** 102,112 ****
  		return new WP_Error('fs_no_themes_dir', __('Unable to locate WordPress theme directory.'));
  
  	$themes_dir = trailingslashit( $themes_dir );
! 	$theme_dir = trailingslashit($themes_dir . $template);
  	$deleted = $wp_filesystem->delete($theme_dir, true);
  
  	if ( ! $deleted )
! 		return new WP_Error('could_not_remove_theme', sprintf(__('Could not fully remove the theme %s.'), $template) );
  
  	// Force refresh of theme update information
  	delete_site_transient('update_themes');
--- 61,71 ----
  		return new WP_Error('fs_no_themes_dir', __('Unable to locate WordPress theme directory.'));
  
  	$themes_dir = trailingslashit( $themes_dir );
! 	$theme_dir = trailingslashit($themes_dir . $stylesheet);
  	$deleted = $wp_filesystem->delete($theme_dir, true);
  
  	if ( ! $deleted )
! 		return new WP_Error('could_not_remove_theme', sprintf(__('Could not fully remove the theme %s.'), $stylesheet) );
  
  	// Force refresh of theme update information
  	delete_site_transient('update_themes');
***************
*** 115,173 ****
  }
  
  /**
-  * {@internal Missing Short Description}}
-  *
-  * @since 1.5.0
-  *
-  * @return unknown
-  */
- function get_broken_themes() {
- 	global $wp_broken_themes;
- 
- 	get_themes();
- 	return $wp_broken_themes;
- }
- 
- /**
-  * Get the allowed themes for the current blog.
-  *
-  * @since 3.0.0
-  *
-  * @uses get_themes()
-  * @uses current_theme_info()
-  * @uses get_site_allowed_themes()
-  * @uses wpmu_get_blog_allowedthemes
-  *
-  * @return array $themes Array of allowed themes.
-  */
- function get_allowed_themes() {
- 	if ( !is_multisite() )
- 		return get_themes();
- 
- 	$themes = get_themes();
- 	$ct = current_theme_info();
- 	$allowed_themes = apply_filters("allowed_themes", get_site_allowed_themes() );
- 	if ( $allowed_themes == false )
- 		$allowed_themes = array();
- 
- 	$blog_allowed_themes = wpmu_get_blog_allowedthemes();
- 	if ( is_array( $blog_allowed_themes ) )
- 		$allowed_themes = array_merge( $allowed_themes, $blog_allowed_themes );
- 
- 	if ( isset( $allowed_themes[ esc_html( $ct->stylesheet ) ] ) == false )
- 		$allowed_themes[ esc_html( $ct->stylesheet ) ] = true;
- 
- 	reset( $themes );
- 	foreach ( $themes as $key => $theme ) {
- 		if ( isset( $allowed_themes[ esc_html( $theme[ 'Stylesheet' ] ) ] ) == false )
- 			unset( $themes[ $key ] );
- 	}
- 	reset( $themes );
- 
- 	return $themes;
- }
- 
- /**
   * Get the Page Templates available in this theme
   *
   * @since 1.5.0
--- 74,79 ----
***************
*** 175,211 ****
   * @return array Key is the template name, value is the filename of the template
   */
  function get_page_templates() {
! 	$themes = get_themes();
! 	$theme = get_current_theme();
! 	$templates = $themes[$theme]['Template Files'];
! 	$page_templates = array();
! 
! 	if ( is_array( $templates ) ) {
! 		$base = array( trailingslashit(get_template_directory()), trailingslashit(get_stylesheet_directory()) );
! 
! 		foreach ( $templates as $template ) {
! 			$basename = str_replace($base, '', $template);
! 
! 			// don't allow template files in subdirectories
! 			if ( false !== strpos($basename, '/') )
! 				continue;
! 
! 			if ( 'functions.php' == $basename )
! 				continue;
! 
! 			$template_data = implode( '', file( $template ));
! 
! 			$name = '';
! 			if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) )
! 				$name = _cleanup_header_comment($name[1]);
! 
! 			if ( !empty( $name ) ) {
! 				$page_templates[trim( $name )] = $basename;
! 			}
! 		}
! 	}
! 
! 	return $page_templates;
  }
  
  /**
--- 81,87 ----
   * @return array Key is the template name, value is the filename of the template
   */
  function get_page_templates() {
! 	return array_flip( wp_get_theme()->get_page_templates() );
  }
  
  /**
***************
*** 241,259 ****
  	if ( !isset($themes_update) )
  		$themes_update = get_site_transient('update_themes');
  
! 	if ( is_object($theme) && isset($theme->stylesheet) )
! 		$stylesheet = $theme->stylesheet;
! 	elseif ( is_array($theme) && isset($theme['Stylesheet']) )
! 		$stylesheet = $theme['Stylesheet'];
! 	else
! 		return false; //No valid info passed.
  
  	if ( isset($themes_update->response[ $stylesheet ]) ) {
  		$update = $themes_update->response[ $stylesheet ];
! 		$theme_name = is_object($theme) ? $theme->name : (is_array($theme) ? $theme['Name'] : '');
  		$details_url = add_query_arg(array('TB_iframe' => 'true', 'width' => 1024, 'height' => 800), $update['url']); //Theme browser inside WP? replace this, Also, theme preview JS will override this on the available list.
  		$update_url = wp_nonce_url('update.php?action=upgrade-theme&amp;theme=' . urlencode($stylesheet), 'upgrade-theme_' . $stylesheet);
! 		$update_onclick = 'onclick="if ( confirm(\'' . esc_js( __("Updating this theme will lose any customizations you have made.  'Cancel' to stop, 'OK' to update.") ) . '\') ) {return true;}return false;"';
  
  		if ( !is_multisite() ) {
  			if ( ! current_user_can('update_themes') )
--- 117,133 ----
  	if ( !isset($themes_update) )
  		$themes_update = get_site_transient('update_themes');
  
! 	if ( ! is_a( $theme, 'WP_Theme' ) )
! 		return;
! 
! 	$stylesheet = $theme->get_stylesheet();
  
  	if ( isset($themes_update->response[ $stylesheet ]) ) {
  		$update = $themes_update->response[ $stylesheet ];
! 		$theme_name = $theme->display('Name');
  		$details_url = add_query_arg(array('TB_iframe' => 'true', 'width' => 1024, 'height' => 800), $update['url']); //Theme browser inside WP? replace this, Also, theme preview JS will override this on the available list.
  		$update_url = wp_nonce_url('update.php?action=upgrade-theme&amp;theme=' . urlencode($stylesheet), 'upgrade-theme_' . $stylesheet);
! 		$update_onclick = 'onclick="if ( confirm(\'' . esc_js( __("Updating this theme will lose any customizations you have made. 'Cancel' to stop, 'OK' to update.") ) . '\') ) {return true;}return false;"';
  
  		if ( !is_multisite() ) {
  			if ( ! current_user_can('update_themes') )
***************
*** 261,267 ****
  			else if ( empty($update['package']) )
  				printf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a>. <em>Automatic update is unavailable for this theme.</em>') . '</strong></p>', $theme_name, $details_url, $update['new_version']);
  			else
! 				printf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a> or <a href="%4$s" %5$s>update automatically</a>.') . '</strong></p>', $theme_name, $details_url, $update['new_version'], $update_url, $update_onclick );
  		}
  	}
  }
--- 135,141 ----
  			else if ( empty($update['package']) )
  				printf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a>. <em>Automatic update is unavailable for this theme.</em>') . '</strong></p>', $theme_name, $details_url, $update['new_version']);
  			else
! 				printf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a> or <a href="%4$s" %5$s>update now</a>.') . '</strong></p>', $theme_name, $details_url, $update['new_version'], $update_url, $update_onclick );
  		}
  	}
  }
***************
*** 271,279 ****
   *
   * @since 3.1.0
   *
!  * @return array  Array of features keyed by category with translations keyed by slug.
   */
! function get_theme_feature_list() {
  	// Hard-coded list is used if api not accessible.
  	$features = array(
  			__('Colors') => array(
--- 145,154 ----
   *
   * @since 3.1.0
   *
!  * @param bool $api Optional. Whether try to fetch tags from the WP.org API. Defaults to true.
!  * @return array Array of features keyed by category with translations keyed by slug.
   */
! function get_theme_feature_list( $api = true ) {
  	// Hard-coded list is used if api not accessible.
  	$features = array(
  			__('Colors') => array(
***************
*** 291,297 ****
  				'white'   => __( 'White' ),
  				'yellow'  => __( 'Yellow' ),
  				'dark'    => __( 'Dark' ),
! 				'light'   => __( 'Light ')
  			),
  
  		__('Columns') => array(
--- 166,172 ----
  				'white'   => __( 'White' ),
  				'yellow'  => __( 'Yellow' ),
  				'dark'    => __( 'Dark' ),
! 				'light'   => __( 'Light' ),
  			),
  
  		__('Columns') => array(
***************
*** 300,311 ****
  			'three-columns' => __( 'Three Columns' ),
  			'four-columns'  => __( 'Four Columns' ),
  			'left-sidebar'  => __( 'Left Sidebar' ),
! 			'right-sidebar' => __( 'Right Sidebar' )
  		),
  
  		__('Width') => array(
  			'fixed-width'    => __( 'Fixed Width' ),
! 			'flexible-width' => __( 'Flexible Width' )
  		),
  
  		__( 'Features' ) => array(
--- 175,186 ----
  			'three-columns' => __( 'Three Columns' ),
  			'four-columns'  => __( 'Four Columns' ),
  			'left-sidebar'  => __( 'Left Sidebar' ),
! 			'right-sidebar' => __( 'Right Sidebar' ),
  		),
  
  		__('Width') => array(
  			'fixed-width'    => __( 'Fixed Width' ),
! 			'flexible-width' => __( 'Flexible Width' ),
  		),
  
  		__( 'Features' ) => array(
***************
*** 326,346 ****
  			'sticky-post'           => __( 'Sticky Post' ),
  			'theme-options'         => __( 'Theme Options' ),
  			'threaded-comments'     => __( 'Threaded Comments' ),
! 			'translation-ready'     => __( 'Translation Ready' )
  		),
  
  		__( 'Subject' )  => array(
  			'holiday'       => __( 'Holiday' ),
  			'photoblogging' => __( 'Photoblogging' ),
! 			'seasonal'      => __( 'Seasonal' )
  		)
  	);
  
! 	if ( !current_user_can('install_themes') )
  		return $features;
  
  	if ( !$feature_list = get_site_transient( 'wporg_theme_feature_list' ) )
! 		set_site_transient( 'wporg_theme_feature_list', array( ),  10800);
  
  	if ( !$feature_list ) {
  		$feature_list = themes_api( 'feature_list', array( ) );
--- 201,221 ----
  			'sticky-post'           => __( 'Sticky Post' ),
  			'theme-options'         => __( 'Theme Options' ),
  			'threaded-comments'     => __( 'Threaded Comments' ),
! 			'translation-ready'     => __( 'Translation Ready' ),
  		),
  
  		__( 'Subject' )  => array(
  			'holiday'       => __( 'Holiday' ),
  			'photoblogging' => __( 'Photoblogging' ),
! 			'seasonal'      => __( 'Seasonal' ),
  		)
  	);
  
! 	if ( ! $api || ! current_user_can( 'install_themes' ) )
  		return $features;
  
  	if ( !$feature_list = get_site_transient( 'wporg_theme_feature_list' ) )
! 		set_site_transient( 'wporg_theme_feature_list', array( ), 10800);
  
  	if ( !$feature_list ) {
  		$feature_list = themes_api( 'feature_list', array( ) );
***************
*** 408,422 ****
  	if ( ! $res ) {
  		$request = wp_remote_post('http://api.wordpress.org/themes/info/1.0/', array( 'body' => array('action' => $action, 'request' => serialize($args))) );
  		if ( is_wp_error($request) ) {
! 			$res = new WP_Error('themes_api_failed', __('An Unexpected HTTP Error occurred during the API request.'), $request->get_error_message() );
  		} else {
! 			$res = unserialize( wp_remote_retrieve_body( $request ) );
! 			if ( ! $res )
! 			$res = new WP_Error('themes_api_failed', __('An unknown error occurred.'), wp_remote_retrieve_body( $request ) );
  		}
  	}
! 	//var_dump(array($args, $res));
  	return apply_filters('themes_api_result', $res, $action, $args);
  }
- 
- ?>
--- 283,295 ----
  	if ( ! $res ) {
  		$request = wp_remote_post('http://api.wordpress.org/themes/info/1.0/', array( 'body' => array('action' => $action, 'request' => serialize($args))) );
  		if ( is_wp_error($request) ) {
! 			$res = new WP_Error('themes_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
  		} else {
! 			$res = maybe_unserialize( wp_remote_retrieve_body( $request ) );
! 			if ( ! is_object( $res ) && ! is_array( $res ) )
! 				$res = new WP_Error('themes_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) );
  		}
  	}
! 
  	return apply_filters('themes_api_result', $res, $action, $args);
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/update-core.php ./wordpress-3.4/wp-admin/includes/update-core.php
*** ./wordpress-3.3.2/wp-admin/includes/update-core.php	2012-04-20 07:44:18.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/update-core.php	2012-05-25 13:12:29.000000000 -0500
***************
*** 18,30 ****
  global $_old_files;
  
  $_old_files = array(
! 'wp-admin/bookmarklet.php',
  'wp-admin/css/upload.css',
- 'wp-admin/css/upload-rtl.css',
- 'wp-admin/css/press-this-ie.css',
- 'wp-admin/css/press-this-ie-rtl.css',
- 'wp-admin/edit-form.php',
- 'wp-admin/link-import.php',
  'wp-admin/images/box-bg-left.gif',
  'wp-admin/images/box-bg-right.gif',
  'wp-admin/images/box-bg.gif',
--- 18,91 ----
  global $_old_files;
  
  $_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',
***************
*** 39,85 ****
  'wp-admin/images/login-bkg-tile.gif',
  'wp-admin/images/notice.gif',
  'wp-admin/images/toggle.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/comment-pill.gif',
- 'wp-admin/images/del.png',
- 'wp-admin/images/media-button-gallery.gif',
- 'wp-admin/images/media-buttons.gif',
- 'wp-admin/images/tail.gif',
- 'wp-admin/images/gear.png',
- 'wp-admin/images/tab.png',
- 'wp-admin/images/postbox-bg.gif',
  'wp-admin/includes/upload.php',
  'wp-admin/js/dbx-admin-key.js',
  'wp-admin/js/link-cat.js',
- 'wp-admin/js/forms.js',
- 'wp-admin/js/upload.js',
- 'wp-admin/js/set-post-thumbnail-handler.js',
- 'wp-admin/js/set-post-thumbnail-handler.dev.js',
- 'wp-admin/js/page.js',
- 'wp-admin/js/page.dev.js',
- 'wp-admin/js/slug.js',
- 'wp-admin/js/slug.dev.js',
  'wp-admin/profile-update.php',
  'wp-admin/templates.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/dbx.js',
  'wp-includes/js/fat.js',
  'wp-includes/js/list-manipulation.js',
- 'wp-includes/js/jquery/jquery.dimensions.min.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',
--- 100,116 ----
  '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',
***************
*** 101,178 ****
  '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/popups.css',
  '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',
  'wp-includes/js/tinymce/tiny_mce_gzip.php',
  'wp-includes/js/wp-ajax.js',
! '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',
! 'wp-admin/cat-js.php',
! 'wp-admin/edit-form-ajax-cat.php',
! 'wp-admin/execute-pings.php',
! 'wp-admin/import/b2.php',
  'wp-admin/import/btt.php',
  'wp-admin/import/jkw.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/js/tinymce/themes/advanced/editor_template_src.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',
! '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',
  'wp-includes/gettext.php',
  'wp-includes/streams.php',
  // MU
  'wp-admin/wpmu-admin.php',
  'wp-admin/wpmu-blogs.php',
  'wp-admin/wpmu-edit.php',
--- 132,214 ----
  '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',
***************
*** 180,202 ****
  'wp-admin/wpmu-themes.php',
  'wp-admin/wpmu-upgrade-site.php',
  'wp-admin/wpmu-users.php',
  'wp-includes/wpmu-default-filters.php',
  'wp-includes/wpmu-functions.php',
  'wpmu-settings.php',
- 'index-install.php',
- 'README.txt',
- 'htaccess.dist',
- 'wp-admin/css/mu-rtl.css',
- 'wp-admin/css/mu.css',
- 'wp-admin/images/site-admin.png',
- 'wp-admin/includes/mu.php',
- 'wp-includes/images/wordpress-mu.png',
  // 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/wp-logo.gif',
  'wp-admin/js/wp-gears.dev.js',
  'wp-admin/js/wp-gears.js',
  'wp-admin/options-misc.php',
--- 216,241 ----
  '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',
***************
*** 208,258 ****
  'wp-admin/wp-admin.css',
  'wp-admin/wp-admin.dev.css',
  'wp-includes/js/codepress',
  'wp-includes/js/jquery/autocomplete.dev.js',
- 'wp-includes/js/jquery/interface.js',
  'wp-includes/js/jquery/autocomplete.js',
  'wp-includes/js/scriptaculous/prototype.js',
  'wp-includes/js/tinymce/wp-tinymce.js',
- 'wp-admin/import',
- 'wp-admin/images/ico-edit.png',
- 'wp-admin/images/fav-top.png',
- 'wp-admin/images/ico-close.png',
- 'wp-admin/images/admin-header-footer.png',
- 'wp-admin/images/screen-options-left.gif',
- 'wp-admin/images/ico-add.png',
- 'wp-admin/images/browse-happy.gif',
- 'wp-admin/images/ico-viewpage.png',
  // 3.1
- 'wp-includes/js/tinymce/blank.htm',
- 'wp-includes/js/tinymce/plugins/safari',
- 'wp-admin/edit-link-categories.php',
- 'wp-admin/edit-post-rows.php',
  'wp-admin/edit-attachment-rows.php',
! 'wp-admin/link-category.php',
  'wp-admin/edit-link-category-form.php',
! 'wp-admin/sidebar.php',
! 'wp-admin/images/list-vs.png',
! 'wp-admin/images/button-grad-vs.png',
  'wp-admin/images/button-grad-active-vs.png',
! 'wp-admin/images/fav-arrow-vs.gif',
  'wp-admin/images/fav-arrow-vs-rtl.gif',
  'wp-admin/images/fav-top-vs.gif',
! 'wp-admin/images/screen-options-right.gif',
  'wp-admin/images/screen-options-right-up.gif',
  'wp-admin/images/visit-site-button-grad-vs.gif',
  'wp-admin/images/visit-site-button-grad.gif',
  'wp-includes/classes.php',
  // 3.2
  'wp-includes/default-embeds.php',
  'wp-includes/js/tinymce/plugins/wordpress/img/more.gif',
  'wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif',
- 'wp-includes/js/tinymce/plugins/wordpress/img/help.gif',
  'wp-includes/js/tinymce/themes/advanced/img/fm.gif',
  'wp-includes/js/tinymce/themes/advanced/img/sflogo.png',
- 'wp-admin/js/list-table.js',
- 'wp-admin/js/list-table.dev.js',
- 'wp-admin/images/logo-login.gif',
- 'wp-admin/images/star.gif',
  // 3.3
  'wp-admin/css/colors-classic-rtl.css',
  'wp-admin/css/colors-classic-rtl.dev.css',
--- 247,292 ----
  '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',
***************
*** 324,329 ****
--- 358,400 ----
  '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',
  );
  
  /**
***************
*** 335,341 ****
   * introduced version present here being older than the current installed version.
   *
   * The content of this array should follow the following format:
!  *  Filename (relative to wp-content) => Introduced version
   * Directories should be noted by suffixing it with a trailing slash (/)
   *
   * @since 3.2.0
--- 406,412 ----
   * introduced version present here being older than the current installed version.
   *
   * The content of this array should follow the following format:
!  * Filename (relative to wp-content) => Introduced version
   * Directories should be noted by suffixing it with a trailing slash (/)
   *
   * @since 3.2.0
***************
*** 406,412 ****
  	$mysql_version  = $wpdb->db_version();
  	$required_php_version = '5.2.4';
  	$required_mysql_version = '5.0';
! 	$wp_version = '3.3.2';
  	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
  	if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
  		$mysql_compat = true;
--- 477,483 ----
  	$mysql_version  = $wpdb->db_version();
  	$required_php_version = '5.2.4';
  	$required_mysql_version = '5.0';
! 	$wp_version = '3.4';
  	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
  	if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
  		$mysql_compat = true;
***************
*** 601,607 ****
  /**
   * Redirect to the About WordPress page after a successful upgrade.
   *
!  * This function is only needed when the existing install is older than 3.3.0.
   *
   * @since 3.3.0
   *
--- 672,678 ----
  /**
   * Redirect to the About WordPress page after a successful upgrade.
   *
!  * This function is only needed when the existing install is older than 3.4.0.
   *
   * @since 3.3.0
   *
***************
*** 609,615 ****
  function _redirect_to_about_wordpress( $new_version ) {
  	global $wp_version, $pagenow, $action;
  
! 	if ( version_compare( $wp_version, '3.3', '>=' ) )
  		return;
  
  	// Ensure we only run this on the update-core.php page. wp_update_core() could be called in other contexts.
--- 680,686 ----
  function _redirect_to_about_wordpress( $new_version ) {
  	global $wp_version, $pagenow, $action;
  
! 	if ( version_compare( $wp_version, '3.4-RC1', '>=' ) )
  		return;
  
  	// Ensure we only run this on the update-core.php page. wp_update_core() could be called in other contexts.
***************
*** 624,635 ****
  
  	// See do_core_upgrade()
  	show_message( __('WordPress updated successfully') );
! 	show_message( '<span class="hide-if-no-js">' . sprintf( __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%s">here</a>.' ), $new_version, esc_url( admin_url( 'about.php?updated' ) ) ) . '</span>' );
! 	show_message( '<span class="hide-if-js">' . sprintf( __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $new_version, esc_url( admin_url( 'about.php?updated' ) ) ) . '</span>' );
  	echo '</div>';
  	?>
  <script type="text/javascript">
! window.location = '<?php echo admin_url( 'about.php?updated' ); ?>';
  </script>
  	<?php
  
--- 695,706 ----
  
  	// See do_core_upgrade()
  	show_message( __('WordPress updated successfully') );
! 	show_message( '<span class="hide-if-no-js">' . sprintf( __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%s">here</a>.' ), $new_version, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '</span>' );
! 	show_message( '<span class="hide-if-js">' . sprintf( __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $new_version, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '</span>' );
  	echo '</div>';
  	?>
  <script type="text/javascript">
! window.location = '<?php echo self_admin_url( 'about.php?updated' ); ?>';
  </script>
  	<?php
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/update.php ./wordpress-3.4/wp-admin/includes/update.php
*** ./wordpress-3.3.2/wp-admin/includes/update.php	2011-09-30 12:31:52.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/update.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 142,148 ****
  	if ( current_user_can('update_core') ) {
  		$cur = get_preferred_from_update_core();
  
! 		if ( isset( $cur->response ) && $cur->response == 'upgrade'  )
  			$msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
  	}
  
--- 142,148 ----
  	if ( current_user_can('update_core') ) {
  		$cur = get_preferred_from_update_core();
  
! 		if ( isset( $cur->response ) && $cur->response == 'upgrade' )
  			$msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
  	}
  
***************
*** 187,193 ****
  	$plugins_allowedtags = array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array());
  	$plugin_name = wp_kses( $plugin_data['Name'], $plugins_allowedtags );
  
! 	$details_url = self_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $r->slug . '&TB_iframe=true&width=600&height=800');
  
  	$wp_list_table = _get_list_table('WP_Plugins_List_Table');
  
--- 187,193 ----
  	$plugins_allowedtags = array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array());
  	$plugin_name = wp_kses( $plugin_data['Name'], $plugins_allowedtags );
  
! 	$details_url = self_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $r->slug . '&section=changelog&TB_iframe=true&width=600&height=800');
  
  	$wp_list_table = _get_list_table('WP_Plugins_List_Table');
  
***************
*** 199,205 ****
  		else if ( empty($r->package) )
  			printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin.</em>'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version );
  		else
! 			printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a> or <a href="%5$s">update automatically</a>.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version, wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin&plugin=') . $file, 'upgrade-plugin_' . $file) );
  
  		do_action( "in_plugin_update_message-$file", $plugin_data, $r );
  
--- 199,205 ----
  		else if ( empty($r->package) )
  			printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin.</em>'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version );
  		else
! 			printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version, wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin&plugin=') . $file, 'upgrade-plugin_' . $file) );
  
  		do_action( "in_plugin_update_message-$file", $plugin_data, $r );
  
***************
*** 217,232 ****
  }
  
  function get_theme_updates() {
! 	$themes = get_themes();
  	$current = get_site_transient('update_themes');
- 	$update_themes = array();
  
! 	foreach ( $themes as $theme ) {
! 		$theme = (object) $theme;
! 		if ( isset($current->response[ $theme->Stylesheet ]) ) {
! 			$update_themes[$theme->Stylesheet] = $theme;
! 			$update_themes[$theme->Stylesheet]->update = $current->response[ $theme->Stylesheet ];
! 		}
  	}
  
  	return $update_themes;
--- 217,232 ----
  }
  
  function get_theme_updates() {
! 	$themes = wp_get_themes();
  	$current = get_site_transient('update_themes');
  
! 	if ( ! isset( $current->response ) )
! 		return array();
! 
! 	$update_themes = array();
! 	foreach ( $current->response as $stylesheet => $data ) {
! 		$update_themes[ $stylesheet ] = wp_get_theme( $stylesheet );
! 		$update_themes[ $stylesheet ]->update = $data;
  	}
  
  	return $update_themes;
***************
*** 272,280 ****
  	if ( ! current_user_can('update_themes') )
  		printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r->new_version );
  	else if ( empty( $r['package'] ) )
! 		printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin.</em>'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r['new_version'] );
  	else
! 		printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a> or <a href="%5$s">update automatically</a>.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r['new_version'], wp_nonce_url( self_admin_url('update.php?action=upgrade-theme&theme=') . $theme_key, 'upgrade-theme_' . $theme_key) );
  
  	do_action( "in_theme_update_message-$theme_key", $theme, $r );
  
--- 272,280 ----
  	if ( ! current_user_can('update_themes') )
  		printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r->new_version );
  	else if ( empty( $r['package'] ) )
! 		printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r['new_version'] );
  	else
! 		printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r['new_version'], wp_nonce_url( self_admin_url('update.php?action=upgrade-theme&theme=') . $theme_key, 'upgrade-theme_' . $theme_key) );
  
  	do_action( "in_theme_update_message-$theme_key", $theme, $r );
  
***************
*** 304,308 ****
  	echo "<div class='update-nag'>$msg</div>";
  }
  add_action( 'admin_notices', 'maintenance_nag' );
- 
- ?>
--- 304,306 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/upgrade.php ./wordpress-3.4/wp-admin/includes/upgrade.php
*** ./wordpress-3.3.2/wp-admin/includes/upgrade.php	2011-11-28 14:35:36.000000000 -0600
--- ./wordpress-3.4/wp-admin/includes/upgrade.php	2012-05-02 16:19:37.000000000 -0500
***************
*** 35,42 ****
   * @return array Array keys 'url', 'user_id', 'password', 'password_message'.
   */
  function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated = '', $user_password = '' ) {
- 	global $wp_rewrite;
- 
  	if ( !empty( $deprecated ) )
  		_deprecated_argument( __FUNCTION__, '2.6' );
  
--- 35,40 ----
***************
*** 58,65 ****
  	if ( ! $public )
  		update_option('default_pingback_flag', 0);
  
! 	// Create default user.  If the user already exists, the user tables are
! 	// being shared among blogs.  Just set the role in that case.
  	$user_id = username_exists($user_name);
  	$user_password = trim($user_password);
  	$email_password = false;
--- 56,63 ----
  	if ( ! $public )
  		update_option('default_pingback_flag', 0);
  
! 	// Create default user. If the user already exists, the user tables are
! 	// being shared among blogs. Just set the role in that case.
  	$user_id = username_exists($user_name);
  	$user_password = trim($user_password);
  	$email_password = false;
***************
*** 74,80 ****
  		$message = '<em>'.__('Your chosen password.').'</em>';
  		$user_id = wp_create_user($user_name, $user_password, $user_email);
  	} else {
! 		$message =  __('User already exists. Password inherited.');
  	}
  
  	$user = new WP_User($user_id);
--- 72,78 ----
  		$message = '<em>'.__('Your chosen password.').'</em>';
  		$user_id = wp_create_user($user_name, $user_password, $user_email);
  	} else {
! 		$message = __('User already exists. Password inherited.');
  	}
  
  	$user = new WP_User($user_id);
***************
*** 82,88 ****
  
  	wp_install_defaults($user_id);
  
! 	$wp_rewrite->flush_rules();
  
  	wp_new_blog_notification($blog_title, $guessurl, $user_id, ($email_password ? $user_password : __('The password you chose during the install.') ) );
  
--- 80,86 ----
  
  	wp_install_defaults($user_id);
  
! 	flush_rewrite_rules();
  
  	wp_new_blog_notification($blog_title, $guessurl, $user_id, ($email_password ? $user_password : __('The password you chose during the install.') ) );
  
***************
*** 147,184 ****
  
  	// Now drop in some default links
  	$default_links = array();
! 	$default_links[] = array(	'link_url' => 'http://codex.wordpress.org/',
! 								'link_name' => 'Documentation',
  								'link_rss' => '',
  								'link_notes' => '');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/news/',
! 								'link_name' => 'WordPress Blog',
! 								'link_rss' => 'http://wordpress.org/news/feed/',
  								'link_notes' => '');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/extend/ideas/',
! 								'link_name' => 'Suggest Ideas',
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/support/',
! 								'link_name' => 'Support Forum',
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/extend/plugins/',
! 								'link_name' => 'Plugins',
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/extend/themes/',
! 								'link_name' => 'Themes',
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => 'http://planet.wordpress.org/',
! 								'link_name' => 'WordPress Planet',
  								'link_rss' => '',
  								'link_notes' =>'');
  
--- 145,182 ----
  
  	// Now drop in some default links
  	$default_links = array();
! 	$default_links[] = array(	'link_url' => __( 'http://codex.wordpress.org/' ),
! 								'link_name' => __( 'Documentation' ),
  								'link_rss' => '',
  								'link_notes' => '');
  
! 	$default_links[] = array(	'link_url' => __( 'http://wordpress.org/news/' ),
! 								'link_name' => __( 'WordPress Blog' ),
! 								'link_rss' => __( 'http://wordpress.org/news/feed/' ),
  								'link_notes' => '');
  
! 	$default_links[] = array(	'link_url' => __( 'http://wordpress.org/support/' ),
! 								'link_name' => _x( 'Support Forums', 'default link' ),
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/extend/plugins/',
! 								'link_name' => _x( 'Plugins', 'Default link to wordpress.org/extend/plugins/' ),
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => 'http://wordpress.org/extend/themes/',
! 								'link_name' => _x( 'Themes', 'Default link to wordpress.org/extend/themes/' ),
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => __( 'http://wordpress.org/support/forum/requests-and-feedback' ),
! 								'link_name' => __( 'Feedback' ),
  								'link_rss' => '',
  								'link_notes' =>'');
  
! 	$default_links[] = array(	'link_url' => __( 'http://planet.wordpress.org/' ),
! 								'link_name' => __( 'WordPress Planet' ),
  								'link_rss' => '',
  								'link_notes' =>'');
  
***************
*** 302,308 ****
  
  		// Delete any caps that snuck into the previously active blog. (Hardcoded to blog 1 for now.) TODO: Get previous_blog_id.
  		if ( !is_super_admin( $user_id ) && $user_id != 1 )
! 			$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $wpdb->base_prefix.'1_capabilities') );
  	}
  }
  endif;
--- 300,306 ----
  
  		// Delete any caps that snuck into the previously active blog. (Hardcoded to blog 1 for now.) TODO: Get previous_blog_id.
  		if ( !is_super_admin( $user_id ) && $user_id != 1 )
! 			$wpdb->delete( $wpdb->usermeta, array( 'user_id' => $user_id , 'meta_key' => $wpdb->base_prefix.'1_capabilities' ) );
  	}
  }
  endif;
***************
*** 358,364 ****
  
  	$wp_current_db_version = __get_option('db_version');
  
! 	// We are up-to-date.  Nothing to do.
  	if ( $wp_db_version == $wp_current_db_version )
  		return;
  
--- 356,362 ----
  
  	$wp_current_db_version = __get_option('db_version');
  
! 	// We are up-to-date. Nothing to do.
  	if ( $wp_db_version == $wp_current_db_version )
  		return;
  
***************
*** 391,400 ****
   * @since 1.0.1
   */
  function upgrade_all() {
! 	global $wp_current_db_version, $wp_db_version, $wp_rewrite;
  	$wp_current_db_version = __get_option('db_version');
  
! 	// We are up-to-date.  Nothing to do.
  	if ( $wp_db_version == $wp_current_db_version )
  		return;
  
--- 389,398 ----
   * @since 1.0.1
   */
  function upgrade_all() {
! 	global $wp_current_db_version, $wp_db_version;
  	$wp_current_db_version = __get_option('db_version');
  
! 	// We are up-to-date. Nothing to do.
  	if ( $wp_db_version == $wp_current_db_version )
  		return;
  
***************
*** 459,464 ****
--- 457,465 ----
  	if ( $wp_current_db_version < 19389 )
  		upgrade_330();
  
+ 	if ( $wp_current_db_version < 20080 )
+ 		upgrade_340();
+ 
  	maybe_disable_automattic_widgets();
  
  	update_option( 'db_version', $wp_db_version );
***************
*** 565,571 ****
  
  	$time_difference = $all_options->time_difference;
  
! 	$server_time = time()+date('Z');
  	$weblogger_time = $server_time + $time_difference*3600;
  	$gmt_time = time();
  
--- 566,572 ----
  
  	$time_difference = $all_options->time_difference;
  
! 		$server_time = time()+date('Z');
  	$weblogger_time = $server_time + $time_difference*3600;
  	$gmt_time = time();
  
***************
*** 646,652 ****
  	$active_plugins = __get_option('active_plugins');
  
  	// If plugins are not stored in an array, they're stored in the old
! 	// newline separated format.  Convert to new format.
  	if ( !is_array( $active_plugins ) ) {
  		$active_plugins = explode("\n", trim($active_plugins));
  		update_option('active_plugins', $active_plugins);
--- 647,653 ----
  	$active_plugins = __get_option('active_plugins');
  
  	// If plugins are not stored in an array, they're stored in the old
! 	// newline separated format. Convert to new format.
  	if ( !is_array( $active_plugins ) ) {
  		$active_plugins = explode("\n", trim($active_plugins));
  		update_option('active_plugins', $active_plugins);
***************
*** 898,906 ****
  		$wpdb->insert( $wpdb->term_relationships, array('object_id' => $post_id, 'term_taxonomy_id' => $tt_id) );
  	}
  
! 	// < 3570 we used linkcategories.  >= 3570 we used categories and link2cat.
  	if ( $wp_current_db_version < 3570 ) {
! 		// Create link_category terms for link categories.  Create a map of link cat IDs
  		// to link_category terms.
  		$link_cat_id_map = array();
  		$default_link_cat = 0;
--- 899,907 ----
  		$wpdb->insert( $wpdb->term_relationships, array('object_id' => $post_id, 'term_taxonomy_id' => $tt_id) );
  	}
  
! 	// < 3570 we used linkcategories. >= 3570 we used categories and link2cat.
  	if ( $wp_current_db_version < 3570 ) {
! 		// Create link_category terms for link categories. Create a map of link cat IDs
  		// to link_category terms.
  		$link_cat_id_map = array();
  		$default_link_cat = 0;
***************
*** 1151,1161 ****
  		$wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key IN ('show_admin_bar_admin', 'plugins_last_view')" );
  	}
  
- 	// 3.3-beta. Can remove before release.
- 	if ( $wp_current_db_version > 18715 && $wp_current_db_version < 19389
- 		&& is_main_site() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) )
- 			delete_metadata( 'user', 0, 'dismissed_wp_pointers', '', true );
- 
  	if ( $wp_current_db_version >= 11548 )
  		return;
  
--- 1152,1157 ----
***************
*** 1214,1219 ****
--- 1210,1248 ----
  }
  
  /**
+  * Execute changes made in WordPress 3.4.
+  *
+  * @since 3.4.0
+  */
+ function upgrade_340() {
+ 	global $wp_current_db_version, $wpdb;
+ 
+ 	if ( $wp_current_db_version < 19798 ) {
+ 		$wpdb->hide_errors();
+ 		$wpdb->query( "ALTER TABLE $wpdb->options DROP COLUMN blog_id" );
+ 		$wpdb->show_errors();
+ 	}
+ 
+ 	if ( $wp_current_db_version < 19799 ) {
+ 		$wpdb->hide_errors();
+ 		$wpdb->query("ALTER TABLE $wpdb->comments DROP INDEX comment_approved");
+ 		$wpdb->show_errors();
+ 	}
+ 
+ 	if ( $wp_current_db_version < 20022 && is_main_site() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+ 		$wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key = 'themes_last_view'" );
+ 	}
+ 
+ 	if ( $wp_current_db_version < 20080 ) {
+ 		if ( 'yes' == $wpdb->get_var( "SELECT autoload FROM $wpdb->options WHERE option_name = 'uninstall_plugins'" ) ) {
+ 			$uninstall_plugins = get_option( 'uninstall_plugins' );
+ 			delete_option( 'uninstall_plugins' );
+ 			add_option( 'uninstall_plugins', $uninstall_plugins, null, 'no' );
+ 		}
+ 	}
+ }
+ 
+ /**
   * Execute network level changes
   *
   * @since 3.0.0
***************
*** 1258,1263 ****
--- 1290,1312 ----
  		if ( false === get_site_option( 'active_sitewide_plugins' ) )
  			update_site_option( 'active_sitewide_plugins', array() );
  	}
+ 
+ 	// 3.4
+ 	if ( $wp_current_db_version < 20148 ) {
+ 		// 'allowedthemes' keys things by stylesheet. 'allowed_themes' keyed things by name.
+ 		$allowedthemes  = get_site_option( 'allowedthemes'  );
+ 		$allowed_themes = get_site_option( 'allowed_themes' );
+ 		if ( false === $allowedthemes && is_array( $allowed_themes ) && $allowed_themes ) {
+ 			$converted = array();
+ 			$themes = wp_get_themes();
+ 			foreach ( $themes as $stylesheet => $theme_data ) {
+ 				if ( isset( $allowed_themes[ $theme_data->get('Name') ] ) )
+ 					$converted[ $stylesheet ] = true;
+ 			}
+ 			update_site_option( 'allowedthemes', $converted );
+ 			delete_site_option( 'allowed_themes' );
+ 		}
+ 	}
  }
  
  // The functions we use to actually do stuff
***************
*** 1335,1343 ****
   **           false on error
   */
  function maybe_add_column($table_name, $column_name, $create_ddl) {
! 	global $wpdb, $debug;
  	foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
- 		if ($debug) echo("checking $column == $column_name<br />");
  		if ($column == $column_name) {
  			return true;
  		}
--- 1384,1391 ----
   **           false on error
   */
  function maybe_add_column($table_name, $column_name, $create_ddl) {
! 	global $wpdb;
  	foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
  		if ($column == $column_name) {
  			return true;
  		}
***************
*** 1362,1375 ****
   */
  function get_alloptions_110() {
  	global $wpdb;
! 	if ($options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options")) {
! 		foreach ($options as $option) {
! 			// "When trying to design a foolproof system,
! 			//  never underestimate the ingenuity of the fools :)" -- Dougal
! 			if ('siteurl' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
! 			if ('home' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
! 			if ('category_base' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
! 			$all_options->{$option->option_name} = stripslashes($option->option_value);
  		}
  	}
  	return $all_options;
--- 1410,1421 ----
   */
  function get_alloptions_110() {
  	global $wpdb;
! 	$all_options = new stdClass;
! 	if ( $options = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" ) ) {
! 		foreach ( $options as $option ) {
! 			if ( 'siteurl' == $option->option_name || 'home' == $option->option_name || 'category_base' == $option->option_name )
! 				$option->option_value = untrailingslashit( $option->option_value );
! 			$all_options->{$option->option_name} = stripslashes( $option->option_value );
  		}
  	}
  	return $all_options;
***************
*** 1387,1410 ****
  function __get_option($setting) {
  	global $wpdb;
  
! 	if ( $setting == 'home' && defined( 'WP_HOME' ) ) {
! 		return preg_replace( '|/+$|', '', WP_HOME );
! 	}
  
! 	if ( $setting == 'siteurl' && defined( 'WP_SITEURL' ) ) {
! 		return preg_replace( '|/+$|', '', WP_SITEURL );
! 	}
  
! 	$option = $wpdb->get_var( $wpdb->prepare("SELECT option_value FROM $wpdb->options WHERE option_name = %s", $setting) );
  
  	if ( 'home' == $setting && '' == $option )
! 		return __get_option('siteurl');
  
! 	if ( 'siteurl' == $setting || 'home' == $setting || 'category_base' == $setting )
! 		$option = preg_replace('|/+$|', '', $option);
  
! 	@ $kellogs = unserialize($option);
! 	if ($kellogs !== FALSE)
  		return $kellogs;
  	else
  		return $option;
--- 1433,1454 ----
  function __get_option($setting) {
  	global $wpdb;
  
! 	if ( $setting == 'home' && defined( 'WP_HOME' ) )
! 		return untrailingslashit( WP_HOME );
  
! 	if ( $setting == 'siteurl' && defined( 'WP_SITEURL' ) )
! 		return untrailingslashit( WP_SITEURL );
  
! 	$option = $wpdb->get_var( $wpdb->prepare("SELECT option_value FROM $wpdb->options WHERE option_name = %s", $setting ) );
  
  	if ( 'home' == $setting && '' == $option )
! 		return __get_option( 'siteurl' );
  
! 	if ( 'siteurl' == $setting || 'home' == $setting || 'category_base' == $setting || 'tag_base' == $setting )
! 		$option = untrailingslashit( $option );
  
! 	@ $kellogs = unserialize( $option );
! 	if ( $kellogs !== false )
  		return $kellogs;
  	else
  		return $option;
***************
*** 1457,1463 ****
  	// Separate individual queries into an array
  	if ( !is_array($queries) ) {
  		$queries = explode( ';', $queries );
! 		if ('' == $queries[count($queries) - 1]) array_pop($queries);
  	}
  	$queries = apply_filters( 'dbdelta_queries', $queries );
  
--- 1501,1507 ----
  	// Separate individual queries into an array
  	if ( !is_array($queries) ) {
  		$queries = explode( ';', $queries );
! 		$queries = array_filter( $queries );
  	}
  	$queries = apply_filters( 'dbdelta_queries', $queries );
  
***************
*** 1468,1474 ****
  	// Create a tablename index for an array ($cqueries) of queries
  	foreach($queries as $qry) {
  		if (preg_match("|CREATE TABLE ([^ ]*)|", $qry, $matches)) {
! 			$cqueries[trim( strtolower($matches[1]), '`' )] = $qry;
  			$for_update[$matches[1]] = 'Created table '.$matches[1];
  		} else if (preg_match("|CREATE DATABASE ([^ ]*)|", $qry, $matches)) {
  			array_unshift($cqueries, $qry);
--- 1512,1518 ----
  	// Create a tablename index for an array ($cqueries) of queries
  	foreach($queries as $qry) {
  		if (preg_match("|CREATE TABLE ([^ ]*)|", $qry, $matches)) {
! 			$cqueries[ trim( $matches[1], '`' ) ] = $qry;
  			$for_update[$matches[1]] = 'Created table '.$matches[1];
  		} else if (preg_match("|CREATE DATABASE ([^ ]*)|", $qry, $matches)) {
  			array_unshift($cqueries, $qry);
***************
*** 1667,1673 ****
   *
   * @since 1.5.0
   */
! function make_db_current_silent(  $tables = 'all' ) {
  	$alterations = dbDelta( $tables );
  }
  
--- 1711,1717 ----
   *
   * @since 1.5.0
   */
! function make_db_current_silent( $tables = 'all' ) {
  	$alterations = dbDelta( $tables );
  }
  
***************
*** 1690,1696 ****
  		return false;
  
  	// Copy files from the old locations to the site theme.
! 	// TODO: This does not copy arbitrary include dependencies.  Only the
  	// standard WP files are copied.
  	$files = array('index.php' => 'index.php', 'wp-layout.css' => 'style.css', 'wp-comments.php' => 'comments.php', 'wp-comments-popup.php' => 'comments-popup.php');
  
--- 1734,1740 ----
  		return false;
  
  	// Copy files from the old locations to the site theme.
! 	// TODO: This does not copy arbitrary include dependencies. Only the
  	// standard WP files are copied.
  	$files = array('index.php' => 'index.php', 'wp-layout.css' => 'style.css', 'wp-comments.php' => 'comments.php', 'wp-comments-popup.php' => 'comments-popup.php');
  
***************
*** 1848,1859 ****
  
  	if (file_exists(ABSPATH . 'wp-layout.css')) {
  		if (! make_site_theme_from_oldschool($theme_name, $template)) {
! 			// TODO:  rm -rf the site theme directory.
  			return false;
  		}
  	} else {
  		if (! make_site_theme_from_default($theme_name, $template))
! 			// TODO:  rm -rf the site theme directory.
  			return false;
  	}
  
--- 1892,1903 ----
  
  	if (file_exists(ABSPATH . 'wp-layout.css')) {
  		if (! make_site_theme_from_oldschool($theme_name, $template)) {
! 			// TODO: rm -rf the site theme directory.
  			return false;
  		}
  	} else {
  		if (! make_site_theme_from_default($theme_name, $template))
! 			// TODO: rm -rf the site theme directory.
  			return false;
  	}
  
***************
*** 1938,1944 ****
  
  	// Upgrade versions prior to 2.9
  	if ( $wp_current_db_version < 11557 ) {
! 		// Delete duplicate options.  Keep the option with the highest option_id.
  		$wpdb->query("DELETE o1 FROM $wpdb->options AS o1 JOIN $wpdb->options AS o2 USING (`option_name`) WHERE o2.option_id > o1.option_id");
  
  		// Drop the old primary key and add the new.
--- 1982,1988 ----
  
  	// Upgrade versions prior to 2.9
  	if ( $wp_current_db_version < 11557 ) {
! 		// Delete duplicate options. Keep the option with the highest option_id.
  		$wpdb->query("DELETE o1 FROM $wpdb->options AS o1 JOIN $wpdb->options AS o2 USING (`option_name`) WHERE o2.option_id > o1.option_id");
  
  		// Drop the old primary key and add the new.
***************
*** 1974,1977 ****
  	dbDelta( $ms_queries );
  }
  endif;
- ?>
--- 2018,2020 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/includes/user.php ./wordpress-3.4/wp-admin/includes/user.php
*** ./wordpress-3.3.2/wp-admin/includes/user.php	2011-09-29 01:12:51.000000000 -0500
--- ./wordpress-3.4/wp-admin/includes/user.php	2012-05-08 12:01:50.000000000 -0500
***************
*** 9,46 ****
  /**
   * Creates a new user from the "Users" form using $_POST information.
   *
-  * It seems that the first half is for backwards compatibility, but only
-  * has the ability to alter the user's role. WordPress core seems to
-  * use this function only in the second way, running edit_user() with
-  * no id so as to create a new user.
-  *
   * @since 2.0
   *
-  * @param int $user_id Optional. User ID.
   * @return null|WP_Error|int Null when adding user, WP_Error or User ID integer when no parameters.
   */
  function add_user() {
! 	if ( func_num_args() ) { // The hackiest hack that ever did hack
! 		global $wp_roles;
! 		$user_id = (int) func_get_arg( 0 );
! 
! 		if ( isset( $_POST['role'] ) ) {
! 			$new_role = sanitize_text_field( $_POST['role'] );
! 			// Don't let anyone with 'edit_users' (admins) edit their own role to something without it.
! 			if ( $user_id != get_current_user_id() || $wp_roles->role_objects[$new_role]->has_cap( 'edit_users' ) ) {
! 				// If the new role isn't editable by the logged-in user die with error
! 				$editable_roles = get_editable_roles();
! 				if ( empty( $editable_roles[$new_role] ) )
! 					wp_die(__('You can&#8217;t give users that role.'));
! 
! 				$user = new WP_User( $user_id );
! 				$user->set_role( $new_role );
! 			}
! 		}
! 	} else {
! 		add_action( 'user_register', 'add_user' ); // See above
! 		return edit_user();
! 	}
  }
  
  /**
--- 9,20 ----
  /**
   * Creates a new user from the "Users" form using $_POST information.
   *
   * @since 2.0
   *
   * @return null|WP_Error|int Null when adding user, WP_Error or User ID integer when no parameters.
   */
  function add_user() {
! 	return edit_user();
  }
  
  /**
***************
*** 263,278 ****
  	global $wpdb;
  
  	$id = (int) $id;
  
  	// allow for transaction statement
  	do_action('delete_user', $id);
  
  	if ( 'novalue' === $reassign || null === $reassign ) {
! 		$post_ids = $wpdb->get_col( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id) );
  
  		if ( $post_ids ) {
  			foreach ( $post_ids as $post_id )
! 				wp_delete_post($post_id);
  		}
  
  		// Clean links
--- 237,263 ----
  	global $wpdb;
  
  	$id = (int) $id;
+ 	$user = new WP_User( $id );
  
  	// allow for transaction statement
  	do_action('delete_user', $id);
  
  	if ( 'novalue' === $reassign || null === $reassign ) {
! 		$post_types_to_delete = array();
! 		foreach ( get_post_types( array(), 'objects' ) as $post_type ) {
! 			if ( $post_type->delete_with_user ) {
! 				$post_types_to_delete[] = $post_type->name;
! 			} elseif ( null === $post_type->delete_with_user && post_type_supports( $post_type->name, 'author' ) ) {
! 				$post_types_to_delete[] = $post_type->name;
! 			}
! 		}
  
+ 		$post_types_to_delete = apply_filters( 'post_types_to_delete_with_user', $post_types_to_delete, $id );
+ 		$post_types_to_delete = implode( "', '", $post_types_to_delete );
+ 		$post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d AND post_type IN ('$post_types_to_delete')", $id ) );
  		if ( $post_ids ) {
  			foreach ( $post_ids as $post_id )
! 				wp_delete_post( $post_id );
  		}
  
  		// Clean links
***************
*** 288,304 ****
  		$wpdb->update( $wpdb->links, array('link_owner' => $reassign), array('link_owner' => $id) );
  	}
  
- 	clean_user_cache($id);
- 
  	// FINALLY, delete user
! 	if ( !is_multisite() ) {
! 		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d", $id) );
! 		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->users WHERE ID = %d", $id) );
  	} else {
! 		$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels
! 		$wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = $id AND meta_key = '{$level_key}'");
  	}
  
  	// allow for commit transaction
  	do_action('deleted_user', $id);
  
--- 273,291 ----
  		$wpdb->update( $wpdb->links, array('link_owner' => $reassign), array('link_owner' => $id) );
  	}
  
  	// FINALLY, delete user
! 	if ( is_multisite() ) {
! 		remove_user_from_blog( $id, get_current_blog_id() );
  	} else {
! 		$meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
! 		foreach ( $meta as $mid )
! 			delete_metadata_by_mid( 'user', $mid );
! 
! 		$wpdb->delete( $wpdb->users, array( 'ID' => $id ) );
  	}
  
+ 	clean_user_cache( $user );
+ 
  	// allow for commit transaction
  	do_action('deleted_user', $id);
  
***************
*** 369,373 ****
  	printf( '<a href="%s" id="default-password-nag-no">' . __('No thanks, do not remind me again') . '</a>', '?default_password_nag=0' );
  	echo '</p></div>';
  }
- 
- ?>
--- 356,358 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/index-extra.php ./wordpress-3.4/wp-admin/index-extra.php
*** ./wordpress-3.3.2/wp-admin/index-extra.php	2011-06-10 01:31:39.000000000 -0500
--- ./wordpress-3.4/wp-admin/index-extra.php	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,40 ****
- <?php
- /**
-  * Handle default dashboard widgets options AJAX.
-  *
-  * @package WordPress
-  * @subpackage Administration
-  */
- 
- define('DOING_AJAX', true);
- 
- /** Load WordPress Bootstrap */
- require_once( './admin.php' );
- 
- /** Load WordPress Administration Dashboard API */
- require(ABSPATH . 'wp-admin/includes/dashboard.php' );
- 
- @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
- send_nosniff_header();
- 
- switch ( $_GET['jax'] ) {
- 
- case 'dashboard_incoming_links' :
- 	wp_dashboard_incoming_links();
- 	break;
- 
- case 'dashboard_primary' :
- 	wp_dashboard_primary();
- 	break;
- 
- case 'dashboard_secondary' :
- 	wp_dashboard_secondary();
- 	break;
- 
- case 'dashboard_plugins' :
- 	wp_dashboard_plugins();
- 	break;
- 
- }
- 
- ?>
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/index.php ./wordpress-3.4/wp-admin/index.php
*** ./wordpress-3.3.2/wp-admin/index.php	2011-12-01 22:31:01.000000000 -0600
--- ./wordpress-3.4/wp-admin/index.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 19,24 ****
--- 19,27 ----
  wp_enqueue_script( 'media-upload' );
  add_thickbox();
  
+ if ( wp_is_mobile() )
+ 	wp_enqueue_script( 'jquery-touch-punch' );
+ 
  $title = __('Dashboard');
  $parent_file = 'index.php';
  
***************
*** 59,72 ****
  ) );
  
  $help  = '<p>' . __('The boxes on your Dashboard screen are:') . '</p>';
! $help .= '<p>' . __('<strong>Right Now</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.') . '</p>';
! $help .= '<p>' . __('<strong>Recent Comments</strong> - Shows the most recent comments on your posts (configurable, up to 30) and allows you to moderate them.') . '</p>';
! $help .= '<p>' . __('<strong>Incoming Links</strong> - Shows links to your site found by Google Blog Search.') . '</p>';
! $help .= '<p>' . __('<strong>QuickPress</strong> - Allows you to create a new post and either publish it or save it as a draft.') . '</p>';
! $help .= '<p>' . __('<strong>Recent Drafts</strong> - Displays links to the 5 most recent draft posts you&#8217;ve started.') . '</p>';
  $help .= '<p>' . __('<strong>WordPress Blog</strong> - Latest news from the official WordPress project.') . '</p>';
  $help .= '<p>' . __('<strong>Other WordPress News</strong> - Shows the <a href="http://planet.wordpress.org" target="_blank">WordPress Planet</a> feed. You can configure it to show a different feed of your choosing.') . '</p>';
! $help .= '<p>' . __('<strong>Plugins</strong> - Features the most popular, newest, and recently updated plugins from the WordPress.org Plugin Directory.') . '</p>';
  
  get_current_screen()->add_help_tab( array(
  	'id'      => 'help-content',
--- 61,82 ----
  ) );
  
  $help  = '<p>' . __('The boxes on your Dashboard screen are:') . '</p>';
! if ( current_user_can( 'edit_posts' ) )
! 	$help .= '<p>' . __('<strong>Right Now</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.') . '</p>';
! if ( current_user_can( 'moderate_comments' ) )
! 	$help .= '<p>' . __('<strong>Recent Comments</strong> - Shows the most recent comments on your posts (configurable, up to 30) and allows you to moderate them.') . '</p>';
! if ( current_user_can( 'publish_posts' ) )
! 	$help .= '<p>' . __('<strong>Incoming Links</strong> - Shows links to your site found by Google Blog Search.') . '</p>';
! if ( current_user_can( 'edit_posts' ) ) {
! 	$help .= '<p>' . __('<strong>QuickPress</strong> - Allows you to create a new post and either publish it or save it as a draft.') . '</p>';
! 	$help .= '<p>' . __('<strong>Recent Drafts</strong> - Displays links to the 5 most recent draft posts you&#8217;ve started.') . '</p>';
! }
  $help .= '<p>' . __('<strong>WordPress Blog</strong> - Latest news from the official WordPress project.') . '</p>';
  $help .= '<p>' . __('<strong>Other WordPress News</strong> - Shows the <a href="http://planet.wordpress.org" target="_blank">WordPress Planet</a> feed. You can configure it to show a different feed of your choosing.') . '</p>';
! if ( ! is_multisite() && current_user_can( 'install_plugins' ) )
! 	$help .= '<p>' . __('<strong>Plugins</strong> - Features the most popular, newest, and recently updated plugins from the WordPress.org Plugin Directory.') . '</p>';
! if ( current_user_can( 'edit_theme_options' ) )
! 	$help .= '<p>' . __('<strong>Welcome</strong> - Shows links for some of the most common tasks when setting up a new site.') . '</p>';
  
  get_current_screen()->add_help_tab( array(
  	'id'      => 'help-content',
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/install-helper.php ./wordpress-3.4/wp-admin/install-helper.php
*** ./wordpress-3.3.2/wp-admin/install-helper.php	2010-12-20 03:25:21.000000000 -0600
--- ./wordpress-3.4/wp-admin/install-helper.php	2012-02-16 18:02:42.000000000 -0600
***************
*** 10,18 ****
   * needing to use these functions a lot, you might experience time outs. If you
   * do, then it is advised to just write the SQL code yourself.
   *
-  * You can turn debugging on, by setting $debug to 1 after you include this
-  * file.
-  *
   * <code>
   * check_column('wp_links', 'link_description', 'mediumtext');
   * if (check_column($wpdb->comments, 'comment_author', 'tinytext'))
--- 10,15 ----
***************
*** 41,55 ****
  /** Load WordPress Bootstrap */
  require_once(dirname(dirname(__FILE__)).'/wp-load.php');
  
- /**
-  * Turn debugging on or off.
-  * @global bool|int $debug
-  * @name $debug
-  * @var bool|int
-  * @since 1.0.0
-  */
- $debug = 0;
- 
  if ( ! function_exists('maybe_create_table') ) :
  /**
   * Create database table, if it doesn't already exist.
--- 38,43 ----
***************
*** 90,96 ****
   * @package WordPress
   * @subpackage Plugin
   * @uses $wpdb
-  * @uses $debug
   *
   * @param string $table_name Database table name
   * @param string $column_name Table column name
--- 78,83 ----
***************
*** 98,106 ****
   * @return bool False on failure. True, if already exists or was successful.
   */
  function maybe_add_column($table_name, $column_name, $create_ddl) {
! 	global $wpdb, $debug;
  	foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
- 		if ($debug) echo("checking $column == $column_name<br />");
  
  		if ($column == $column_name) {
  			return true;
--- 85,92 ----
   * @return bool False on failure. True, if already exists or was successful.
   */
  function maybe_add_column($table_name, $column_name, $create_ddl) {
! 	global $wpdb;
  	foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
  
  		if ($column == $column_name) {
  			return true;
***************
*** 179,194 ****
   * @return bool True, if matches. False, if not matching.
   */
  function check_column($table_name, $col_name, $col_type, $is_null = null, $key = null, $default = null, $extra = null) {
! 	global $wpdb, $debug;
  	$diffs = 0;
  	$results = $wpdb->get_results("DESC $table_name");
  
  	foreach ($results as $row ) {
- 		if ($debug > 1) print_r($row);
  
  		if ($row->Field == $col_name) {
  			// got our column, check the params
- 			if ($debug) echo ("checking $row->Type against $col_type\n");
  			if (($col_type != null) && ($row->Type != $col_type)) {
  				++$diffs;
  			}
--- 165,178 ----
   * @return bool True, if matches. False, if not matching.
   */
  function check_column($table_name, $col_name, $col_type, $is_null = null, $key = null, $default = null, $extra = null) {
! 	global $wpdb;
  	$diffs = 0;
  	$results = $wpdb->get_results("DESC $table_name");
  
  	foreach ($results as $row ) {
  
  		if ($row->Field == $col_name) {
  			// got our column, check the params
  			if (($col_type != null) && ($row->Type != $col_type)) {
  				++$diffs;
  			}
***************
*** 205,211 ****
  				++$diffs;
  			}
  			if ($diffs > 0) {
- 				if ($debug) echo ("diffs = $diffs returning false\n");
  				return false;
  			}
  			return true;
--- 189,194 ----
***************
*** 213,217 ****
  	}
  	return false;
  }
- 
- ?>
\ No newline at end of file
--- 196,198 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/install.php ./wordpress-3.4/wp-admin/install.php
*** ./wordpress-3.3.2/wp-admin/install.php	2011-11-15 09:47:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/install.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 10,22 ****
  if ( false ) {
  ?>
  <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  	<title>Error: PHP is not running</title>
  </head>
  <body>
! 	<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
  	<h2>Error: PHP is not running</h2>
  	<p>WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.</p>
  </body>
--- 10,22 ----
  if ( false ) {
  ?>
  <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  	<title>Error: PHP is not running</title>
  </head>
  <body>
! 	<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png?ver=20120216" /></h1>
  	<h2>Error: PHP is not running</h2>
  	<p>WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.</p>
  </body>
***************
*** 41,47 ****
  /** Load wpdb */
  require_once(dirname(dirname(__FILE__)) . '/wp-includes/wp-db.php');
  
! $step = isset( $_GET['step'] ) ? $_GET['step'] : 0;
  
  /**
   * Display install header.
--- 41,47 ----
  /** Load wpdb */
  require_once(dirname(dirname(__FILE__)) . '/wp-includes/wp-db.php');
  
! $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  
  /**
   * Display install header.
***************
*** 61,67 ****
  	<?php wp_admin_css( 'install', true ); ?>
  </head>
  <body<?php if ( is_rtl() ) echo ' class="rtl"'; ?>>
! <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
  
  <?php
  } // end display_header()
--- 61,67 ----
  	<?php wp_admin_css( 'install', true ); ?>
  </head>
  <body<?php if ( is_rtl() ) echo ' class="rtl"'; ?>>
! <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png?ver=20120216" /></h1>
  
  <?php
  } // end display_header()
***************
*** 131,137 ****
  		</tr>
  		<tr>
  			<th scope="row"><label for="blog_public"><?php _e( 'Privacy' ); ?></label></th>
! 			<td colspan="2"><label><input type="checkbox" name="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow my site to appear in search engines like Google and Technorati.' ); ?></label></td>
  		</tr>
  	</table>
  	<p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Install WordPress' ); ?>" class="button" /></p>
--- 131,137 ----
  		</tr>
  		<tr>
  			<th scope="row"><label for="blog_public"><?php _e( 'Privacy' ); ?></label></th>
! 			<td colspan="2"><label><input type="checkbox" name="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site.' ); ?></label></td>
  		</tr>
  	</table>
  	<p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Install WordPress' ); ?>" class="button" /></p>
***************
*** 151,165 ****
  $mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
  
  if ( !$mysql_compat && !$php_compat )
! 	$compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
  elseif ( !$php_compat )
! 	$compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version );
  elseif ( !$mysql_compat )
! 	$compat = sprintf( __('You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version );
  
  if ( !$mysql_compat || !$php_compat ) {
  	display_header();
! 	die('<h1>' . __('Insufficient Requirements') . '</h1><p>' . $compat . '</p></body></html>');
  }
  
  switch($step) {
--- 151,170 ----
  $mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
  
  if ( !$mysql_compat && !$php_compat )
! 	$compat = sprintf( __( 'You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.' ), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
  elseif ( !$php_compat )
! 	$compat = sprintf( __( 'You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_php_version, $php_version );
  elseif ( !$mysql_compat )
! 	$compat = sprintf( __( 'You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_mysql_version, $mysql_version );
  
  if ( !$mysql_compat || !$php_compat ) {
  	display_header();
! 	die( '<h1>' . __( 'Insufficient Requirements' ) . '</h1><p>' . $compat . '</p></body></html>' );
! }
! 
! if ( ! is_string( $wpdb->base_prefix ) || '' === $wpdb->base_prefix ) {
! 	display_header();
! 	die( '<h1>' . __( 'Configuration Error' ) . '</h1><p>' . __( 'Your <code>wp-config.php</code> file has an empty database table prefix, which is not supported.' ) . '</p></body></html>' );
  }
  
  switch($step) {
***************
*** 167,173 ****
  	case 1: // Step 1, direct link.
  	  display_header();
  ?>
! <h1><?php _e( 'Welcome' ); ?></h1>
  <p><?php printf( __( 'Welcome to the famous five minute WordPress installation process! You may want to browse the <a href="%s">ReadMe documentation</a> at your leisure. Otherwise, just fill in the information below and you&#8217;ll be on your way to using the most extendable and powerful personal publishing platform in the world.' ), '../readme.html' ); ?></p>
  
  <h1><?php _e( 'Information needed' ); ?></h1>
--- 172,178 ----
  	case 1: // Step 1, direct link.
  	  display_header();
  ?>
! <h1><?php _ex( 'Welcome', 'Howdy' ); ?></h1>
  <p><?php printf( __( 'Welcome to the famous five minute WordPress installation process! You may want to browse the <a href="%s">ReadMe documentation</a> at your leisure. Otherwise, just fill in the information below and you&#8217;ll be on your way to using the most extendable and powerful personal publishing platform in the world.' ), '../readme.html' ); ?></p>
  
  <h1><?php _e( 'Information needed' ); ?></h1>
***************
*** 207,213 ****
  			$error = true;
  		} elseif ( ! is_email( $admin_email ) ) {
  			// TODO: poka-yoke
! 			display_setup_form( __( 'that isn&#8217;t a valid e-mail address.  E-mail addresses look like: <code>username@example.com</code>' ) );
  			$error = true;
  		}
  
--- 212,218 ----
  			$error = true;
  		} elseif ( ! is_email( $admin_email ) ) {
  			// TODO: poka-yoke
! 			display_setup_form( __( 'that isn&#8217;t a valid e-mail address. E-mail addresses look like: <code>username@example.com</code>' ) );
  			$error = true;
  		}
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/common.dev.js ./wordpress-3.4/wp-admin/js/common.dev.js
*** ./wordpress-3.3.2/wp-admin/js/common.dev.js	2012-01-02 15:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/common.dev.js	2012-06-12 11:36:32.000000000 -0500
***************
*** 1,4 ****
! var showNotice, adminMenu, columns, validateForm, screenMeta, autofold_menu;
  (function($){
  // Removed in 3.3.
  // (perhaps) needed for back-compat
--- 1,4 ----
! var showNotice, adminMenu, columns, validateForm, screenMeta;
  (function($){
  // Removed in 3.3.
  // (perhaps) needed for back-compat
***************
*** 160,166 ****
  
  $(document).ready( function() {
  	var lastClicked = false, checks, first, last, checked, menu = $('#adminmenu'),
! 		pageInput = $('input.current-page'), currentPage = pageInput.val(), folded, refresh;
  
  	// admin menu
  	refresh = function(i, el){ // force the browser to refresh the tabbing index
--- 160,166 ----
  
  $(document).ready( function() {
  	var lastClicked = false, checks, first, last, checked, menu = $('#adminmenu'),
! 		pageInput = $('input.current-page'), currentPage = pageInput.val(), refresh;
  
  	// admin menu
  	refresh = function(i, el){ // force the browser to refresh the tabbing index
***************
*** 172,177 ****
--- 172,180 ----
  	$('#collapse-menu', menu).click(function(){
  		var body = $(document.body);
  
+ 		// reset any compensation for submenus near the bottom of the screen
+ 		$('#adminmenu div.wp-submenu').css('margin-top', '');
+ 
  		if ( body.hasClass('folded') ) {
  			body.removeClass('folded');
  			setUserSetting('mfold', 'o');
***************
*** 186,192 ****
  		over: function(e){
  			var b, h, o, f, m = $(this).find('.wp-submenu'), menutop, wintop, maxtop;
  
! 			if ( !$(document.body).hasClass('folded') && $(this).hasClass('wp-menu-open') )
  				return;
  
  			menutop = $(this).offset().top;
--- 189,195 ----
  		over: function(e){
  			var b, h, o, f, m = $(this).find('.wp-submenu'), menutop, wintop, maxtop;
  
! 			if ( m.is(':visible') )
  				return;
  
  			menutop = $(this).offset().top;
***************
*** 205,213 ****
  				o = maxtop;
  
  			if ( o > 1 )
! 				m.css({'marginTop':'-'+o+'px'});
! 			else if ( m.css('marginTop') )
! 				m.css({'marginTop':''});
  
  			menu.find('.wp-submenu').removeClass('sub-open');
  			m.addClass('sub-open');
--- 208,216 ----
  				o = maxtop;
  
  			if ( o > 1 )
! 				m.css('margin-top', '-'+o+'px');
! 			else
! 				m.css('margin-top', '');
  
  			menu.find('.wp-submenu').removeClass('sub-open');
  			m.addClass('sub-open');
***************
*** 317,323 ****
  		var el = e.target, selStart = el.selectionStart, selEnd = el.selectionEnd, val = el.value, scroll, sel;
  
  		try {
! 			this.lastKey = 9; // not a standard DOM property, lastKey is to help stop Opera tab event.  See blur handler below.
  		} catch(err) {}
  
  		if ( document.selection ) {
--- 320,326 ----
  		var el = e.target, selStart = el.selectionStart, selEnd = el.selectionEnd, val = el.value, scroll, sel;
  
  		try {
! 			this.lastKey = 9; // not a standard DOM property, lastKey is to help stop Opera tab event. See blur handler below.
  		} catch(err) {}
  
  		if ( document.selection ) {
***************
*** 351,378 ****
  		});
  	}
  
- 	// auto-fold the menu when screen is under 800px
- 	$(window).bind('resize.autofold', function(){
- 		if ( getUserSetting('mfold') == 'f' )
- 			return;
- 
- 		var width = $(window).width();
- 
- 		// fold admin menu
- 		if ( width <= 800 ) {
- 			if ( !folded ) {
- 				$(document.body).addClass('folded');
- 				folded = true;
- 			}
- 		} else {
- 			if ( folded ) {
- 				$(document.body).removeClass('folded');
- 				folded = false;
- 			}
- 		}
- 
- 	}).triggerHandler('resize');
- 
  });
  
  // internal use
--- 354,359 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/common.js ./wordpress-3.4/wp-admin/js/common.js
*** ./wordpress-3.3.2/wp-admin/js/common.js	2012-01-02 15:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/common.js	2012-06-12 11:58:23.000000000 -0500
***************
*** 1 ****
! var showNotice,adminMenu,columns,validateForm,screenMeta,autofold_menu;(function(a){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}};columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var d=a(this),c=d.val();if(d.prop("checked")){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show();this.colSpanChange(+1)},unchecked:function(b){a(".column-"+b).hide();this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(",")}},colSpanChange:function(b){var d=a("table").find(".colspanchange"),c;if(!d.length){return}c=parseInt(d.attr("colspan"),10)+b;d.attr("colspan",c.toString())}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(".form-required").filter(function(){return a("input:visible",this).val()==""}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()};showNotice={warn:function(){var b=commonL10n.warnDelete||"";if(confirm(b)){return true}return false},note:function(b){alert(b)}};screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta");this.toggles=a(".screen-meta-toggle a");this.page=a("#wpcontent");this.toggles.click(this.toggleEvent)},toggleEvent:function(c){var b=a(this.href.replace(/.+#/,"#"));c.preventDefault();if(!b.length){return}if(b.is(":visible")){screenMeta.close(b,a(this))}else{screenMeta.open(b,a(this))}},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden");b.parent().show();b.slideDown("fast",function(){c.addClass("screen-meta-active")})},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active");a(".screen-meta-toggle").css("visibility","");b.parent().hide()})}};a(".contextual-help-tabs").delegate("a","click focus",function(d){var c=a(this),b;d.preventDefault();if(c.is(".active a")){return false}a(".contextual-help-tabs .active").removeClass("active");c.parent("li").addClass("active");b=a(c.attr("href"));a(".help-tab-content").not(b).removeClass("active").hide();b.addClass("active").show()});a(document).ready(function(){var j=false,c,e,k,i,b=a("#adminmenu"),d=a("input.current-page"),f=d.val(),h,g;g=function(l,n){var o=a(n),m=o.attr("tabindex");if(m){o.attr("tabindex","0").attr("tabindex",m)}};a("#collapse-menu",b).click(function(){var l=a(document.body);if(l.hasClass("folded")){l.removeClass("folded");setUserSetting("mfold","o")}else{l.addClass("folded");setUserSetting("mfold","f")}return false});a("li.wp-has-submenu",b).hoverIntent({over:function(t){var u,r,l,s,n=a(this).find(".wp-submenu"),v,p,q;if(!a(document.body).hasClass("folded")&&a(this).hasClass("wp-menu-open")){return}v=a(this).offset().top;p=a(window).scrollTop();q=v-p-30;u=v+n.height()+1;r=a("#wpwrap").height();l=60+u-r;s=a(window).height()+p-15;if(s<(u-l)){l=u-s}if(l>q){l=q}if(l>1){n.css({marginTop:"-"+l+"px"})}else{if(n.css("marginTop")){n.css({marginTop:""})}}b.find(".wp-submenu").removeClass("sub-open");n.addClass("sub-open")},out:function(){a(this).find(".wp-submenu").removeClass("sub-open")},timeout:200,sensitivity:7,interval:90});a("li.wp-has-submenu > a.wp-not-current-submenu",b).bind("keydown.adminmenu",function(m){if(m.which!=13){return}var l=a(m.target);m.stopPropagation();m.preventDefault();b.find(".wp-submenu").removeClass("sub-open");l.siblings(".wp-submenu").toggleClass("sub-open").find('a[role="menuitem"]').each(g)}).each(g);a('a[role="menuitem"]',b).bind("keydown.adminmenu",function(m){if(m.which!=27){return}var l=a(m.target);m.stopPropagation();m.preventDefault();l.add(l.siblings()).closest(".sub-open").removeClass("sub-open").siblings("a.wp-not-current-submenu").focus()});a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2");a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first"));screenMeta.init();a("tbody").children().children(".check-column").find(":checkbox").click(function(l){if("undefined"==l.shiftKey){return true}if(l.shiftKey){if(!j){return true}c=a(j).closest("form").find(":checkbox");e=c.index(j);k=c.index(this);i=a(this).prop("checked");if(0<e&&0<k&&e!=k){c.slice(e,k).prop("checked",function(){if(a(this).closest("tr").is(":visible")){return i}return false})}}j=this;return true});a("thead, tfoot").find(".check-column :checkbox").click(function(n){var o=a(this).prop("checked"),m="undefined"==typeof toggleWithKeyboard?false:toggleWithKeyboard,l=n.shiftKey||m;a(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(a(this).closest("tr").is(":hidden")){return false}if(l){return a(this).prop("checked")}else{if(o){return true}}return false});a(this).closest("table").children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(l){return false}else{if(o){return true}}return false})});a("#default-password-nag-no").click(function(){setUserSetting("default_password_nag","hide");a("div.default-password-nag").hide();return false});a("#newcontent").bind("keydown.wpevent_InsertTab",function(q){if(q.keyCode!=9){return true}var n=q.target,s=n.selectionStart,m=n.selectionEnd,r=n.value,l,p;try{this.lastKey=9}catch(o){}if(document.selection){n.focus();p=document.selection.createRange();p.text="\t"}else{if(s>=0){l=this.scrollTop;n.value=r.substring(0,s).concat("\t",r.substring(m));n.selectionStart=n.selectionEnd=s+1;this.scrollTop=l}}if(q.stopPropagation){q.stopPropagation()}if(q.preventDefault){q.preventDefault()}});a("#newcontent").bind("blur.wpevent_InsertTab",function(l){if(this.lastKey&&9==this.lastKey){this.focus()}});if(d.length){d.closest("form").submit(function(l){if(a('select[name="action"]').val()==-1&&a('select[name="action2"]').val()==-1&&d.val()==f){d.val("1")}})}a(window).bind("resize.autofold",function(){if(getUserSetting("mfold")=="f"){return}var l=a(window).width();if(l<=800){if(!h){a(document.body).addClass("folded");h=true}}else{if(h){a(document.body).removeClass("folded");h=false}}}).triggerHandler("resize")});a(document).bind("wp_CloseOnEscape",function(c,b){if(typeof(b.cb)!="function"){return}if(typeof(b.condition)!="function"||b.condition()){b.cb()}return true})})(jQuery);
\ No newline at end of file
--- 1 ----
! var showNotice,adminMenu,columns,validateForm,screenMeta;(function(a){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}};columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var d=a(this),c=d.val();if(d.prop("checked")){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show();this.colSpanChange(+1)},unchecked:function(b){a(".column-"+b).hide();this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(",")}},colSpanChange:function(b){var d=a("table").find(".colspanchange"),c;if(!d.length){return}c=parseInt(d.attr("colspan"),10)+b;d.attr("colspan",c.toString())}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(".form-required").filter(function(){return a("input:visible",this).val()==""}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()};showNotice={warn:function(){var b=commonL10n.warnDelete||"";if(confirm(b)){return true}return false},note:function(b){alert(b)}};screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta");this.toggles=a(".screen-meta-toggle a");this.page=a("#wpcontent");this.toggles.click(this.toggleEvent)},toggleEvent:function(c){var b=a(this.href.replace(/.+#/,"#"));c.preventDefault();if(!b.length){return}if(b.is(":visible")){screenMeta.close(b,a(this))}else{screenMeta.open(b,a(this))}},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden");b.parent().show();b.slideDown("fast",function(){c.addClass("screen-meta-active")})},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active");a(".screen-meta-toggle").css("visibility","");b.parent().hide()})}};a(".contextual-help-tabs").delegate("a","click focus",function(d){var c=a(this),b;d.preventDefault();if(c.is(".active a")){return false}a(".contextual-help-tabs .active").removeClass("active");c.parent("li").addClass("active");b=a(c.attr("href"));a(".help-tab-content").not(b).removeClass("active").hide();b.addClass("active").show()});a(document).ready(function(){var i=false,c,e,j,h,b=a("#adminmenu"),d=a("input.current-page"),f=d.val(),g;g=function(k,m){var n=a(m),l=n.attr("tabindex");if(l){n.attr("tabindex","0").attr("tabindex",l)}};a("#collapse-menu",b).click(function(){var k=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top","");if(k.hasClass("folded")){k.removeClass("folded");setUserSetting("mfold","o")}else{k.addClass("folded");setUserSetting("mfold","f")}return false});a("li.wp-has-submenu",b).hoverIntent({over:function(s){var t,q,k,r,l=a(this).find(".wp-submenu"),u,n,p;if(l.is(":visible")){return}u=a(this).offset().top;n=a(window).scrollTop();p=u-n-30;t=u+l.height()+1;q=a("#wpwrap").height();k=60+t-q;r=a(window).height()+n-15;if(r<(t-k)){k=t-r}if(k>p){k=p}if(k>1){l.css("margin-top","-"+k+"px")}else{l.css("margin-top","")}b.find(".wp-submenu").removeClass("sub-open");l.addClass("sub-open")},out:function(){a(this).find(".wp-submenu").removeClass("sub-open")},timeout:200,sensitivity:7,interval:90});a("li.wp-has-submenu > a.wp-not-current-submenu",b).bind("keydown.adminmenu",function(l){if(l.which!=13){return}var k=a(l.target);l.stopPropagation();l.preventDefault();b.find(".wp-submenu").removeClass("sub-open");k.siblings(".wp-submenu").toggleClass("sub-open").find('a[role="menuitem"]').each(g)}).each(g);a('a[role="menuitem"]',b).bind("keydown.adminmenu",function(l){if(l.which!=27){return}var k=a(l.target);l.stopPropagation();l.preventDefault();k.add(k.siblings()).closest(".sub-open").removeClass("sub-open").siblings("a.wp-not-current-submenu").focus()});a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2");a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first"));screenMeta.init();a("tbody").children().children(".check-column").find(":checkbox").click(function(k){if("undefined"==k.shiftKey){return true}if(k.shiftKey){if(!i){return true}c=a(i).closest("form").find(":checkbox");e=c.index(i);j=c.index(this);h=a(this).prop("checked");if(0<e&&0<j&&e!=j){c.slice(e,j).prop("checked",function(){if(a(this).closest("tr").is(":visible")){return h}return false})}}i=this;return true});a("thead, tfoot").find(".check-column :checkbox").click(function(m){var n=a(this).prop("checked"),l="undefined"==typeof toggleWithKeyboard?false:toggleWithKeyboard,k=m.shiftKey||l;a(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(a(this).closest("tr").is(":hidden")){return false}if(k){return a(this).prop("checked")}else{if(n){return true}}return false});a(this).closest("table").children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(k){return false}else{if(n){return true}}return false})});a("#default-password-nag-no").click(function(){setUserSetting("default_password_nag","hide");a("div.default-password-nag").hide();return false});a("#newcontent").bind("keydown.wpevent_InsertTab",function(p){if(p.keyCode!=9){return true}var m=p.target,r=m.selectionStart,l=m.selectionEnd,q=m.value,k,o;try{this.lastKey=9}catch(n){}if(document.selection){m.focus();o=document.selection.createRange();o.text="\t"}else{if(r>=0){k=this.scrollTop;m.value=q.substring(0,r).concat("\t",q.substring(l));m.selectionStart=m.selectionEnd=r+1;this.scrollTop=k}}if(p.stopPropagation){p.stopPropagation()}if(p.preventDefault){p.preventDefault()}});a("#newcontent").bind("blur.wpevent_InsertTab",function(k){if(this.lastKey&&9==this.lastKey){this.focus()}});if(d.length){d.closest("form").submit(function(k){if(a('select[name="action"]').val()==-1&&a('select[name="action2"]').val()==-1&&d.val()==f){d.val("1")}})}});a(document).bind("wp_CloseOnEscape",function(c,b){if(typeof(b.cb)!="function"){return}if(typeof(b.condition)!="function"||b.condition()){b.cb()}return true})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/custom-background.dev.js ./wordpress-3.4/wp-admin/js/custom-background.dev.js
*** ./wordpress-3.3.2/wp-admin/js/custom-background.dev.js	2011-05-11 22:31:01.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/custom-background.dev.js	2012-06-05 13:57:49.000000000 -0500
***************
*** 1,55 ****
! var farbtastic;
  
! function pickColor(color) {
! 	farbtastic.setColor(color);
! 	jQuery('#background-color').val(color);
! 	jQuery('#custom-background-image').css('background-color', color);
! 	if ( color && color !== '#' )
! 		jQuery('#clearcolor').show();
! 	else
! 		jQuery('#clearcolor').hide();
! }
! 
! jQuery(document).ready(function() {
! 	jQuery('#pickcolor').click(function() {
! 		jQuery('#colorPickerDiv').show();
! 		return false;
! 	});
  
! 	jQuery('#clearcolor a').click( function(e) {
! 		pickColor('');
! 		e.preventDefault();
! 	});
  
! 	jQuery('#background-color').keyup(function() {
! 		var _hex = jQuery('#background-color').val(), hex = _hex;
! 		if ( hex.charAt(0) != '#' )
! 			hex = '#' + hex;
! 		hex = hex.replace(/[^#a-fA-F0-9]+/, '');
! 		if ( hex != _hex )
! 			jQuery('#background-color').val(hex);
! 		if ( hex.length == 4 || hex.length == 7 )
! 			pickColor( hex );
! 	});
  
! 	jQuery('input[name="background-position-x"]').change(function() {
! 		jQuery('#custom-background-image').css('background-position', jQuery(this).val() + ' top');
! 	});
  
! 	jQuery('input[name="background-repeat"]').change(function() {
! 		jQuery('#custom-background-image').css('background-repeat', jQuery(this).val());
! 	});
  
! 	farbtastic = jQuery.farbtastic('#colorPickerDiv', function(color) {
! 		pickColor(color);
! 	});
! 	pickColor(jQuery('#background-color').val());
  
! 	jQuery(document).mousedown(function(){
! 		jQuery('#colorPickerDiv').each(function(){
! 			var display = jQuery(this).css('display');
! 			if ( display == 'block' )
! 				jQuery(this).fadeOut(2);
  		});
  	});
! });
--- 1,66 ----
! var farbtastic, pickColor;
  
! (function($) {
  
! 	var defaultColor = '';
  
! 	pickColor = function(color) {
! 		farbtastic.setColor(color);
! 		$('#background-color').val(color);
! 		$('#custom-background-image').css('background-color', color);
! 		// If we have a default color, and they match, then we need to hide the 'Default' link.
! 		// Otherwise, we hide the 'Clear' link when it is empty.
! 		if ( ( defaultColor && color === defaultColor ) || ( ! defaultColor && ( '' === color || '#' === color ) ) )
! 			$('#clearcolor').hide();
! 		else
! 			$('#clearcolor').show();
! 	}
! 
! 	$(document).ready(function() {
! 
! 		defaultColor = $('#defaultcolor').val();
! 
! 		$('#pickcolor').click(function() {
! 			$('#colorPickerDiv').show();
! 			return false;
! 		});
  
! 		$('#clearcolor a').click( function(e) {
! 			pickColor( defaultColor );
! 			e.preventDefault();
! 		});
  
! 		$('#background-color').keyup(function() {
! 			var _hex = $('#background-color').val(), hex = _hex;
! 			if ( hex.charAt(0) != '#' )
! 				hex = '#' + hex;
! 			hex = hex.replace(/[^#a-fA-F0-9]+/, '');
! 			if ( hex != _hex )
! 				$('#background-color').val(hex);
! 			if ( hex.length == 4 || hex.length == 7 )
! 				pickColor( hex );
! 		});
  
! 		$('input[name="background-position-x"]').change(function() {
! 			$('#custom-background-image').css('background-position', $(this).val() + ' top');
! 		});
! 
! 		$('input[name="background-repeat"]').change(function() {
! 			$('#custom-background-image').css('background-repeat', $(this).val());
! 		});
  
! 		farbtastic = $.farbtastic('#colorPickerDiv', function(color) {
! 			pickColor(color);
! 		});
! 		pickColor($('#background-color').val());
! 
! 		$(document).mousedown(function(){
! 			$('#colorPickerDiv').each(function(){
! 				var display = $(this).css('display');
! 				if ( display == 'block' )
! 					$(this).fadeOut(2);
! 			});
  		});
  	});
! 
! })(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/custom-background.js ./wordpress-3.4/wp-admin/js/custom-background.js
*** ./wordpress-3.3.2/wp-admin/js/custom-background.js	2011-05-11 22:31:01.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/custom-background.js	2012-06-05 13:58:25.000000000 -0500
***************
*** 1 ****
! var farbtastic;function pickColor(a){farbtastic.setColor(a);jQuery("#background-color").val(a);jQuery("#custom-background-image").css("background-color",a);if(a&&a!=="#"){jQuery("#clearcolor").show()}else{jQuery("#clearcolor").hide()}}jQuery(document).ready(function(){jQuery("#pickcolor").click(function(){jQuery("#colorPickerDiv").show();return false});jQuery("#clearcolor a").click(function(a){pickColor("");a.preventDefault()});jQuery("#background-color").keyup(function(){var b=jQuery("#background-color").val(),a=b;if(a.charAt(0)!="#"){a="#"+a}a=a.replace(/[^#a-fA-F0-9]+/,"");if(a!=b){jQuery("#background-color").val(a)}if(a.length==4||a.length==7){pickColor(a)}});jQuery('input[name="background-position-x"]').change(function(){jQuery("#custom-background-image").css("background-position",jQuery(this).val()+" top")});jQuery('input[name="background-repeat"]').change(function(){jQuery("#custom-background-image").css("background-repeat",jQuery(this).val())});farbtastic=jQuery.farbtastic("#colorPickerDiv",function(a){pickColor(a)});pickColor(jQuery("#background-color").val());jQuery(document).mousedown(function(){jQuery("#colorPickerDiv").each(function(){var a=jQuery(this).css("display");if(a=="block"){jQuery(this).fadeOut(2)}})})});
\ No newline at end of file
--- 1 ----
! var farbtastic,pickColor;(function(b){var a="";pickColor=function(c){farbtastic.setColor(c);b("#background-color").val(c);b("#custom-background-image").css("background-color",c);if((a&&c===a)||(!a&&(""===c||"#"===c))){b("#clearcolor").hide()}else{b("#clearcolor").show()}};b(document).ready(function(){a=b("#defaultcolor").val();b("#pickcolor").click(function(){b("#colorPickerDiv").show();return false});b("#clearcolor a").click(function(c){pickColor(a);c.preventDefault()});b("#background-color").keyup(function(){var d=b("#background-color").val(),c=d;if(c.charAt(0)!="#"){c="#"+c}c=c.replace(/[^#a-fA-F0-9]+/,"");if(c!=d){b("#background-color").val(c)}if(c.length==4||c.length==7){pickColor(c)}});b('input[name="background-position-x"]').change(function(){b("#custom-background-image").css("background-position",b(this).val()+" top")});b('input[name="background-repeat"]').change(function(){b("#custom-background-image").css("background-repeat",b(this).val())});farbtastic=b.farbtastic("#colorPickerDiv",function(c){pickColor(c)});pickColor(b("#background-color").val());b(document).mousedown(function(){b("#colorPickerDiv").each(function(){var c=b(this).css("display");if(c=="block"){b(this).fadeOut(2)}})})})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/customize-controls.dev.js ./wordpress-3.4/wp-admin/js/customize-controls.dev.js
*** ./wordpress-3.3.2/wp-admin/js/customize-controls.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/customize-controls.dev.js	2012-06-12 17:51:55.000000000 -0500
***************
*** 0 ****
--- 1,942 ----
+ (function( exports, $ ){
+ 	var api = wp.customize;
+ 
+ 	/*
+ 	 * @param options
+ 	 * - previewer - The Previewer instance to sync with.
+ 	 * - transport - The transport to use for previewing. Supports 'refresh' and 'postMessage'.
+ 	 */
+ 	api.Setting = api.Value.extend({
+ 		initialize: function( id, value, options ) {
+ 			var element;
+ 
+ 			api.Value.prototype.initialize.call( this, value, options );
+ 
+ 			this.id = id;
+ 			this.transport = this.transport || 'refresh';
+ 
+ 			this.bind( this.preview );
+ 		},
+ 		preview: function() {
+ 			switch ( this.transport ) {
+ 				case 'refresh':
+ 					return this.previewer.refresh();
+ 				case 'postMessage':
+ 					return this.previewer.send( 'setting', [ this.id, this() ] );
+ 			}
+ 		}
+ 	});
+ 
+ 	api.Control = api.Class.extend({
+ 		initialize: function( id, options ) {
+ 			var control = this,
+ 				nodes, radios, settings;
+ 
+ 			this.params = {};
+ 			$.extend( this, options || {} );
+ 
+ 			this.id = id;
+ 			this.selector = '#customize-control-' + id.replace( ']', '' ).replace( '[', '-' );
+ 			this.container = $( this.selector );
+ 
+ 			settings = $.map( this.params.settings, function( value ) {
+ 				return value;
+ 			});
+ 
+ 			api.apply( api, settings.concat( function() {
+ 				var key;
+ 
+ 				control.settings = {};
+ 				for ( key in control.params.settings ) {
+ 					control.settings[ key ] = api( control.params.settings[ key ] );
+ 				}
+ 
+ 				control.setting = control.settings['default'] || null;
+ 				control.ready();
+ 			}) );
+ 
+ 			control.elements = [];
+ 
+ 			nodes  = this.container.find('[data-customize-setting-link]');
+ 			radios = {};
+ 
+ 			nodes.each( function() {
+ 				var node = $(this),
+ 					name;
+ 
+ 				if ( node.is(':radio') ) {
+ 					name = node.prop('name');
+ 					if ( radios[ name ] )
+ 						return;
+ 
+ 					radios[ name ] = true;
+ 					node = nodes.filter( '[name="' + name + '"]' );
+ 				}
+ 
+ 				api( node.data('customizeSettingLink'), function( setting ) {
+ 					var element = new api.Element( node );
+ 					control.elements.push( element );
+ 					element.sync( setting );
+ 					element.set( setting() );
+ 				});
+ 			});
+ 		},
+ 
+ 		ready: function() {},
+ 
+ 		dropdownInit: function() {
+ 			var control  = this,
+ 				statuses = this.container.find('.dropdown-status'),
+ 				params   = this.params,
+ 				update   = function( to ) {
+ 					if ( typeof	to === 'string' && params.statuses && params.statuses[ to ] )
+ 						statuses.html( params.statuses[ to ] ).show();
+ 					else
+ 						statuses.hide();
+ 				};
+ 
+ 			// Support the .dropdown class to open/close complex elements
+ 			this.container.on( 'click', '.dropdown', function( event ) {
+ 				event.preventDefault();
+ 				control.container.toggleClass('open');
+ 			});
+ 
+ 			this.setting.bind( update );
+ 			update( this.setting() );
+ 		}
+ 	});
+ 
+ 	api.ColorControl = api.Control.extend({
+ 		ready: function() {
+ 			var control = this,
+ 				rhex, spot, input, text, update;
+ 
+ 			rhex   = /^#([A-Fa-f0-9]{3}){0,2}$/;
+ 			spot   = this.container.find('.dropdown-content');
+ 			input  = new api.Element( this.container.find('.color-picker-hex') );
+ 			update = function( color ) {
+ 				spot.css( 'background', color );
+ 				control.farbtastic.setColor( color );
+ 			};
+ 
+ 			this.farbtastic = $.farbtastic( this.container.find('.farbtastic-placeholder'), control.setting.set );
+ 
+ 			// Only pass through values that are valid hexes/empty.
+ 			input.sync( this.setting ).validate = function( to ) {
+ 				return rhex.test( to ) ? to : null;
+ 			};
+ 
+ 			this.setting.bind( update );
+ 			update( this.setting() );
+ 
+ 			this.dropdownInit();
+ 		}
+ 	});
+ 
+ 	api.UploadControl = api.Control.extend({
+ 		ready: function() {
+ 			var control = this;
+ 
+ 			this.params.removed = this.params.removed || '';
+ 
+ 			this.success = $.proxy( this.success, this );
+ 
+ 			this.uploader = $.extend({
+ 				container: this.container,
+ 				browser:   this.container.find('.upload'),
+ 				dropzone:  this.container.find('.upload-dropzone'),
+ 				success:   this.success
+ 			}, this.uploader || {} );
+ 
+ 			if ( this.uploader.supported ) {
+ 				if ( control.params.context )
+ 					control.uploader.param( 'post_data[context]', this.params.context );
+ 
+ 				control.uploader.param( 'post_data[theme]', api.settings.theme.stylesheet );
+ 			}
+ 
+ 			this.uploader = new wp.Uploader( this.uploader );
+ 
+ 			this.remover = this.container.find('.remove');
+ 			this.remover.click( function( event ) {
+ 				control.setting.set( control.params.removed );
+ 				event.preventDefault();
+ 			});
+ 
+ 			this.removerVisibility = $.proxy( this.removerVisibility, this );
+ 			this.setting.bind( this.removerVisibility );
+ 			this.removerVisibility( this.setting.get() );
+ 		},
+ 		success: function( attachment ) {
+ 			this.setting.set( attachment.url );
+ 		},
+ 		removerVisibility: function( to ) {
+ 			this.remover.toggle( to != this.params.removed );
+ 		}
+ 	});
+ 
+ 	api.ImageControl = api.UploadControl.extend({
+ 		ready: function() {
+ 			var control = this,
+ 				panels;
+ 
+ 			this.uploader = {
+ 				init: function( up ) {
+ 					var fallback, button;
+ 
+ 					if ( this.supports.dragdrop )
+ 						return;
+ 
+ 					// Maintain references while wrapping the fallback button.
+ 					fallback = control.container.find( '.upload-fallback' );
+ 					button   = fallback.children().detach();
+ 
+ 					this.browser.detach().empty().append( button );
+ 					fallback.append( this.browser ).show();
+ 				}
+ 			};
+ 
+ 			api.UploadControl.prototype.ready.call( this );
+ 
+ 			this.thumbnail    = this.container.find('.preview-thumbnail img');
+ 			this.thumbnailSrc = $.proxy( this.thumbnailSrc, this );
+ 			this.setting.bind( this.thumbnailSrc );
+ 
+ 			this.library = this.container.find('.library');
+ 
+ 			// Generate tab objects
+ 			this.tabs = {};
+ 			panels    = this.library.find('.library-content');
+ 
+ 			this.library.children('ul').children('li').each( function() {
+ 				var link  = $(this),
+ 					id    = link.data('customizeTab'),
+ 					panel = panels.filter('[data-customize-tab="' + id + '"]');
+ 
+ 				control.tabs[ id ] = {
+ 					both:  link.add( panel ),
+ 					link:  link,
+ 					panel: panel
+ 				};
+ 			});
+ 
+ 			// Select a tab
+ 			this.selected = this.tabs[ panels.first().data('customizeTab') ];
+ 			this.selected.both.addClass('library-selected');
+ 
+ 			// Bind tab switch events
+ 			this.library.children('ul').on( 'click', 'li', function( event ) {
+ 				var id  = $(this).data('customizeTab'),
+ 					tab = control.tabs[ id ];
+ 
+ 				event.preventDefault();
+ 
+ 				if ( tab.link.hasClass('library-selected') )
+ 					return;
+ 
+ 				control.selected.both.removeClass('library-selected');
+ 				control.selected = tab;
+ 				control.selected.both.addClass('library-selected');
+ 			});
+ 
+ 			// Bind events to switch image urls.
+ 			this.library.on( 'click', 'a', function( event ) {
+ 				var value = $(this).data('customizeImageValue');
+ 
+ 				if ( value ) {
+ 					control.setting.set( value );
+ 					event.preventDefault();
+ 				}
+ 			});
+ 
+ 			if ( this.tabs.uploaded ) {
+ 				this.tabs.uploaded.target = this.library.find('.uploaded-target');
+ 				if ( ! this.tabs.uploaded.panel.find('.thumbnail').length )
+ 					this.tabs.uploaded.both.addClass('hidden');
+ 			}
+ 
+ 			this.dropdownInit();
+ 		},
+ 		success: function( attachment ) {
+ 			api.UploadControl.prototype.success.call( this, attachment );
+ 
+ 			// Add the uploaded image to the uploaded tab.
+ 			if ( this.tabs.uploaded && this.tabs.uploaded.target.length ) {
+ 				this.tabs.uploaded.both.removeClass('hidden');
+ 
+ 				attachment.element = $( '<a href="#" class="thumbnail"></a>' )
+ 					.data( 'customizeImageValue', attachment.url )
+ 					.append( '<img src="' +  attachment.url+ '" />' )
+ 					.appendTo( this.tabs.uploaded.target );
+ 			}
+ 		},
+ 		thumbnailSrc: function( to ) {
+ 			if ( /^(https?:)?\/\//.test( to ) )
+ 				this.thumbnail.prop( 'src', to ).show();
+ 			else
+ 				this.thumbnail.hide();
+ 		}
+ 	});
+ 
+ 	// Change objects contained within the main customize object to Settings.
+ 	api.defaultConstructor = api.Setting;
+ 
+ 	// Create the collection of Control objects.
+ 	api.control = new api.Values({ defaultConstructor: api.Control });
+ 
+ 	api.PreviewFrame = api.Messenger.extend({
+ 		sensitivity: 2000,
+ 
+ 		initialize: function( params, options ) {
+ 			var deferred = $.Deferred(),
+ 				self     = this;
+ 
+ 			// This is the promise object.
+ 			deferred.promise( this );
+ 
+ 			this.previewer = params.previewer;
+ 
+ 			$.extend( params, { channel: api.PreviewFrame.uuid() });
+ 
+ 			api.Messenger.prototype.initialize.call( this, params, options );
+ 
+ 			this.add( 'previewUrl', params.previewUrl );
+ 
+ 			this.query = $.extend( params.query || {}, { customize_messenger_channel: this.channel() });
+ 
+ 			this.run( deferred );
+ 		},
+ 
+ 		run: function( deferred ) {
+ 			var self   = this,
+ 				loaded = false,
+ 				ready  = false;
+ 
+ 			if ( this._ready )
+ 				this.unbind( 'ready', this._ready );
+ 
+ 			this._ready = function() {
+ 				ready = true;
+ 
+ 				if ( loaded )
+ 					deferred.resolveWith( self );
+ 			};
+ 
+ 			this.bind( 'ready', this._ready );
+ 
+ 			this.request = $.ajax( this.previewUrl(), {
+ 				type: 'POST',
+ 				data: this.query,
+ 				xhrFields: {
+ 					withCredentials: true
+ 				}
+ 			} );
+ 
+ 			this.request.fail( function() {
+ 				deferred.rejectWith( self, [ 'request failure' ] );
+ 			});
+ 
+ 			this.request.done( function( response ) {
+ 				var location = self.request.getResponseHeader('Location'),
+ 					signature = 'WP_CUSTOMIZER_SIGNATURE',
+ 					index;
+ 
+ 				// Check if the location response header differs from the current URL.
+ 				// If so, the request was redirected; try loading the requested page.
+ 				if ( location && location != self.previewUrl() ) {
+ 					deferred.rejectWith( self, [ 'redirect', location ] );
+ 					return;
+ 				}
+ 
+ 				// Check if the user is not logged in.
+ 				if ( '0' === response ) {
+ 					self.login( deferred );
+ 					return;
+ 				}
+ 
+ 				// Check for cheaters.
+ 				if ( '-1' === response ) {
+ 					deferred.rejectWith( self, [ 'cheatin' ] );
+ 					return;
+ 				}
+ 
+ 				// Check for a signature in the request.
+ 				index = response.lastIndexOf( signature );
+ 				if ( -1 === index || index < response.lastIndexOf('</html>') ) {
+ 					deferred.rejectWith( self, [ 'unsigned' ] );
+ 					return;
+ 				}
+ 
+ 				// Strip the signature from the request.
+ 				response = response.slice( 0, index ) + response.slice( index + signature.length );
+ 
+ 				// Create the iframe and inject the html content.
+ 				self.iframe = $('<iframe />').appendTo( self.previewer.container );
+ 
+ 				// Bind load event after the iframe has been added to the page;
+ 				// otherwise it will fire when injected into the DOM.
+ 				self.iframe.one( 'load', function() {
+ 					loaded = true;
+ 
+ 					if ( ready ) {
+ 						deferred.resolveWith( self );
+ 					} else {
+ 						setTimeout( function() {
+ 							deferred.rejectWith( self, [ 'ready timeout' ] );
+ 						}, self.sensitivity );
+ 					}
+ 				});
+ 
+ 				self.targetWindow( self.iframe[0].contentWindow );
+ 
+ 				self.targetWindow().document.open();
+ 				self.targetWindow().document.write( response );
+ 				self.targetWindow().document.close();
+ 			});
+ 		},
+ 
+ 		login: function( deferred ) {
+ 			var self = this,
+ 				reject;
+ 
+ 			reject = function() {
+ 				deferred.rejectWith( self, [ 'logged out' ] );
+ 			};
+ 
+ 			if ( this.triedLogin )
+ 				return reject();
+ 
+ 			// Check if we have an admin cookie.
+ 			$.get( api.settings.url.ajax, {
+ 				action: 'logged-in'
+ 			}).fail( reject ).done( function( response ) {
+ 				var iframe;
+ 
+ 				if ( '1' !== response )
+ 					reject();
+ 
+ 				iframe = $('<iframe src="' + self.previewUrl() + '" />').hide();
+ 				iframe.appendTo( self.previewer.container );
+ 				iframe.load( function() {
+ 					self.triedLogin = true;
+ 
+ 					iframe.remove();
+ 					self.run( deferred );
+ 				});
+ 			});
+ 		},
+ 
+ 		destroy: function() {
+ 			api.Messenger.prototype.destroy.call( this );
+ 			this.request.abort();
+ 
+ 			if ( this.iframe )
+ 				this.iframe.remove();
+ 
+ 			delete this.request;
+ 			delete this.iframe;
+ 			delete this.targetWindow;
+ 		}
+ 	});
+ 
+ 	(function(){
+ 		var uuid = 0;
+ 		api.PreviewFrame.uuid = function() {
+ 			return 'preview-' + uuid++;
+ 		};
+ 	}());
+ 
+ 	api.Previewer = api.Messenger.extend({
+ 		refreshBuffer: 250,
+ 
+ 		/**
+ 		 * Requires params:
+ 		 *  - container  - a selector or jQuery element
+ 		 *  - previewUrl - the URL of preview frame
+ 		 */
+ 		initialize: function( params, options ) {
+ 			var self = this,
+ 				rscheme = /^https?/,
+ 				url;
+ 
+ 			$.extend( this, options || {} );
+ 
+ 			/*
+ 			 * Wrap this.refresh to prevent it from hammering the servers:
+ 			 *
+ 			 * If refresh is called once and no other refresh requests are
+ 			 * loading, trigger the request immediately.
+ 			 *
+ 			 * If refresh is called while another refresh request is loading,
+ 			 * debounce the refresh requests:
+ 			 * 1. Stop the loading request (as it is instantly outdated).
+ 			 * 2. Trigger the new request once refresh hasn't been called for
+ 			 *    self.refreshBuffer milliseconds.
+ 			 */
+ 			this.refresh = (function( self ) {
+ 				var refresh  = self.refresh,
+ 					callback = function() {
+ 						timeout = null;
+ 						refresh.call( self );
+ 					},
+ 					timeout;
+ 
+ 				return function() {
+ 					if ( typeof timeout !== 'number' ) {
+ 						if ( self.loading ) {
+ 							self.abort();
+ 						} else {
+ 							return callback();
+ 						}
+ 					}
+ 
+ 					clearTimeout( timeout );
+ 					timeout = setTimeout( callback, self.refreshBuffer );
+ 				};
+ 			})( this );
+ 
+ 			this.container   = api.ensure( params.container );
+ 			this.allowedUrls = params.allowedUrls;
+ 
+ 			params.url = window.location.href;
+ 
+ 			api.Messenger.prototype.initialize.call( this, params );
+ 
+ 			this.add( 'scheme', this.origin() ).link( this.origin ).setter( function( to ) {
+ 				var match = to.match( rscheme );
+ 				return match ? match[0] : '';
+ 			});
+ 
+ 			// Limit the URL to internal, front-end links.
+ 			//
+ 			// If the frontend and the admin are served from the same domain, load the
+ 			// preview over ssl if the customizer is being loaded over ssl. This avoids
+ 			// insecure content warnings. This is not attempted if the admin and frontend
+ 			// are on different domains to avoid the case where the frontend doesn't have
+ 			// ssl certs.
+ 
+ 			this.add( 'previewUrl', params.previewUrl ).setter( function( to ) {
+ 				var result;
+ 
+ 				// Check for URLs that include "/wp-admin/" or end in "/wp-admin".
+ 				// Strip hashes and query strings before testing.
+ 				if ( /\/wp-admin(\/|$)/.test( to.replace(/[#?].*$/, '') ) )
+ 					return null;
+ 
+ 				// Attempt to match the URL to the control frame's scheme
+ 				// and check if it's allowed. If not, try the original URL.
+ 				$.each([ to.replace( rscheme, self.scheme() ), to ], function( i, url ) {
+ 					$.each( self.allowedUrls, function( i, allowed ) {
+ 						if ( 0 === url.indexOf( allowed ) ) {
+ 							result = url;
+ 							return false;
+ 						}
+ 					});
+ 					if ( result )
+ 						return false;
+ 				});
+ 
+ 				// If we found a matching result, return it. If not, bail.
+ 				return result ? result : null;
+ 			});
+ 
+ 			// Refresh the preview when the URL is changed (but not yet).
+ 			this.previewUrl.bind( this.refresh );
+ 
+ 			this.scroll = 0;
+ 			this.bind( 'scroll', function( distance ) {
+ 				this.scroll = distance;
+ 			});
+ 
+ 			// Update the URL when the iframe sends a URL message.
+ 			this.bind( 'url', this.previewUrl );
+ 		},
+ 
+ 		query: function() {},
+ 
+ 		abort: function() {
+ 			if ( this.loading ) {
+ 				this.loading.destroy();
+ 				delete this.loading;
+ 			}
+ 		},
+ 
+ 		refresh: function() {
+ 			var self = this;
+ 
+ 			this.abort();
+ 
+ 			this.loading = new api.PreviewFrame({
+ 				url:        this.url(),
+ 				previewUrl: this.previewUrl(),
+ 				query:      this.query() || {},
+ 				previewer:  this
+ 			});
+ 
+ 			this.loading.done( function() {
+ 				// 'this' is the loading frame
+ 				this.bind( 'synced', function() {
+ 					if ( self.preview )
+ 						self.preview.destroy();
+ 					self.preview = this;
+ 					delete self.loading;
+ 
+ 					self.targetWindow( this.targetWindow() );
+ 					self.channel( this.channel() );
+ 				});
+ 
+ 				this.send( 'sync', {
+ 					scroll:   self.scroll,
+ 					settings: api.get()
+ 				});
+ 			});
+ 
+ 			this.loading.fail( function( reason, location ) {
+ 				if ( 'redirect' === reason && location )
+ 					self.previewUrl( location );
+ 
+ 				if ( 'logged out' === reason ) {
+ 					if ( self.preview ) {
+ 						self.preview.destroy();
+ 						delete self.preview;
+ 					}
+ 
+ 					self.login().done( self.refresh );
+ 				}
+ 
+ 				if ( 'cheatin' === reason )
+ 					self.cheatin();
+ 			});
+ 		},
+ 
+ 		login: function() {
+ 			var previewer = this,
+ 				deferred, messenger, iframe;
+ 
+ 			if ( this._login )
+ 				return this._login;
+ 
+ 			deferred = $.Deferred();
+ 			this._login = deferred.promise();
+ 
+ 			messenger = new api.Messenger({
+ 				channel: 'login',
+ 				url:     api.settings.url.login
+ 			});
+ 
+ 			iframe = $('<iframe src="' + api.settings.url.login + '" />').appendTo( this.container );
+ 
+ 			messenger.targetWindow( iframe[0].contentWindow );
+ 
+ 			messenger.bind( 'login', function() {
+ 				iframe.remove();
+ 				messenger.destroy();
+ 				delete previewer._login;
+ 				deferred.resolve();
+ 			});
+ 
+ 			return this._login;
+ 		},
+ 
+ 		cheatin: function() {
+ 			$( document.body ).empty().addClass('cheatin').append( '<p>' + api.l10n.cheatin + '</p>' );
+ 		}
+ 	});
+ 
+ 	/* =====================================================================
+ 	 * Ready.
+ 	 * ===================================================================== */
+ 
+ 	api.controlConstructor = {
+ 		color:  api.ColorControl,
+ 		upload: api.UploadControl,
+ 		image:  api.ImageControl
+ 	};
+ 
+ 	$( function() {
+ 		api.settings = window._wpCustomizeSettings;
+ 		api.l10n = window._wpCustomizeControlsL10n;
+ 
+ 		// Check if we can run the customizer.
+ 		if ( ! api.settings )
+ 			return;
+ 
+ 		// Redirect to the fallback preview if any incompatibilities are found.
+ 		if ( ! $.support.postMessage || ( ! $.support.cors && api.settings.isCrossDomain ) )
+ 			return window.location = api.settings.url.fallback;
+ 
+ 		var body = $( document.body ),
+ 			overlay = body.children('.wp-full-overlay'),
+ 			query, previewer, parent;
+ 
+ 		// Prevent the form from saving when enter is pressed.
+ 		$('#customize-controls').on( 'keydown', function( e ) {
+ 			if ( $( e.target ).is('textarea') )
+ 				return;
+ 
+ 			if ( 13 === e.which ) // Enter
+ 				e.preventDefault();
+ 		});
+ 
+ 		// Initialize Previewer
+ 		previewer = new api.Previewer({
+ 			container:   '#customize-preview',
+ 			form:        '#customize-controls',
+ 			previewUrl:  api.settings.url.preview,
+ 			allowedUrls: api.settings.url.allowed
+ 		}, {
+ 			query: function() {
+ 				return {
+ 					wp_customize: 'on',
+ 					theme:        api.settings.theme.stylesheet,
+ 					customized:   JSON.stringify( api.get() )
+ 				};
+ 			},
+ 
+ 			nonce: $('#_wpnonce').val(),
+ 
+ 			save: function() {
+ 				var self  = this,
+ 					query = $.extend( this.query(), {
+ 						action: 'customize_save',
+ 						nonce:  this.nonce
+ 					}),
+ 					request = $.post( api.settings.url.ajax, query );
+ 
+ 				api.trigger( 'save', request );
+ 
+ 				body.addClass('saving');
+ 
+ 				request.always( function() {
+ 					body.removeClass('saving');
+ 				});
+ 
+ 				request.done( function( response ) {
+ 					// Check if the user is logged out.
+ 					if ( '0' === response ) {
+ 						self.preview.iframe.hide();
+ 						self.login().done( function() {
+ 							self.save();
+ 							self.preview.iframe.show();
+ 						});
+ 						return;
+ 					}
+ 
+ 					// Check for cheaters.
+ 					if ( '-1' === response ) {
+ 						self.cheatin();
+ 						return;
+ 					}
+ 
+ 					api.trigger( 'saved' );
+ 				});
+ 			}
+ 		});
+ 
+ 		$.each( api.settings.settings, function( id, data ) {
+ 			api.create( id, id, data.value, {
+ 				transport: data.transport,
+ 				previewer: previewer
+ 			} );
+ 		});
+ 
+ 		$.each( api.settings.controls, function( id, data ) {
+ 			var constructor = api.controlConstructor[ data.type ] || api.Control,
+ 				control;
+ 
+ 			control = api.control.add( id, new constructor( id, {
+ 				params: data,
+ 				previewer: previewer
+ 			} ) );
+ 		});
+ 
+ 		// Check if preview url is valid and load the preview frame.
+ 		if ( previewer.previewUrl() )
+ 			previewer.refresh();
+ 		else
+ 			previewer.previewUrl( api.settings.url.home );
+ 
+ 		// Save and activated states
+ 		(function() {
+ 			var state = new api.Values(),
+ 				saved = state.create('saved'),
+ 				activated = state.create('activated');
+ 
+ 			state.bind( 'change', function() {
+ 				var save = $('#save'),
+ 					back = $('.back');
+ 
+ 				if ( ! activated() ) {
+ 					save.val( api.l10n.activate ).prop( 'disabled', false );
+ 					back.text( api.l10n.cancel );
+ 
+ 				} else if ( saved() ) {
+ 					save.val( api.l10n.saved ).prop( 'disabled', true );
+ 					back.text( api.l10n.close );
+ 
+ 				} else {
+ 					save.val( api.l10n.save ).prop( 'disabled', false );
+ 					back.text( api.l10n.cancel );
+ 				}
+ 			});
+ 
+ 			// Set default states.
+ 			saved( true );
+ 			activated( api.settings.theme.active );
+ 
+ 			api.bind( 'change', function() {
+ 				state('saved').set( false );
+ 			});
+ 
+ 			api.bind( 'saved', function() {
+ 				state('saved').set( true );
+ 				state('activated').set( true );
+ 			});
+ 
+ 			activated.bind( function( to ) {
+ 				if ( to )
+ 					api.trigger( 'activated' );
+ 			});
+ 
+ 			// Expose states to the API.
+ 			api.state = state;
+ 		}());
+ 
+ 		// Temporary accordion code.
+ 		$('.customize-section-title').click( function( event ) {
+ 			var clicked = $( this ).parents( '.customize-section' );
+ 
+ 			if ( clicked.hasClass('cannot-expand') )
+ 				return;
+ 
+ 			$( '.customize-section' ).not( clicked ).removeClass( 'open' );
+ 			clicked.toggleClass( 'open' );
+ 			event.preventDefault();
+ 		});
+ 
+ 		// Button bindings.
+ 		$('#save').click( function( event ) {
+ 			previewer.save();
+ 			event.preventDefault();
+ 		});
+ 
+ 		$('.collapse-sidebar').click( function( event ) {
+ 			overlay.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
+ 			event.preventDefault();
+ 		});
+ 
+ 		// Create a potential postMessage connection with the parent frame.
+ 		parent = new api.Messenger({
+ 			url: api.settings.url.parent,
+ 			channel: 'loader'
+ 		});
+ 
+ 		// If we receive a 'back' event, we're inside an iframe.
+ 		// Send any clicks to the 'Return' link to the parent page.
+ 		parent.bind( 'back', function() {
+ 			$('.back').on( 'click.back', function( event ) {
+ 				event.preventDefault();
+ 				parent.send( 'close' );
+ 			});
+ 		});
+ 
+ 		// Pass events through to the parent.
+ 		api.bind( 'saved', function() {
+ 			parent.send( 'saved' );
+ 		});
+ 
+ 		// When activated, let the loader handle redirecting the page.
+ 		// If no loader exists, redirect the page ourselves (if a url exists).
+ 		api.bind( 'activated', function() {
+ 			if ( parent.targetWindow() )
+ 				parent.send( 'activated', api.settings.url.activated );
+ 			else if ( api.settings.url.activated )
+ 				window.location = api.settings.url.activated;
+ 		});
+ 
+ 		// Initialize the connection with the parent frame.
+ 		parent.send( 'ready' );
+ 
+ 		// Control visibility for default controls
+ 		$.each({
+ 			'background_image': {
+ 				controls: [ 'background_repeat', 'background_position_x', 'background_attachment' ],
+ 				callback: function( to ) { return !! to }
+ 			},
+ 			'show_on_front': {
+ 				controls: [ 'page_on_front', 'page_for_posts' ],
+ 				callback: function( to ) { return 'page' === to }
+ 			},
+ 			'header_textcolor': {
+ 				controls: [ 'header_textcolor' ],
+ 				callback: function( to ) { return 'blank' !== to }
+ 			}
+ 		}, function( settingId, o ) {
+ 			api( settingId, function( setting ) {
+ 				$.each( o.controls, function( i, controlId ) {
+ 					api.control( controlId, function( control ) {
+ 						var visibility = function( to ) {
+ 							control.container.toggle( o.callback( to ) );
+ 						};
+ 
+ 						visibility( setting.get() );
+ 						setting.bind( visibility );
+ 					});
+ 				});
+ 			});
+ 		});
+ 
+ 		// Juggle the two controls that use header_textcolor
+ 		api.control( 'display_header_text', function( control ) {
+ 			var last = '';
+ 
+ 			control.elements[0].unsync( api( 'header_textcolor' ) );
+ 
+ 			control.element = new api.Element( control.container.find('input') );
+ 			control.element.set( 'blank' !== control.setting() );
+ 
+ 			control.element.bind( function( to ) {
+ 				if ( ! to )
+ 					last = api( 'header_textcolor' ).get();
+ 
+ 				control.setting.set( to ? last : 'blank' );
+ 			});
+ 
+ 			control.setting.bind( function( to ) {
+ 				control.element.set( 'blank' !== to );
+ 			});
+ 		});
+ 
+ 		// Handle header image data
+ 		api.control( 'header_image', function( control ) {
+ 			control.setting.bind( function( to ) {
+ 				if ( to === control.params.removed )
+ 					control.settings.data.set( false );
+ 			});
+ 
+ 			control.library.on( 'click', 'a', function( event ) {
+ 				control.settings.data.set( $(this).data('customizeHeaderImageData') );
+ 			});
+ 
+ 			control.uploader.success = function( attachment ) {
+ 				var data;
+ 
+ 				api.ImageControl.prototype.success.call( control, attachment );
+ 
+ 				data = {
+ 					attachment_id: attachment.id,
+ 					url:           attachment.url,
+ 					thumbnail_url: attachment.url,
+ 					height:        attachment.meta.height,
+ 					width:         attachment.meta.width
+ 				};
+ 
+ 				attachment.element.data( 'customizeHeaderImageData', data );
+ 				control.settings.data.set( data );
+ 			}
+ 		});
+ 
+ 		api.trigger( 'ready' );
+ 	});
+ 
+ })( wp, jQuery );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/customize-controls.js ./wordpress-3.4/wp-admin/js/customize-controls.js
*** ./wordpress-3.3.2/wp-admin/js/customize-controls.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/customize-controls.js	2012-06-12 17:52:24.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ (function(a,c){var b=wp.customize;b.Setting=b.Value.extend({initialize:function(g,f,d){var e;b.Value.prototype.initialize.call(this,f,d);this.id=g;this.transport=this.transport||"refresh";this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}});b.Control=b.Class.extend({initialize:function(i,e){var g=this,d,h,f;this.params={};c.extend(this,e||{});this.id=i;this.selector="#customize-control-"+i.replace("]","").replace("[","-");this.container=c(this.selector);f=c.map(this.params.settings,function(j){return j});b.apply(b,f.concat(function(){var j;g.settings={};for(j in g.params.settings){g.settings[j]=b(g.params.settings[j])}g.setting=g.settings["default"]||null;g.ready()}));g.elements=[];d=this.container.find("[data-customize-setting-link]");h={};d.each(function(){var k=c(this),j;if(k.is(":radio")){j=k.prop("name");if(h[j]){return}h[j]=true;k=d.filter('[name="'+j+'"]')}b(k.data("customizeSettingLink"),function(m){var l=new b.Element(k);g.elements.push(l);l.sync(m);l.set(m())})})},ready:function(){},dropdownInit:function(){var e=this,d=this.container.find(".dropdown-status"),f=this.params,g=function(h){if(typeof h==="string"&&f.statuses&&f.statuses[h]){d.html(f.statuses[h]).show()}else{d.hide()}};this.container.on("click",".dropdown",function(h){h.preventDefault();e.container.toggleClass("open")});this.setting.bind(g);g(this.setting())}});b.ColorControl=b.Control.extend({ready:function(){var g=this,f,e,d,h,i;f=/^#([A-Fa-f0-9]{3}){0,2}$/;e=this.container.find(".dropdown-content");d=new b.Element(this.container.find(".color-picker-hex"));i=function(j){e.css("background",j);g.farbtastic.setColor(j)};this.farbtastic=c.farbtastic(this.container.find(".farbtastic-placeholder"),g.setting.set);d.sync(this.setting).validate=function(j){return f.test(j)?j:null};this.setting.bind(i);i(this.setting());this.dropdownInit()}});b.UploadControl=b.Control.extend({ready:function(){var d=this;this.params.removed=this.params.removed||"";this.success=c.proxy(this.success,this);this.uploader=c.extend({container:this.container,browser:this.container.find(".upload"),dropzone:this.container.find(".upload-dropzone"),success:this.success},this.uploader||{});if(this.uploader.supported){if(d.params.context){d.uploader.param("post_data[context]",this.params.context)}d.uploader.param("post_data[theme]",b.settings.theme.stylesheet)}this.uploader=new wp.Uploader(this.uploader);this.remover=this.container.find(".remove");this.remover.click(function(e){d.setting.set(d.params.removed);e.preventDefault()});this.removerVisibility=c.proxy(this.removerVisibility,this);this.setting.bind(this.removerVisibility);this.removerVisibility(this.setting.get())},success:function(d){this.setting.set(d.url)},removerVisibility:function(d){this.remover.toggle(d!=this.params.removed)}});b.ImageControl=b.UploadControl.extend({ready:function(){var e=this,d;this.uploader={init:function(f){var h,g;if(this.supports.dragdrop){return}h=e.container.find(".upload-fallback");g=h.children().detach();this.browser.detach().empty().append(g);h.append(this.browser).show()}};b.UploadControl.prototype.ready.call(this);this.thumbnail=this.container.find(".preview-thumbnail img");this.thumbnailSrc=c.proxy(this.thumbnailSrc,this);this.setting.bind(this.thumbnailSrc);this.library=this.container.find(".library");this.tabs={};d=this.library.find(".library-content");this.library.children("ul").children("li").each(function(){var g=c(this),h=g.data("customizeTab"),f=d.filter('[data-customize-tab="'+h+'"]');e.tabs[h]={both:g.add(f),link:g,panel:f}});this.selected=this.tabs[d.first().data("customizeTab")];this.selected.both.addClass("library-selected");this.library.children("ul").on("click","li",function(g){var h=c(this).data("customizeTab"),f=e.tabs[h];g.preventDefault();if(f.link.hasClass("library-selected")){return}e.selected.both.removeClass("library-selected");e.selected=f;e.selected.both.addClass("library-selected")});this.library.on("click","a",function(f){var g=c(this).data("customizeImageValue");if(g){e.setting.set(g);f.preventDefault()}});if(this.tabs.uploaded){this.tabs.uploaded.target=this.library.find(".uploaded-target");if(!this.tabs.uploaded.panel.find(".thumbnail").length){this.tabs.uploaded.both.addClass("hidden")}}this.dropdownInit()},success:function(d){b.UploadControl.prototype.success.call(this,d);if(this.tabs.uploaded&&this.tabs.uploaded.target.length){this.tabs.uploaded.both.removeClass("hidden");d.element=c('<a href="#" class="thumbnail"></a>').data("customizeImageValue",d.url).append('<img src="'+d.url+'" />').appendTo(this.tabs.uploaded.target)}},thumbnailSrc:function(d){if(/^(https?:)?\/\//.test(d)){this.thumbnail.prop("src",d).show()}else{this.thumbnail.hide()}}});b.defaultConstructor=b.Setting;b.control=new b.Values({defaultConstructor:b.Control});b.PreviewFrame=b.Messenger.extend({sensitivity:2000,initialize:function(g,f){var e=c.Deferred(),d=this;e.promise(this);this.previewer=g.previewer;c.extend(g,{channel:b.PreviewFrame.uuid()});b.Messenger.prototype.initialize.call(this,g,f);this.add("previewUrl",g.previewUrl);this.query=c.extend(g.query||{},{customize_messenger_channel:this.channel()});this.run(e)},run:function(e){var d=this,f=false,g=false;if(this._ready){this.unbind("ready",this._ready)}this._ready=function(){g=true;if(f){e.resolveWith(d)}};this.bind("ready",this._ready);this.request=c.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:true}});this.request.fail(function(){e.rejectWith(d,["request failure"])});this.request.done(function(j){var i=d.request.getResponseHeader("Location"),h="WP_CUSTOMIZER_SIGNATURE",k;if(i&&i!=d.previewUrl()){e.rejectWith(d,["redirect",i]);return}if("0"===j){d.login(e);return}if("-1"===j){e.rejectWith(d,["cheatin"]);return}k=j.lastIndexOf(h);if(-1===k||k<j.lastIndexOf("</html>")){e.rejectWith(d,["unsigned"]);return}j=j.slice(0,k)+j.slice(k+h.length);d.iframe=c("<iframe />").appendTo(d.previewer.container);d.iframe.one("load",function(){f=true;if(g){e.resolveWith(d)}else{setTimeout(function(){e.rejectWith(d,["ready timeout"])},d.sensitivity)}});d.targetWindow(d.iframe[0].contentWindow);d.targetWindow().document.open();d.targetWindow().document.write(j);d.targetWindow().document.close()})},login:function(e){var d=this,f;f=function(){e.rejectWith(d,["logged out"])};if(this.triedLogin){return f()}c.get(b.settings.url.ajax,{action:"logged-in"}).fail(f).done(function(g){var h;if("1"!==g){f()}h=c('<iframe src="'+d.previewUrl()+'" />').hide();h.appendTo(d.previewer.container);h.load(function(){d.triedLogin=true;h.remove();d.run(e)})})},destroy:function(){b.Messenger.prototype.destroy.call(this);this.request.abort();if(this.iframe){this.iframe.remove()}delete this.request;delete this.iframe;delete this.targetWindow}});(function(){var d=0;b.PreviewFrame.uuid=function(){return"preview-"+d++}}());b.Previewer=b.Messenger.extend({refreshBuffer:250,initialize:function(h,f){var d=this,g=/^https?/,e;c.extend(this,f||{});this.refresh=(function(i){var j=i.refresh,l=function(){k=null;j.call(i)},k;return function(){if(typeof k!=="number"){if(i.loading){i.abort()}else{return l()}}clearTimeout(k);k=setTimeout(l,i.refreshBuffer)}})(this);this.container=b.ensure(h.container);this.allowedUrls=h.allowedUrls;h.url=window.location.href;b.Messenger.prototype.initialize.call(this,h);this.add("scheme",this.origin()).link(this.origin).setter(function(j){var i=j.match(g);return i?i[0]:""});this.add("previewUrl",h.previewUrl).setter(function(j){var i;if(/\/wp-admin(\/|$)/.test(j.replace(/[#?].*$/,""))){return null}c.each([j.replace(g,d.scheme()),j],function(l,k){c.each(d.allowedUrls,function(m,n){if(0===k.indexOf(n)){i=k;return false}});if(i){return false}});return i?i:null});this.previewUrl.bind(this.refresh);this.scroll=0;this.bind("scroll",function(i){this.scroll=i});this.bind("url",this.previewUrl)},query:function(){},abort:function(){if(this.loading){this.loading.destroy();delete this.loading}},refresh:function(){var d=this;this.abort();this.loading=new b.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},previewer:this});this.loading.done(function(){this.bind("synced",function(){if(d.preview){d.preview.destroy()}d.preview=this;delete d.loading;d.targetWindow(this.targetWindow());d.channel(this.channel())});this.send("sync",{scroll:d.scroll,settings:b.get()})});this.loading.fail(function(f,e){if("redirect"===f&&e){d.previewUrl(e)}if("logged out"===f){if(d.preview){d.preview.destroy();delete d.preview}d.login().done(d.refresh)}if("cheatin"===f){d.cheatin()}})},login:function(){var g=this,d,f,e;if(this._login){return this._login}d=c.Deferred();this._login=d.promise();f=new b.Messenger({channel:"login",url:b.settings.url.login});e=c('<iframe src="'+b.settings.url.login+'" />').appendTo(this.container);f.targetWindow(e[0].contentWindow);f.bind("login",function(){e.remove();f.destroy();delete g._login;d.resolve()});return this._login},cheatin:function(){c(document.body).empty().addClass("cheatin").append("<p>"+b.l10n.cheatin+"</p>")}});b.controlConstructor={color:b.ColorControl,upload:b.UploadControl,image:b.ImageControl};c(function(){b.settings=window._wpCustomizeSettings;b.l10n=window._wpCustomizeControlsL10n;if(!b.settings){return}if(!c.support.postMessage||(!c.support.cors&&b.settings.isCrossDomain)){return window.location=b.settings.url.fallback}var d=c(document.body),e=d.children(".wp-full-overlay"),g,h,f;c("#customize-controls").on("keydown",function(i){if(c(i.target).is("textarea")){return}if(13===i.which){i.preventDefault()}});h=new b.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:b.settings.url.preview,allowedUrls:b.settings.url.allowed},{query:function(){return{wp_customize:"on",theme:b.settings.theme.stylesheet,customized:JSON.stringify(b.get())}},nonce:c("#_wpnonce").val(),save:function(){var i=this,k=c.extend(this.query(),{action:"customize_save",nonce:this.nonce}),j=c.post(b.settings.url.ajax,k);b.trigger("save",j);d.addClass("saving");j.always(function(){d.removeClass("saving")});j.done(function(l){if("0"===l){i.preview.iframe.hide();i.login().done(function(){i.save();i.preview.iframe.show()});return}if("-1"===l){i.cheatin();return}b.trigger("saved")})}});c.each(b.settings.settings,function(j,i){b.create(j,j,i.value,{transport:i.transport,previewer:h})});c.each(b.settings.controls,function(l,j){var i=b.controlConstructor[j.type]||b.Control,k;k=b.control.add(l,new i(l,{params:j,previewer:h}))});if(h.previewUrl()){h.refresh()}else{h.previewUrl(b.settings.url.home)}(function(){var k=new b.Values(),j=k.create("saved"),i=k.create("activated");k.bind("change",function(){var m=c("#save"),l=c(".back");if(!i()){m.val(b.l10n.activate).prop("disabled",false);l.text(b.l10n.cancel)}else{if(j()){m.val(b.l10n.saved).prop("disabled",true);l.text(b.l10n.close)}else{m.val(b.l10n.save).prop("disabled",false);l.text(b.l10n.cancel)}}});j(true);i(b.settings.theme.active);b.bind("change",function(){k("saved").set(false)});b.bind("saved",function(){k("saved").set(true);k("activated").set(true)});i.bind(function(l){if(l){b.trigger("activated")}});b.state=k}());c(".customize-section-title").click(function(j){var i=c(this).parents(".customize-section");if(i.hasClass("cannot-expand")){return}c(".customize-section").not(i).removeClass("open");i.toggleClass("open");j.preventDefault()});c("#save").click(function(i){h.save();i.preventDefault()});c(".collapse-sidebar").click(function(i){e.toggleClass("collapsed").toggleClass("expanded");i.preventDefault()});f=new b.Messenger({url:b.settings.url.parent,channel:"loader"});f.bind("back",function(){c(".back").on("click.back",function(i){i.preventDefault();f.send("close")})});b.bind("saved",function(){f.send("saved")});b.bind("activated",function(){if(f.targetWindow()){f.send("activated",b.settings.url.activated)}else{if(b.settings.url.activated){window.location=b.settings.url.activated}}});f.send("ready");c.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(i){return !!i}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(i){return"page"===i}},header_textcolor:{controls:["header_textcolor"],callback:function(i){return"blank"!==i}}},function(i,j){b(i,function(k){c.each(j.controls,function(l,m){b.control(m,function(o){var n=function(p){o.container.toggle(j.callback(p))};n(k.get());k.bind(n)})})})});b.control("display_header_text",function(j){var i="";j.elements[0].unsync(b("header_textcolor"));j.element=new b.Element(j.container.find("input"));j.element.set("blank"!==j.setting());j.element.bind(function(k){if(!k){i=b("header_textcolor").get()}j.setting.set(k?i:"blank")});j.setting.bind(function(k){j.element.set("blank"!==k)})});b.control("header_image",function(i){i.setting.bind(function(j){if(j===i.params.removed){i.settings.data.set(false)}});i.library.on("click","a",function(j){i.settings.data.set(c(this).data("customizeHeaderImageData"))});i.uploader.success=function(k){var j;b.ImageControl.prototype.success.call(i,k);j={attachment_id:k.id,url:k.url,thumbnail_url:k.url,height:k.meta.height,width:k.meta.width};k.element.data("customizeHeaderImageData",j);i.settings.data.set(j)}});b.trigger("ready")})})(wp,jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/dashboard.dev.js ./wordpress-3.4/wp-admin/js/dashboard.dev.js
*** ./wordpress-3.3.2/wp-admin/js/dashboard.dev.js	2011-11-23 12:30:45.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/dashboard.dev.js	2012-03-15 08:20:00.000000000 -0500
***************
*** 42,48 ****
  			if ( e.length ) {
  				p = e.parent();
  				setTimeout( function(){
! 					p.load( ajaxurl.replace( '/admin-ajax.php', '' ) + '/index-extra.php?jax=' + id, '', function() {
  						p.hide().slideDown('normal', function(){
  							$(this).css('display', '');
  						});
--- 41,47 ----
  			if ( e.length ) {
  				p = e.parent();
  				setTimeout( function(){
! 					p.load( ajaxurl + '?action=dashboard-widgets&widget=' + id, '', function() {
  						p.hide().slideDown('normal', function(){
  							$(this).css('display', '');
  						});
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/dashboard.js ./wordpress-3.4/wp-admin/js/dashboard.js
*** ./wordpress-3.3.2/wp-admin/js/dashboard.js	2011-11-23 12:30:45.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/dashboard.js	2012-03-15 08:58:27.000000000 -0500
***************
*** 1 ****
! var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(c){var d=c("#welcome-panel"),a=c("#wp_welcome_panel-hide"),b=function(e){c.post(ajaxurl,{action:"update-welcome-panel",visible:e,welcomepanelnonce:c("#welcomepanelnonce").val()})};if(d.hasClass("hidden")&&a.prop("checked")){d.removeClass("hidden")}c(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(f){f.preventDefault();d.addClass("hidden");b(0);c("#wp_welcome_panel-hide").prop("checked",false)});a.click(function(){d.toggleClass("hidden",!this.checked);b(this.checked?1:0)});ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins"];ajaxPopulateWidgets=function(f){function e(g,k){var j,h=c("#"+k+" div.inside:visible").find(".widget-loading");if(h.length){j=h.parent();setTimeout(function(){j.load(ajaxurl.replace("/admin-ajax.php","")+"/index-extra.php?jax="+k,"",function(){j.hide().slideDown("normal",function(){c(this).css("display","")})})},g*500)}}if(f){f=f.toString();if(c.inArray(f,ajaxWidgets)!=-1){e(0,f)}}else{c.each(ajaxWidgets,e)}};ajaxPopulateWidgets();postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var e=c("#quickpost-action"),f;f=c("#quick-press").submit(function(){c("#dashboard_quick_press #publishing-action img.waiting").css("visibility","visible");c('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",true);if("post"==e.val()){e.val("post-quickpress-publish")}c("#dashboard_quick_press div.inside").load(f.attr("action"),f.serializeArray(),function(){c("#dashboard_quick_press #publishing-action img.waiting").css("visibility","hidden");c('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",false);c("#dashboard_quick_press ul").next("p").remove();c("#dashboard_quick_press ul").find("li").each(function(){c("#dashboard_recent_drafts ul").prepend(this)}).end().remove();quickPressLoad()});return false});c("#publish").click(function(){e.val("post-quickpress-publish")})};quickPressLoad()});
\ No newline at end of file
--- 1 ----
! var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(c){var d=c("#welcome-panel"),a=c("#wp_welcome_panel-hide"),b=function(e){c.post(ajaxurl,{action:"update-welcome-panel",visible:e,welcomepanelnonce:c("#welcomepanelnonce").val()})};if(d.hasClass("hidden")&&a.prop("checked")){d.removeClass("hidden")}c(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(f){f.preventDefault();d.addClass("hidden");b(0);c("#wp_welcome_panel-hide").prop("checked",false)});a.click(function(){d.toggleClass("hidden",!this.checked);b(this.checked?1:0)});ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins"];ajaxPopulateWidgets=function(f){function e(g,k){var j,h=c("#"+k+" div.inside:visible").find(".widget-loading");if(h.length){j=h.parent();setTimeout(function(){j.load(ajaxurl+"?action=dashboard-widgets&widget="+k,"",function(){j.hide().slideDown("normal",function(){c(this).css("display","")})})},g*500)}}if(f){f=f.toString();if(c.inArray(f,ajaxWidgets)!=-1){e(0,f)}}else{c.each(ajaxWidgets,e)}};ajaxPopulateWidgets();postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var e=c("#quickpost-action"),f;f=c("#quick-press").submit(function(){c("#dashboard_quick_press #publishing-action img.waiting").css("visibility","visible");c('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",true);if("post"==e.val()){e.val("post-quickpress-publish")}c("#dashboard_quick_press div.inside").load(f.attr("action"),f.serializeArray(),function(){c("#dashboard_quick_press #publishing-action img.waiting").css("visibility","hidden");c('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",false);c("#dashboard_quick_press ul").next("p").remove();c("#dashboard_quick_press ul").find("li").each(function(){c("#dashboard_recent_drafts ul").prepend(this)}).end().remove();quickPressLoad()});return false});c("#publish").click(function(){e.val("post-quickpress-publish")})};quickPressLoad()});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/edit-comments.dev.js ./wordpress-3.4/wp-admin/js/edit-comments.dev.js
*** ./wordpress-3.3.2/wp-admin/js/edit-comments.dev.js	2011-11-15 11:57:53.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/edit-comments.dev.js	2012-04-19 09:32:45.000000000 -0500
***************
*** 1,5 ****
! var theList, theExtraList, toggleWithKeyboard = false, getCount, updateCount, updatePending, dashboardTotals;
  (function($) {
  
  setCommentsList = function() {
  	var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList;
--- 1,7 ----
! var theList, theExtraList, toggleWithKeyboard = false;
! 
  (function($) {
+ var getCount, updateCount, updatePending, dashboardTotals;
  
  setCommentsList = function() {
  	var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList;
***************
*** 27,51 ****
  			c.find('div.comment_status').html('1');
  		}
  
! 		$('span.pending-count').each( function() {
! 			var a = $(this), n, dif;
! 
! 			n = a.html().replace(/[^0-9]+/g, '');
! 			n = parseInt(n, 10);
! 
! 			if ( isNaN(n) )
! 				return;
! 
! 			dif = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1;
! 			n = n + dif;
! 
! 			if ( n < 0 )
! 				n = 0;
! 
! 			a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0');
! 			updateCount(a, n);
! 			dashboardTotals();
! 		});
  	};
  
  	// Send current total, page, per_page and url
--- 29,36 ----
  			c.find('div.comment_status').html('1');
  		}
  
! 		var diff = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1;
! 		updatePending( diff );
  	};
  
  	// Send current total, page, per_page and url
***************
*** 84,90 ****
  
  			el.before(h);
  
! 			$('strong', '#undo-' + id).text(author + ' ');
  			a = $('.undo a', '#undo-' + id);
  			a.attr('href', 'comment.php?action=un' + action + 'comment&c=' + id + '&_wpnonce=' + settings.data._ajax_nonce);
  			a.attr('class', 'delete:the-comment-list:comment-' + id + '::un' + action + '=1 vim-z vim-destructive');
--- 69,75 ----
  
  			el.before(h);
  
! 			$('strong', '#undo-' + id).text(author);
  			a = $('.undo a', '#undo-' + id);
  			a.attr('href', 'comment.php?action=un' + action + 'comment&c=' + id + '&_wpnonce=' + settings.data._ajax_nonce);
  			a.attr('class', 'delete:the-comment-list:comment-' + id + '::un' + action + '=1 vim-z vim-destructive');
***************
*** 154,170 ****
  		el.html(n);
  	};
  
! 	updatePending = function(n) {
! 		$('span.pending-count').each( function() {
! 			var a = $(this);
! 
! 			if ( n < 0 )
  				n = 0;
- 
  			a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0');
! 			updateCount(a, n);
! 			dashboardTotals();
  		});
  	};
  
  	// In admin-ajax.php, we send back the unix time stamp instead of 1 on success
--- 138,153 ----
  		el.html(n);
  	};
  
! 	updatePending = function( diff ) {
! 		$('span.pending-count').each(function() {
! 			var a = $(this), n = getCount(a) + diff;
! 			if ( n < 1 )
  				n = 0;
  			a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0');
! 			updateCount( a, n );
  		});
+ 
+ 		dashboardTotals();
  	};
  
  	// In admin-ajax.php, we send back the unix time stamp instead of 1 on success
***************
*** 193,207 ****
  		else
  			spam = getUpdate('spam');
  
! 		pending = getCount( $('span.pending-count').eq(0) );
! 
! 		if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) { // we "deleted" an approved comment from the approved list by clicking "Unapprove"
! 			pending = pending + 1;
! 		} else if ( unapproved ) { // we deleted a formerly unapproved comment
! 			pending = pending - 1;
  		}
  
! 		updatePending(pending);
  
  		$('span.spam-count').each( function() {
  			var a = $(this), n = getCount(a) + spam;
--- 176,192 ----
  		else
  			spam = getUpdate('spam');
  
! 		if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) {
! 			// a comment was 'deleted' from another list (e.g. approved, spam, trash) and moved to pending,
! 			// or a trash/spam of a pending comment was undone
! 			pending = 1;
! 		} else if ( unapproved ) {
! 			// a pending comment was trashed/spammed/approved
! 			pending = -1;
  		}
  
! 		if ( pending )
! 			updatePending(pending);
  
  		$('span.spam-count').each( function() {
  			var a = $(this), n = getCount(a) + spam;
***************
*** 362,422 ****
  	},
  
  	close : function() {
! 		var c;
  
! 		if ( this.cid ) {
  			c = $('#comment-' + this.cid);
  
! 			if ( typeof QTags != 'undefined' )
! 				QTags.closeAllTags('replycontent');
  
! 			if ( this.act == 'edit-comment' )
! 				c.fadeIn(300, function(){ c.show() }).css('backgroundColor', '');
  
! 			$('#replyrow').hide();
! 			$('#com-reply').append( $('#replyrow') );
! 			$('#replycontent').val('');
! 			$('input', '#edithead').val('');
! 			$('.error', '#replysubmit').html('').hide();
! 			$('.waiting', '#replysubmit').hide();
! 			$('#replycontent').css('height', '');
  
! 			this.cid = '';
! 		}
  	},
  
! 	open : function(id, p, a) {
! 		var t = this, editRow, rowData, act, c = $('#comment-' + id), h = c.height(), replyButton;
  
  		t.close();
! 		t.cid = id;
  
  		editRow = $('#replyrow');
! 		rowData = $('#inline-'+id);
! 		act = t.act = (a == 'edit') ? 'edit-comment' : 'replyto-comment';
  
  		$('#action', editRow).val(act);
! 		$('#comment_post_ID', editRow).val(p);
! 		$('#comment_ID', editRow).val(id);
  
  		if ( h > 120 )
  			$('#replycontent', editRow).css('height', (35+h) + 'px');
  
! 		if ( a == 'edit' ) {
  			$('#author', editRow).val( $('div.author', rowData).text() );
  			$('#author-email', editRow).val( $('div.author-email', rowData).text() );
  			$('#author-url', editRow).val( $('div.author-url', rowData).text() );
  			$('#status', editRow).val( $('div.comment_status', rowData).text() );
  			$('#replycontent', editRow).val( $('textarea.comment', rowData).val() );
  			$('#edithead, #savebtn', editRow).show();
! 			$('#replyhead, #replybtn', editRow).hide();
  
  			c.after( editRow ).fadeOut('fast', function(){
  				$('#replyrow').fadeIn(300, function(){ $(this).show() });
  			});
! 		} else {
! 			replyButton = $('#replybtn', editRow);
! 			$('#edithead, #savebtn', editRow).hide();
  			$('#replyhead, #replybtn', editRow).show();
  			c.after(editRow);
  
--- 346,417 ----
  	},
  
  	close : function() {
! 		var c, replyrow = $('#replyrow');
  
! 		// replyrow is not showing?
! 		if ( replyrow.parent().is('#com-reply') )
! 			return;
! 
! 		if ( this.cid && this.act == 'edit-comment' ) {
  			c = $('#comment-' + this.cid);
+ 			c.fadeIn(300, function(){ c.show() }).css('backgroundColor', '');
+ 		}
  
! 		// reset the Quicktags buttons
! 		if ( typeof QTags != 'undefined' )
! 			QTags.closeAllTags('replycontent');
  
! 		$('#add-new-comment').css('display', '');
  
! 		replyrow.hide();
! 		$('#com-reply').append( replyrow );
! 		$('#replycontent').css('height', '').val('');
! 		$('#edithead input').val('');
! 		$('.error', replyrow).html('').hide();
! 		$('.waiting', replyrow).hide();
  
! 		this.cid = '';
  	},
  
! 	open : function(comment_id, post_id, action) {
! 		var t = this, editRow, rowData, act, c = $('#comment-' + comment_id), h = c.height(), replyButton;
  
  		t.close();
! 		t.cid = comment_id;
  
  		editRow = $('#replyrow');
! 		rowData = $('#inline-'+comment_id);
! 		action = action || 'replyto';
! 		act = 'edit' == action ? 'edit' : 'replyto';
! 		act = t.act = act + '-comment';
  
  		$('#action', editRow).val(act);
! 		$('#comment_post_ID', editRow).val(post_id);
! 		$('#comment_ID', editRow).val(comment_id);
  
  		if ( h > 120 )
  			$('#replycontent', editRow).css('height', (35+h) + 'px');
  
! 		if ( action == 'edit' ) {
  			$('#author', editRow).val( $('div.author', rowData).text() );
  			$('#author-email', editRow).val( $('div.author-email', rowData).text() );
  			$('#author-url', editRow).val( $('div.author-url', rowData).text() );
  			$('#status', editRow).val( $('div.comment_status', rowData).text() );
  			$('#replycontent', editRow).val( $('textarea.comment', rowData).val() );
  			$('#edithead, #savebtn', editRow).show();
! 			$('#replyhead, #replybtn, #addhead, #addbtn', editRow).hide();
  
  			c.after( editRow ).fadeOut('fast', function(){
  				$('#replyrow').fadeIn(300, function(){ $(this).show() });
  			});
! 		} else if ( action == 'add' ) {
! 			$('#addhead, #addbtn', editRow).show();
! 			$('#replyhead, #replybtn, #edithead, #editbtn', editRow).hide();
! 			$('#the-comment-list').prepend(editRow);
! 			$('#replyrow').fadeIn(300);
!  		} else {
!  			replyButton = $('#replybtn', editRow);
! 			$('#edithead, #savebtn, #addhead, #addbtn', editRow).hide();
  			$('#replyhead, #replybtn', editRow).show();
  			c.after(editRow);
  
***************
*** 459,465 ****
  		$('#replysubmit .waiting').show();
  
  		$('#replyrow input').not(':button').each(function() {
! 			post[ $(this).attr('name') ] = $(this).val();
  		});
  
  		post.content = $('#replycontent').val();
--- 454,461 ----
  		$('#replysubmit .waiting').show();
  
  		$('#replyrow input').not(':button').each(function() {
! 			var t = $(this);
! 			post[ t.attr('name') ] = t.val();
  		});
  
  		post.content = $('#replycontent').val();
***************
*** 505,511 ****
  
  		if ( r.supplemental.parent_approved ) {
  			pid = $('#comment-' + r.supplemental.parent_approved);
! 			updatePending( getCount( $('span.pending-count').eq(0) ) - 1 );
  
  			if ( this.comments_listing == 'moderated' ) {
  				pid.animate( { 'backgroundColor':'#CCEEBB' }, 400, function(){
--- 502,508 ----
  
  		if ( r.supplemental.parent_approved ) {
  			pid = $('#comment-' + r.supplemental.parent_approved);
! 			updatePending( -1 );
  
  			if ( this.comments_listing == 'moderated' ) {
  				pid.animate( { 'backgroundColor':'#CCEEBB' }, 400, function(){
***************
*** 544,549 ****
--- 541,556 ----
  		if ( er )
  			$('#replysubmit .error').html(er).show();
  
+ 	},
+ 
+ 	addcomment: function(post_id) {
+ 		var t = this;
+ 
+ 		$('#add-new-comment').fadeOut(200, function(){
+ 			t.open(0, post_id, 'add');
+ 			$('table.comments-box').css('display', '');
+ 			$('#no-comments').remove();
+ 		});
  	}
  };
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/edit-comments.js ./wordpress-3.4/wp-admin/js/edit-comments.js
*** ./wordpress-3.3.2/wp-admin/js/edit-comments.js	2011-11-15 11:57:53.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/edit-comments.js	2012-04-19 09:58:27.000000000 -0500
***************
*** 1 ****
! var theList,theExtraList,toggleWithKeyboard=false,getCount,updateCount,updatePending,dashboardTotals;(function($){setCommentsList=function(){var totalInput,perPageInput,pageInput,lastConfidentTime=0,dimAfter,delBefore,updateTotalCount,delAfter,refillTheExtraList;totalInput=$('input[name="_total"]',"#comments-form");perPageInput=$('input[name="_per_page"]',"#comments-form");pageInput=$('input[name="_page"]',"#comments-form");dimAfter=function(r,settings){var c=$("#"+settings.element),editRow,replyID,replyButton;editRow=$("#replyrow");replyID=$("#comment_ID",editRow).val();replyButton=$("#replybtn",editRow);if(c.is(".unapproved")){if(settings.data.id==replyID){replyButton.text(adminCommentsL10n.replyApprove)}c.find("div.comment_status").html("0")}else{if(settings.data.id==replyID){replyButton.text(adminCommentsL10n.reply)}c.find("div.comment_status").html("1")}$("span.pending-count").each(function(){var a=$(this),n,dif;n=a.html().replace(/[^0-9]+/g,"");n=parseInt(n,10);if(isNaN(n)){return}dif=$("#"+settings.element).is("."+settings.dimClass)?1:-1;n=n+dif;if(n<0){n=0}a.closest(".awaiting-mod")[0==n?"addClass":"removeClass"]("count-0");updateCount(a,n);dashboardTotals()})};delBefore=function(settings,list){var cl=$(settings.target).attr("class"),id,el,n,h,a,author,action=false;settings.data._total=totalInput.val()||0;settings.data._per_page=perPageInput.val()||0;settings.data._page=pageInput.val()||0;settings.data._url=document.location.href;settings.data.comment_status=$('input[name="comment_status"]',"#comments-form").val();if(cl.indexOf(":trash=1")!=-1){action="trash"}else{if(cl.indexOf(":spam=1")!=-1){action="spam"}}if(action){id=cl.replace(/.*?comment-([0-9]+).*/,"$1");el=$("#comment-"+id);note=$("#"+action+"-undo-holder").html();el.find(".check-column :checkbox").prop("checked",false);if(el.siblings("#replyrow").length&&commentReply.cid==id){commentReply.close()}if(el.is("tr")){n=el.children(":visible").length;author=$(".author strong",el).text();h=$('<tr id="undo-'+id+'" class="undo un'+action+'" style="display:none;"><td colspan="'+n+'">'+note+"</td></tr>")}else{author=$(".comment-author",el).text();h=$('<div id="undo-'+id+'" style="display:none;" class="undo un'+action+'">'+note+"</div>")}el.before(h);$("strong","#undo-"+id).text(author+" ");a=$(".undo a","#undo-"+id);a.attr("href","comment.php?action=un"+action+"comment&c="+id+"&_wpnonce="+settings.data._ajax_nonce);a.attr("class","delete:the-comment-list:comment-"+id+"::un"+action+"=1 vim-z vim-destructive");$(".avatar",el).clone().prependTo("#undo-"+id+" ."+action+"-undo-inside");a.click(function(){list.wpList.del(this);$("#undo-"+id).css({backgroundColor:"#ceb"}).fadeOut(350,function(){$(this).remove();$("#comment-"+id).css("backgroundColor","").fadeIn(300,function(){$(this).show()})});return false})}return settings};updateTotalCount=function(total,time,setConfidentTime){if(time<lastConfidentTime){return}if(setConfidentTime){lastConfidentTime=time}totalInput.val(total.toString())};dashboardTotals=function(n){var dash=$("#dashboard_right_now"),total,appr,totalN,apprN;n=n||0;if(isNaN(n)||!dash.length){return}total=$("span.total-count",dash);appr=$("span.approved-count",dash);totalN=getCount(total);totalN=totalN+n;apprN=totalN-getCount($("span.pending-count",dash))-getCount($("span.spam-count",dash));updateCount(total,totalN);updateCount(appr,apprN)};getCount=function(el){var n=parseInt(el.html().replace(/[^0-9]+/g,""),10);if(isNaN(n)){return 0}return n};updateCount=function(el,n){var n1="";if(isNaN(n)){return}n=n<1?"0":n.toString();if(n.length>3){while(n.length>3){n1=thousandsSeparator+n.substr(n.length-3)+n1;n=n.substr(0,n.length-3)}n=n+n1}el.html(n)};updatePending=function(n){$("span.pending-count").each(function(){var a=$(this);if(n<0){n=0}a.closest(".awaiting-mod")[0==n?"addClass":"removeClass"]("count-0");updateCount(a,n);dashboardTotals()})};delAfter=function(r,settings){var total,N,spam,trash,pending,untrash=$(settings.target).parent().is("span.untrash"),unspam=$(settings.target).parent().is("span.unspam"),unapproved=$("#"+settings.element).is(".unapproved");function getUpdate(s){if($(settings.target).parent().is("span."+s)){return 1}else{if($("#"+settings.element).is("."+s)){return -1}}return 0}if(untrash){trash=-1}else{trash=getUpdate("trash")}if(unspam){spam=-1}else{spam=getUpdate("spam")}pending=getCount($("span.pending-count").eq(0));if($(settings.target).parent().is("span.unapprove")||((untrash||unspam)&&unapproved)){pending=pending+1}else{if(unapproved){pending=pending-1}}updatePending(pending);$("span.spam-count").each(function(){var a=$(this),n=getCount(a)+spam;updateCount(a,n)});$("span.trash-count").each(function(){var a=$(this),n=getCount(a)+trash;updateCount(a,n)});if($("#dashboard_right_now").length){N=trash?-1*trash:0;dashboardTotals(N)}else{total=totalInput.val()?parseInt(totalInput.val(),10):0;if($(settings.target).parent().is("span.undo")){total++}else{total--}if(total<0){total=0}if(("object"==typeof r)&&lastConfidentTime<settings.parsed.responses[0].supplemental.time){total_items_i18n=settings.parsed.responses[0].supplemental.total_items_i18n||"";if(total_items_i18n){$(".displaying-num").text(total_items_i18n);$(".total-pages").text(settings.parsed.responses[0].supplemental.total_pages_i18n);$(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",settings.parsed.responses[0].supplemental.total_pages==$(".current-page").val())}updateTotalCount(total,settings.parsed.responses[0].supplemental.time,true)}else{updateTotalCount(total,r,false)}}if(!theExtraList||theExtraList.size()==0||theExtraList.children().size()==0||untrash||unspam){return}theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone());refillTheExtraList()};refillTheExtraList=function(ev){var args=$.query.get(),total_pages=$(".total-pages").text(),per_page=$('input[name="_per_page"]',"#comments-form").val();if(!args.paged){args.paged=1}if(args.paged>total_pages){return}if(ev){theExtraList.empty();args.number=Math.min(8,per_page)}else{args.number=1;args.offset=Math.min(8,per_page)-1}args.no_placeholder=true;args.paged++;if(true===args.comment_type){args.comment_type=""}args=$.extend(args,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:$("#_ajax_fetch_list_nonce").val()});$.ajax({url:ajaxurl,global:false,dataType:"json",data:args,success:function(response){theExtraList.get(0).wpList.add(response.rows)}})};theExtraList=$("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"});theList=$("#the-comment-list").wpList({alt:"",delBefore:delBefore,dimAfter:dimAfter,delAfter:delAfter,addColor:"none"}).bind("wpListDelEnd",function(e,s){var id=s.element.replace(/[^0-9]+/g,"");if(s.target.className.indexOf(":trash=1")!=-1||s.target.className.indexOf(":spam=1")!=-1){$("#undo-"+id).fadeIn(300,function(){$(this).show()})}})};commentReply={cid:"",act:"",init:function(){var row=$("#replyrow");$("a.cancel",row).click(function(){return commentReply.revert()});$("a.save",row).click(function(){return commentReply.send()});$("input#author, input#author-email, input#author-url",row).keypress(function(e){if(e.which==13){commentReply.send();e.preventDefault();return false}});$("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle($(this).parent())});$("#doaction, #doaction2, #post-query-submit").click(function(e){if($("#the-comment-list #replyrow").length>0){commentReply.close()}});this.comments_listing=$('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(r){r.each(function(){$(this).find(".column-comment > p").dblclick(function(){commentReply.toggle($(this).parent())})})},toggle:function(el){if($(el).css("display")!="none"){$(el).find("a.vim-q").click()}},revert:function(){if($("#the-comment-list #replyrow").length<1){return false}$("#replyrow").fadeOut("fast",function(){commentReply.close()});return false},close:function(){var c;if(this.cid){c=$("#comment-"+this.cid);if(typeof QTags!="undefined"){QTags.closeAllTags("replycontent")}if(this.act=="edit-comment"){c.fadeIn(300,function(){c.show()}).css("backgroundColor","")}$("#replyrow").hide();$("#com-reply").append($("#replyrow"));$("#replycontent").val("");$("input","#edithead").val("");$(".error","#replysubmit").html("").hide();$(".waiting","#replysubmit").hide();$("#replycontent").css("height","");this.cid=""}},open:function(id,p,a){var t=this,editRow,rowData,act,c=$("#comment-"+id),h=c.height(),replyButton;t.close();t.cid=id;editRow=$("#replyrow");rowData=$("#inline-"+id);act=t.act=(a=="edit")?"edit-comment":"replyto-comment";$("#action",editRow).val(act);$("#comment_post_ID",editRow).val(p);$("#comment_ID",editRow).val(id);if(h>120){$("#replycontent",editRow).css("height",(35+h)+"px")}if(a=="edit"){$("#author",editRow).val($("div.author",rowData).text());$("#author-email",editRow).val($("div.author-email",rowData).text());$("#author-url",editRow).val($("div.author-url",rowData).text());$("#status",editRow).val($("div.comment_status",rowData).text());$("#replycontent",editRow).val($("textarea.comment",rowData).val());$("#edithead, #savebtn",editRow).show();$("#replyhead, #replybtn",editRow).hide();c.after(editRow).fadeOut("fast",function(){$("#replyrow").fadeIn(300,function(){$(this).show()})})}else{replyButton=$("#replybtn",editRow);$("#edithead, #savebtn",editRow).hide();$("#replyhead, #replybtn",editRow).show();c.after(editRow);if(c.hasClass("unapproved")){replyButton.text(adminCommentsL10n.replyApprove)}else{replyButton.text(adminCommentsL10n.reply)}$("#replyrow").fadeIn(300,function(){$(this).show()})}setTimeout(function(){var rtop,rbottom,scrollTop,vp,scrollBottom;rtop=$("#replyrow").offset().top;rbottom=rtop+$("#replyrow").height();scrollTop=window.pageYOffset||document.documentElement.scrollTop;vp=document.documentElement.clientHeight||self.innerHeight||0;scrollBottom=scrollTop+vp;if(scrollBottom-20<rbottom){window.scroll(0,rbottom-vp+35)}else{if(rtop-20<scrollTop){window.scroll(0,rtop-35)}}$("#replycontent").focus().keyup(function(e){if(e.which==27){commentReply.revert()}})},600);return false},send:function(){var post={};$("#replysubmit .error").hide();$("#replysubmit .waiting").show();$("#replyrow input").not(":button").each(function(){post[$(this).attr("name")]=$(this).val()});post.content=$("#replycontent").val();post.id=post.comment_post_ID;post.comments_listing=this.comments_listing;post.p=$('[name="p"]').val();if($("#comment-"+$("#comment_ID").val()).hasClass("unapproved")){post.approve_parent=1}$.ajax({type:"POST",url:ajaxurl,data:post,success:function(x){commentReply.show(x)},error:function(r){commentReply.error(r)}});return false},show:function(xml){var t=this,r,c,id,bg,pid;if(typeof(xml)=="string"){t.error({responseText:xml});return false}r=wpAjax.parseAjaxResponse(xml);if(r.errors){t.error({responseText:wpAjax.broken});return false}t.revert();r=r.responses[0];c=r.data;id="#comment-"+r.id;if("edit-comment"==t.act){$(id).remove()}if(r.supplemental.parent_approved){pid=$("#comment-"+r.supplemental.parent_approved);updatePending(getCount($("span.pending-count").eq(0))-1);if(this.comments_listing=="moderated"){pid.animate({backgroundColor:"#CCEEBB"},400,function(){pid.fadeOut()});return}}$(c).hide();$("#replyrow").after(c);id=$(id);t.addEvents(id);bg=id.hasClass("unapproved")?"#FFFFE0":id.closest(".widefat, .postbox").css("backgroundColor");id.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:bg},300,function(){if(pid&&pid.length){pid.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:bg},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}})},error:function(r){var er=r.statusText;$("#replysubmit .waiting").hide();if(r.responseText){er=r.responseText.replace(/<.[^<>]*?>/g,"")}if(er){$("#replysubmit .error").html(er).show()}}};$(document).ready(function(){var make_hotkeys_redirect,edit_comment,toggle_all,make_bulk;setCommentsList();commentReply.init();$(document).delegate("span.delete a.delete","click",function(){return false});if(typeof $.table_hotkeys!="undefined"){make_hotkeys_redirect=function(which){return function(){var first_last,l;first_last="next"==which?"first":"last";l=$(".tablenav-pages ."+which+"-page:not(.disabled)");if(l.length){window.location=l[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+first_last+"=1"}}};edit_comment=function(event,current_row){window.location=$("span.edit a",current_row).attr("href")};toggle_all=function(){toggleWithKeyboard=true;$("input:checkbox","#cb").click().prop("checked",false);toggleWithKeyboard=false};make_bulk=function(value){return function(){var scope=$('select[name="action"]');$('option[value="'+value+'"]',scope).prop("selected",true);$("#doaction").click()}};$.table_hotkeys($("table.widefat"),["a","u","s","d","r","q","z",["e",edit_comment],["shift+x",toggle_all],["shift+a",make_bulk("approve")],["shift+s",make_bulk("spam")],["shift+d",make_bulk("delete")],["shift+t",make_bulk("trash")],["shift+z",make_bulk("untrash")],["shift+u",make_bulk("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:make_hotkeys_redirect("prev"),next_page_link_cb:make_hotkeys_redirect("next")})}})})(jQuery);
\ No newline at end of file
--- 1 ----
! var theList,theExtraList,toggleWithKeyboard=false;(function(d){var b,a,e,c;setCommentsList=function(){var g,i,k,n=0,j,l,h,m,f;g=d('input[name="_total"]',"#comments-form");i=d('input[name="_per_page"]',"#comments-form");k=d('input[name="_page"]',"#comments-form");j=function(s,p){var v=d("#"+p.element),o,u,q;o=d("#replyrow");u=d("#comment_ID",o).val();q=d("#replybtn",o);if(v.is(".unapproved")){if(p.data.id==u){q.text(adminCommentsL10n.replyApprove)}v.find("div.comment_status").html("0")}else{if(p.data.id==u){q.text(adminCommentsL10n.reply)}v.find("div.comment_status").html("1")}var t=d("#"+p.element).is("."+p.dimClass)?1:-1;e(t)};l=function(r,v){var x=d(r.target).attr("class"),o,p,q,u,w,t,s=false;r.data._total=g.val()||0;r.data._per_page=i.val()||0;r.data._page=k.val()||0;r.data._url=document.location.href;r.data.comment_status=d('input[name="comment_status"]',"#comments-form").val();if(x.indexOf(":trash=1")!=-1){s="trash"}else{if(x.indexOf(":spam=1")!=-1){s="spam"}}if(s){o=x.replace(/.*?comment-([0-9]+).*/,"$1");p=d("#comment-"+o);note=d("#"+s+"-undo-holder").html();p.find(".check-column :checkbox").prop("checked",false);if(p.siblings("#replyrow").length&&commentReply.cid==o){commentReply.close()}if(p.is("tr")){q=p.children(":visible").length;t=d(".author strong",p).text();u=d('<tr id="undo-'+o+'" class="undo un'+s+'" style="display:none;"><td colspan="'+q+'">'+note+"</td></tr>")}else{t=d(".comment-author",p).text();u=d('<div id="undo-'+o+'" style="display:none;" class="undo un'+s+'">'+note+"</div>")}p.before(u);d("strong","#undo-"+o).text(t);w=d(".undo a","#undo-"+o);w.attr("href","comment.php?action=un"+s+"comment&c="+o+"&_wpnonce="+r.data._ajax_nonce);w.attr("class","delete:the-comment-list:comment-"+o+"::un"+s+"=1 vim-z vim-destructive");d(".avatar",p).clone().prependTo("#undo-"+o+" ."+s+"-undo-inside");w.click(function(){v.wpList.del(this);d("#undo-"+o).css({backgroundColor:"#ceb"}).fadeOut(350,function(){d(this).remove();d("#comment-"+o).css("backgroundColor","").fadeIn(300,function(){d(this).show()})});return false})}return r};h=function(o,p,q){if(p<n){return}if(q){n=p}g.val(o.toString())};c=function(t){var s=d("#dashboard_right_now"),p,r,q,o;t=t||0;if(isNaN(t)||!s.length){return}p=d("span.total-count",s);r=d("span.approved-count",s);q=b(p);q=q+t;o=q-b(d("span.pending-count",s))-b(d("span.spam-count",s));a(p,q);a(r,o)};b=function(o){var p=parseInt(o.html().replace(/[^0-9]+/g,""),10);if(isNaN(p)){return 0}return p};a=function(p,q){var o="";if(isNaN(q)){return}q=q<1?"0":q.toString();if(q.length>3){while(q.length>3){o=thousandsSeparator+q.substr(q.length-3)+o;q=q.substr(0,q.length-3)}q=q+o}p.html(q)};e=function(o){d("span.pending-count").each(function(){var p=d(this),q=b(p)+o;if(q<1){q=0}p.closest(".awaiting-mod")[0==q?"addClass":"removeClass"]("count-0");a(p,q)});c()};m=function(o,s){var v,t,x,w,p,y=d(s.target).parent().is("span.untrash"),q=d(s.target).parent().is("span.unspam"),u=d("#"+s.element).is(".unapproved");function z(r){if(d(s.target).parent().is("span."+r)){return 1}else{if(d("#"+s.element).is("."+r)){return -1}}return 0}if(y){w=-1}else{w=z("trash")}if(q){x=-1}else{x=z("spam")}if(d(s.target).parent().is("span.unapprove")||((y||q)&&u)){p=1}else{if(u){p=-1}}if(p){e(p)}d("span.spam-count").each(function(){var r=d(this),A=b(r)+x;a(r,A)});d("span.trash-count").each(function(){var r=d(this),A=b(r)+w;a(r,A)});if(d("#dashboard_right_now").length){t=w?-1*w:0;c(t)}else{v=g.val()?parseInt(g.val(),10):0;if(d(s.target).parent().is("span.undo")){v++}else{v--}if(v<0){v=0}if(("object"==typeof o)&&n<s.parsed.responses[0].supplemental.time){total_items_i18n=s.parsed.responses[0].supplemental.total_items_i18n||"";if(total_items_i18n){d(".displaying-num").text(total_items_i18n);d(".total-pages").text(s.parsed.responses[0].supplemental.total_pages_i18n);d(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",s.parsed.responses[0].supplemental.total_pages==d(".current-page").val())}h(v,s.parsed.responses[0].supplemental.time,true)}else{h(v,o,false)}}if(!theExtraList||theExtraList.size()==0||theExtraList.children().size()==0||y||q){return}theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone());f()};f=function(r){var p=d.query.get(),o=d(".total-pages").text(),q=d('input[name="_per_page"]',"#comments-form").val();if(!p.paged){p.paged=1}if(p.paged>o){return}if(r){theExtraList.empty();p.number=Math.min(8,q)}else{p.number=1;p.offset=Math.min(8,q)-1}p.no_placeholder=true;p.paged++;if(true===p.comment_type){p.comment_type=""}p=d.extend(p,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:d("#_ajax_fetch_list_nonce").val()});d.ajax({url:ajaxurl,global:false,dataType:"json",data:p,success:function(s){theExtraList.get(0).wpList.add(s.rows)}})};theExtraList=d("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"});theList=d("#the-comment-list").wpList({alt:"",delBefore:l,dimAfter:j,delAfter:m,addColor:"none"}).bind("wpListDelEnd",function(p,o){var q=o.element.replace(/[^0-9]+/g,"");if(o.target.className.indexOf(":trash=1")!=-1||o.target.className.indexOf(":spam=1")!=-1){d("#undo-"+q).fadeIn(300,function(){d(this).show()})}})};commentReply={cid:"",act:"",init:function(){var f=d("#replyrow");d("a.cancel",f).click(function(){return commentReply.revert()});d("a.save",f).click(function(){return commentReply.send()});d("input#author, input#author-email, input#author-url",f).keypress(function(g){if(g.which==13){commentReply.send();g.preventDefault();return false}});d("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(d(this).parent())});d("#doaction, #doaction2, #post-query-submit").click(function(g){if(d("#the-comment-list #replyrow").length>0){commentReply.close()}});this.comments_listing=d('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(f){f.each(function(){d(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(d(this).parent())})})},toggle:function(f){if(d(f).css("display")!="none"){d(f).find("a.vim-q").click()}},revert:function(){if(d("#the-comment-list #replyrow").length<1){return false}d("#replyrow").fadeOut("fast",function(){commentReply.close()});return false},close:function(){var g,f=d("#replyrow");if(f.parent().is("#com-reply")){return}if(this.cid&&this.act=="edit-comment"){g=d("#comment-"+this.cid);g.fadeIn(300,function(){g.show()}).css("backgroundColor","")}if(typeof QTags!="undefined"){QTags.closeAllTags("replycontent")}d("#add-new-comment").css("display","");f.hide();d("#com-reply").append(f);d("#replycontent").css("height","").val("");d("#edithead input").val("");d(".error",f).html("").hide();d(".waiting",f).hide();this.cid=""},open:function(f,i,k){var p=this,g,j,m,n=d("#comment-"+f),l=n.height(),o;p.close();p.cid=f;g=d("#replyrow");j=d("#inline-"+f);k=k||"replyto";m="edit"==k?"edit":"replyto";m=p.act=m+"-comment";d("#action",g).val(m);d("#comment_post_ID",g).val(i);d("#comment_ID",g).val(f);if(l>120){d("#replycontent",g).css("height",(35+l)+"px")}if(k=="edit"){d("#author",g).val(d("div.author",j).text());d("#author-email",g).val(d("div.author-email",j).text());d("#author-url",g).val(d("div.author-url",j).text());d("#status",g).val(d("div.comment_status",j).text());d("#replycontent",g).val(d("textarea.comment",j).val());d("#edithead, #savebtn",g).show();d("#replyhead, #replybtn, #addhead, #addbtn",g).hide();n.after(g).fadeOut("fast",function(){d("#replyrow").fadeIn(300,function(){d(this).show()})})}else{if(k=="add"){d("#addhead, #addbtn",g).show();d("#replyhead, #replybtn, #edithead, #editbtn",g).hide();d("#the-comment-list").prepend(g);d("#replyrow").fadeIn(300)}else{o=d("#replybtn",g);d("#edithead, #savebtn, #addhead, #addbtn",g).hide();d("#replyhead, #replybtn",g).show();n.after(g);if(n.hasClass("unapproved")){o.text(adminCommentsL10n.replyApprove)}else{o.text(adminCommentsL10n.reply)}d("#replyrow").fadeIn(300,function(){d(this).show()})}}setTimeout(function(){var s,q,t,h,r;s=d("#replyrow").offset().top;q=s+d("#replyrow").height();t=window.pageYOffset||document.documentElement.scrollTop;h=document.documentElement.clientHeight||self.innerHeight||0;r=t+h;if(r-20<q){window.scroll(0,q-h+35)}else{if(s-20<t){window.scroll(0,s-35)}}d("#replycontent").focus().keyup(function(u){if(u.which==27){commentReply.revert()}})},600);return false},send:function(){var f={};d("#replysubmit .error").hide();d("#replysubmit .waiting").show();d("#replyrow input").not(":button").each(function(){var g=d(this);f[g.attr("name")]=g.val()});f.content=d("#replycontent").val();f.id=f.comment_post_ID;f.comments_listing=this.comments_listing;f.p=d('[name="p"]').val();if(d("#comment-"+d("#comment_ID").val()).hasClass("unapproved")){f.approve_parent=1}d.ajax({type:"POST",url:ajaxurl,data:f,success:function(g){commentReply.show(g)},error:function(g){commentReply.error(g)}});return false},show:function(g){var i=this,j,l,k,h,f;if(typeof(g)=="string"){i.error({responseText:g});return false}j=wpAjax.parseAjaxResponse(g);if(j.errors){i.error({responseText:wpAjax.broken});return false}i.revert();j=j.responses[0];l=j.data;k="#comment-"+j.id;if("edit-comment"==i.act){d(k).remove()}if(j.supplemental.parent_approved){f=d("#comment-"+j.supplemental.parent_approved);e(-1);if(this.comments_listing=="moderated"){f.animate({backgroundColor:"#CCEEBB"},400,function(){f.fadeOut()});return}}d(l).hide();d("#replyrow").after(l);k=d(k);i.addEvents(k);h=k.hasClass("unapproved")?"#FFFFE0":k.closest(".widefat, .postbox").css("backgroundColor");k.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:h},300,function(){if(f&&f.length){f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:h},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}})},error:function(f){var g=f.statusText;d("#replysubmit .waiting").hide();if(f.responseText){g=f.responseText.replace(/<.[^<>]*?>/g,"")}if(g){d("#replysubmit .error").html(g).show()}},addcomment:function(f){var g=this;d("#add-new-comment").fadeOut(200,function(){g.open(0,f,"add");d("table.comments-box").css("display","");d("#no-comments").remove()})}};d(document).ready(function(){var i,f,g,h;setCommentsList();commentReply.init();d(document).delegate("span.delete a.delete","click",function(){return false});if(typeof d.table_hotkeys!="undefined"){i=function(j){return function(){var m,k;m="next"==j?"first":"last";k=d(".tablenav-pages ."+j+"-page:not(.disabled)");if(k.length){window.location=k[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+m+"=1"}}};f=function(k,j){window.location=d("span.edit a",j).attr("href")};g=function(){toggleWithKeyboard=true;d("input:checkbox","#cb").click().prop("checked",false);toggleWithKeyboard=false};h=function(j){return function(){var k=d('select[name="action"]');d('option[value="'+j+'"]',k).prop("selected",true);d("#doaction").click()}};d.table_hotkeys(d("table.widefat"),["a","u","s","d","r","q","z",["e",f],["shift+x",g],["shift+a",h("approve")],["shift+s",h("spam")],["shift+d",h("delete")],["shift+t",h("trash")],["shift+z",h("untrash")],["shift+u",h("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:i("prev"),next_page_link_cb:i("next")})}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/editor.dev.js ./wordpress-3.4/wp-admin/js/editor.dev.js
*** ./wordpress-3.3.2/wp-admin/js/editor.dev.js	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/editor.dev.js	2012-05-01 20:14:52.000000000 -0500
***************
*** 62,74 ****
  	},
  
  	_wp_Nop : function(content) {
! 		var blocklist1, blocklist2;
  
  		// Protect pre|script tags
  		if ( content.indexOf('<pre') != -1 || content.indexOf('<script') != -1 ) {
  			content = content.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function(a) {
! 				a = a.replace(/<br ?\/?>(\r\n|\n)?/g, '<wp_temp>');
! 				return a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g, '<wp_temp>');
  			});
  		}
  
--- 62,83 ----
  	},
  
  	_wp_Nop : function(content) {
! 		var blocklist1, blocklist2, preserve_linebreaks = false, preserve_br = false;
  
  		// Protect pre|script tags
  		if ( content.indexOf('<pre') != -1 || content.indexOf('<script') != -1 ) {
+ 			preserve_linebreaks = true;
  			content = content.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function(a) {
! 				a = a.replace(/<br ?\/?>(\r\n|\n)?/g, '<wp-temp-lb>');
! 				return a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g, '<wp-temp-lb>');
! 			});
! 		}
! 
! 		// keep <br> tags inside captions and remove line breaks
! 		if ( content.indexOf('[caption') != -1 ) {
! 			preserve_br = true;
! 			content = content.replace(/\[caption[\s\S]+?\[\/caption\]/g, function(a) {
! 				return a.replace(/<br([^>]*)>/g, '<wp-temp-br$1>').replace(/[\r\n\t]+/, '');
  			});
  		}
  
***************
*** 119,131 ****
  		content = content.replace(/[\s\u00a0]+$/, '');
  
  		// put back the line breaks in pre|script
! 		content = content.replace(/<wp_temp>/g, '\n');
  
  		return content;
  	},
  
  	_wp_Autop : function(pee) {
! 		var blocklist = 'table|thead|tfoot|tbody|tr|td|th|caption|col|colgroup|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr|noscript|menu|samp|header|footer|article|section|hgroup|nav|aside|details|summary';
  
  		if ( pee.indexOf('<object') != -1 ) {
  			pee = pee.replace(/<object[\s\S]+?<\/object>/g, function(a){
--- 128,146 ----
  		content = content.replace(/[\s\u00a0]+$/, '');
  
  		// put back the line breaks in pre|script
! 		if ( preserve_linebreaks )
! 			content = content.replace(/<wp-temp-lb>/g, '\n');
! 
! 		// and the <br> tags in captions
! 		if ( preserve_br )
! 			content = content.replace(/<wp-temp-br([^>]*)>/g, '<br$1>');
  
  		return content;
  	},
  
  	_wp_Autop : function(pee) {
! 		var preserve_linebreaks = false, preserve_br = false,
! 			blocklist = 'table|thead|tfoot|tbody|tr|td|th|caption|col|colgroup|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr|noscript|menu|samp|header|footer|article|section|hgroup|nav|aside|details|summary';
  
  		if ( pee.indexOf('<object') != -1 ) {
  			pee = pee.replace(/<object[\s\S]+?<\/object>/g, function(a){
***************
*** 139,146 ****
  
  		// Protect pre|script tags
  		if ( pee.indexOf('<pre') != -1 || pee.indexOf('<script') != -1 ) {
  			pee = pee.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function(a) {
! 				return a.replace(/(\r\n|\n)/g, '<wp_temp_br>');
  			});
  		}
  
--- 154,177 ----
  
  		// Protect pre|script tags
  		if ( pee.indexOf('<pre') != -1 || pee.indexOf('<script') != -1 ) {
+ 			preserve_linebreaks = true;
  			pee = pee.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function(a) {
! 				return a.replace(/(\r\n|\n)/g, '<wp-temp-lb>');
! 			});
! 		}
! 
! 		// keep <br> tags inside captions and convert line breaks
! 		if ( pee.indexOf('[caption') != -1 ) {
! 			preserve_br = true;
! 			pee = pee.replace(/\[caption[\s\S]+?\[\/caption\]/g, function(a) {
! 				// keep existing <br>
! 				a = a.replace(/<br([^>]*)>/g, '<wp-temp-br$1>');
! 				// no line breaks inside HTML tags
! 				a = a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(b){
! 					return b.replace(/[\r\n\t]+/, ' ');
! 				});
! 				// convert remaining line breaks to <br>
! 				return a.replace(/\s*\n\s*/g, '<wp-temp-br />');
  			});
  		}
  
***************
*** 172,178 ****
  		});
  
  		// put back the line breaks in pre|script
! 		pee = pee.replace(/<wp_temp_br>/g, '\n');
  
  		return pee;
  	},
--- 203,213 ----
  		});
  
  		// put back the line breaks in pre|script
! 		if ( preserve_linebreaks )
! 			pee = pee.replace(/<wp-temp-lb>/g, '\n');
! 
! 		if ( preserve_br )
! 			pee = pee.replace(/<wp-temp-br([^>]*)>/g, '<br$1>');
  
  		return pee;
  	},
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/editor.js ./wordpress-3.4/wp-admin/js/editor.js
*** ./wordpress-3.3.2/wp-admin/js/editor.js	2011-11-17 09:50:01.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/editor.js	2012-05-01 20:58:25.000000000 -0500
***************
*** 1 ****
! var switchEditors={switchto:function(b){var c=b.id,a=c.length,e=c.substr(0,a-5),d=c.substr(a-4);this.go(e,d)},go:function(g,f){g=g||"content";f=f||"toggle";var c=this,b=tinyMCE.get(g),a,d,e=tinymce.DOM;a="wp-"+g+"-wrap";d=e.get(g);if("toggle"==f){if(b&&!b.isHidden()){f="html"}else{f="tmce"}}if("tmce"==f||"tinymce"==f){if(b&&!b.isHidden()){return false}if(typeof(QTags)!="undefined"){QTags.closeAllTags(g)}if(tinyMCEPreInit.mceInit[g]&&tinyMCEPreInit.mceInit[g].wpautop){d.value=c.wpautop(d.value)}if(b){b.show()}else{b=new tinymce.Editor(g,tinyMCEPreInit.mceInit[g]);b.render()}e.removeClass(a,"html-active");e.addClass(a,"tmce-active");setUserSetting("editor","tinymce")}else{if("html"==f){if(b&&b.isHidden()){return false}if(b){d.style.height=b.getContentAreaContainer().offsetHeight+20+"px";b.hide()}e.removeClass(a,"tmce-active");e.addClass(a,"html-active");setUserSetting("editor","html")}}return false},_wp_Nop:function(b){var c,a;if(b.indexOf("<pre")!=-1||b.indexOf("<script")!=-1){b=b.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(d){d=d.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp_temp>");return d.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp_temp>")})}c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";b=b.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n");b=b.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)>","g"),"\n<$1>");b=b.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>");b=b.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n");b=b.replace(/\s*<p>/gi,"");b=b.replace(/\s*<\/p>\s*/gi,"\n\n");b=b.replace(/\n[\s\u00a0]+\n/g,"\n\n");b=b.replace(/\s*<br ?\/?>\s*/gi,"\n");b=b.replace(/\s*<div/g,"\n<div");b=b.replace(/<\/div>\s*/g,"</div>\n");b=b.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");b=b.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");a="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";b=b.replace(new RegExp("\\s*<((?:"+a+")(?: [^>]*)?)\\s*>","g"),"\n<$1>");b=b.replace(new RegExp("\\s*</("+a+")>\\s*","g"),"</$1>\n");b=b.replace(/<li([^>]*)>/g,"\t<li$1>");if(b.indexOf("<hr")!=-1){b=b.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")}if(b.indexOf("<object")!=-1){b=b.replace(/<object[\s\S]+?<\/object>/g,function(d){return d.replace(/[\r\n]+/g,"")})}b=b.replace(/<\/p#>/g,"</p>\n");b=b.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1");b=b.replace(/^\s+/,"");b=b.replace(/[\s\u00a0]+$/,"");b=b.replace(/<wp_temp>/g,"\n");return b},_wp_Autop:function(a){var b="table|thead|tfoot|tbody|tr|td|th|caption|col|colgroup|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr|noscript|menu|samp|header|footer|article|section|hgroup|nav|aside|details|summary";if(a.indexOf("<object")!=-1){a=a.replace(/<object[\s\S]+?<\/object>/g,function(c){return c.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(c){return c.replace(/[\r\n]+/g," ")});if(a.indexOf("<pre")!=-1||a.indexOf("<script")!=-1){a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(c){return c.replace(/(\r\n|\n)/g,"<wp_temp_br>")})}a=a+"\n\n";a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n");a=a.replace(new RegExp("(<(?:"+b+")(?: [^>]*)?>)","gi"),"\n$1");a=a.replace(new RegExp("(</(?:"+b+")>)","gi"),"$1\n\n");a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n");a=a.replace(/\r\n|\r/g,"\n");a=a.replace(/\n\s*\n+/g,"\n\n");a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n");a=a.replace(/<p>\s*?<\/p>/gi,"");a=a.replace(new RegExp("<p>\\s*(</?(?:"+b+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1");a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>");a=a.replace(new RegExp("<p>\\s*(</?(?:"+b+")(?: [^>]*)?>)","gi"),"$1");a=a.replace(new RegExp("(</?(?:"+b+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/\s*\n/gi,"<br />\n");a=a.replace(new RegExp("(</?(?:"+b+")[^>]*>)\\s*<br />","gi"),"$1");a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/<p( [^>]*)?>/)){return e}return d+"<p>"+f+"</p>"});a=a.replace(/<wp_temp_br>/g,"\n");return a},pre_wpautop:function(b){var a=this,d={o:a,data:b,unfiltered:b},c=typeof(jQuery)!="undefined";if(c){jQuery("body").trigger("beforePreWpautop",[d])}d.data=a._wp_Nop(d.data);if(c){jQuery("body").trigger("afterPreWpautop",[d])}return d.data},wpautop:function(b){var a=this,d={o:a,data:b,unfiltered:b},c=typeof(jQuery)!="undefined";if(c){jQuery("body").trigger("beforeWpautop",[d])}d.data=a._wp_Autop(d.data);if(c){jQuery("body").trigger("afterWpautop",[d])}return d.data}};
\ No newline at end of file
--- 1 ----
! var switchEditors={switchto:function(b){var c=b.id,a=c.length,e=c.substr(0,a-5),d=c.substr(a-4);this.go(e,d)},go:function(g,f){g=g||"content";f=f||"toggle";var c=this,b=tinyMCE.get(g),a,d,e=tinymce.DOM;a="wp-"+g+"-wrap";d=e.get(g);if("toggle"==f){if(b&&!b.isHidden()){f="html"}else{f="tmce"}}if("tmce"==f||"tinymce"==f){if(b&&!b.isHidden()){return false}if(typeof(QTags)!="undefined"){QTags.closeAllTags(g)}if(tinyMCEPreInit.mceInit[g]&&tinyMCEPreInit.mceInit[g].wpautop){d.value=c.wpautop(d.value)}if(b){b.show()}else{b=new tinymce.Editor(g,tinyMCEPreInit.mceInit[g]);b.render()}e.removeClass(a,"html-active");e.addClass(a,"tmce-active");setUserSetting("editor","tinymce")}else{if("html"==f){if(b&&b.isHidden()){return false}if(b){d.style.height=b.getContentAreaContainer().offsetHeight+20+"px";b.hide()}e.removeClass(a,"tmce-active");e.addClass(a,"html-active");setUserSetting("editor","html")}}return false},_wp_Nop:function(c){var d,b,e=false,a=false;if(c.indexOf("<pre")!=-1||c.indexOf("<script")!=-1){e=true;c=c.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(f){f=f.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-temp-lb>");return f.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-temp-lb>")})}if(c.indexOf("[caption")!=-1){a=true;c=c.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(f){return f.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})}d="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";c=c.replace(new RegExp("\\s*</("+d+")>\\s*","g"),"</$1>\n");c=c.replace(new RegExp("\\s*<((?:"+d+")(?: [^>]*)?)>","g"),"\n<$1>");c=c.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>");c=c.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n");c=c.replace(/\s*<p>/gi,"");c=c.replace(/\s*<\/p>\s*/gi,"\n\n");c=c.replace(/\n[\s\u00a0]+\n/g,"\n\n");c=c.replace(/\s*<br ?\/?>\s*/gi,"\n");c=c.replace(/\s*<div/g,"\n<div");c=c.replace(/<\/div>\s*/g,"</div>\n");c=c.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");c=c.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";c=c.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)\\s*>","g"),"\n<$1>");c=c.replace(new RegExp("\\s*</("+b+")>\\s*","g"),"</$1>\n");c=c.replace(/<li([^>]*)>/g,"\t<li$1>");if(c.indexOf("<hr")!=-1){c=c.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")}if(c.indexOf("<object")!=-1){c=c.replace(/<object[\s\S]+?<\/object>/g,function(f){return f.replace(/[\r\n]+/g,"")})}c=c.replace(/<\/p#>/g,"</p>\n");c=c.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1");c=c.replace(/^\s+/,"");c=c.replace(/[\s\u00a0]+$/,"");if(e){c=c.replace(/<wp-temp-lb>/g,"\n")}if(a){c=c.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")}return c},_wp_Autop:function(a){var c=false,b=false,d="table|thead|tfoot|tbody|tr|td|th|caption|col|colgroup|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr|noscript|menu|samp|header|footer|article|section|hgroup|nav|aside|details|summary";if(a.indexOf("<object")!=-1){a=a.replace(/<object[\s\S]+?<\/object>/g,function(e){return e.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(e){return e.replace(/[\r\n]+/g," ")});if(a.indexOf("<pre")!=-1||a.indexOf("<script")!=-1){c=true;a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(e){return e.replace(/(\r\n|\n)/g,"<wp-temp-lb>")})}if(a.indexOf("[caption")!=-1){b=true;a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(e){e=e.replace(/<br([^>]*)>/g,"<wp-temp-br$1>");e=e.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(f){return f.replace(/[\r\n\t]+/," ")});return e.replace(/\s*\n\s*/g,"<wp-temp-br />")})}a=a+"\n\n";a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n");a=a.replace(new RegExp("(<(?:"+d+")(?: [^>]*)?>)","gi"),"\n$1");a=a.replace(new RegExp("(</(?:"+d+")>)","gi"),"$1\n\n");a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n");a=a.replace(/\r\n|\r/g,"\n");a=a.replace(/\n\s*\n+/g,"\n\n");a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n");a=a.replace(/<p>\s*?<\/p>/gi,"");a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1");a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>");a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1");a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/\s*\n/gi,"<br />\n");a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1");a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(f,e,g){if(g.match(/<p( [^>]*)?>/)){return f}return e+"<p>"+g+"</p>"});if(c){a=a.replace(/<wp-temp-lb>/g,"\n")}if(b){a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")}return a},pre_wpautop:function(b){var a=this,d={o:a,data:b,unfiltered:b},c=typeof(jQuery)!="undefined";if(c){jQuery("body").trigger("beforePreWpautop",[d])}d.data=a._wp_Nop(d.data);if(c){jQuery("body").trigger("afterPreWpautop",[d])}return d.data},wpautop:function(b){var a=this,d={o:a,data:b,unfiltered:b},c=typeof(jQuery)!="undefined";if(c){jQuery("body").trigger("beforeWpautop",[d])}d.data=a._wp_Autop(d.data);if(c){jQuery("body").trigger("afterWpautop",[d])}return d.data}};
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/inline-edit-post.dev.js ./wordpress-3.4/wp-admin/js/inline-edit-post.dev.js
*** ./wordpress-3.3.2/wp-admin/js/inline-edit-post.dev.js	2011-11-29 12:25:49.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/inline-edit-post.dev.js	2012-03-15 08:30:28.000000000 -0500
***************
*** 117,123 ****
  		if ( 'post' == type ) {
  			// support multi taxonomies?
  			tax = 'post_tag';
! 			$('tr.inline-editor textarea[name="tax_input['+tax+']"]').suggest( 'admin-ajax.php?action=ajax-tag-search&tax='+tax, { delay: 500, minchars: 2, multiple: true, multipleSep: ", " } );
  		}
  		$('html, body').animate( { scrollTop: 0 }, 'fast' );
  	},
--- 117,123 ----
  		if ( 'post' == type ) {
  			// support multi taxonomies?
  			tax = 'post_tag';
! 			$('tr.inline-editor textarea[name="tax_input['+tax+']"]').suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: inlineEditL10n.comma + ' ' } );
  		}
  		$('html, body').animate( { scrollTop: 0 }, 'fast' );
  	},
***************
*** 129,137 ****
  		if ( typeof(id) == 'object' )
  			id = t.getId(id);
  
! 		fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password', 'post_format'];
  		if ( t.type == 'page' )
! 			fields.push('post_parent', 'menu_order', 'page_template');
  
  		// add the new blank row
  		editRow = $('#inline-edit').clone(true);
--- 129,137 ----
  		if ( typeof(id) == 'object' )
  			id = t.getId(id);
  
! 		fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password', 'post_format', 'menu_order'];
  		if ( t.type == 'page' )
! 			fields.push('post_parent', 'page_template');
  
  		// add the new blank row
  		editRow = $('#inline-edit').clone(true);
***************
*** 184,195 ****
  		$('.tags_input', rowData).each(function(){
  			var terms = $(this).text(),
  				taxname = $(this).attr('id').replace('_' + id, ''),
! 				textarea = $('textarea.tax_input_' + taxname, editRow);
  
! 			if ( terms )
  				textarea.val(terms);
  
! 			textarea.suggest( 'admin-ajax.php?action=ajax-tag-search&tax='+taxname, { delay: 500, minchars: 2, multiple: true, multipleSep: ", " } );
  		});
  
  		// handle the post status
--- 184,199 ----
  		$('.tags_input', rowData).each(function(){
  			var terms = $(this).text(),
  				taxname = $(this).attr('id').replace('_' + id, ''),
! 				textarea = $('textarea.tax_input_' + taxname, editRow),
! 				comma = inlineEditL10n.comma;
  
! 			if ( terms ) {
! 				if ( ',' !== comma )
! 					terms = terms.replace(/,/g, comma);
  				textarea.val(terms);
+ 			}
  
! 			textarea.suggest( ajaxurl + '?action=ajax-tag-search&tax=' + taxname, { delay: 500, minchars: 2, multiple: true, multipleSep: inlineEditL10n.comma + ' ' } );
  		});
  
  		// handle the post status
***************
*** 247,253 ****
  		params = fields + '&' + $.param(params);
  
  		// make ajax request
! 		$.post('admin-ajax.php', params,
  			function(r) {
  				$('table.widefat .inline-edit-save .waiting').hide();
  
--- 251,257 ----
  		params = fields + '&' + $.param(params);
  
  		// make ajax request
! 		$.post( ajaxurl, params,
  			function(r) {
  				$('table.widefat .inline-edit-save .waiting').hide();
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/inline-edit-post.js ./wordpress-3.4/wp-admin/js/inline-edit-post.js
*** ./wordpress-3.3.2/wp-admin/js/inline-edit-post.js	2011-11-29 12:25:49.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/inline-edit-post.js	2012-03-15 08:58:27.000000000 -0500
***************
*** 1 ****
! (function(a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("pages")?"page":"post";c.what="#post-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var e=a("input.inline-edit-password-input");if(a(this).prop("checked")){e.val("").prop("disabled",true)}else{e.prop("disabled",false)}});a("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone());a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(f){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(g){if(a(this).prop("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").text()||inlineEditL10n.notitle;e+='<div id="ttle'+h+'"><a id="_'+h+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+c+"</div>"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});if("post"==d){b="post_tag";a('tr.inline-editor textarea[name="tax_input['+b+']"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:true,multipleSep:", "})}a("html, body").animate({scrollTop:0},"fast")},edit:function(c){var n=this,j,e,g,i,h,m,l,d=true,o,b,k;n.revert();if(typeof(c)=="object"){c=n.getId(c)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format"];if(n.type=="page"){j.push("post_parent","menu_order","page_template")}e=a("#inline-edit").clone(true);a("td",e).attr("colspan",a(".widefat:first thead th:visible").length);if(a(n.what+c).hasClass("alternate")){a(e).addClass("alternate")}a(n.what+c).hide().after(e);g=a("#inline_"+c);if(!a(':input[name="post_author"] option[value="'+a(".post_author",g).text()+'"]',e).val()){a(':input[name="post_author"]',e).prepend('<option value="'+a(".post_author",g).text()+'">'+a("#"+n.type+"-"+c+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',e).length==1){a("label.inline-edit-author",e).hide()}b=a(".post_format",g).text();a("option.unsupported",e).each(function(){var f=a(this);if(f.val()!=b){f.remove()}});for(k=0;k<j.length;k++){a(':input[name="'+j[k]+'"]',e).val(a("."+j[k],g).text())}if(a(".comment_status",g).text()=="open"){a('input[name="comment_status"]',e).prop("checked",true)}if(a(".ping_status",g).text()=="open"){a('input[name="ping_status"]',e).prop("checked",true)}if(a(".sticky",g).text()=="sticky"){a('input[name="sticky"]',e).prop("checked",true)}a(".post_category",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+c,"");a("ul."+taxname+"-checklist :checkbox",e).val(f.split(","))}});a(".tags_input",g).each(function(){var p=a(this).text(),q=a(this).attr("id").replace("_"+c,""),f=a("textarea.tax_input_"+q,e);if(p){f.val(p)}f.suggest("admin-ajax.php?action=ajax-tag-search&tax="+q,{delay:500,minchars:2,multiple:true,multipleSep:", "})});i=a("._status",g).text();if("future"!=i){a('select[name="_status"] option[value="future"]',e).remove()}if("private"==i){a('input[name="keep_private"]',e).prop("checked",true);a("input.inline-edit-password-input").val("").prop("disabled",true)}h=a('select[name="post_parent"] option[value="'+c+'"]',e);if(h.length>0){m=h[0].className.split("-")[1];l=h;while(d){l=l.next("option");if(l.length==0){break}o=l[0].className.split("-")[1];if(o<=m){d=false}else{l.remove();l=h}}h.remove()}a(e).attr("id","edit-"+c).addClass("inline-editor").show();a(".ptitle",e).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(f){a("table.widefat .inline-edit-save .waiting").hide();if(f){if(-1!=f.indexOf("<tr")){a(inlineEditPost.what+e).remove();a("#edit-"+e).before(f).remove();a(inlineEditPost.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()})})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("pages")?"page":"post";c.what="#post-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var e=a("input.inline-edit-password-input");if(a(this).prop("checked")){e.val("").prop("disabled",true)}else{e.prop("disabled",false)}});a("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone());a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(f){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(g){if(a(this).prop("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").text()||inlineEditL10n.notitle;e+='<div id="ttle'+h+'"><a id="_'+h+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+c+"</div>"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});if("post"==d){b="post_tag";a('tr.inline-editor textarea[name="tax_input['+b+']"]').suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:true,multipleSep:inlineEditL10n.comma+" "})}a("html, body").animate({scrollTop:0},"fast")},edit:function(c){var n=this,j,e,g,i,h,m,l,d=true,o,b,k;n.revert();if(typeof(c)=="object"){c=n.getId(c)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"];if(n.type=="page"){j.push("post_parent","page_template")}e=a("#inline-edit").clone(true);a("td",e).attr("colspan",a(".widefat:first thead th:visible").length);if(a(n.what+c).hasClass("alternate")){a(e).addClass("alternate")}a(n.what+c).hide().after(e);g=a("#inline_"+c);if(!a(':input[name="post_author"] option[value="'+a(".post_author",g).text()+'"]',e).val()){a(':input[name="post_author"]',e).prepend('<option value="'+a(".post_author",g).text()+'">'+a("#"+n.type+"-"+c+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',e).length==1){a("label.inline-edit-author",e).hide()}b=a(".post_format",g).text();a("option.unsupported",e).each(function(){var f=a(this);if(f.val()!=b){f.remove()}});for(k=0;k<j.length;k++){a(':input[name="'+j[k]+'"]',e).val(a("."+j[k],g).text())}if(a(".comment_status",g).text()=="open"){a('input[name="comment_status"]',e).prop("checked",true)}if(a(".ping_status",g).text()=="open"){a('input[name="ping_status"]',e).prop("checked",true)}if(a(".sticky",g).text()=="sticky"){a('input[name="sticky"]',e).prop("checked",true)}a(".post_category",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+c,"");a("ul."+taxname+"-checklist :checkbox",e).val(f.split(","))}});a(".tags_input",g).each(function(){var q=a(this).text(),r=a(this).attr("id").replace("_"+c,""),p=a("textarea.tax_input_"+r,e),f=inlineEditL10n.comma;if(q){if(","!==f){q=q.replace(/,/g,f)}p.val(q)}p.suggest(ajaxurl+"?action=ajax-tag-search&tax="+r,{delay:500,minchars:2,multiple:true,multipleSep:inlineEditL10n.comma+" "})});i=a("._status",g).text();if("future"!=i){a('select[name="_status"] option[value="future"]',e).remove()}if("private"==i){a('input[name="keep_private"]',e).prop("checked",true);a("input.inline-edit-password-input").val("").prop("disabled",true)}h=a('select[name="post_parent"] option[value="'+c+'"]',e);if(h.length>0){m=h[0].className.split("-")[1];l=h;while(d){l=l.next("option");if(l.length==0){break}o=l[0].className.split("-")[1];if(o<=m){d=false}else{l.remove();l=h}}h.remove()}a(e).attr("id","edit-"+c).addClass("inline-editor").show();a(".ptitle",e).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(f){a("table.widefat .inline-edit-save .waiting").hide();if(f){if(-1!=f.indexOf("<tr")){a(inlineEditPost.what+e).remove();a("#edit-"+e).before(f).remove();a(inlineEditPost.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/inline-edit-tax.dev.js ./wordpress-3.4/wp-admin/js/inline-edit-tax.dev.js
*** ./wordpress-3.3.2/wp-admin/js/inline-edit-tax.dev.js	2011-06-09 19:01:16.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/inline-edit-tax.dev.js	2012-03-15 08:30:28.000000000 -0500
***************
*** 73,79 ****
  		params = fields + '&' + $.param(params);
  
  		// make ajax request
! 		$.post('admin-ajax.php', params,
  			function(r) {
  				var row, new_id;
  				$('table.widefat .inline-edit-save .waiting').hide();
--- 73,79 ----
  		params = fields + '&' + $.param(params);
  
  		// make ajax request
! 		$.post( ajaxurl, params,
  			function(r) {
  				var row, new_id;
  				$('table.widefat .inline-edit-save .waiting').hide();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/inline-edit-tax.js ./wordpress-3.4/wp-admin/js/inline-edit-tax.js
*** ./wordpress-3.3.2/wp-admin/js/inline-edit-tax.js	2011-06-09 19:01:16.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/inline-edit-tax.js	2012-03-15 08:58:27.000000000 -0500
***************
*** 1 ****
! (function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("class").substr(5);b.what="#"+b.type+"-";a(".editinline").live("click",function(){inlineEditTax.edit(this);return false});c.keyup(function(d){if(d.which==27){return inlineEditTax.revert()}});a("a.cancel",c).click(function(){return inlineEditTax.revert()});a("a.save",c).click(function(){return inlineEditTax.save(this)});a("input, select",c).keydown(function(d){if(d.which==13){return inlineEditTax.save(this)}});a('#posts-filter input[type="submit"]').mousedown(function(d){b.revert()})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},edit:function(d){var c=this,b;c.revert();if(typeof(d)=="object"){d=c.getId(d)}b=a("#inline-edit").clone(true),rowData=a("#inline_"+d);a("td",b).attr("colspan",a(".widefat:first thead th:visible").length);if(a(c.what+d).hasClass("alternate")){a(b).addClass("alternate")}a(c.what+d).hide().after(b);a(':input[name="name"]',b).val(a(".name",rowData).text());a(':input[name="slug"]',b).val(a(".slug",rowData).text());a(b).attr("id","edit-"+d).addClass("inline-editor").show();a(".ptitle",b).eq(0).focus();return false},save:function(e){var d,b,c=a('input[name="taxonomy"]').val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save-tax",tax_type:this.type,tax_ID:e,taxonomy:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(g){var h,f;a("table.widefat .inline-edit-save .waiting").hide();if(g){if(-1!=g.indexOf("<tr")){a(inlineEditTax.what+e).remove();f=a(g).attr("id");a("#edit-"+e).before(g).remove();h=f?a("#"+f):a(inlineEditTax.what+e);h.hide().fadeIn()}else{a("#edit-"+e+" .inline-edit-save .error").html(g).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}});return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}return false},getId:function(c){var d=c.tagName=="TR"?c.id:a(c).parents("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditTax.init()})})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("class").substr(5);b.what="#"+b.type+"-";a(".editinline").live("click",function(){inlineEditTax.edit(this);return false});c.keyup(function(d){if(d.which==27){return inlineEditTax.revert()}});a("a.cancel",c).click(function(){return inlineEditTax.revert()});a("a.save",c).click(function(){return inlineEditTax.save(this)});a("input, select",c).keydown(function(d){if(d.which==13){return inlineEditTax.save(this)}});a('#posts-filter input[type="submit"]').mousedown(function(d){b.revert()})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},edit:function(d){var c=this,b;c.revert();if(typeof(d)=="object"){d=c.getId(d)}b=a("#inline-edit").clone(true),rowData=a("#inline_"+d);a("td",b).attr("colspan",a(".widefat:first thead th:visible").length);if(a(c.what+d).hasClass("alternate")){a(b).addClass("alternate")}a(c.what+d).hide().after(b);a(':input[name="name"]',b).val(a(".name",rowData).text());a(':input[name="slug"]',b).val(a(".slug",rowData).text());a(b).attr("id","edit-"+d).addClass("inline-editor").show();a(".ptitle",b).eq(0).focus();return false},save:function(e){var d,b,c=a('input[name="taxonomy"]').val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save-tax",tax_type:this.type,tax_ID:e,taxonomy:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(g){var h,f;a("table.widefat .inline-edit-save .waiting").hide();if(g){if(-1!=g.indexOf("<tr")){a(inlineEditTax.what+e).remove();f=a(g).attr("id");a("#edit-"+e).before(g).remove();h=f?a("#"+f):a(inlineEditTax.what+e);h.hide().fadeIn()}else{a("#edit-"+e+" .inline-edit-save .error").html(g).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}});return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}return false},getId:function(c){var d=c.tagName=="TR"?c.id:a(c).parents("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditTax.init()})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/media.dev.js ./wordpress-3.4/wp-admin/js/media.dev.js
*** ./wordpress-3.3.2/wp-admin/js/media.dev.js	2010-10-22 14:23:00.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/media.dev.js	2012-04-01 17:46:29.000000000 -0500
***************
*** 28,40 ****
  			var post = {
  				ps: $('#find-posts-input').val(),
  				action: 'find_posts',
! 				_ajax_nonce: $('#_ajax_nonce').val()
  			};
  
- 			var selectedItem;
- 			$("input[@name='itemSelect[]']:checked").each(function() { selectedItem = $(this).val() });
- 			post['post_type'] = selectedItem;
- 
  			$.ajax({
  				type : 'POST',
  				url : ajaxurl,
--- 28,37 ----
  			var post = {
  				ps: $('#find-posts-input').val(),
  				action: 'find_posts',
! 				_ajax_nonce: $('#_ajax_nonce').val(),
! 				post_type: $('input[name="find-posts-what"]:checked').val()
  			};
  
  			$.ajax({
  				type : 'POST',
  				url : ajaxurl,
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/media-gallery.dev.js ./wordpress-3.4/wp-admin/js/media-gallery.dev.js
*** ./wordpress-3.3.2/wp-admin/js/media-gallery.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/media-gallery.dev.js	2012-04-05 06:14:32.000000000 -0500
***************
*** 0 ****
--- 1,25 ----
+ jQuery(function($){
+ 	$( 'body' ).bind( 'click.wp-gallery', function(e){
+ 		var target = $( e.target ), id, img_size;
+ 
+ 		if ( target.hasClass( 'wp-set-header' ) ) {
+ 			( window.dialogArguments || opener || parent || top ).location.href = target.data( 'location' );
+ 			e.preventDefault();
+ 		} else if ( target.hasClass( 'wp-set-background' ) ) {
+ 			id = target.data( 'attachment-id' );
+ 			img_size = $( 'input[name="attachments[' + id + '][image-size]"]:checked').val();
+ 
+ 			jQuery.post(ajaxurl, {
+ 				action: 'set-background-image',
+ 				attachment_id: id,
+ 				size: img_size
+ 			}, function(){
+ 				var win = window.dialogArguments || opener || parent || top;
+ 				win.tb_remove();
+ 				win.location.reload();
+ 			});
+ 
+ 			e.preventDefault();
+ 		}
+ 	});
+ });
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/media-gallery.js ./wordpress-3.4/wp-admin/js/media-gallery.js
*** ./wordpress-3.3.2/wp-admin/js/media-gallery.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/media-gallery.js	2012-04-05 06:58:23.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ jQuery(function(a){a("body").bind("click.wp-gallery",function(d){var c=a(d.target),f,b;if(c.hasClass("wp-set-header")){(window.dialogArguments||opener||parent||top).location.href=c.data("location");d.preventDefault()}else{if(c.hasClass("wp-set-background")){f=c.data("attachment-id");b=a('input[name="attachments['+f+'][image-size]"]:checked').val();jQuery.post(ajaxurl,{action:"set-background-image",attachment_id:f,size:b},function(){var e=window.dialogArguments||opener||parent||top;e.tb_remove();e.location.reload()});d.preventDefault()}}})});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/media.js ./wordpress-3.4/wp-admin/js/media.js
*** ./wordpress-3.3.2/wp-admin/js/media.js	2010-10-22 14:23:00.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/media.js	2012-04-01 17:58:18.000000000 -0500
***************
*** 1 ****
! var findPosts;(function(a){findPosts={open:function(d,c){var b=document.documentElement.scrollTop||a(document).scrollTop();if(d&&c){a("#affected").attr("name",d).val(c)}a("#find-posts").show().draggable({handle:"#find-posts-head"}).css({top:b+50+"px",left:"50%",marginLeft:"-250px"});a("#find-posts-input").focus().keyup(function(f){if(f.which==27){findPosts.close()}});return false},close:function(){a("#find-posts-response").html("");a("#find-posts").draggable("destroy").hide()},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val()};var c;a("input[@name='itemSelect[]']:checked").each(function(){c=a(this).val()});b.post_type=c;a.ajax({type:"POST",url:ajaxurl,data:b,success:function(d){findPosts.show(d)},error:function(d){findPosts.error(d)}})},show:function(b){if(typeof(b)=="string"){this.error({responseText:b});return}var c=wpAjax.parseAjaxResponse(b);if(c.errors){this.error({responseText:wpAjax.broken})}c=c.responses[0];a("#find-posts-response").html(c.data)},error:function(b){var c=b.statusText;if(b.responseText){c=b.responseText.replace(/<.[^<>]*?>/g,"")}if(c){a("#find-posts-response").html(c)}}};a(document).ready(function(){a("#find-posts-submit").click(function(b){if(""==a("#find-posts-response").html()){b.preventDefault()}});a("#find-posts .find-box-search :input").keypress(function(b){if(13==b.which){findPosts.send();return false}});a("#find-posts-search").click(findPosts.send);a("#find-posts-close").click(findPosts.close);a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){if(a(this).val()=="attach"){b.preventDefault();findPosts.open()}})})})})(jQuery);
\ No newline at end of file
--- 1 ----
! var findPosts;(function(a){findPosts={open:function(d,c){var b=document.documentElement.scrollTop||a(document).scrollTop();if(d&&c){a("#affected").attr("name",d).val(c)}a("#find-posts").show().draggable({handle:"#find-posts-head"}).css({top:b+50+"px",left:"50%",marginLeft:"-250px"});a("#find-posts-input").focus().keyup(function(f){if(f.which==27){findPosts.close()}});return false},close:function(){a("#find-posts-response").html("");a("#find-posts").draggable("destroy").hide()},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val(),post_type:a('input[name="find-posts-what"]:checked').val()};a.ajax({type:"POST",url:ajaxurl,data:b,success:function(c){findPosts.show(c)},error:function(c){findPosts.error(c)}})},show:function(b){if(typeof(b)=="string"){this.error({responseText:b});return}var c=wpAjax.parseAjaxResponse(b);if(c.errors){this.error({responseText:wpAjax.broken})}c=c.responses[0];a("#find-posts-response").html(c.data)},error:function(b){var c=b.statusText;if(b.responseText){c=b.responseText.replace(/<.[^<>]*?>/g,"")}if(c){a("#find-posts-response").html(c)}}};a(document).ready(function(){a("#find-posts-submit").click(function(b){if(""==a("#find-posts-response").html()){b.preventDefault()}});a("#find-posts .find-box-search :input").keypress(function(b){if(13==b.which){findPosts.send();return false}});a("#find-posts-search").click(findPosts.send);a("#find-posts-close").click(findPosts.close);a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){if(a(this).val()=="attach"){b.preventDefault();findPosts.open()}})})})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/media-upload.dev.js ./wordpress-3.4/wp-admin/js/media-upload.dev.js
*** ./wordpress-3.3.2/wp-admin/js/media-upload.dev.js	2011-09-30 11:00:11.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/media-upload.dev.js	2012-02-23 19:58:18.000000000 -0600
***************
*** 25,32 ****
  			ed.selection.moveToBookmark(ed.windowManager.insertimagebookmark);
  
  		if ( h.indexOf('[caption') === 0 ) {
! 			if ( ed.plugins.wpeditimage )
! 				h = ed.plugins.wpeditimage._do_shcode(h);
  		} else if ( h.indexOf('[gallery') === 0 ) {
  			if ( ed.plugins.wpgallery )
  				h = ed.plugins.wpgallery._do_gallery(h);
--- 25,32 ----
  			ed.selection.moveToBookmark(ed.windowManager.insertimagebookmark);
  
  		if ( h.indexOf('[caption') === 0 ) {
! 			if ( ed.wpSetImgCaption )
! 				h = ed.wpSetImgCaption(h);
  		} else if ( h.indexOf('[gallery') === 0 ) {
  			if ( ed.plugins.wpgallery )
  				h = ed.plugins.wpgallery._do_gallery(h);
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/media-upload.js ./wordpress-3.4/wp-admin/js/media-upload.js
*** ./wordpress-3.3.2/wp-admin/js/media-upload.js	2011-09-30 11:00:11.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/media-upload.js	2012-02-23 20:00:58.000000000 -0600
***************
*** 1 ****
! var wpActiveEditor;function send_to_editor(c){var b,a=typeof(tinymce)!="undefined",f=typeof(QTags)!="undefined";if(!wpActiveEditor){if(a&&tinymce.activeEditor){b=tinymce.activeEditor;wpActiveEditor=b.id}else{if(!f){return false}}}else{if(a){if(tinymce.activeEditor&&(tinymce.activeEditor.id=="mce_fullscreen"||tinymce.activeEditor.id=="wp_mce_fullscreen")){b=tinymce.activeEditor}else{b=tinymce.get(wpActiveEditor)}}}if(b&&!b.isHidden()){if(tinymce.isIE&&b.windowManager.insertimagebookmark){b.selection.moveToBookmark(b.windowManager.insertimagebookmark)}if(c.indexOf("[caption")===0){if(b.plugins.wpeditimage){c=b.plugins.wpeditimage._do_shcode(c)}}else{if(c.indexOf("[gallery")===0){if(b.plugins.wpgallery){c=b.plugins.wpgallery._do_gallery(c)}}else{if(c.indexOf("[embed")===0){if(b.plugins.wordpress){c=b.plugins.wordpress._setEmbed(c)}}}}b.execCommand("mceInsertContent",false,c)}else{if(f){QTags.insertContent(c)}else{document.getElementById(wpActiveEditor).value+=c}}try{tb_remove()}catch(d){}}var tb_position;(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(720<e)?720:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}return a("a.thickbox").each(function(){var g=a(this).attr("href");if(!g){return}g=g.replace(/&width=[0-9]+/g,"");g=g.replace(/&height=[0-9]+/g,"");a(this).attr("href",g+"&width="+(c-80)+"&height="+(d-85-b))})};a(window).resize(function(){tb_position()});a(document).ready(function(b){b("a.thickbox").click(function(){var c;if(typeof(tinymce)!="undefined"&&tinymce.isIE&&(c=tinymce.get(wpActiveEditor))&&!c.isHidden()){c.focus();c.windowManager.insertimagebookmark=c.selection.getBookmark()}})})})(jQuery);
\ No newline at end of file
--- 1 ----
! var wpActiveEditor;function send_to_editor(c){var b,a=typeof(tinymce)!="undefined",f=typeof(QTags)!="undefined";if(!wpActiveEditor){if(a&&tinymce.activeEditor){b=tinymce.activeEditor;wpActiveEditor=b.id}else{if(!f){return false}}}else{if(a){if(tinymce.activeEditor&&(tinymce.activeEditor.id=="mce_fullscreen"||tinymce.activeEditor.id=="wp_mce_fullscreen")){b=tinymce.activeEditor}else{b=tinymce.get(wpActiveEditor)}}}if(b&&!b.isHidden()){if(tinymce.isIE&&b.windowManager.insertimagebookmark){b.selection.moveToBookmark(b.windowManager.insertimagebookmark)}if(c.indexOf("[caption")===0){if(b.wpSetImgCaption){c=b.wpSetImgCaption(c)}}else{if(c.indexOf("[gallery")===0){if(b.plugins.wpgallery){c=b.plugins.wpgallery._do_gallery(c)}}else{if(c.indexOf("[embed")===0){if(b.plugins.wordpress){c=b.plugins.wordpress._setEmbed(c)}}}}b.execCommand("mceInsertContent",false,c)}else{if(f){QTags.insertContent(c)}else{document.getElementById(wpActiveEditor).value+=c}}try{tb_remove()}catch(d){}}var tb_position;(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(720<e)?720:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}return a("a.thickbox").each(function(){var g=a(this).attr("href");if(!g){return}g=g.replace(/&width=[0-9]+/g,"");g=g.replace(/&height=[0-9]+/g,"");a(this).attr("href",g+"&width="+(c-80)+"&height="+(d-85-b))})};a(window).resize(function(){tb_position()});a(document).ready(function(b){b("a.thickbox").click(function(){var c;if(typeof(tinymce)!="undefined"&&tinymce.isIE&&(c=tinymce.get(wpActiveEditor))&&!c.isHidden()){c.focus();c.windowManager.insertimagebookmark=c.selection.getBookmark()}})})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/postbox.dev.js ./wordpress-3.4/wp-admin/js/postbox.dev.js
*** ./wordpress-3.3.2/wp-admin/js/postbox.dev.js	2011-10-09 23:19:05.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/postbox.dev.js	2012-05-01 17:50:47.000000000 -0500
***************
*** 1,9 ****
! var postboxes, is_iPad = navigator.userAgent.match(/iPad/);
  
  (function($) {
  	postboxes = {
  		add_postbox_toggles : function(page, args) {
! 			this.init(page, args);
  
  			$('.postbox h3, .postbox .handlediv').bind('click.postboxes', function() {
  				var p = $(this).parent('.postbox'), id = p.attr('id');
--- 1,11 ----
! var postboxes;
  
  (function($) {
  	postboxes = {
  		add_postbox_toggles : function(page, args) {
! 			var self = this;
! 
! 			self.init(page, args);
  
  			$('.postbox h3, .postbox .handlediv').bind('click.postboxes', function() {
  				var p = $(this).parent('.postbox'), id = p.attr('id');
***************
*** 12,24 ****
  					return;
  
  				p.toggleClass('closed');
! 				postboxes.save_state(page);
  
  				if ( id ) {
  					if ( !p.hasClass('closed') && $.isFunction(postboxes.pbshow) )
! 						postboxes.pbshow(id);
  					else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) )
! 						postboxes.pbhide(id);
  				}
  			});
  
--- 14,28 ----
  					return;
  
  				p.toggleClass('closed');
! 
! 				if ( page != 'press-this' )
! 					self.save_state(page);
  
  				if ( id ) {
  					if ( !p.hasClass('closed') && $.isFunction(postboxes.pbshow) )
! 						self.pbshow(id);
  					else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) )
! 						self.pbhide(id);
  				}
  			});
  
***************
*** 38,64 ****
  				if ( $(this).prop('checked') ) {
  					$('#' + box).show();
  					if ( $.isFunction( postboxes.pbshow ) )
! 						postboxes.pbshow( box );
  				} else {
  					$('#' + box).hide();
  					if ( $.isFunction( postboxes.pbhide ) )
! 						postboxes.pbhide( box );
  				}
! 				postboxes.save_state(page);
! 				postboxes._mark_area();
  			});
  
  			$('.columns-prefs input[type="radio"]').bind('click.postboxes', function(){
! 				var n = parseInt($(this).val(), 10), pb = postboxes;
  
  				if ( n ) {
! 					pb._pb_edit(n);
! 					pb.save_order(page);
  				}
  			});
  		},
  
  		init : function(page, args) {
  			$.extend( this, args || {} );
  			$('#wpbody-content').css('overflow','hidden');
  			$('.meta-box-sortables').sortable({
--- 42,70 ----
  				if ( $(this).prop('checked') ) {
  					$('#' + box).show();
  					if ( $.isFunction( postboxes.pbshow ) )
! 						self.pbshow( box );
  				} else {
  					$('#' + box).hide();
  					if ( $.isFunction( postboxes.pbhide ) )
! 						self.pbhide( box );
  				}
! 				self.save_state(page);
! 				self._mark_area();
  			});
  
  			$('.columns-prefs input[type="radio"]').bind('click.postboxes', function(){
! 				var n = parseInt($(this).val(), 10);
  
  				if ( n ) {
! 					self._pb_edit(n);
! 					self.save_order(page);
  				}
  			});
  		},
  
  		init : function(page, args) {
+ 			var isMobile = $(document.body).hasClass('mobile');
+ 
  			$.extend( this, args || {} );
  			$('#wpbody-content').css('overflow','hidden');
  			$('.meta-box-sortables').sortable({
***************
*** 67,72 ****
--- 73,79 ----
  				items: '.postbox',
  				handle: '.hndle',
  				cursor: 'move',
+ 				delay: ( isMobile ? 200 : 0 ),
  				distance: 2,
  				tolerance: 'pointer',
  				forcePlaceholderSize: true,
***************
*** 88,95 ****
  				}
  			});
  
! 			if ( navigator.userAgent.match(/iPad/) ) {
! 				$(document.body).bind('orientationchange', function(){ postboxes._pb_change(); });
  				this._pb_change();
  			}
  
--- 95,102 ----
  				}
  			});
  
! 			if ( isMobile ) {
! 				$(document.body).bind('orientationchange.postboxes', function(){ postboxes._pb_change(); });
  				this._pb_change();
  			}
  
***************
*** 124,212 ****
  			$.post( ajaxurl, postVars );
  		},
  
- 		_colname : function(n) {
- 			switch (n) {
- 				case 1:
- 					return 'normal';
- 					break
- 				case 2:
- 					return 'side';
- 					break
- 				case 3:
- 					return 'column3';
- 					break
- 				case 4:
- 					return 'column4';
- 					break
- 				default:
- 					return '';
- 			}
- 		},
- 
  		_mark_area : function() {
! 			$('#side-info-column .meta-box-sortables:visible, #dashboard-widgets .meta-box-sortables:visible').each(function(n, el){
  				var t = $(this);
  
! 				if ( !t.children('.postbox:visible').length )
! 					t.addClass('empty-container');
! 				else
  					t.removeClass('empty-container');
  			});
  		},
  
  		_pb_edit : function(n) {
! 			var ps = $('#poststuff'), i, el, done, pb = postboxes, visible = $('.postbox-container:visible').length;
! 
! 			if ( n == visible )
! 				return;
! 
! 			if ( ps.length ) {
! 				if ( n == 2 ) {
! 					$('.wrap').removeClass('columns-1').addClass('columns-2');
! 					ps.addClass('has-right-sidebar');
! 
! 					if ( !$('#side-info-column #side-sortables').length )
! 						$('#side-info-column').append( $('#side-sortables') );
! 
! 				} else if ( n == 1 ) {
! 					$('.wrap').removeClass('columns-2').addClass('columns-1');
! 					ps.removeClass('has-right-sidebar');
! 
! 					if ( !$('#post-body-content #side-sortables').length )
! 						$('#normal-sortables').before( $('#side-sortables') );
! 				}
! 			} else {
! 				for ( i = 4; ( i > n && i > 1 ); i-- ) {
! 					el = $('#' + postboxes._colname(i) + '-sortables');
! 					$('#' + postboxes._colname(i-1) + '-sortables').append(el.children('.postbox'));
! 					el.parent().hide();
! 				}
! 
! 				for ( i = n; i > 0; i-- ) {
! 					el = $('#' + postboxes._colname(i) + '-sortables');
! 					done = false;
! 
! 					if ( el.parent().is(':hidden') ) {
! 						switch ( i ) {
! 							case 4:
! 								done = pb._move_one( el, $('.postbox:visible', $('#column3-sortables')) );
! 							case 3:
! 								if ( !done )
! 									done = pb._move_one( el, $('.postbox:visible', $('#side-sortables')) );
! 							case 2:
! 								if ( !done )
! 									done = pb._move_one( el, $('.postbox:visible', $('#normal-sortables')) );
! 							default:
! 								if ( !done )
! 									el.addClass('empty-container')
! 						}
! 
! 						el.parent().show();
! 					}
! 				}
! 
! 				$('.postbox-container:visible').css('width', 100/n + '%');
! 			}
  		},
  
  		_pb_change : function() {
--- 131,159 ----
  			$.post( ajaxurl, postVars );
  		},
  
  		_mark_area : function() {
! 			var visible = $('div.postbox:visible').length, side = $('#post-body #side-sortables');
! 
! 			$('#dashboard-widgets .meta-box-sortables:visible').each(function(n, el){
  				var t = $(this);
  
! 				if ( visible == 1 || t.children('.postbox:visible').length )
  					t.removeClass('empty-container');
+ 				else
+ 					t.addClass('empty-container');
  			});
+ 
+ 			if ( side.length ) {
+ 				if ( side.children('.postbox:visible').length )
+ 					side.removeClass('empty-container');
+ 				else if ( $('#postbox-container-1').css('width') == '280px' )
+ 					side.addClass('empty-container');
+ 			}
  		},
  
  		_pb_edit : function(n) {
! 			var el = $('.metabox-holder').get(0);
! 			el.className = el.className.replace(/columns-\d+/, 'columns-' + n);
  		},
  
  		_pb_change : function() {
***************
*** 225,238 ****
  			}
  		},
  
- 		_move_one : function(el, move) {
- 			if ( move.length > 1 ) {
- 				el.append( move.last() );
- 				return true;
- 			}
- 			return false;
- 		},
- 
  		/* Callbacks */
  		pbshow : false,
  
--- 172,177 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/postbox.js ./wordpress-3.4/wp-admin/js/postbox.js
*** ./wordpress-3.3.2/wp-admin/js/postbox.js	2011-10-09 23:19:05.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/postbox.js	2012-05-01 17:58:23.000000000 -0500
***************
*** 1 ****
! var postboxes,is_iPad=navigator.userAgent.match(/iPad/);(function(a){postboxes={add_postbox_toggles:function(c,b){this.init(c,b);a(".postbox h3, .postbox .handlediv").bind("click.postboxes",function(){var d=a(this).parent(".postbox"),e=d.attr("id");if("dashboard_browser_nag"==e){return}d.toggleClass("closed");postboxes.save_state(c);if(e){if(!d.hasClass("closed")&&a.isFunction(postboxes.pbshow)){postboxes.pbshow(e)}else{if(d.hasClass("closed")&&a.isFunction(postboxes.pbhide)){postboxes.pbhide(e)}}}});a(".postbox h3 a").click(function(d){d.stopPropagation()});a(".postbox a.dismiss").bind("click.postboxes",function(f){var d=a(this).parents(".postbox").attr("id")+"-hide";a("#"+d).prop("checked",false).triggerHandler("click");return false});a(".hide-postbox-tog").bind("click.postboxes",function(){var d=a(this).val();if(a(this).prop("checked")){a("#"+d).show();if(a.isFunction(postboxes.pbshow)){postboxes.pbshow(d)}}else{a("#"+d).hide();if(a.isFunction(postboxes.pbhide)){postboxes.pbhide(d)}}postboxes.save_state(c);postboxes._mark_area()});a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var e=parseInt(a(this).val(),10),d=postboxes;if(e){d._pb_edit(e);d.save_order(c)}})},init:function(c,b){a.extend(this,b||{});a("#wpbody-content").css("overflow","hidden");a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",distance:2,tolerance:"pointer",forcePlaceholderSize:true,helper:"clone",opacity:0.65,stop:function(f,d){if(a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id){a(this).sortable("cancel");return}postboxes.save_order(c)},receive:function(f,d){if("dashboard_browser_nag"==d.item[0].id){a(d.sender).sortable("cancel")}postboxes._mark_area()}});if(navigator.userAgent.match(/iPad/)){a(document.body).bind("orientationchange",function(){postboxes._pb_change()});this._pb_change()}this._mark_area()},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d})},save_order:function(c){var b,d=a(".columns-prefs input:checked").val()||0;b={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:c};a(".meta-box-sortables").each(function(){b["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b)},_colname:function(b){switch(b){case 1:return"normal";break;case 2:return"side";break;case 3:return"column3";break;case 4:return"column4";break;default:return""}},_mark_area:function(){a("#side-info-column .meta-box-sortables:visible, #dashboard-widgets .meta-box-sortables:visible").each(function(d,c){var b=a(this);if(!b.children(".postbox:visible").length){b.addClass("empty-container")}else{b.removeClass("empty-container")}})},_pb_edit:function(h){var g=a("#poststuff"),d,e,b,c=postboxes,f=a(".postbox-container:visible").length;if(h==f){return}if(g.length){if(h==2){a(".wrap").removeClass("columns-1").addClass("columns-2");g.addClass("has-right-sidebar");if(!a("#side-info-column #side-sortables").length){a("#side-info-column").append(a("#side-sortables"))}}else{if(h==1){a(".wrap").removeClass("columns-2").addClass("columns-1");g.removeClass("has-right-sidebar");if(!a("#post-body-content #side-sortables").length){a("#normal-sortables").before(a("#side-sortables"))}}}}else{for(d=4;(d>h&&d>1);d--){e=a("#"+postboxes._colname(d)+"-sortables");a("#"+postboxes._colname(d-1)+"-sortables").append(e.children(".postbox"));e.parent().hide()}for(d=h;d>0;d--){e=a("#"+postboxes._colname(d)+"-sortables");b=false;if(e.parent().is(":hidden")){switch(d){case 4:b=c._move_one(e,a(".postbox:visible",a("#column3-sortables")));case 3:if(!b){b=c._move_one(e,a(".postbox:visible",a("#side-sortables")))}case 2:if(!b){b=c._move_one(e,a(".postbox:visible",a("#normal-sortables")))}default:if(!b){e.addClass("empty-container")}}e.parent().show()}}a(".postbox-container:visible").css("width",100/h+"%")}},_pb_change:function(){switch(window.orientation){case 90:case -90:this._pb_edit(2);break;case 0:case 180:if(a("#poststuff").length){this._pb_edit(1)}else{this._pb_edit(2)}break}},_move_one:function(c,b){if(b.length>1){c.append(b.last());return true}return false},pbshow:false,pbhide:false}}(jQuery));
\ No newline at end of file
--- 1 ----
! var postboxes;(function(a){postboxes={add_postbox_toggles:function(d,c){var b=this;b.init(d,c);a(".postbox h3, .postbox .handlediv").bind("click.postboxes",function(){var e=a(this).parent(".postbox"),f=e.attr("id");if("dashboard_browser_nag"==f){return}e.toggleClass("closed");if(d!="press-this"){b.save_state(d)}if(f){if(!e.hasClass("closed")&&a.isFunction(postboxes.pbshow)){b.pbshow(f)}else{if(e.hasClass("closed")&&a.isFunction(postboxes.pbhide)){b.pbhide(f)}}}});a(".postbox h3 a").click(function(f){f.stopPropagation()});a(".postbox a.dismiss").bind("click.postboxes",function(g){var f=a(this).parents(".postbox").attr("id")+"-hide";a("#"+f).prop("checked",false).triggerHandler("click");return false});a(".hide-postbox-tog").bind("click.postboxes",function(){var e=a(this).val();if(a(this).prop("checked")){a("#"+e).show();if(a.isFunction(postboxes.pbshow)){b.pbshow(e)}}else{a("#"+e).hide();if(a.isFunction(postboxes.pbhide)){b.pbhide(e)}}b.save_state(d);b._mark_area()});a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var e=parseInt(a(this).val(),10);if(e){b._pb_edit(e);b.save_order(d)}})},init:function(d,c){var b=a(document.body).hasClass("mobile");a.extend(this,c||{});a("#wpbody-content").css("overflow","hidden");a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:(b?200:0),distance:2,tolerance:"pointer",forcePlaceholderSize:true,helper:"clone",opacity:0.65,stop:function(g,f){if(a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id){a(this).sortable("cancel");return}postboxes.save_order(d)},receive:function(g,f){if("dashboard_browser_nag"==f.item[0].id){a(f.sender).sortable("cancel")}postboxes._mark_area()}});if(b){a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()});this._pb_change()}this._mark_area()},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d})},save_order:function(c){var b,d=a(".columns-prefs input:checked").val()||0;b={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:c};a(".meta-box-sortables").each(function(){b["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b)},_mark_area:function(){var c=a("div.postbox:visible").length,b=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(f,e){var d=a(this);if(c==1||d.children(".postbox:visible").length){d.removeClass("empty-container")}else{d.addClass("empty-container")}});if(b.length){if(b.children(".postbox:visible").length){b.removeClass("empty-container")}else{if(a("#postbox-container-1").css("width")=="280px"){b.addClass("empty-container")}}}},_pb_edit:function(c){var b=a(".metabox-holder").get(0);b.className=b.className.replace(/columns-\d+/,"columns-"+c)},_pb_change:function(){switch(window.orientation){case 90:case -90:this._pb_edit(2);break;case 0:case 180:if(a("#poststuff").length){this._pb_edit(1)}else{this._pb_edit(2)}break}},pbshow:false,pbhide:false}}(jQuery));
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/post.dev.js ./wordpress-3.4/wp-admin/js/post.dev.js
*** ./wordpress-3.3.2/wp-admin/js/post.dev.js	2011-11-23 18:20:21.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/post.dev.js	2012-04-30 15:50:50.000000000 -0500
***************
*** 15,25 ****
  
  tagBox = {
  	clean : function(tags) {
! 		return tags.replace(/\s*,\s*/g, ',').replace(/,+/g, ',').replace(/[,\s]+$/, '').replace(/^[,\s]+/, '');
  	},
  
  	parseTags : function(el) {
! 		var id = el.id, num = id.split('-check-num-')[1], taxbox = $(el).closest('.tagsdiv'), thetags = taxbox.find('.the-tags'), current_tags = thetags.val().split(','), new_tags = [];
  		delete current_tags[num];
  
  		$.each( current_tags, function(key, val) {
--- 15,33 ----
  
  tagBox = {
  	clean : function(tags) {
! 		var comma = postL10n.comma;
! 		if ( ',' !== comma )
! 			tags = tags.replace(new RegExp(comma, 'g'), ',');
! 		tags = tags.replace(/\s*,\s*/g, ',').replace(/,+/g, ',').replace(/[,\s]+$/, '').replace(/^[,\s]+/, '');
! 		if ( ',' !== comma )
! 			tags = tags.replace(/,/g, comma);
! 		return tags;
  	},
  
  	parseTags : function(el) {
! 		var id = el.id, num = id.split('-check-num-')[1], taxbox = $(el).closest('.tagsdiv'),
! 			thetags = taxbox.find('.the-tags'), comma = postL10n.comma,
! 			current_tags = thetags.val().split(comma), new_tags = [];
  		delete current_tags[num];
  
  		$.each( current_tags, function(key, val) {
***************
*** 29,35 ****
  			}
  		});
  
! 		thetags.val( this.clean( new_tags.join(',') ) );
  
  		this.quickClicks(taxbox);
  		return false;
--- 37,43 ----
  			}
  		});
  
! 		thetags.val( this.clean( new_tags.join(comma) ) );
  
  		this.quickClicks(taxbox);
  		return false;
***************
*** 46,52 ****
  
  		disabled = thetags.prop('disabled');
  
! 		current_tags = thetags.val().split(',');
  		tagchecklist.empty();
  
  		$.each( current_tags, function( key, val ) {
--- 54,60 ----
  
  		disabled = thetags.prop('disabled');
  
! 		current_tags = thetags.val().split(postL10n.comma);
  		tagchecklist.empty();
  
  		$.each( current_tags, function( key, val ) {
***************
*** 74,87 ****
  
  	flushTags : function(el, a, f) {
  		a = a || false;
! 		var text, tags = $('.the-tags', el), newtag = $('input.newtag', el), newtags;
  
  		text = a ? $(a).text() : newtag.val();
  		tagsval = tags.val();
! 		newtags = tagsval ? tagsval + ',' + text : text;
  
  		newtags = this.clean( newtags );
! 		newtags = array_unique_noempty( newtags.split(',') ).join(',');
  		tags.val(newtags);
  		this.quickClicks(el);
  
--- 82,98 ----
  
  	flushTags : function(el, a, f) {
  		a = a || false;
! 		var tags = $('.the-tags', el),
! 			newtag = $('input.newtag', el),
! 			comma = postL10n.comma,
! 			newtags, text;
  
  		text = a ? $(a).text() : newtag.val();
  		tagsval = tags.val();
! 		newtags = tagsval ? tagsval + comma + text : text;
  
  		newtags = this.clean( newtags );
! 		newtags = array_unique_noempty( newtags.split(comma) ).join(comma);
  		tags.val(newtags);
  		this.quickClicks(el);
  
***************
*** 96,102 ****
  	get : function(id) {
  		var tax = id.substr(id.indexOf('-')+1);
  
! 		$.post(ajaxurl, {'action':'get-tagcloud','tax':tax}, function(r, stat) {
  			if ( 0 == r || 'success' != stat )
  				r = wpAjax.broken;
  
--- 107,113 ----
  	get : function(id) {
  		var tax = id.substr(id.indexOf('-')+1);
  
! 		$.post(ajaxurl, {'action':'get-tagcloud', 'tax':tax}, function(r, stat) {
  			if ( 0 == r || 'success' != stat )
  				r = wpAjax.broken;
  
***************
*** 142,148 ****
  			}
  		}).each(function(){
  			var tax = $(this).closest('div.tagsdiv').attr('id');
! 			$(this).suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: "," } );
  		});
  
  	    // save tags on post save/publish
--- 153,159 ----
  			}
  		}).each(function(){
  			var tax = $(this).closest('div.tagsdiv').attr('id');
! 			$(this).suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: postL10n.comma + ' ' } );
  		});
  
  	    // save tags on post save/publish
***************
*** 200,209 ****
  					if ( commentsBox.st > commentsBox.total )
  						$('#show-comments').hide();
  					else
! 						$('#show-comments').html(postL10n.showcomm);
  					return;
  				} else if ( 1 == r ) {
! 					$('#show-comments').parent().html(postL10n.endcomm);
  					return;
  				}
  
--- 211,221 ----
  					if ( commentsBox.st > commentsBox.total )
  						$('#show-comments').hide();
  					else
! 						$('#show-comments').show().children('a').html(postL10n.showcomm);
! 
  					return;
  				} else if ( 1 == r ) {
! 					$('#show-comments').html(postL10n.endcomm);
  					return;
  				}
  
***************
*** 302,313 ****
--- 314,327 ----
  			if ( !$('#new'+taxonomy).val() )
  				return false;
  			s.data += '&' + $( ':checked', '#'+taxonomy+'checklist' ).serialize();
+ 			$( '#' + taxonomy + '-add-submit' ).prop( 'disabled', true );
  			return s;
  		};
  
  		catAddAfter = function( r, s ) {
  			var sup, drop = $('#new'+taxonomy+'_parent');
  
+ 			$( '#' + taxonomy + '-add-submit' ).prop( 'disabled', false );
  			if ( 'undefined' != s.parsed.responses[0] && (sup = s.parsed.responses[0].supplemental.newcat_parent) ) {
  				drop.before(sup);
  				drop.remove();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/post.js ./wordpress-3.4/wp-admin/js/post.js
*** ./wordpress-3.3.2/wp-admin/js/post.js	2011-11-23 18:20:21.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/post.js	2012-04-30 15:58:24.000000000 -0500
***************
*** 1 ****
! var tagBox,commentsBox,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint;function array_unique_noempty(a){var out=[];jQuery.each(a,function(key,val){val=jQuery.trim(val);if(val&&jQuery.inArray(val,out)==-1){out.push(val);}});return out;}(function($){tagBox={clean:function(tags){return tags.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"");},parseTags:function(el){var id=el.id,num=id.split("-check-num-")[1],taxbox=$(el).closest(".tagsdiv"),thetags=taxbox.find(".the-tags"),current_tags=thetags.val().split(","),new_tags=[];delete current_tags[num];$.each(current_tags,function(key,val){val=$.trim(val);if(val){new_tags.push(val);}});thetags.val(this.clean(new_tags.join(",")));this.quickClicks(taxbox);return false;},quickClicks:function(el){var thetags=$(".the-tags",el),tagchecklist=$(".tagchecklist",el),id=$(el).attr("id"),current_tags,disabled;if(!thetags.length){return;}disabled=thetags.prop("disabled");current_tags=thetags.val().split(",");tagchecklist.empty();$.each(current_tags,function(key,val){var span,xbutton;val=$.trim(val);if(!val){return;}span=$("<span />").text(val);if(!disabled){xbutton=$('<a id="'+id+"-check-num-"+key+'" class="ntdelbutton">X</a>');xbutton.click(function(){tagBox.parseTags(this);});span.prepend("&nbsp;").prepend(xbutton);}tagchecklist.append(span);});},flushTags:function(el,a,f){a=a||false;var text,tags=$(".the-tags",el),newtag=$("input.newtag",el),newtags;text=a?$(a).text():newtag.val();tagsval=tags.val();newtags=tagsval?tagsval+","+text:text;newtags=this.clean(newtags);newtags=array_unique_noempty(newtags.split(",")).join(",");tags.val(newtags);this.quickClicks(el);if(!a){newtag.val("");}if("undefined"==typeof(f)){newtag.focus();}return false;},get:function(id){var tax=id.substr(id.indexOf("-")+1);$.post(ajaxurl,{action:"get-tagcloud",tax:tax},function(r,stat){if(0==r||"success"!=stat){r=wpAjax.broken;}r=$('<p id="tagcloud-'+tax+'" class="the-tagcloud">'+r+"</p>");$("a",r).click(function(){tagBox.flushTags($(this).closest(".inside").children(".tagsdiv"),this);return false;});$("#"+id).after(r);});},init:function(){var t=this,ajaxtag=$("div.ajaxtag");$(".tagsdiv").each(function(){tagBox.quickClicks(this);});$("input.tagadd",ajaxtag).click(function(){t.flushTags($(this).closest(".tagsdiv"));});$("div.taghint",ajaxtag).click(function(){$(this).css("visibility","hidden").parent().siblings(".newtag").focus();});$("input.newtag",ajaxtag).blur(function(){if(this.value==""){$(this).parent().siblings(".taghint").css("visibility","");}}).focus(function(){$(this).parent().siblings(".taghint").css("visibility","hidden");}).keyup(function(e){if(13==e.which){tagBox.flushTags($(this).closest(".tagsdiv"));return false;}}).keypress(function(e){if(13==e.which){e.preventDefault();return false;}}).each(function(){var tax=$(this).closest("div.tagsdiv").attr("id");$(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+tax,{delay:500,minchars:2,multiple:true,multipleSep:","});});$("#post").submit(function(){$("div.tagsdiv").each(function(){tagBox.flushTags(this,false,1);});});$("a.tagcloud-link").click(function(){tagBox.get($(this).attr("id"));$(this).unbind().click(function(){$(this).siblings(".the-tagcloud").toggle();return false;});return false;});}};commentsBox={st:0,get:function(total,num){var st=this.st,data;if(!num){num=20;}this.st+=num;this.total=total;$("#commentsdiv img.waiting").show();data={action:"get-comments",mode:"single",_ajax_nonce:$("#add_comment_nonce").val(),p:$("#post_ID").val(),start:st,number:num};$.post(ajaxurl,data,function(r){r=wpAjax.parseAjaxResponse(r);$("#commentsdiv .widefat").show();$("#commentsdiv img.waiting").hide();if("object"==typeof r&&r.responses[0]){$("#the-comment-list").append(r.responses[0].data);theList=theExtraList=null;$("a[className*=':']").unbind();if(commentsBox.st>commentsBox.total){$("#show-comments").hide();}else{$("#show-comments").html(postL10n.showcomm);}return;}else{if(1==r){$("#show-comments").parent().html(postL10n.endcomm);return;}}$("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>");});return false;}};WPSetThumbnailHTML=function(html){$(".inside","#postimagediv").html(html);};WPSetThumbnailID=function(id){var field=$('input[value="_thumbnail_id"]',"#list-table");if(field.size()>0){$("#meta\\["+field.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(id);}};WPRemoveThumbnail=function(nonce){$.post(ajaxurl,{action:"set-post-thumbnail",post_id:$("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:nonce,cookie:encodeURIComponent(document.cookie)},function(str){if(str=="0"){alert(setPostThumbnailL10n.error);}else{WPSetThumbnailHTML(str);}});};})(jQuery);jQuery(document).ready(function($){var stamp,visibility,sticky="",last=0,co=$("#content");postboxes.add_postbox_toggles(pagenow);if($("#tagsdiv-post_tag").length){tagBox.init();}else{$("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){if(this.id.indexOf("tagsdiv-")===0){tagBox.init();return false;}});}$(".categorydiv").each(function(){var this_id=$(this).attr("id"),noSyncChecks=false,syncChecks,catAddAfter,taxonomyParts,taxonomy,settingName;taxonomyParts=this_id.split("-");taxonomyParts.shift();taxonomy=taxonomyParts.join("-");settingName=taxonomy+"_tab";if(taxonomy=="category"){settingName="cats";}$("a","#"+taxonomy+"-tabs").click(function(){var t=$(this).attr("href");$(this).parent().addClass("tabs").siblings("li").removeClass("tabs");$("#"+taxonomy+"-tabs").siblings(".tabs-panel").hide();$(t).show();if("#"+taxonomy+"-all"==t){deleteUserSetting(settingName);}else{setUserSetting(settingName,"pop");}return false;});if(getUserSetting(settingName)){$('a[href="#'+taxonomy+'-pop"]',"#"+taxonomy+"-tabs").click();}$("#new"+taxonomy).one("focus",function(){$(this).val("").removeClass("form-input-tip");});$("#"+taxonomy+"-add-submit").click(function(){$("#new"+taxonomy).focus();});syncChecks=function(){if(noSyncChecks){return;}noSyncChecks=true;var th=jQuery(this),c=th.is(":checked"),id=th.val().toString();$("#in-"+taxonomy+"-"+id+", #in-"+taxonomy+"-category-"+id).prop("checked",c);noSyncChecks=false;};catAddBefore=function(s){if(!$("#new"+taxonomy).val()){return false;}s.data+="&"+$(":checked","#"+taxonomy+"checklist").serialize();return s;};catAddAfter=function(r,s){var sup,drop=$("#new"+taxonomy+"_parent");if("undefined"!=s.parsed.responses[0]&&(sup=s.parsed.responses[0].supplemental.newcat_parent)){drop.before(sup);drop.remove();}};$("#"+taxonomy+"checklist").wpList({alt:"",response:taxonomy+"-ajax-response",addBefore:catAddBefore,addAfter:catAddAfter});$("#"+taxonomy+"-add-toggle").click(function(){$("#"+taxonomy+"-adder").toggleClass("wp-hidden-children");$('a[href="#'+taxonomy+'-all"]',"#"+taxonomy+"-tabs").click();$("#new"+taxonomy).focus();return false;});$("#"+taxonomy+"checklist li.popular-category :checkbox, #"+taxonomy+"checklist-pop :checkbox").live("click",function(){var t=$(this),c=t.is(":checked"),id=t.val();if(id&&t.parents("#taxonomy-"+taxonomy).length){$("#in-"+taxonomy+"-"+id+", #in-popular-"+taxonomy+"-"+id).prop("checked",c);}});});if($("#postcustom").length){$("#the-list").wpList({addAfter:function(xml,s){$("table#list-table").show();},addBefore:function(s){s.data+="&post_id="+$("#post_ID").val();return s;}});}if($("#submitdiv").length){stamp=$("#timestamp").html();visibility=$("#post-visibility-display").html();function updateVisibility(){var pvSelect=$("#post-visibility-select");if($("input:radio:checked",pvSelect).val()!="public"){$("#sticky").prop("checked",false);$("#sticky-span").hide();}else{$("#sticky-span").show();}if($("input:radio:checked",pvSelect).val()!="password"){$("#password-span").hide();}else{$("#password-span").show();}}function updateText(){var attemptedDate,originalDate,currentDate,publishOn,postStatus=$("#post_status"),optPublish=$('option[value="publish"]',postStatus),aa=$("#aa").val(),mm=$("#mm").val(),jj=$("#jj").val(),hh=$("#hh").val(),mn=$("#mn").val();attemptedDate=new Date(aa,mm-1,jj,hh,mn);originalDate=new Date($("#hidden_aa").val(),$("#hidden_mm").val()-1,$("#hidden_jj").val(),$("#hidden_hh").val(),$("#hidden_mn").val());currentDate=new Date($("#cur_aa").val(),$("#cur_mm").val()-1,$("#cur_jj").val(),$("#cur_hh").val(),$("#cur_mn").val());if(attemptedDate.getFullYear()!=aa||(1+attemptedDate.getMonth())!=mm||attemptedDate.getDate()!=jj||attemptedDate.getMinutes()!=mn){$(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false;}else{$(".timestamp-wrap","#timestampdiv").removeClass("form-invalid");}if(attemptedDate>currentDate&&$("#original_post_status").val()!="future"){publishOn=postL10n.publishOnFuture;$("#publish").val(postL10n.schedule);}else{if(attemptedDate<=currentDate&&$("#original_post_status").val()!="publish"){publishOn=postL10n.publishOn;$("#publish").val(postL10n.publish);}else{publishOn=postL10n.publishOnPast;$("#publish").val(postL10n.update);}}if(originalDate.toUTCString()==attemptedDate.toUTCString()){$("#timestamp").html(stamp);}else{$("#timestamp").html(publishOn+" <b>"+$('option[value="'+$("#mm").val()+'"]',"#mm").text()+" "+jj+", "+aa+" @ "+hh+":"+mn+"</b> ");}if($("input:radio:checked","#post-visibility-select").val()=="private"){$("#publish").val(postL10n.update);if(optPublish.length==0){postStatus.append('<option value="publish">'+postL10n.privatelyPublished+"</option>");}else{optPublish.html(postL10n.privatelyPublished);}$('option[value="publish"]',postStatus).prop("selected",true);$(".edit-post-status","#misc-publishing-actions").hide();}else{if($("#original_post_status").val()=="future"||$("#original_post_status").val()=="draft"){if(optPublish.length){optPublish.remove();postStatus.val($("#hidden_post_status").val());}}else{optPublish.html(postL10n.published);}if(postStatus.is(":hidden")){$(".edit-post-status","#misc-publishing-actions").show();}}$("#post-status-display").html($("option:selected",postStatus).text());if($("option:selected",postStatus).val()=="private"||$("option:selected",postStatus).val()=="publish"){$("#save-post").hide();}else{$("#save-post").show();if($("option:selected",postStatus).val()=="pending"){$("#save-post").show().val(postL10n.savePending);}else{$("#save-post").show().val(postL10n.saveDraft);}}return true;}$(".edit-visibility","#visibility").click(function(){if($("#post-visibility-select").is(":hidden")){updateVisibility();$("#post-visibility-select").slideDown("fast");$(this).hide();}return false;});$(".cancel-post-visibility","#post-visibility-select").click(function(){$("#post-visibility-select").slideUp("fast");$("#visibility-radio-"+$("#hidden-post-visibility").val()).prop("checked",true);$("#post_password").val($("#hidden_post_password").val());$("#sticky").prop("checked",$("#hidden-post-sticky").prop("checked"));$("#post-visibility-display").html(visibility);$(".edit-visibility","#visibility").show();updateText();return false;});$(".save-post-visibility","#post-visibility-select").click(function(){var pvSelect=$("#post-visibility-select");pvSelect.slideUp("fast");$(".edit-visibility","#visibility").show();updateText();if($("input:radio:checked",pvSelect).val()!="public"){$("#sticky").prop("checked",false);}if(true==$("#sticky").prop("checked")){sticky="Sticky";}else{sticky="";}$("#post-visibility-display").html(postL10n[$("input:radio:checked",pvSelect).val()+sticky]);return false;});$("input:radio","#post-visibility-select").change(function(){updateVisibility();});$("#timestampdiv").siblings("a.edit-timestamp").click(function(){if($("#timestampdiv").is(":hidden")){$("#timestampdiv").slideDown("fast");$(this).hide();}return false;});$(".cancel-timestamp","#timestampdiv").click(function(){$("#timestampdiv").slideUp("fast");$("#mm").val($("#hidden_mm").val());$("#jj").val($("#hidden_jj").val());$("#aa").val($("#hidden_aa").val());$("#hh").val($("#hidden_hh").val());$("#mn").val($("#hidden_mn").val());$("#timestampdiv").siblings("a.edit-timestamp").show();updateText();return false;});$(".save-timestamp","#timestampdiv").click(function(){if(updateText()){$("#timestampdiv").slideUp("fast");$("#timestampdiv").siblings("a.edit-timestamp").show();}return false;});$("#post-status-select").siblings("a.edit-post-status").click(function(){if($("#post-status-select").is(":hidden")){$("#post-status-select").slideDown("fast");$(this).hide();}return false;});$(".save-post-status","#post-status-select").click(function(){$("#post-status-select").slideUp("fast");$("#post-status-select").siblings("a.edit-post-status").show();updateText();return false;});$(".cancel-post-status","#post-status-select").click(function(){$("#post-status-select").slideUp("fast");$("#post_status").val($("#hidden_post_status").val());$("#post-status-select").siblings("a.edit-post-status").show();updateText();return false;});}if($("#edit-slug-box").length){editPermalink=function(post_id){var i,c=0,e=$("#editable-post-name"),revert_e=e.html(),real_slug=$("#post_name"),revert_slug=real_slug.val(),b=$("#edit-slug-buttons"),revert_b=b.html(),full=$("#editable-post-name-full").html();$("#view-post-btn").hide();b.html('<a href="#" class="save button">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>");b.children(".save").click(function(){var new_slug=e.children("input").val();if(new_slug==$("#editable-post-name-full").text()){return $(".cancel","#edit-slug-buttons").click();}$.post(ajaxurl,{action:"sample-permalink",post_id:post_id,new_slug:new_slug,new_title:$("#title").val(),samplepermalinknonce:$("#samplepermalinknonce").val()},function(data){$("#edit-slug-box").html(data);b.html(revert_b);real_slug.val(new_slug);makeSlugeditClickable();$("#view-post-btn").show();});return false;});$(".cancel","#edit-slug-buttons").click(function(){$("#view-post-btn").show();e.html(revert_e);b.html(revert_b);real_slug.val(revert_slug);return false;});for(i=0;i<full.length;++i){if("%"==full.charAt(i)){c++;}}slug_value=(c>full.length/4)?"":full;e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children("input").keypress(function(e){var key=e.keyCode||0;if(13==key){b.children(".save").click();return false;}if(27==key){b.children(".cancel").click();return false;}real_slug.val(this.value);}).focus();};makeSlugeditClickable=function(){$("#editable-post-name").click(function(){$("#edit-slug-buttons").children(".edit-slug").click();});};makeSlugeditClickable();}if(typeof(wpWordCount)!="undefined"){$(document).triggerHandler("wpcountwords",[co.val()]);co.keyup(function(e){var k=e.keyCode||e.charCode;if(k==last){return true;}if(13==k||8==last||46==last){$(document).triggerHandler("wpcountwords",[co.val()]);}last=k;return true;});}wptitlehint=function(id){id=id||"title";var title=$("#"+id),titleprompt=$("#"+id+"-prompt-text");if(title.val()==""){titleprompt.css("visibility","");}titleprompt.click(function(){$(this).css("visibility","hidden");title.focus();});title.blur(function(){if(this.value==""){titleprompt.css("visibility","");}}).focus(function(){titleprompt.css("visibility","hidden");}).keydown(function(e){titleprompt.css("visibility","hidden");$(this).unbind(e);});};wptitlehint();});
\ No newline at end of file
--- 1 ----
! var tagBox,commentsBox,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint;function array_unique_noempty(b){var c=[];jQuery.each(b,function(a,d){d=jQuery.trim(d);if(d&&jQuery.inArray(d,c)==-1){c.push(d)}});return c}(function(a){tagBox={clean:function(c){var b=postL10n.comma;if(","!==b){c=c.replace(new RegExp(b,"g"),",")}c=c.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"");if(","!==b){c=c.replace(/,/g,b)}return c},parseTags:function(f){var i=f.id,c=i.split("-check-num-")[1],e=a(f).closest(".tagsdiv"),h=e.find(".the-tags"),b=postL10n.comma,d=h.val().split(b),g=[];delete d[c];a.each(d,function(j,k){k=a.trim(k);if(k){g.push(k)}});h.val(this.clean(g.join(b)));this.quickClicks(e);return false},quickClicks:function(d){var g=a(".the-tags",d),e=a(".tagchecklist",d),f=a(d).attr("id"),b,c;if(!g.length){return}c=g.prop("disabled");b=g.val().split(postL10n.comma);e.empty();a.each(b,function(i,k){var j,h;k=a.trim(k);if(!k){return}j=a("<span />").text(k);if(!c){h=a('<a id="'+f+"-check-num-"+i+'" class="ntdelbutton">X</a>');h.click(function(){tagBox.parseTags(this)});j.prepend("&nbsp;").prepend(h)}e.append(j)})},flushTags:function(g,c,h){c=c||false;var d=a(".the-tags",g),j=a("input.newtag",g),b=postL10n.comma,e,i;i=c?a(c).text():j.val();tagsval=d.val();e=tagsval?tagsval+b+i:i;e=this.clean(e);e=array_unique_noempty(e.split(b)).join(b);d.val(e);this.quickClicks(g);if(!c){j.val("")}if("undefined"==typeof(h)){j.focus()}return false},get:function(c){var b=c.substr(c.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:b},function(e,d){if(0==e||"success"!=d){e=wpAjax.broken}e=a('<p id="tagcloud-'+b+'" class="the-tagcloud">'+e+"</p>");a("a",e).click(function(){tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this);return false});a("#"+c).after(e)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)});a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))});a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()});a("input.newtag",c).blur(function(){if(this.value==""){a(this).parent().siblings(".taghint").css("visibility","")}}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(d){if(13==d.which){tagBox.flushTags(a(this).closest(".tagsdiv"));return false}}).keypress(function(d){if(13==d.which){d.preventDefault();return false}}).each(function(){var d=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+d,{delay:500,minchars:2,multiple:true,multipleSep:postL10n.comma+" "})});a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,false,1)})});a("a.tagcloud-link").click(function(){tagBox.get(a(this).attr("id"));a(this).unbind().click(function(){a(this).siblings(".the-tagcloud").toggle();return false});return false})}};commentsBox={st:0,get:function(d,c){var b=this.st,e;if(!c){c=20}this.st+=c;this.total=d;a("#commentsdiv img.waiting").show();e={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:b,number:c};a.post(ajaxurl,e,function(f){f=wpAjax.parseAjaxResponse(f);a("#commentsdiv .widefat").show();a("#commentsdiv img.waiting").hide();if("object"==typeof f&&f.responses[0]){a("#the-comment-list").append(f.responses[0].data);theList=theExtraList=null;a("a[className*=':']").unbind();if(commentsBox.st>commentsBox.total){a("#show-comments").hide()}else{a("#show-comments").show().children("a").html(postL10n.showcomm)}return}else{if(1==f){a("#show-comments").html(postL10n.endcomm);return}}a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")});return false}};WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)};WPSetThumbnailID=function(c){var b=a('input[value="_thumbnail_id"]',"#list-table");if(b.size()>0){a("#meta\\["+b.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(c)}};WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(c){if(c=="0"){alert(setPostThumbnailL10n.error)}else{WPSetThumbnailHTML(c)}})}})(jQuery);jQuery(document).ready(function(f){var b,a,g="",e=0,h=f("#content");postboxes.add_postbox_toggles(pagenow);if(f("#tagsdiv-post_tag").length){tagBox.init()}else{f("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){if(this.id.indexOf("tagsdiv-")===0){tagBox.init();return false}})}f(".categorydiv").each(function(){var n=f(this).attr("id"),j=false,m,o,l,i,k;l=n.split("-");l.shift();i=l.join("-");k=i+"_tab";if(i=="category"){k="cats"}f("a","#"+i+"-tabs").click(function(){var p=f(this).attr("href");f(this).parent().addClass("tabs").siblings("li").removeClass("tabs");f("#"+i+"-tabs").siblings(".tabs-panel").hide();f(p).show();if("#"+i+"-all"==p){deleteUserSetting(k)}else{setUserSetting(k,"pop")}return false});if(getUserSetting(k)){f('a[href="#'+i+'-pop"]',"#"+i+"-tabs").click()}f("#new"+i).one("focus",function(){f(this).val("").removeClass("form-input-tip")});f("#"+i+"-add-submit").click(function(){f("#new"+i).focus()});m=function(){if(j){return}j=true;var p=jQuery(this),r=p.is(":checked"),q=p.val().toString();f("#in-"+i+"-"+q+", #in-"+i+"-category-"+q).prop("checked",r);j=false};catAddBefore=function(p){if(!f("#new"+i).val()){return false}p.data+="&"+f(":checked","#"+i+"checklist").serialize();f("#"+i+"-add-submit").prop("disabled",true);return p};o=function(u,t){var q,p=f("#new"+i+"_parent");f("#"+i+"-add-submit").prop("disabled",false);if("undefined"!=t.parsed.responses[0]&&(q=t.parsed.responses[0].supplemental.newcat_parent)){p.before(q);p.remove()}};f("#"+i+"checklist").wpList({alt:"",response:i+"-ajax-response",addBefore:catAddBefore,addAfter:o});f("#"+i+"-add-toggle").click(function(){f("#"+i+"-adder").toggleClass("wp-hidden-children");f('a[href="#'+i+'-all"]',"#"+i+"-tabs").click();f("#new"+i).focus();return false});f("#"+i+"checklist li.popular-category :checkbox, #"+i+"checklist-pop :checkbox").live("click",function(){var p=f(this),r=p.is(":checked"),q=p.val();if(q&&p.parents("#taxonomy-"+i).length){f("#in-"+i+"-"+q+", #in-popular-"+i+"-"+q).prop("checked",r)}})});if(f("#postcustom").length){f("#the-list").wpList({addAfter:function(i,j){f("table#list-table").show()},addBefore:function(i){i.data+="&post_id="+f("#post_ID").val();return i}})}if(f("#submitdiv").length){b=f("#timestamp").html();a=f("#post-visibility-display").html();function d(){var i=f("#post-visibility-select");if(f("input:radio:checked",i).val()!="public"){f("#sticky").prop("checked",false);f("#sticky-span").hide()}else{f("#sticky-span").show()}if(f("input:radio:checked",i).val()!="password"){f("#password-span").hide()}else{f("#password-span").show()}}function c(){var p,q,j,s,r=f("#post_status"),k=f('option[value="publish"]',r),i=f("#aa").val(),n=f("#mm").val(),o=f("#jj").val(),m=f("#hh").val(),l=f("#mn").val();p=new Date(i,n-1,o,m,l);q=new Date(f("#hidden_aa").val(),f("#hidden_mm").val()-1,f("#hidden_jj").val(),f("#hidden_hh").val(),f("#hidden_mn").val());j=new Date(f("#cur_aa").val(),f("#cur_mm").val()-1,f("#cur_jj").val(),f("#cur_hh").val(),f("#cur_mn").val());if(p.getFullYear()!=i||(1+p.getMonth())!=n||p.getDate()!=o||p.getMinutes()!=l){f(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{f(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}if(p>j&&f("#original_post_status").val()!="future"){s=postL10n.publishOnFuture;f("#publish").val(postL10n.schedule)}else{if(p<=j&&f("#original_post_status").val()!="publish"){s=postL10n.publishOn;f("#publish").val(postL10n.publish)}else{s=postL10n.publishOnPast;f("#publish").val(postL10n.update)}}if(q.toUTCString()==p.toUTCString()){f("#timestamp").html(b)}else{f("#timestamp").html(s+" <b>"+f('option[value="'+f("#mm").val()+'"]',"#mm").text()+" "+o+", "+i+" @ "+m+":"+l+"</b> ")}if(f("input:radio:checked","#post-visibility-select").val()=="private"){f("#publish").val(postL10n.update);if(k.length==0){r.append('<option value="publish">'+postL10n.privatelyPublished+"</option>")}else{k.html(postL10n.privatelyPublished)}f('option[value="publish"]',r).prop("selected",true);f(".edit-post-status","#misc-publishing-actions").hide()}else{if(f("#original_post_status").val()=="future"||f("#original_post_status").val()=="draft"){if(k.length){k.remove();r.val(f("#hidden_post_status").val())}}else{k.html(postL10n.published)}if(r.is(":hidden")){f(".edit-post-status","#misc-publishing-actions").show()}}f("#post-status-display").html(f("option:selected",r).text());if(f("option:selected",r).val()=="private"||f("option:selected",r).val()=="publish"){f("#save-post").hide()}else{f("#save-post").show();if(f("option:selected",r).val()=="pending"){f("#save-post").show().val(postL10n.savePending)}else{f("#save-post").show().val(postL10n.saveDraft)}}return true}f(".edit-visibility","#visibility").click(function(){if(f("#post-visibility-select").is(":hidden")){d();f("#post-visibility-select").slideDown("fast");f(this).hide()}return false});f(".cancel-post-visibility","#post-visibility-select").click(function(){f("#post-visibility-select").slideUp("fast");f("#visibility-radio-"+f("#hidden-post-visibility").val()).prop("checked",true);f("#post_password").val(f("#hidden_post_password").val());f("#sticky").prop("checked",f("#hidden-post-sticky").prop("checked"));f("#post-visibility-display").html(a);f(".edit-visibility","#visibility").show();c();return false});f(".save-post-visibility","#post-visibility-select").click(function(){var i=f("#post-visibility-select");i.slideUp("fast");f(".edit-visibility","#visibility").show();c();if(f("input:radio:checked",i).val()!="public"){f("#sticky").prop("checked",false)}if(true==f("#sticky").prop("checked")){g="Sticky"}else{g=""}f("#post-visibility-display").html(postL10n[f("input:radio:checked",i).val()+g]);return false});f("input:radio","#post-visibility-select").change(function(){d()});f("#timestampdiv").siblings("a.edit-timestamp").click(function(){if(f("#timestampdiv").is(":hidden")){f("#timestampdiv").slideDown("fast");f(this).hide()}return false});f(".cancel-timestamp","#timestampdiv").click(function(){f("#timestampdiv").slideUp("fast");f("#mm").val(f("#hidden_mm").val());f("#jj").val(f("#hidden_jj").val());f("#aa").val(f("#hidden_aa").val());f("#hh").val(f("#hidden_hh").val());f("#mn").val(f("#hidden_mn").val());f("#timestampdiv").siblings("a.edit-timestamp").show();c();return false});f(".save-timestamp","#timestampdiv").click(function(){if(c()){f("#timestampdiv").slideUp("fast");f("#timestampdiv").siblings("a.edit-timestamp").show()}return false});f("#post-status-select").siblings("a.edit-post-status").click(function(){if(f("#post-status-select").is(":hidden")){f("#post-status-select").slideDown("fast");f(this).hide()}return false});f(".save-post-status","#post-status-select").click(function(){f("#post-status-select").slideUp("fast");f("#post-status-select").siblings("a.edit-post-status").show();c();return false});f(".cancel-post-status","#post-status-select").click(function(){f("#post-status-select").slideUp("fast");f("#post_status").val(f("#hidden_post_status").val());f("#post-status-select").siblings("a.edit-post-status").show();c();return false})}if(f("#edit-slug-box").length){editPermalink=function(j){var k,n=0,m=f("#editable-post-name"),o=m.html(),r=f("#post_name"),s=r.val(),p=f("#edit-slug-buttons"),q=p.html(),l=f("#editable-post-name-full").html();f("#view-post-btn").hide();p.html('<a href="#" class="save button">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>");p.children(".save").click(function(){var i=m.children("input").val();if(i==f("#editable-post-name-full").text()){return f(".cancel","#edit-slug-buttons").click()}f.post(ajaxurl,{action:"sample-permalink",post_id:j,new_slug:i,new_title:f("#title").val(),samplepermalinknonce:f("#samplepermalinknonce").val()},function(t){f("#edit-slug-box").html(t);p.html(q);r.val(i);makeSlugeditClickable();f("#view-post-btn").show()});return false});f(".cancel","#edit-slug-buttons").click(function(){f("#view-post-btn").show();m.html(o);p.html(q);r.val(s);return false});for(k=0;k<l.length;++k){if("%"==l.charAt(k)){n++}}slug_value=(n>l.length/4)?"":l;m.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children("input").keypress(function(t){var i=t.keyCode||0;if(13==i){p.children(".save").click();return false}if(27==i){p.children(".cancel").click();return false}r.val(this.value)}).focus()};makeSlugeditClickable=function(){f("#editable-post-name").click(function(){f("#edit-slug-buttons").children(".edit-slug").click()})};makeSlugeditClickable()}if(typeof(wpWordCount)!="undefined"){f(document).triggerHandler("wpcountwords",[h.val()]);h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==e){return true}if(13==i||8==e||46==e){f(document).triggerHandler("wpcountwords",[h.val()])}e=i;return true})}wptitlehint=function(k){k=k||"title";var i=f("#"+k),j=f("#"+k+"-prompt-text");if(i.val()==""){j.css("visibility","")}j.click(function(){f(this).css("visibility","hidden");i.focus()});i.blur(function(){if(this.value==""){j.css("visibility","")}}).focus(function(){j.css("visibility","hidden")}).keydown(function(l){j.css("visibility","hidden");f(this).unbind(l)})};wptitlehint()});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/tags.dev.js ./wordpress-3.4/wp-admin/js/tags.dev.js
*** ./wordpress-3.3.2/wp-admin/js/tags.dev.js	2011-04-29 21:15:08.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/tags.dev.js	2012-03-02 15:01:51.000000000 -0600
***************
*** 33,41 ****
  			return false;
  
  		$.post(ajaxurl, $('#addtag').serialize(), function(r){
! 		   $('#ajax-response').empty();
  			var res = wpAjax.parseAjaxResponse(r, 'ajax-response');
! 			if ( ! res )
  				return;
  
  			var parent = form.find('select#parent').val();
--- 33,41 ----
  			return false;
  
  		$.post(ajaxurl, $('#addtag').serialize(), function(r){
! 			$('#ajax-response').empty();
  			var res = wpAjax.parseAjaxResponse(r, 'ajax-response');
! 			if ( ! res || res.errors )
  				return;
  
  			var parent = form.find('select#parent').val();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/tags.js ./wordpress-3.4/wp-admin/js/tags.js
*** ./wordpress-3.3.2/wp-admin/js/tags.js	2011-04-29 21:15:08.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/tags.js	2012-03-02 15:15:21.000000000 -0600
***************
*** 1 ****
! jQuery(document).ready(function(a){a(".delete-tag").live("click",function(g){var b=a(this),f=b.parents("tr"),c=true,d;if("undefined"!=showNotice){c=showNotice.warn()}if(c){d=b.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");a.post(ajaxurl,d,function(e){if("1"==e){a("#ajax-response").empty();f.fadeOut("normal",function(){f.remove()});a('select#parent option[value="'+d.match(/tag_ID=(\d+)/)[1]+'"]').remove();a("a.tag-link-"+d.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==e){a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");f.children().css("backgroundColor","")}else{a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");f.children().css("backgroundColor","")}}});f.children().css("backgroundColor","#f33")}return false});a("#submit").click(function(){var b=a(this).parents("form");if(!validateForm(b)){return false}a.post(ajaxurl,a("#addtag").serialize(),function(h){a("#ajax-response").empty();var f=wpAjax.parseAjaxResponse(h,"ajax-response");if(!f){return}var g=b.find("select#parent").val();if(g>0&&a("#tag-"+g).length>0){a(".tags #tag-"+g).after(f.responses[0].supplemental.noparents)}else{a(".tags").prepend(f.responses[0].supplemental.parents)}a(".tags .no-items").remove();if(b.find("select#parent")){var e=f.responses[1].supplemental;var c="";for(var d=0;d<f.responses[1].position;d++){c+="&nbsp;&nbsp;&nbsp;"}b.find("select#parent option:selected").after('<option value="'+e.term_id+'">'+c+e.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")});return false})});
\ No newline at end of file
--- 1 ----
! jQuery(document).ready(function(a){a(".delete-tag").live("click",function(g){var b=a(this),f=b.parents("tr"),c=true,d;if("undefined"!=showNotice){c=showNotice.warn()}if(c){d=b.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");a.post(ajaxurl,d,function(e){if("1"==e){a("#ajax-response").empty();f.fadeOut("normal",function(){f.remove()});a('select#parent option[value="'+d.match(/tag_ID=(\d+)/)[1]+'"]').remove();a("a.tag-link-"+d.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==e){a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");f.children().css("backgroundColor","")}else{a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");f.children().css("backgroundColor","")}}});f.children().css("backgroundColor","#f33")}return false});a("#submit").click(function(){var b=a(this).parents("form");if(!validateForm(b)){return false}a.post(ajaxurl,a("#addtag").serialize(),function(h){a("#ajax-response").empty();var f=wpAjax.parseAjaxResponse(h,"ajax-response");if(!f||f.errors){return}var g=b.find("select#parent").val();if(g>0&&a("#tag-"+g).length>0){a(".tags #tag-"+g).after(f.responses[0].supplemental.noparents)}else{a(".tags").prepend(f.responses[0].supplemental.parents)}a(".tags .no-items").remove();if(b.find("select#parent")){var e=f.responses[1].supplemental;var c="";for(var d=0;d<f.responses[1].position;d++){c+="&nbsp;&nbsp;&nbsp;"}b.find("select#parent option:selected").after('<option value="'+e.term_id+'">'+c+e.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")});return false})});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/theme.dev.js ./wordpress-3.4/wp-admin/js/theme.dev.js
*** ./wordpress-3.3.2/wp-admin/js/theme.dev.js	2011-01-18 11:32:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/theme.dev.js	2012-06-06 16:45:17.000000000 -0500
***************
*** 1,3 ****
--- 1,63 ----
+ /**
+  * Theme Browsing
+  *
+  * Controls visibility of theme details on manage and install themes pages.
+  */
+ jQuery( function($) {
+ 	$('#availablethemes').on( 'click', '.theme-detail', function (event) {
+ 		var theme   = $(this).closest('.available-theme'),
+ 			details = theme.find('.themedetaildiv');
+ 
+ 		if ( ! details.length ) {
+ 			details = theme.find('.install-theme-info .theme-details');
+ 			details = details.clone().addClass('themedetaildiv').appendTo( theme ).hide();
+ 		}
+ 
+ 		details.toggle();
+ 		event.preventDefault();
+ 	});
+ });
+ 
+ /**
+  * Theme Install
+  *
+  * Displays theme previews on theme install pages.
+  */
+ jQuery( function($) {
+ 	if( ! window.postMessage )
+ 		return;
+ 
+ 	var preview = $('#theme-installer'),
+ 		info    = preview.find('.install-theme-info'),
+ 		panel   = preview.find('.wp-full-overlay-main'),
+ 		body    = $( document.body );
+ 
+ 	preview.on( 'click', '.close-full-overlay', function( event ) {
+ 		preview.fadeOut( 200, function() {
+ 			panel.empty();
+ 			body.removeClass('theme-installer-active full-overlay-active');
+ 		});
+ 		event.preventDefault();
+ 	});
+ 
+ 	preview.on( 'click', '.collapse-sidebar', function( event ) {
+ 		preview.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
+ 		event.preventDefault();
+ 	});
+ 
+ 	$('#availablethemes').on( 'click', '.install-theme-preview', function( event ) {
+ 		var src;
+ 
+ 		info.html( $(this).closest('.installable-theme').find('.install-theme-info').html() );
+ 		src = info.find( '.theme-preview-url' ).val();
+ 		panel.html( '<iframe src="' + src + '" />');
+ 		preview.fadeIn( 200, function() {
+ 			body.addClass('theme-installer-active full-overlay-active');
+ 		});
+ 		event.preventDefault();
+ 	});
+ });
+ 
  var ThemeViewer;
  
  (function($){
***************
*** 45,51 ****
  			init: init
  		};
  
!   	return api;
  	}
  })(jQuery);
  
--- 105,111 ----
  			init: init
  		};
  
! 	return api;
  	}
  })(jQuery);
  
***************
*** 53,55 ****
--- 113,254 ----
  	theme_viewer = new ThemeViewer();
  	theme_viewer.init();
  });
+ 
+ 
+ /**
+  * Class that provides infinite scroll for Themes admin screens
+  *
+  * @since 3.4
+  *
+  * @uses ajaxurl
+  * @uses list_args
+  * @uses theme_list_args
+  * @uses $('#_ajax_fetch_list_nonce').val()
+ * */
+ var ThemeScroller;
+ (function($){
+ 	ThemeScroller = {
+ 		querying: false,
+ 		scrollPollingDelay: 500,
+ 		failedRetryDelay: 4000,
+ 		outListBottomThreshold: 300,
+ 
+ 		/**
+ 		 * Initializer
+ 		 *
+ 		 * @since 3.4
+ 		 * @access private
+ 		 */
+ 		init: function() {
+ 			var self = this;
+ 
+ 			// Get out early if we don't have the required arguments.
+ 			if ( typeof ajaxurl === 'undefined' ||
+ 				 typeof list_args === 'undefined' ||
+ 				 typeof theme_list_args === 'undefined' ) {
+ 					$('.pagination-links').show();
+ 					return;
+ 			}
+ 
+ 			// Handle inputs
+ 			this.nonce = $('#_ajax_fetch_list_nonce').val();
+ 			this.nextPage = ( theme_list_args.paged + 1 );
+ 
+ 			// Cache jQuery selectors
+ 			this.$outList = $('#availablethemes');
+ 			this.$spinner = $('div.tablenav.bottom').children( 'img.ajax-loading' );
+ 			this.$window = $(window);
+ 			this.$document = $(document);
+ 
+ 			/**
+ 			 * If there are more pages to query, then start polling to track
+ 			 * when user hits the bottom of the current page
+ 			 */
+ 			if ( theme_list_args.total_pages >= this.nextPage )
+ 				this.pollInterval =
+ 					setInterval( function() {
+ 						return self.poll();
+ 					}, this.scrollPollingDelay );
+ 		},
+ 
+ 		/**
+ 		 * Checks to see if user has scrolled to bottom of page.
+ 		 * If so, requests another page of content from self.ajax().
+ 		 *
+ 		 * @since 3.4
+ 		 * @access private
+ 		 */
+ 		poll: function() {
+ 			var bottom = this.$document.scrollTop() + this.$window.innerHeight();
+ 
+ 			if ( this.querying ||
+ 				( bottom < this.$outList.height() - this.outListBottomThreshold ) )
+ 				return;
+ 
+ 			this.ajax();
+ 		},
+ 
+ 		/**
+ 		 * Applies results passed from this.ajax() to $outList
+ 		 *
+ 		 * @since 3.4
+ 		 * @access private
+ 		 *
+ 		 * @param results Array with results from this.ajax() query.
+ 		 */
+ 		process: function( results ) {
+ 			if ( results === undefined ) {
+ 				clearInterval( this.pollInterval );
+ 				return;
+ 			}
+ 
+ 			if ( this.nextPage > theme_list_args.total_pages )
+ 				clearInterval( this.pollInterval );
+ 
+ 			if ( this.nextPage <= ( theme_list_args.total_pages + 1 ) )
+ 				this.$outList.append( results.rows );
+ 		},
+ 
+ 		/**
+ 		 * Queries next page of themes
+ 		 *
+ 		 * @since 3.4
+ 		 * @access private
+ 		 */
+ 		ajax: function() {
+ 			var self = this;
+ 
+ 			this.querying = true;
+ 
+ 			var query = {
+ 				action: 'fetch-list',
+ 				paged: this.nextPage,
+ 				s: theme_list_args.search,
+ 				tab: theme_list_args.tab,
+ 				type: theme_list_args.type,
+ 				_ajax_fetch_list_nonce: this.nonce,
+ 				'features[]': theme_list_args.features,
+ 				'list_args': list_args
+ 			};
+ 
+ 			this.$spinner.css( 'visibility', 'visible' );
+ 			$.getJSON( ajaxurl, query )
+ 				.done( function( response ) {
+ 					self.nextPage++;
+ 					self.process( response );
+ 					self.$spinner.css( 'visibility', 'hidden' );
+ 					self.querying = false;
+ 				})
+ 				.fail( function() {
+ 					self.$spinner.css( 'visibility', 'hidden' );
+ 					self.querying = false;
+ 					setTimeout( function() { self.ajax(); }, self.failedRetryDelay );
+ 				});
+ 		}
+ 	}
+ 
+ 	$(document).ready( function($) {
+ 		ThemeScroller.init();
+ 	});
+ 
+ })(jQuery);
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/theme.js ./wordpress-3.4/wp-admin/js/theme.js
*** ./wordpress-3.3.2/wp-admin/js/theme.js	2011-01-18 11:32:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/theme.js	2012-06-06 16:51:13.000000000 -0500
***************
*** 1 ****
! var ThemeViewer;(function(a){ThemeViewer=function(b){function d(){a("#filter-click, #mini-filter-click").unbind("click").click(function(){a("#filter-click").toggleClass("current");a("#filter-box").slideToggle();a("#current-theme").slideToggle(300);return false});a("#filter-box :checkbox").unbind("click").click(function(){var e=a("#filter-box :checked").length,f=a("#filter-click").text();if(f.indexOf("(")!=-1){f=f.substr(0,f.indexOf("("))}if(e==0){a("#filter-click").text(f)}else{a("#filter-click").text(f+" ("+e+")")}})}var c={init:d};return c}})(jQuery);jQuery(document).ready(function(a){theme_viewer=new ThemeViewer();theme_viewer.init()});
\ No newline at end of file
--- 1 ----
! jQuery(function(a){a("#availablethemes").on("click",".theme-detail",function(c){var d=a(this).closest(".available-theme"),b=d.find(".themedetaildiv");if(!b.length){b=d.find(".install-theme-info .theme-details");b=b.clone().addClass("themedetaildiv").appendTo(d).hide()}b.toggle();c.preventDefault()})});jQuery(function(c){if(!window.postMessage){return}var e=c("#theme-installer"),d=e.find(".install-theme-info"),b=e.find(".wp-full-overlay-main"),a=c(document.body);e.on("click",".close-full-overlay",function(f){e.fadeOut(200,function(){b.empty();a.removeClass("theme-installer-active full-overlay-active")});f.preventDefault()});e.on("click",".collapse-sidebar",function(f){e.toggleClass("collapsed").toggleClass("expanded");f.preventDefault()});c("#availablethemes").on("click",".install-theme-preview",function(f){var g;d.html(c(this).closest(".installable-theme").find(".install-theme-info").html());g=d.find(".theme-preview-url").val();b.html('<iframe src="'+g+'" />');e.fadeIn(200,function(){a.addClass("theme-installer-active full-overlay-active")});f.preventDefault()})});var ThemeViewer;(function(a){ThemeViewer=function(b){function d(){a("#filter-click, #mini-filter-click").unbind("click").click(function(){a("#filter-click").toggleClass("current");a("#filter-box").slideToggle();a("#current-theme").slideToggle(300);return false});a("#filter-box :checkbox").unbind("click").click(function(){var e=a("#filter-box :checked").length,f=a("#filter-click").text();if(f.indexOf("(")!=-1){f=f.substr(0,f.indexOf("("))}if(e==0){a("#filter-click").text(f)}else{a("#filter-click").text(f+" ("+e+")")}})}var c={init:d};return c}})(jQuery);jQuery(document).ready(function(a){theme_viewer=new ThemeViewer();theme_viewer.init()});var ThemeScroller;(function(a){ThemeScroller={querying:false,scrollPollingDelay:500,failedRetryDelay:4000,outListBottomThreshold:300,init:function(){var b=this;if(typeof ajaxurl==="undefined"||typeof list_args==="undefined"||typeof theme_list_args==="undefined"){a(".pagination-links").show();return}this.nonce=a("#_ajax_fetch_list_nonce").val();this.nextPage=(theme_list_args.paged+1);this.$outList=a("#availablethemes");this.$spinner=a("div.tablenav.bottom").children("img.ajax-loading");this.$window=a(window);this.$document=a(document);if(theme_list_args.total_pages>=this.nextPage){this.pollInterval=setInterval(function(){return b.poll()},this.scrollPollingDelay)}},poll:function(){var b=this.$document.scrollTop()+this.$window.innerHeight();if(this.querying||(b<this.$outList.height()-this.outListBottomThreshold)){return}this.ajax()},process:function(b){if(b===undefined){clearInterval(this.pollInterval);return}if(this.nextPage>theme_list_args.total_pages){clearInterval(this.pollInterval)}if(this.nextPage<=(theme_list_args.total_pages+1)){this.$outList.append(b.rows)}},ajax:function(){var b=this;this.querying=true;var c={action:"fetch-list",paged:this.nextPage,s:theme_list_args.search,tab:theme_list_args.tab,type:theme_list_args.type,_ajax_fetch_list_nonce:this.nonce,"features[]":theme_list_args.features,list_args:list_args};this.$spinner.css("visibility","visible");a.getJSON(ajaxurl,c).done(function(d){b.nextPage++;b.process(d);b.$spinner.css("visibility","hidden");b.querying=false}).fail(function(){b.$spinner.css("visibility","hidden");b.querying=false;setTimeout(function(){b.ajax()},b.failedRetryDelay)})}};a(document).ready(function(b){ThemeScroller.init()})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/theme-preview.dev.js ./wordpress-3.4/wp-admin/js/theme-preview.dev.js
*** ./wordpress-3.3.2/wp-admin/js/theme-preview.dev.js	2010-05-03 15:26:11.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/theme-preview.dev.js	2012-04-09 19:34:39.000000000 -0500
***************
*** 53,64 ****
  
  		return false;
  	} );
- 
- 	// Theme details
- 	$('.theme-detail').click(function () {
- 		$(this).siblings('.themedetaildiv').toggle();
- 		return false;
- 	});
- 
  });
- 
--- 53,56 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/theme-preview.js ./wordpress-3.4/wp-admin/js/theme-preview.js
*** ./wordpress-3.3.2/wp-admin/js/theme-preview.js	2010-05-27 08:39:44.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/theme-preview.js	2012-04-09 19:58:23.000000000 -0500
***************
*** 1 ****
! var thickDims,tbWidth,tbHeight;jQuery(document).ready(function(a){thickDims=function(){var f=a("#TB_window"),d=a(window).height(),b=a(window).width(),c,e;c=(tbWidth&&tbWidth<b-90)?tbWidth:b-90;e=(tbHeight&&tbHeight<d-60)?tbHeight:d-60;if(f.size()){f.width(c).height(e);a("#TB_iframeContent").width(c).height(e-27);f.css({"margin-left":"-"+parseInt((c/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:"30px","margin-top":"0"})}}};thickDims();a(window).resize(function(){thickDims()});a("a.thickbox-preview").click(function(){tb_click.call(this);var d=a(this).parents(".available-theme").find(".activatelink"),e="",b=a(this).attr("href"),c,f;if(tbWidth=b.match(/&tbWidth=[0-9]+/)){tbWidth=parseInt(tbWidth[0].replace(/[^0-9]+/g,""),10)}else{tbWidth=a(window).width()-90}if(tbHeight=b.match(/&tbHeight=[0-9]+/)){tbHeight=parseInt(tbHeight[0].replace(/[^0-9]+/g,""),10)}else{tbHeight=a(window).height()-60}if(d.length){c=d.attr("href")||"";f=d.attr("title")||"";e='&nbsp; <a href="'+c+'" target="_top" class="tb-theme-preview-link">'+f+"</a>"}else{f=a(this).attr("title")||"";e='&nbsp; <span class="tb-theme-preview-link">'+f+"</span>"}a("#TB_title").css({"background-color":"#222",color:"#dfdfdf"});a("#TB_closeAjaxWindow").css({"float":"left"});a("#TB_ajaxWindowTitle").css({"float":"right"}).html(e);a("#TB_iframeContent").width("100%");thickDims();return false});a(".theme-detail").click(function(){a(this).siblings(".themedetaildiv").toggle();return false})});
\ No newline at end of file
--- 1 ----
! var thickDims,tbWidth,tbHeight;jQuery(document).ready(function(a){thickDims=function(){var f=a("#TB_window"),d=a(window).height(),b=a(window).width(),c,e;c=(tbWidth&&tbWidth<b-90)?tbWidth:b-90;e=(tbHeight&&tbHeight<d-60)?tbHeight:d-60;if(f.size()){f.width(c).height(e);a("#TB_iframeContent").width(c).height(e-27);f.css({"margin-left":"-"+parseInt((c/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:"30px","margin-top":"0"})}}};thickDims();a(window).resize(function(){thickDims()});a("a.thickbox-preview").click(function(){tb_click.call(this);var d=a(this).parents(".available-theme").find(".activatelink"),e="",b=a(this).attr("href"),c,f;if(tbWidth=b.match(/&tbWidth=[0-9]+/)){tbWidth=parseInt(tbWidth[0].replace(/[^0-9]+/g,""),10)}else{tbWidth=a(window).width()-90}if(tbHeight=b.match(/&tbHeight=[0-9]+/)){tbHeight=parseInt(tbHeight[0].replace(/[^0-9]+/g,""),10)}else{tbHeight=a(window).height()-60}if(d.length){c=d.attr("href")||"";f=d.attr("title")||"";e='&nbsp; <a href="'+c+'" target="_top" class="tb-theme-preview-link">'+f+"</a>"}else{f=a(this).attr("title")||"";e='&nbsp; <span class="tb-theme-preview-link">'+f+"</span>"}a("#TB_title").css({"background-color":"#222",color:"#dfdfdf"});a("#TB_closeAjaxWindow").css({"float":"left"});a("#TB_ajaxWindowTitle").css({"float":"right"}).html(e);a("#TB_iframeContent").width("100%");thickDims();return false})});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/user-profile.dev.js ./wordpress-3.4/wp-admin/js/user-profile.dev.js
*** ./wordpress-3.3.2/wp-admin/js/user-profile.dev.js	2011-06-30 16:59:45.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/user-profile.dev.js	2012-05-30 16:54:33.000000000 -0500
***************
*** 29,67 ****
  		}
  	}
  
! 	$(document).ready(function() {
  		$('#pass1').val('').keyup( check_pass_strength );
  		$('#pass2').val('').keyup( check_pass_strength );
  		$('#pass-strength-result').show();
! 		$('.color-palette').click(function(){$(this).siblings('input[name="admin_color"]').prop('checked', true)});
! 		$('#first_name, #last_name, #nickname').blur(function(){
! 			var select = $('#display_name'), current = select.find('option:selected').attr('id'), dub = [],
! 				inputs = {
! 					display_nickname : $('#nickname').val(),
! 					display_username : $('#user_login').val(),
! 					display_firstname : $('#first_name').val(),
! 					display_lastname : $('#last_name').val()
! 				};
! 
! 			if ( inputs.display_firstname && inputs.display_lastname ) {
! 				inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
! 				inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
! 			}
! 
! 			$('option', select).remove();
! 			$.each(inputs, function( id, value ) {
! 				var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
! 
! 				if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
! 					dub.push(val);
! 					$('<option />', {
! 					  	'id': id,
! 						'text': val,
! 						'selected': (id == current)
! 					}).appendTo( select );
  				}
  			});
! 		});
  	});
  
  })(jQuery);
--- 29,78 ----
  		}
  	}
  
! 	$(document).ready( function() {
! 		var select = $('#display_name');
! 
  		$('#pass1').val('').keyup( check_pass_strength );
  		$('#pass2').val('').keyup( check_pass_strength );
  		$('#pass-strength-result').show();
! 		$('.color-palette').click( function() {
! 			$(this).siblings('input[name="admin_color"]').prop('checked', true);
! 		});
! 
! 		if ( select.length ) {
! 			$('#first_name, #last_name, #nickname').bind( 'blur.user_profile', function() {
! 				var dub = [],
! 					inputs = {
! 						display_nickname  : $('#nickname').val() || '',
! 						display_username  : $('#user_login').val() || '',
! 						display_firstname : $('#first_name').val() || '',
! 						display_lastname  : $('#last_name').val() || ''
! 					};
! 
! 				if ( inputs.display_firstname && inputs.display_lastname ) {
! 					inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
! 					inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
  				}
+ 
+ 				$.each( $('option', select), function( i, el ){
+ 					dub.push( el.value );
+ 				});
+ 
+ 				$.each(inputs, function( id, value ) {
+ 					if ( ! value )
+ 						return;
+ 
+ 					var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
+ 
+ 					if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
+ 						dub.push(val);
+ 						$('<option />', {
+ 							'text': val
+ 						}).appendTo( select );
+ 					}
+ 				});
  			});
! 		}
  	});
  
  })(jQuery);
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/user-profile.js ./wordpress-3.4/wp-admin/js/user-profile.js
*** ./wordpress-3.3.2/wp-admin/js/user-profile.js	2011-06-28 11:17:49.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/user-profile.js	2012-05-30 16:58:23.000000000 -0500
***************
*** 1 ****
! (function(a){function b(){var e=a("#pass1").val(),d=a("#user_login").val(),c=a("#pass2").val(),f;a("#pass-strength-result").removeClass("short bad good strong");if(!e){a("#pass-strength-result").html(pwsL10n.empty);return}f=passwordStrength(e,d,c);switch(f){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){a("#pass1").val("").keyup(b);a("#pass2").val("").keyup(b);a("#pass-strength-result").show();a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",true)});a("#first_name, #last_name, #nickname").blur(function(){var c=a("#display_name"),e=c.find("option:selected").attr("id"),f=[],d={display_nickname:a("#nickname").val(),display_username:a("#user_login").val(),display_firstname:a("#first_name").val(),display_lastname:a("#last_name").val()};if(d.display_firstname&&d.display_lastname){d.display_firstlast=d.display_firstname+" "+d.display_lastname;d.display_lastfirst=d.display_lastname+" "+d.display_firstname}a("option",c).remove();a.each(d,function(i,g){var h=g.replace(/<\/?[a-z][^>]*>/gi,"");if(d[i].length&&a.inArray(h,f)==-1){f.push(h);a("<option />",{id:i,text:h,selected:(i==e)}).appendTo(c)}})})})})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(a){function b(){var e=a("#pass1").val(),d=a("#user_login").val(),c=a("#pass2").val(),f;a("#pass-strength-result").removeClass("short bad good strong");if(!e){a("#pass-strength-result").html(pwsL10n.empty);return}f=passwordStrength(e,d,c);switch(f){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c=a("#display_name");a("#pass1").val("").keyup(b);a("#pass2").val("").keyup(b);a("#pass-strength-result").show();a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",true)});if(c.length){a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var e=[],d={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};if(d.display_firstname&&d.display_lastname){d.display_firstlast=d.display_firstname+" "+d.display_lastname;d.display_lastfirst=d.display_lastname+" "+d.display_firstname}a.each(a("option",c),function(f,g){e.push(g.value)});a.each(d,function(h,f){if(!f){return}var g=f.replace(/<\/?[a-z][^>]*>/gi,"");if(d[h].length&&a.inArray(g,e)==-1){e.push(g);a("<option />",{text:g}).appendTo(c)}})})}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/user-suggest.dev.js ./wordpress-3.4/wp-admin/js/user-suggest.dev.js
*** ./wordpress-3.3.2/wp-admin/js/user-suggest.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/user-suggest.dev.js	2012-06-05 13:51:33.000000000 -0500
***************
*** 0 ****
--- 1,13 ----
+ (function($) {
+ 	var id = 'undefined' !== typeof current_site_id ? '&site_id=' + current_site_id : '';
+ 	$(document).ready( function() {
+ 		$( '.wp-suggest-user' ).autocomplete({
+ 			source:    ajaxurl + '?action=autocomplete-user&autocomplete_type=add' + id,
+ 			delay:     500,
+ 			minLength: 2,
+ 			position:  ( 'undefined' !== typeof isRtl && isRtl ) ? { my: 'right top', at: 'right bottom', offset: '0, -1' } : { offset: '0, -1' },
+ 			open:      function() { $(this).addClass('open'); },
+ 			close:     function() { $(this).removeClass('open'); }
+ 		});
+ 	});
+ })(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/user-suggest.js ./wordpress-3.4/wp-admin/js/user-suggest.js
*** ./wordpress-3.3.2/wp-admin/js/user-suggest.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/user-suggest.js	2012-06-05 13:58:25.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ (function(a){var b="undefined"!==typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){a(".wp-suggest-user").autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type=add"+b,delay:500,minLength:2,position:("undefined"!==typeof isRtl&&isRtl)?{my:"right top",at:"right bottom",offset:"0, -1"}:{offset:"0, -1"},open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/utils.dev.js ./wordpress-3.4/wp-admin/js/utils.dev.js
*** ./wordpress-3.3.2/wp-admin/js/utils.dev.js	2010-11-10 15:53:30.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/utils.dev.js	2012-02-27 13:46:52.000000000 -0600
***************
*** 3,25 ****
  var wpCookies = {
  // The following functions are from Cookie.js class in TinyMCE, Moxiecode, used under LGPL.
  
! 	each : function(o, cb, s) {
  		var n, l;
  
! 		if (!o)
  			return 0;
  
! 		s = s || o;
  
! 		if (typeof(o.length) != 'undefined') {
! 			for (n=0, l = o.length; n<l; n++) {
! 				if (cb.call(s, o[n], n, o) === false)
  					return 0;
  			}
  		} else {
! 			for (n in o) {
! 				if (o.hasOwnProperty(n)) {
! 					if (cb.call(s, o[n], n, o) === false) {
  						return 0;
  					}
  				}
--- 3,25 ----
  var wpCookies = {
  // The following functions are from Cookie.js class in TinyMCE, Moxiecode, used under LGPL.
  
! 	each : function(obj, cb, scope) {
  		var n, l;
  
! 		if ( !obj )
  			return 0;
  
! 		scope = scope || obj;
  
! 		if ( typeof(obj.length) != 'undefined' ) {
! 			for ( n = 0, l = obj.length; n < l; n++ ) {
! 				if ( cb.call(scope, obj[n], n, obj) === false )
  					return 0;
  			}
  		} else {
! 			for ( n in obj ) {
! 				if ( obj.hasOwnProperty(n) ) {
! 					if ( cb.call(scope, obj[n], n, obj) === false ) {
  						return 0;
  					}
  				}
***************
*** 28,105 ****
  		return 1;
  	},
  
! 	getHash : function(n) {
! 		var v = this.get(n), h;
! 
! 		if (v) {
! 			this.each(v.split('&'), function(v) {
! 				v = v.split('=');
! 				h = h || {};
! 				h[v[0]] = v[1];
  			});
  		}
! 		return h;
  	},
  
! 	setHash : function(n, v, e, p, d, s) {
! 		var o = '';
  
! 		this.each(v, function(v, k) {
! 			o += (!o ? '' : '&') + k + '=' + v;
  		});
  
! 		this.set(n, o, e, p, d, s);
  	},
  
! 	get : function(n) {
! 		var c = document.cookie, e, p = n + "=", b;
  
! 		if (!c)
  			return;
  
! 		b = c.indexOf("; " + p);
  
! 		if (b == -1) {
! 			b = c.indexOf(p);
  
! 			if (b != 0)
  				return null;
  
  		} else {
  			b += 2;
  		}
  
! 		e = c.indexOf(";", b);
! 
! 		if (e == -1)
! 			e = c.length;
  
! 		return decodeURIComponent(c.substring(b + p.length, e));
! 	},
  
! 	set : function(n, v, e, p, d, s) {
! 		document.cookie = n + "=" + encodeURIComponent(v) +
! 			((e) ? "; expires=" + e.toGMTString() : "") +
! 			((p) ? "; path=" + p : "") +
! 			((d) ? "; domain=" + d : "") +
! 			((s) ? "; secure" : "");
  	},
  
! 	remove : function(n, p) {
  		var d = new Date();
  
! 		d.setTime(d.getTime() - 1000);
  
! 		this.set(n, '', d, p, d);
  	}
  };
  
  // Returns the value as string. Second arg or empty string is returned when value is not set.
  function getUserSetting( name, def ) {
! 	var o = getAllUserSettings();
  
! 	if ( o.hasOwnProperty(name) )
! 		return o[name];
  
  	if ( typeof def != 'undefined' )
  		return def;
--- 28,135 ----
  		return 1;
  	},
  
! 	/**
! 	 * Get a multi-values cookie.
! 	 * Returns a JS object with the name: 'value' pairs.
! 	 */
! 	getHash : function(name) {
! 		var all = this.get(name), ret;
! 
! 		if ( all ) {
! 			this.each( all.split('&'), function(pair) {
! 				pair = pair.split('=');
! 				ret = ret || {};
! 				ret[pair[0]] = pair[1];
  			});
  		}
! 		return ret;
  	},
  
! 	/**
! 	 * Set a multi-values cookie.
! 	 *
! 	 * 'values_obj' is the JS object that is stored. It is encoded as URI in wpCookies.set().
! 	 */
! 	setHash : function(name, values_obj, expires, path, domain, secure) {
! 		var str = '';
  
! 		this.each(values_obj, function(val, key) {
! 			str += (!str ? '' : '&') + key + '=' + val;
  		});
  
! 		this.set(name, str, expires, path, domain, secure);
  	},
  
! 	/**
! 	 * Get a cookie.
! 	 */
! 	get : function(name) {
! 		var cookie = document.cookie, e, p = name + "=", b;
  
! 		if ( !cookie )
  			return;
  
! 		b = cookie.indexOf("; " + p);
  
! 		if ( b == -1 ) {
! 			b = cookie.indexOf(p);
  
! 			if ( b != 0 )
  				return null;
  
  		} else {
  			b += 2;
  		}
  
! 		e = cookie.indexOf(";", b);
  
! 		if ( e == -1 )
! 			e = cookie.length;
  
! 		return decodeURIComponent( cookie.substring(b + p.length, e) );
  	},
  
! 	/**
! 	 * Set a cookie.
! 	 *
! 	 * The 'expires' arg can be either a JS Date() object set to the expiration date (back-compat)
! 	 * or the number of seconds until expiration
! 	 */
! 	set : function(name, value, expires, path, domain, secure) {
  		var d = new Date();
  
! 		if ( typeof(expires) == 'object' && expires.toGMTString ) {
! 			expires = expires.toGMTString();
! 		} else if ( parseInt(expires, 10) ) {
! 			d.setTime( d.getTime() + ( parseInt(expires, 10) * 1000 ) ); // time must be in miliseconds
! 			expires = d.toGMTString();
! 		} else {
! 			expires = '';
! 		}
! 
! 		document.cookie = name + "=" + encodeURIComponent(value) +
! 			((expires) ? "; expires=" + expires : "") +
! 			((path) ? "; path=" + path : "") +
! 			((domain) ? "; domain=" + domain : "") +
! 			((secure) ? "; secure" : "");
! 	},
  
! 	/**
! 	 * Remove a cookie.
! 	 *
! 	 * This is done by setting it to an empty value and setting the expiration time in the past.
! 	 */
! 	remove : function(name, path) {
! 		this.set(name, '', -1000, path);
  	}
  };
  
  // Returns the value as string. Second arg or empty string is returned when value is not set.
  function getUserSetting( name, def ) {
! 	var obj = getAllUserSettings();
  
! 	if ( obj.hasOwnProperty(name) )
! 		return obj[name];
  
  	if ( typeof def != 'undefined' )
  		return def;
***************
*** 109,132 ****
  
  // Both name and value must be only ASCII letters, numbers or underscore
  // and the shorter, the better (cookies can store maximum 4KB). Not suitable to store text.
! function setUserSetting( name, value, del ) {
  	if ( 'object' !== typeof userSettings )
  		return false;
  
! 	var c = 'wp-settings-' + userSettings.uid, o = wpCookies.getHash(c) || {}, d = new Date(), p,
  	n = name.toString().replace(/[^A-Za-z0-9_]/, ''), v = value.toString().replace(/[^A-Za-z0-9_]/, '');
  
! 	if ( del ) {
! 		delete o[n];
  	} else {
! 		o[n] = v;
  	}
  
! 	d.setTime( d.getTime() + 31536000000 );
! 	p = userSettings.url;
! 
! 	wpCookies.setHash(c, o, d, p);
! 	wpCookies.set('wp-settings-time-'+userSettings.uid, userSettings.time, d, p);
  
  	return name;
  }
--- 139,159 ----
  
  // Both name and value must be only ASCII letters, numbers or underscore
  // and the shorter, the better (cookies can store maximum 4KB). Not suitable to store text.
! function setUserSetting( name, value, _del ) {
  	if ( 'object' !== typeof userSettings )
  		return false;
  
! 	var cookie = 'wp-settings-' + userSettings.uid, all = wpCookies.getHash(cookie) || {}, path = userSettings.url,
  	n = name.toString().replace(/[^A-Za-z0-9_]/, ''), v = value.toString().replace(/[^A-Za-z0-9_]/, '');
  
! 	if ( _del ) {
! 		delete all[n];
  	} else {
! 		all[n] = v;
  	}
  
! 	wpCookies.setHash(cookie, all, 31536000, path);
! 	wpCookies.set('wp-settings-time-'+userSettings.uid, userSettings.time, 31536000, path);
  
  	return name;
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/utils.js ./wordpress-3.4/wp-admin/js/utils.js
*** ./wordpress-3.3.2/wp-admin/js/utils.js	2010-11-10 15:53:30.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/utils.js	2012-02-19 18:30:57.000000000 -0600
***************
*** 1 ****
! var wpCookies={each:function(d,a,c){var e,b;if(!d){return 0}c=c||d;if(typeof(d.length)!="undefined"){for(e=0,b=d.length;e<b;e++){if(a.call(c,d[e],e,d)===false){return 0}}}else{for(e in d){if(d.hasOwnProperty(e)){if(a.call(c,d[e],e,d)===false){return 0}}}}return 1},getHash:function(c){var a=this.get(c),b;if(a){this.each(a.split("&"),function(d){d=d.split("=");b=b||{};b[d[0]]=d[1]})}return b},setHash:function(i,a,f,c,h,b){var g="";this.each(a,function(e,d){g+=(!g?"":"&")+d+"="+e});this.set(i,g,f,c,h,b)},get:function(h){var g=document.cookie,f,d=h+"=",a;if(!g){return}a=g.indexOf("; "+d);if(a==-1){a=g.indexOf(d);if(a!=0){return null}}else{a+=2}f=g.indexOf(";",a);if(f==-1){f=g.length}return decodeURIComponent(g.substring(a+d.length,f))},set:function(h,a,f,c,g,b){document.cookie=h+"="+encodeURIComponent(a)+((f)?"; expires="+f.toGMTString():"")+((c)?"; path="+c:"")+((g)?"; domain="+g:"")+((b)?"; secure":"")},remove:function(c,a){var b=new Date();b.setTime(b.getTime()-1000);this.set(c,"",b,a,b)}};function getUserSetting(a,b){var c=getAllUserSettings();if(c.hasOwnProperty(a)){return c[a]}if(typeof b!="undefined"){return b}return""}function setUserSetting(a,i,k){if("object"!==typeof userSettings){return false}var h="wp-settings-"+userSettings.uid,e=wpCookies.getHash(h)||{},g=new Date(),b,f=a.toString().replace(/[^A-Za-z0-9_]/,""),j=i.toString().replace(/[^A-Za-z0-9_]/,"");if(k){delete e[f]}else{e[f]=j}g.setTime(g.getTime()+31536000000);b=userSettings.url;wpCookies.setHash(h,e,g,b);wpCookies.set("wp-settings-time-"+userSettings.uid,userSettings.time,g,b);return a}function deleteUserSetting(a){return setUserSetting(a,"",1)}function getAllUserSettings(){if("object"!==typeof userSettings){return{}}return wpCookies.getHash("wp-settings-"+userSettings.uid)||{}};
\ No newline at end of file
--- 1 ----
! var wpCookies={each:function(d,a,c){var e,b;if(!d){return 0}c=c||d;if(typeof(d.length)!="undefined"){for(e=0,b=d.length;e<b;e++){if(a.call(c,d[e],e,d)===false){return 0}}}else{for(e in d){if(d.hasOwnProperty(e)){if(a.call(c,d[e],e,d)===false){return 0}}}}return 1},getHash:function(b){var c=this.get(b),a;if(c){this.each(c.split("&"),function(d){d=d.split("=");a=a||{};a[d[0]]=d[1]})}return a},setHash:function(b,c,a,f,d,e){var g="";this.each(c,function(i,h){g+=(!g?"":"&")+h+"="+i});this.set(b,g,a,f,d,e)},get:function(c){var d=document.cookie,g,f=c+"=",a;if(!d){return}a=d.indexOf("; "+f);if(a==-1){a=d.indexOf(f);if(a!=0){return null}}else{a+=2}g=d.indexOf(";",a);if(g==-1){g=d.length}return decodeURIComponent(d.substring(a+f.length,g))},set:function(b,e,a,g,c,f){var h=new Date();if(typeof(a)=="object"&&a.toGMTString){a=a.toGMTString()}else{if(parseInt(a,10)){h.setTime(h.getTime()+(parseInt(a,10)*1000));a=h.toGMTString()}else{a=""}}document.cookie=b+"="+encodeURIComponent(e)+((a)?"; expires="+a:"")+((g)?"; path="+g:"")+((c)?"; domain="+c:"")+((f)?"; secure":"")},remove:function(a,b){this.set(a,"",-1000,b)}};function getUserSetting(a,b){var c=getAllUserSettings();if(c.hasOwnProperty(a)){return c[a]}if(typeof b!="undefined"){return b}return""}function setUserSetting(c,f,b){if("object"!==typeof userSettings){return false}var d="wp-settings-"+userSettings.uid,e=wpCookies.getHash(d)||{},g=userSettings.url,h=c.toString().replace(/[^A-Za-z0-9_]/,""),a=f.toString().replace(/[^A-Za-z0-9_]/,"");if(b){delete e[h]}else{e[h]=a}wpCookies.setHash(d,e,31536000,g);wpCookies.set("wp-settings-time-"+userSettings.uid,userSettings.time,31536000,g);return c}function deleteUserSetting(a){return setUserSetting(a,"",1)}function getAllUserSettings(){if("object"!==typeof userSettings){return{}}return wpCookies.getHash("wp-settings-"+userSettings.uid)||{}};
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/widgets.dev.js ./wordpress-3.4/wp-admin/js/widgets.dev.js
*** ./wordpress-3.3.2/wp-admin/js/widgets.dev.js	2011-09-25 13:53:34.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/widgets.dev.js	2012-04-27 15:34:35.000000000 -0500
***************
*** 248,259 ****
  	},
  
  	appendTitle : function(widget) {
! 		var title = $('input[id*="-title"]', widget);
! 		if ( title = title.val() ) {
! 			title = title.replace(/<[^<>]+>/g, '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
! 			$(widget).children('.widget-top').children('.widget-title').children()
! 				.children('.in-widget-title').html(': ' + title);
! 		}
  	},
  
  	resize : function() {
--- 248,261 ----
  	},
  
  	appendTitle : function(widget) {
! 		var title = $('input[id*="-title"]', widget).val() || '';
! 
! 		if ( title )
! 			title = ': ' + title.replace(/<[^<>]+>/g, '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
! 
! 		$(widget).children('.widget-top').children('.widget-title').children()
! 				.children('.in-widget-title').html(title);
! 
  	},
  
  	resize : function() {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/widgets.js ./wordpress-3.4/wp-admin/js/widgets.js
*** ./wordpress-3.3.2/wp-admin/js/widgets.js	2011-09-25 13:53:34.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/widgets.js	2012-04-27 15:58:24.000000000 -0500
***************
*** 1 ****
! var wpWidgets;(function(a){wpWidgets={init:function(){var f,d=a("div.widgets-sortables"),c=!!("undefined"!=typeof isRtl&&isRtl),e=(isRtl?"marginRight":"marginLeft"),b;a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var h=a(this).siblings(".widgets-sortables"),g=a(this).parent();if(!g.hasClass("closed")){h.sortable("disable");g.addClass("closed")}else{g.removeClass("closed");h.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).parent().toggleClass("closed")});d.each(function(){if(a(this).parent().hasClass("inactive")){return true}var i=50,g=a(this).children(".widget").length;i=i+parseInt(g*48,10);a(this).css("minHeight",i+"px")});a("a.widget-action").live("click",function(){var i={},j=a(this).closest("div.widget"),g=j.children(".widget-inside"),h=parseInt(j.find("input.widget-width").val(),10);if(g.is(":hidden")){if(h>250&&g.closest("div.widgets-sortables").length){i.width=h+30+"px";if(g.closest("div.widget-liquid-right").length){i[e]=235-h+"px"}j.css(i)}wpWidgets.fixLabels(j);g.slideDown("fast")}else{g.slideUp("fast",function(){j.css({width:"",margin:""})})}return false});a("input.widget-control-save").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),0,1,0);return false});a("a.widget-control-remove").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),1,1,0);return false});a("a.widget-control-close").live("click",function(){wpWidgets.close(a(this).closest("div.widget"));return false});d.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).click()}});a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(h,g){g.helper.find("div.widget-description").hide();b=this.id},stop:function(h,g){if(f){a(f).hide()}f=""}});d.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(h,g){g.item.children(".widget-inside").hide();g.item.css({margin:"",width:""})},stop:function(i,g){if(g.item.hasClass("ui-draggable")&&g.item.data("draggable")){g.item.draggable("destroy")}if(g.item.hasClass("deleting")){wpWidgets.save(g.item,1,0,1);g.item.remove();return}var h=g.item.find("input.add_new").val(),l=g.item.find("input.multi_number").val(),k=b,j=a(this).attr("id");g.item.css({margin:"",width:""});b="";if(h){if("multi"==h){g.item.html(g.item.html().replace(/<[^<>]+>/g,function(n){return n.replace(/__i__|%i%/g,l)}));g.item.attr("id",k.replace("__i__",l));l++;a("div#"+k).find("input.multi_number").val(l)}else{if("single"==h){g.item.attr("id","new-"+k);f="div#"+k}}wpWidgets.save(g.item,0,0,1);g.item.find("input.add_new").val("");g.item.find("a.widget-action").click();return}wpWidgets.saveOrder(j)},receive:function(i,h){var g=a(h.sender);if(!a(this).is(":visible")||this.id.indexOf("orphaned_widgets")!=-1){g.sortable("cancel")}if(g.attr("id").indexOf("orphaned_widgets")!=-1&&!g.children(".widget").length){g.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()})}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(g){return a(g).parent().attr("id")!="widget-list"},drop:function(h,g){g.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(h,g){g.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(g.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(g.draggable.find("div.widget-title").children("h4").html())}},out:function(h,g){g.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find("img.ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){if(a(this).sortable){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")}});a.post(ajaxurl,b,function(){a("img.ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".ajax-feedback",g).css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b);if(c=c.val()){c=c.replace(/<[^<>]+>/g,"").replace(/</g,"&lt;").replace(/>/g,"&gt;");a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(": "+c)}},resize:function(){a("div.widgets-sortables").each(function(){if(a(this).parent().hasClass("inactive")){return true}var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",margin:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery);
\ No newline at end of file
--- 1 ----
! var wpWidgets;(function(a){wpWidgets={init:function(){var f,d=a("div.widgets-sortables"),c=!!("undefined"!=typeof isRtl&&isRtl),e=(isRtl?"marginRight":"marginLeft"),b;a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var h=a(this).siblings(".widgets-sortables"),g=a(this).parent();if(!g.hasClass("closed")){h.sortable("disable");g.addClass("closed")}else{g.removeClass("closed");h.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).parent().toggleClass("closed")});d.each(function(){if(a(this).parent().hasClass("inactive")){return true}var i=50,g=a(this).children(".widget").length;i=i+parseInt(g*48,10);a(this).css("minHeight",i+"px")});a("a.widget-action").live("click",function(){var i={},j=a(this).closest("div.widget"),g=j.children(".widget-inside"),h=parseInt(j.find("input.widget-width").val(),10);if(g.is(":hidden")){if(h>250&&g.closest("div.widgets-sortables").length){i.width=h+30+"px";if(g.closest("div.widget-liquid-right").length){i[e]=235-h+"px"}j.css(i)}wpWidgets.fixLabels(j);g.slideDown("fast")}else{g.slideUp("fast",function(){j.css({width:"",margin:""})})}return false});a("input.widget-control-save").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),0,1,0);return false});a("a.widget-control-remove").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),1,1,0);return false});a("a.widget-control-close").live("click",function(){wpWidgets.close(a(this).closest("div.widget"));return false});d.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).click()}});a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(h,g){g.helper.find("div.widget-description").hide();b=this.id},stop:function(h,g){if(f){a(f).hide()}f=""}});d.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(h,g){g.item.children(".widget-inside").hide();g.item.css({margin:"",width:""})},stop:function(i,g){if(g.item.hasClass("ui-draggable")&&g.item.data("draggable")){g.item.draggable("destroy")}if(g.item.hasClass("deleting")){wpWidgets.save(g.item,1,0,1);g.item.remove();return}var h=g.item.find("input.add_new").val(),l=g.item.find("input.multi_number").val(),k=b,j=a(this).attr("id");g.item.css({margin:"",width:""});b="";if(h){if("multi"==h){g.item.html(g.item.html().replace(/<[^<>]+>/g,function(n){return n.replace(/__i__|%i%/g,l)}));g.item.attr("id",k.replace("__i__",l));l++;a("div#"+k).find("input.multi_number").val(l)}else{if("single"==h){g.item.attr("id","new-"+k);f="div#"+k}}wpWidgets.save(g.item,0,0,1);g.item.find("input.add_new").val("");g.item.find("a.widget-action").click();return}wpWidgets.saveOrder(j)},receive:function(i,h){var g=a(h.sender);if(!a(this).is(":visible")||this.id.indexOf("orphaned_widgets")!=-1){g.sortable("cancel")}if(g.attr("id").indexOf("orphaned_widgets")!=-1&&!g.children(".widget").length){g.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()})}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(g){return a(g).parent().attr("id")!="widget-list"},drop:function(h,g){g.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(h,g){g.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(g.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(g.draggable.find("div.widget-title").children("h4").html())}},out:function(h,g){g.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find("img.ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){if(a(this).sortable){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")}});a.post(ajaxurl,b,function(){a("img.ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".ajax-feedback",g).css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";if(c){c=": "+c.replace(/<[^<>]+>/g,"").replace(/</g,"&lt;").replace(/>/g,"&gt;")}a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(c)},resize:function(){a("div.widgets-sortables").each(function(){if(a(this).parent().hasClass("inactive")){return true}var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",margin:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/word-count.dev.js ./wordpress-3.4/wp-admin/js/word-count.dev.js
*** ./wordpress-3.3.2/wp-admin/js/word-count.dev.js	2011-05-16 01:17:44.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/word-count.dev.js	2012-02-21 09:35:05.000000000 -0600
***************
*** 1,18 ****
! 
! (function($) {
  	wpWordCount = {
  
  		settings : {
  			strip : /<[a-zA-Z\/][^<>]*>/g, // strip HTML tags
  			clean : /[0-9.(),;:!?%#$Â¿'"_+=\\/-]+/g, // regexp to remove punctuation, etc.
! 			count : /\S\s+/g // counting regexp
  		},
  
  		block : 0,
  
! 		wc : function(tx) {
  			var t = this, w = $('.word-count'), tc = 0;
  
  			if ( t.block )
  				return;
  
--- 1,23 ----
! (function($,undefined) {
  	wpWordCount = {
  
  		settings : {
  			strip : /<[a-zA-Z\/][^<>]*>/g, // strip HTML tags
  			clean : /[0-9.(),;:!?%#$Â¿'"_+=\\/-]+/g, // regexp to remove punctuation, etc.
! 			w : /\S\s+/g, // word-counting regexp
! 			c : /\S/g // char-counting regexp for asian languages
  		},
  
  		block : 0,
  
! 		wc : function(tx, type) {
  			var t = this, w = $('.word-count'), tc = 0;
  
+ 			if ( type === undefined )
+ 				type = wordCountL10n.type;
+ 			if ( type !== 'w' && type !== 'c' )
+ 				type = 'w';
+ 
  			if ( t.block )
  				return;
  
***************
*** 22,28 ****
  				if ( tx ) {
  					tx = tx.replace( t.settings.strip, ' ' ).replace( /&nbsp;|&#160;/gi, ' ' );
  					tx = tx.replace( t.settings.clean, '' );
! 					tx.replace( t.settings.count, function(){tc++;} );
  				}
  				w.html(tc.toString());
  
--- 27,33 ----
  				if ( tx ) {
  					tx = tx.replace( t.settings.strip, ' ' ).replace( /&nbsp;|&#160;/gi, ' ' );
  					tx = tx.replace( t.settings.clean, '' );
! 					tx.replace( t.settings[type], function(){tc++;} );
  				}
  				w.html(tc.toString());
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/word-count.js ./wordpress-3.4/wp-admin/js/word-count.js
*** ./wordpress-3.3.2/wp-admin/js/word-count.js	2011-05-16 01:17:44.000000000 -0500
--- ./wordpress-3.4/wp-admin/js/word-count.js	2012-02-21 09:45:56.000000000 -0600
***************
*** 1 ****
! (function(a){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/g,clean:/[0-9.(),;:!?%#$Â¿'"_+=\\/-]+/g,count:/\S\s+/g},block:0,wc:function(d){var e=this,c=a(".word-count"),b=0;if(e.block){return}e.block=1;setTimeout(function(){if(d){d=d.replace(e.settings.strip," ").replace(/&nbsp;|&#160;/gi," ");d=d.replace(e.settings.clean,"");d.replace(e.settings.count,function(){b++})}c.html(b.toString());setTimeout(function(){e.block=0},2000)},1)}};a(document).bind("wpcountwords",function(c,b){wpWordCount.wc(b)})}(jQuery));
\ No newline at end of file
--- 1 ----
! (function(a,b){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/g,clean:/[0-9.(),;:!?%#$Â¿'"_+=\\/-]+/g,w:/\S\s+/g,c:/\S/g},block:0,wc:function(e,g){var f=this,d=a(".word-count"),c=0;if(g===b){g=wordCountL10n.type}if(g!=="w"&&g!=="c"){g="w"}if(f.block){return}f.block=1;setTimeout(function(){if(e){e=e.replace(f.settings.strip," ").replace(/&nbsp;|&#160;/gi," ");e=e.replace(f.settings.clean,"");e.replace(f.settings[g],function(){c++})}d.html(c.toString());setTimeout(function(){f.block=0},2000)},1)}};a(document).bind("wpcountwords",function(d,c){wpWordCount.wc(c)})}(jQuery));
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/wp-fullscreen.dev.js ./wordpress-3.4/wp-admin/js/wp-fullscreen.dev.js
*** ./wordpress-3.3.2/wp-admin/js/wp-fullscreen.dev.js	2011-11-16 20:44:28.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/wp-fullscreen.dev.js	2012-03-09 17:23:10.000000000 -0600
***************
*** 138,158 ****
  			return;
  
  		// Settings can be added or changed by defining "wp_fullscreen_settings" JS object.
- 		// This can be done by defining it as PHP associative array, json encoding it and passing it to JS with:
- 		// wp_add_script_before( 'wp-fullscreen', 'wp_fullscreen_settings = ' . $json_encoded_array . ';' );
  		if ( typeof(wp_fullscreen_settings) == 'object' )
  			$.extend( s, wp_fullscreen_settings );
  
  		s.editor_id = wpActiveEditor || 'content';
  
! 		if ( !s.title_id ) {
! 			if ( $('input#title').length && s.editor_id == 'content' )
! 				s.title_id = 'title';
! 			else if ( $('input#' + s.editor_id + '-title').length ) // the title input field should have [editor_id]-title HTML ID to be auto detected
! 				s.title_id = s.editor_id + '-title';
! 			else
! 				$('#wp-fullscreen-title, #wp-fullscreen-title-prompt-text').hide();
! 		}
  
  		s.mode = $('#' + s.editor_id).is(':hidden') ? 'tinymce' : 'html';
  		s.qt_canvas = $('#' + s.editor_id).get(0);
--- 138,154 ----
  			return;
  
  		// Settings can be added or changed by defining "wp_fullscreen_settings" JS object.
  		if ( typeof(wp_fullscreen_settings) == 'object' )
  			$.extend( s, wp_fullscreen_settings );
  
  		s.editor_id = wpActiveEditor || 'content';
  
! 		if ( $('input#title').length && s.editor_id == 'content' )
! 			s.title_id = 'title';
! 		else if ( $('input#' + s.editor_id + '-title').length ) // the title input field should have [editor_id]-title HTML ID to be auto detected
! 			s.title_id = s.editor_id + '-title';
! 		else
! 			$('#wp-fullscreen-title, #wp-fullscreen-title-prompt-text').hide();
  
  		s.mode = $('#' + s.editor_id).is(':hidden') ? 'tinymce' : 'html';
  		s.qt_canvas = $('#' + s.editor_id).get(0);
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/js/wp-fullscreen.js ./wordpress-3.4/wp-admin/js/wp-fullscreen.js
*** ./wordpress-3.3.2/wp-admin/js/wp-fullscreen.js	2011-11-16 20:44:28.000000000 -0600
--- ./wordpress-3.4/wp-admin/js/wp-fullscreen.js	2012-03-09 17:30:29.000000000 -0600
***************
*** 1 ****
! var PubSub,fullscreen,wptitlehint;PubSub=function(){this.topics={}};PubSub.prototype.subscribe=function(a,b){if(!this.topics[a]){this.topics[a]=[]}this.topics[a].push(b);return b};PubSub.prototype.unsubscribe=function(b,e){var c,a,d=this.topics[b];if(!d){return e||[]}if(e){for(c=0,a=d.length;c<a;c++){if(e==d[c]){d.splice(c,1)}}return e}else{this.topics[b]=[];return d}};PubSub.prototype.publish=function(c,b){var d,a,e,f=this.topics[c];if(!f){return}b=b||[];for(d=0,a=f.length;d<a;d++){e=(f[d].apply(null,b)===false||e)}return !e};(function(c){var b,e,d,a;fullscreen=b={};e=b.pubsub=new PubSub();timer=0;block=false;a=b.settings={visible:false,mode:"tinymce",editor_id:"content",title_id:"",timer:0,toolbar_shown:false};d=b.bounder=function(l,h,g,j){var k,i;g=g||1250;if(j){k=j.pageY||j.clientY||j.offsetY;i=c(document).scrollTop();if(!j.isDefaultPrevented){k=135+k}if(k-i>120){return}}if(block){return}block=true;setTimeout(function(){block=false},400);if(a.timer){clearTimeout(a.timer)}else{e.publish(l)}function f(){e.publish(h);a.timer=0}a.timer=setTimeout(f,g)};b.on=function(){if(a.visible){return}if(typeof(wp_fullscreen_settings)=="object"){c.extend(a,wp_fullscreen_settings)}a.editor_id=wpActiveEditor||"content";if(!a.title_id){if(c("input#title").length&&a.editor_id=="content"){a.title_id="title"}else{if(c("input#"+a.editor_id+"-title").length){a.title_id=a.editor_id+"-title"}else{c("#wp-fullscreen-title, #wp-fullscreen-title-prompt-text").hide()}}}a.mode=c("#"+a.editor_id).is(":hidden")?"tinymce":"html";a.qt_canvas=c("#"+a.editor_id).get(0);if(!a.element){b.ui.init()}a.is_mce_on=a.has_tinymce&&typeof(tinyMCE.get(a.editor_id))!="undefined";b.ui.fade("show","showing","shown")};b.off=function(){if(!a.visible){return}b.ui.fade("hide","hiding","hidden")};b.switchmode=function(g){var f=a.mode;if(!g||!a.visible||!a.has_tinymce){return f}if(f==g){return f}e.publish("switchMode",[f,g]);a.mode=g;e.publish("switchedMode",[f,g]);return g};b.save=function(){var h=c("#hiddenaction"),f=h.val(),i=c("#wp-fullscreen-save img"),g=c("#wp-fullscreen-save span");i.show();b.savecontent();h.val("wp-fullscreen-save-post");c.post(ajaxurl,c("form#post").serialize(),function(j){i.hide();g.show();setTimeout(function(){g.fadeOut(1000)},3000);if(j.last_edited){c("#wp-fullscreen-save input").attr("title",j.last_edited)}},"json");h.val(f)};b.savecontent=function(){var f,g;if(a.title_id){c("#"+a.title_id).val(c("#wp-fullscreen-title").val())}if(a.mode==="tinymce"&&(f=tinyMCE.get("wp_mce_fullscreen"))){g=f.save()}else{g=c("#wp_mce_fullscreen").val()}c("#"+a.editor_id).val(g);c(document).triggerHandler("wpcountwords",[g])};set_title_hint=function(f){if(!f.val().length){f.siblings("label").css("visibility","")}else{f.siblings("label").css("visibility","hidden")}};b.dfw_width=function(h){var g=c("#wp-fullscreen-wrap"),f=g.width();if(!h){g.width(c("#wp-fullscreen-central-toolbar").width());deleteUserSetting("dfw_width");return}f=h+f;if(f<200||f>1200){return}g.width(f);setUserSetting("dfw_width",f)};e.subscribe("showToolbar",function(){a.toolbars.removeClass("fade-1000").addClass("fade-300");b.fade.In(a.toolbars,300,function(){e.publish("toolbarShown")},true);c("#wp-fullscreen-body").addClass("wp-fullscreen-focus");a.toolbar_shown=true});e.subscribe("hideToolbar",function(){a.toolbars.removeClass("fade-300").addClass("fade-1000");b.fade.Out(a.toolbars,1000,function(){e.publish("toolbarHidden")},true);c("#wp-fullscreen-body").removeClass("wp-fullscreen-focus")});e.subscribe("toolbarShown",function(){a.toolbars.removeClass("fade-300")});e.subscribe("toolbarHidden",function(){a.toolbars.removeClass("fade-1000");a.toolbar_shown=false});e.subscribe("show",function(){var f;if(a.title_id){f=c("#wp-fullscreen-title").val(c("#"+a.title_id).val());set_title_hint(f)}c("#wp-fullscreen-save input").attr("title",c("#last-edit").text());a.textarea_obj.value=a.qt_canvas.value;if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenInit")}a.orig_y=c(window).scrollTop()});e.subscribe("showing",function(){c(document.body).addClass("fullscreen-active");b.refresh_buttons();c(document).bind("mousemove.fullscreen",function(f){d("showToolbar","hideToolbar",2000,f)});d("showToolbar","hideToolbar",2000);b.bind_resize();setTimeout(b.resize_textarea,200);scrollTo(0,0);c("#wpadminbar").hide()});e.subscribe("shown",function(){var f;a.visible=true;if(a.has_tinymce&&!a.is_mce_on){f=function(g,h){var k=h.getElement(),i=k.value,j=tinyMCEPreInit.mceInit[a.editor_id];if(j&&j.wpautop&&typeof(switchEditors)!="undefined"){k.value=switchEditors.wpautop(k.value)}h.onInit.add(function(l){l.hide();l.getElement().value=i;tinymce.onAddEditor.remove(f)})};tinymce.onAddEditor.add(f);tinyMCE.init(tinyMCEPreInit.mceInit[a.editor_id]);a.is_mce_on=true}wpActiveEditor="wp_mce_fullscreen"});e.subscribe("hide",function(){var f=c("#"+a.editor_id).is(":hidden");if(a.has_tinymce&&a.mode==="tinymce"&&!f){switchEditors.go(a.editor_id,"tmce")}else{if(a.mode==="html"&&f){switchEditors.go(a.editor_id,"html")}}b.savecontent();c(document).unbind(".fullscreen");c(a.textarea_obj).unbind(".grow");if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenSave")}if(a.title_id){set_title_hint(c("#"+a.title_id))}a.qt_canvas.value=a.textarea_obj.value});e.subscribe("hiding",function(){c(document.body).removeClass("fullscreen-active");scrollTo(0,a.orig_y);c("#wpadminbar").show()});e.subscribe("hidden",function(){a.visible=false;c("#wp_mce_fullscreen, #wp-fullscreen-title").removeAttr("style");if(a.has_tinymce&&a.is_mce_on){tinyMCE.execCommand("wpFullScreenClose")}a.textarea_obj.value="";b.oldheight=0;wpActiveEditor=a.editor_id});e.subscribe("switchMode",function(h,g){var f;if(!a.has_tinymce||!a.is_mce_on){return}f=tinyMCE.get("wp_mce_fullscreen");if(h==="html"&&g==="tinymce"){if(tinyMCE.get(a.editor_id).getParam("wpautop")&&typeof(switchEditors)!="undefined"){a.textarea_obj.value=switchEditors.wpautop(a.textarea_obj.value)}if("undefined"==typeof(f)){tinyMCE.execCommand("wpFullScreenInit")}else{f.show()}}else{if(h==="tinymce"&&g==="html"){if(f){f.hide()}}}});e.subscribe("switchedMode",function(g,f){b.refresh_buttons(true);if(f==="html"){setTimeout(b.resize_textarea,200)}});b.b=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Bold")}};b.i=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Italic")}};b.ul=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertUnorderedList")}};b.ol=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertOrderedList")}};b.link=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Link")}else{wpLink.open()}};b.unlink=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("unlink")}};b.atd=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceWritingImprovementTool")}};b.help=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Help")}};b.blockquote=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceBlockQuote")}};b.medialib=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Medialib")}else{var f=c("#wp-"+a.editor_id+"-media-buttons a.thickbox").attr("href")||"";if(f){tb_show("",f)}}};b.refresh_buttons=function(f){f=f||false;if(a.mode==="html"){c("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).addClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").addClass("wp-html-mode")}}else{if(a.mode==="tinymce"){c("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).removeClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").removeClass("wp-html-mode")}}}};b.ui={init:function(){var f=c("#fullscreen-topbar"),h=c("#wp_mce_fullscreen"),g=0;a.toolbars=f.add(c("#wp-fullscreen-status"));a.element=c("#fullscreen-fader");a.textarea_obj=h[0];a.has_tinymce=typeof(tinymce)!="undefined";if(!a.has_tinymce){c("#wp-fullscreen-mode-bar").hide()}if(wptitlehint&&c("#wp-fullscreen-title").length){wptitlehint("wp-fullscreen-title")}c(document).keyup(function(k){var l=k.keyCode||k.charCode,i,j;if(!fullscreen.settings.visible){return true}if(navigator.platform&&navigator.platform.indexOf("Mac")!=-1){i=k.ctrlKey}else{i=k.altKey}if(27==l){j={event:k,what:"dfw",cb:fullscreen.off,condition:function(){if(c("#TB_window").is(":visible")||c(".wp-dialog").is(":visible")){return false}return true}};if(!jQuery(document).triggerHandler("wp_CloseOnEscape",[j])){fullscreen.off()}}if(i&&(61==l||107==l||187==l)){b.dfw_width(25)}if(i&&(45==l||109==l||189==l)){b.dfw_width(-25)}if(i&&48==l){b.dfw_width(0)}return false});if(typeof(wpWordCount)!="undefined"){h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==g){return true}if(13==i||8==g||46==g){c(document).triggerHandler("wpcountwords",[h.val()])}g=i;return true})}f.mouseenter(function(i){a.toolbars.addClass("fullscreen-make-sticky");c(document).unbind(".fullscreen");clearTimeout(a.timer);a.timer=0}).mouseleave(function(i){a.toolbars.removeClass("fullscreen-make-sticky");if(a.visible){c(document).bind("mousemove.fullscreen",function(j){d("showToolbar","hideToolbar",2000,j)})}})},fade:function(g,f,h){if(!a.element){b.ui.init()}if(g&&!e.publish(g)){return}b.fade.In(a.element,600,function(){if(f){e.publish(f)}b.fade.Out(a.element,600,function(){if(h){e.publish(h)}})})}};b.fade={transitionend:"transitionend webkitTransitionEnd oTransitionEnd",sensitivity:100,In:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(b.fade.transitions){if(g.is(":visible")){g.addClass("fade-trigger");return g}g.show();g.first().one(this.transitionend,function(){i()});setTimeout(function(){g.addClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.css("opacity",1);g.first().fadeIn(h,i);if(g.length>1){g.not(":first").fadeIn(h)}}return g},Out:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(!g.is(":visible")){return g}if(b.fade.transitions){g.first().one(b.fade.transitionend,function(){if(g.hasClass("fade-trigger")){return}g.hide();i()});setTimeout(function(){g.removeClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.first().fadeOut(h,i);if(g.length>1){g.not(":first").fadeOut(h)}}return g},transitions:(function(){var f=document.documentElement.style;return(typeof(f.WebkitTransition)=="string"||typeof(f.MozTransition)=="string"||typeof(f.OTransition)=="string"||typeof(f.transition)=="string")})()};b.bind_resize=function(){c(a.textarea_obj).bind("keypress.grow click.grow paste.grow",function(){setTimeout(b.resize_textarea,200)})};b.oldheight=0;b.resize_textarea=function(){var f=a.textarea_obj,g;g=f.scrollHeight>300?f.scrollHeight:300;if(g!=b.oldheight){f.style.height=g+"px";b.oldheight=g}}})(jQuery);
\ No newline at end of file
--- 1 ----
! var PubSub,fullscreen,wptitlehint;PubSub=function(){this.topics={}};PubSub.prototype.subscribe=function(a,b){if(!this.topics[a]){this.topics[a]=[]}this.topics[a].push(b);return b};PubSub.prototype.unsubscribe=function(b,e){var c,a,d=this.topics[b];if(!d){return e||[]}if(e){for(c=0,a=d.length;c<a;c++){if(e==d[c]){d.splice(c,1)}}return e}else{this.topics[b]=[];return d}};PubSub.prototype.publish=function(c,b){var d,a,e,f=this.topics[c];if(!f){return}b=b||[];for(d=0,a=f.length;d<a;d++){e=(f[d].apply(null,b)===false||e)}return !e};(function(c){var b,e,d,a;fullscreen=b={};e=b.pubsub=new PubSub();timer=0;block=false;a=b.settings={visible:false,mode:"tinymce",editor_id:"content",title_id:"",timer:0,toolbar_shown:false};d=b.bounder=function(l,h,g,j){var k,i;g=g||1250;if(j){k=j.pageY||j.clientY||j.offsetY;i=c(document).scrollTop();if(!j.isDefaultPrevented){k=135+k}if(k-i>120){return}}if(block){return}block=true;setTimeout(function(){block=false},400);if(a.timer){clearTimeout(a.timer)}else{e.publish(l)}function f(){e.publish(h);a.timer=0}a.timer=setTimeout(f,g)};b.on=function(){if(a.visible){return}if(typeof(wp_fullscreen_settings)=="object"){c.extend(a,wp_fullscreen_settings)}a.editor_id=wpActiveEditor||"content";if(c("input#title").length&&a.editor_id=="content"){a.title_id="title"}else{if(c("input#"+a.editor_id+"-title").length){a.title_id=a.editor_id+"-title"}else{c("#wp-fullscreen-title, #wp-fullscreen-title-prompt-text").hide()}}a.mode=c("#"+a.editor_id).is(":hidden")?"tinymce":"html";a.qt_canvas=c("#"+a.editor_id).get(0);if(!a.element){b.ui.init()}a.is_mce_on=a.has_tinymce&&typeof(tinyMCE.get(a.editor_id))!="undefined";b.ui.fade("show","showing","shown")};b.off=function(){if(!a.visible){return}b.ui.fade("hide","hiding","hidden")};b.switchmode=function(g){var f=a.mode;if(!g||!a.visible||!a.has_tinymce){return f}if(f==g){return f}e.publish("switchMode",[f,g]);a.mode=g;e.publish("switchedMode",[f,g]);return g};b.save=function(){var h=c("#hiddenaction"),f=h.val(),i=c("#wp-fullscreen-save img"),g=c("#wp-fullscreen-save span");i.show();b.savecontent();h.val("wp-fullscreen-save-post");c.post(ajaxurl,c("form#post").serialize(),function(j){i.hide();g.show();setTimeout(function(){g.fadeOut(1000)},3000);if(j.last_edited){c("#wp-fullscreen-save input").attr("title",j.last_edited)}},"json");h.val(f)};b.savecontent=function(){var f,g;if(a.title_id){c("#"+a.title_id).val(c("#wp-fullscreen-title").val())}if(a.mode==="tinymce"&&(f=tinyMCE.get("wp_mce_fullscreen"))){g=f.save()}else{g=c("#wp_mce_fullscreen").val()}c("#"+a.editor_id).val(g);c(document).triggerHandler("wpcountwords",[g])};set_title_hint=function(f){if(!f.val().length){f.siblings("label").css("visibility","")}else{f.siblings("label").css("visibility","hidden")}};b.dfw_width=function(h){var g=c("#wp-fullscreen-wrap"),f=g.width();if(!h){g.width(c("#wp-fullscreen-central-toolbar").width());deleteUserSetting("dfw_width");return}f=h+f;if(f<200||f>1200){return}g.width(f);setUserSetting("dfw_width",f)};e.subscribe("showToolbar",function(){a.toolbars.removeClass("fade-1000").addClass("fade-300");b.fade.In(a.toolbars,300,function(){e.publish("toolbarShown")},true);c("#wp-fullscreen-body").addClass("wp-fullscreen-focus");a.toolbar_shown=true});e.subscribe("hideToolbar",function(){a.toolbars.removeClass("fade-300").addClass("fade-1000");b.fade.Out(a.toolbars,1000,function(){e.publish("toolbarHidden")},true);c("#wp-fullscreen-body").removeClass("wp-fullscreen-focus")});e.subscribe("toolbarShown",function(){a.toolbars.removeClass("fade-300")});e.subscribe("toolbarHidden",function(){a.toolbars.removeClass("fade-1000");a.toolbar_shown=false});e.subscribe("show",function(){var f;if(a.title_id){f=c("#wp-fullscreen-title").val(c("#"+a.title_id).val());set_title_hint(f)}c("#wp-fullscreen-save input").attr("title",c("#last-edit").text());a.textarea_obj.value=a.qt_canvas.value;if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenInit")}a.orig_y=c(window).scrollTop()});e.subscribe("showing",function(){c(document.body).addClass("fullscreen-active");b.refresh_buttons();c(document).bind("mousemove.fullscreen",function(f){d("showToolbar","hideToolbar",2000,f)});d("showToolbar","hideToolbar",2000);b.bind_resize();setTimeout(b.resize_textarea,200);scrollTo(0,0);c("#wpadminbar").hide()});e.subscribe("shown",function(){var f;a.visible=true;if(a.has_tinymce&&!a.is_mce_on){f=function(g,h){var k=h.getElement(),i=k.value,j=tinyMCEPreInit.mceInit[a.editor_id];if(j&&j.wpautop&&typeof(switchEditors)!="undefined"){k.value=switchEditors.wpautop(k.value)}h.onInit.add(function(l){l.hide();l.getElement().value=i;tinymce.onAddEditor.remove(f)})};tinymce.onAddEditor.add(f);tinyMCE.init(tinyMCEPreInit.mceInit[a.editor_id]);a.is_mce_on=true}wpActiveEditor="wp_mce_fullscreen"});e.subscribe("hide",function(){var f=c("#"+a.editor_id).is(":hidden");if(a.has_tinymce&&a.mode==="tinymce"&&!f){switchEditors.go(a.editor_id,"tmce")}else{if(a.mode==="html"&&f){switchEditors.go(a.editor_id,"html")}}b.savecontent();c(document).unbind(".fullscreen");c(a.textarea_obj).unbind(".grow");if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenSave")}if(a.title_id){set_title_hint(c("#"+a.title_id))}a.qt_canvas.value=a.textarea_obj.value});e.subscribe("hiding",function(){c(document.body).removeClass("fullscreen-active");scrollTo(0,a.orig_y);c("#wpadminbar").show()});e.subscribe("hidden",function(){a.visible=false;c("#wp_mce_fullscreen, #wp-fullscreen-title").removeAttr("style");if(a.has_tinymce&&a.is_mce_on){tinyMCE.execCommand("wpFullScreenClose")}a.textarea_obj.value="";b.oldheight=0;wpActiveEditor=a.editor_id});e.subscribe("switchMode",function(h,g){var f;if(!a.has_tinymce||!a.is_mce_on){return}f=tinyMCE.get("wp_mce_fullscreen");if(h==="html"&&g==="tinymce"){if(tinyMCE.get(a.editor_id).getParam("wpautop")&&typeof(switchEditors)!="undefined"){a.textarea_obj.value=switchEditors.wpautop(a.textarea_obj.value)}if("undefined"==typeof(f)){tinyMCE.execCommand("wpFullScreenInit")}else{f.show()}}else{if(h==="tinymce"&&g==="html"){if(f){f.hide()}}}});e.subscribe("switchedMode",function(g,f){b.refresh_buttons(true);if(f==="html"){setTimeout(b.resize_textarea,200)}});b.b=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Bold")}};b.i=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Italic")}};b.ul=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertUnorderedList")}};b.ol=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertOrderedList")}};b.link=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Link")}else{wpLink.open()}};b.unlink=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("unlink")}};b.atd=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceWritingImprovementTool")}};b.help=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Help")}};b.blockquote=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceBlockQuote")}};b.medialib=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Medialib")}else{var f=c("#wp-"+a.editor_id+"-media-buttons a.thickbox").attr("href")||"";if(f){tb_show("",f)}}};b.refresh_buttons=function(f){f=f||false;if(a.mode==="html"){c("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).addClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").addClass("wp-html-mode")}}else{if(a.mode==="tinymce"){c("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).removeClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").removeClass("wp-html-mode")}}}};b.ui={init:function(){var f=c("#fullscreen-topbar"),h=c("#wp_mce_fullscreen"),g=0;a.toolbars=f.add(c("#wp-fullscreen-status"));a.element=c("#fullscreen-fader");a.textarea_obj=h[0];a.has_tinymce=typeof(tinymce)!="undefined";if(!a.has_tinymce){c("#wp-fullscreen-mode-bar").hide()}if(wptitlehint&&c("#wp-fullscreen-title").length){wptitlehint("wp-fullscreen-title")}c(document).keyup(function(k){var l=k.keyCode||k.charCode,i,j;if(!fullscreen.settings.visible){return true}if(navigator.platform&&navigator.platform.indexOf("Mac")!=-1){i=k.ctrlKey}else{i=k.altKey}if(27==l){j={event:k,what:"dfw",cb:fullscreen.off,condition:function(){if(c("#TB_window").is(":visible")||c(".wp-dialog").is(":visible")){return false}return true}};if(!jQuery(document).triggerHandler("wp_CloseOnEscape",[j])){fullscreen.off()}}if(i&&(61==l||107==l||187==l)){b.dfw_width(25)}if(i&&(45==l||109==l||189==l)){b.dfw_width(-25)}if(i&&48==l){b.dfw_width(0)}return false});if(typeof(wpWordCount)!="undefined"){h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==g){return true}if(13==i||8==g||46==g){c(document).triggerHandler("wpcountwords",[h.val()])}g=i;return true})}f.mouseenter(function(i){a.toolbars.addClass("fullscreen-make-sticky");c(document).unbind(".fullscreen");clearTimeout(a.timer);a.timer=0}).mouseleave(function(i){a.toolbars.removeClass("fullscreen-make-sticky");if(a.visible){c(document).bind("mousemove.fullscreen",function(j){d("showToolbar","hideToolbar",2000,j)})}})},fade:function(g,f,h){if(!a.element){b.ui.init()}if(g&&!e.publish(g)){return}b.fade.In(a.element,600,function(){if(f){e.publish(f)}b.fade.Out(a.element,600,function(){if(h){e.publish(h)}})})}};b.fade={transitionend:"transitionend webkitTransitionEnd oTransitionEnd",sensitivity:100,In:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(b.fade.transitions){if(g.is(":visible")){g.addClass("fade-trigger");return g}g.show();g.first().one(this.transitionend,function(){i()});setTimeout(function(){g.addClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.css("opacity",1);g.first().fadeIn(h,i);if(g.length>1){g.not(":first").fadeIn(h)}}return g},Out:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(!g.is(":visible")){return g}if(b.fade.transitions){g.first().one(b.fade.transitionend,function(){if(g.hasClass("fade-trigger")){return}g.hide();i()});setTimeout(function(){g.removeClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.first().fadeOut(h,i);if(g.length>1){g.not(":first").fadeOut(h)}}return g},transitions:(function(){var f=document.documentElement.style;return(typeof(f.WebkitTransition)=="string"||typeof(f.MozTransition)=="string"||typeof(f.OTransition)=="string"||typeof(f.transition)=="string")})()};b.bind_resize=function(){c(a.textarea_obj).bind("keypress.grow click.grow paste.grow",function(){setTimeout(b.resize_textarea,200)})};b.oldheight=0;b.resize_textarea=function(){var f=a.textarea_obj,g;g=f.scrollHeight>300?f.scrollHeight:300;if(g!=b.oldheight){f.style.height=g+"px";b.oldheight=g}}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/link-add.php ./wordpress-3.4/wp-admin/link-add.php
*** ./wordpress-3.3.2/wp-admin/link-add.php	2011-04-28 10:24:49.000000000 -0500
--- ./wordpress-3.4/wp-admin/link-add.php	2012-04-10 21:20:51.000000000 -0500
***************
*** 23,30 ****
  wp_enqueue_script('link');
  wp_enqueue_script('xfn');
  
  $link = get_default_link_to_edit();
  include('./edit-link-form.php');
  
  require('./admin-footer.php');
- ?>
--- 23,32 ----
  wp_enqueue_script('link');
  wp_enqueue_script('xfn');
  
+ if ( wp_is_mobile() )
+ 	wp_enqueue_script( 'jquery-touch-punch' );
+ 
  $link = get_default_link_to_edit();
  include('./edit-link-form.php');
  
  require('./admin-footer.php');
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/link-parse-opml.php ./wordpress-3.4/wp-admin/link-parse-opml.php
*** ./wordpress-3.3.2/wp-admin/link-parse-opml.php	2010-12-01 13:24:38.000000000 -0600
--- ./wordpress-3.4/wp-admin/link-parse-opml.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,17 ****
  
  global $opml, $map;
  
! // columns we wish to find are:  link_url, link_name, link_target, link_description
  // we need to map XML attribute names to our columns
  $opml_map = array('URL'         => 'link_url',
  	'HTMLURL'     => 'link_url',
--- 11,17 ----
  
  global $opml, $map;
  
! // columns we wish to find are: link_url, link_name, link_target, link_description
  // we need to map XML attribute names to our columns
  $opml_map = array('URL'         => 'link_url',
  	'HTMLURL'     => 'link_url',
***************
*** 94,97 ****
  
  // Free up memory used by the XML parser
  xml_parser_free($xml_parser);
- ?>
--- 94,96 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/link.php ./wordpress-3.4/wp-admin/link.php
*** ./wordpress-3.3.2/wp-admin/link.php	2010-10-27 05:43:43.000000000 -0500
--- ./wordpress-3.4/wp-admin/link.php	2012-04-10 21:20:51.000000000 -0500
***************
*** 99,104 ****
--- 99,107 ----
  		wp_enqueue_script('link');
  		wp_enqueue_script('xfn');
  
+ 		if ( wp_is_mobile() )
+ 			wp_enqueue_script( 'jquery-touch-punch' );
+ 
  		$parent_file = 'link-manager.php';
  		$submenu_file = 'link-manager.php';
  		$title = __('Edit Link');
***************
*** 115,118 ****
  	default :
  		break;
  }
- ?>
--- 118,120 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/maint/repair.php ./wordpress-3.4/wp-admin/maint/repair.php
*** ./wordpress-3.3.2/wp-admin/maint/repair.php	2011-10-27 16:14:14.000000000 -0500
--- ./wordpress-3.4/wp-admin/maint/repair.php	2012-05-30 11:22:53.000000000 -0500
***************
*** 1,5 ****
  <?php
! 
  define('WP_REPAIRING', true);
  
  require_once('../../wp-load.php');
--- 1,10 ----
  <?php
! /**
!  * Database Repair and Optimization Script.
!  *
!  * @package WordPress
!  * @subpackage Database
!  */
  define('WP_REPAIRING', true);
  
  require_once('../../wp-load.php');
***************
*** 10,33 ****
  <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
  <head>
  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! 	<title><?php _e('WordPress &rsaquo; Database Repair'); ?></title>
  	<?php wp_admin_css( 'install', true ); ?>
  </head>
  <body>
! <h1 id="logo"><img alt="WordPress" src="../images/wordpress-logo.png" /></h1>
  
  <?php
  
! if ( !defined('WP_ALLOW_REPAIR') ) {
! 	echo '<p>'.__('To allow use of this page to automatically repair database problems, please add the following line to your wp-config.php file.  Once this line is added to your config, reload this page.')."</p><code>define('WP_ALLOW_REPAIR', true);</code>";
! } elseif ( isset($_GET['repair']) ) {
! 	check_admin_referer('repair_db');
! 
! 	if ( 2 == $_GET['repair'] )
! 		$optimize = true;
! 	else
! 		$optimize = false;
! 
  	$okay = true;
  	$problems = array();
  
--- 15,32 ----
  <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
  <head>
  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! 	<title><?php _e( 'WordPress &rsaquo; Database Repair' ); ?></title>
  	<?php wp_admin_css( 'install', true ); ?>
  </head>
  <body>
! <h1 id="logo"><img alt="WordPress" src="../images/wordpress-logo.png?ver=20120216" /></h1>
  
  <?php
  
! if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
! 	echo '<p>' . __( 'To allow use of this page to automatically repair database problems, please add the following line to your <code>wp-config.php</code> file. Once this line is added to your config, reload this page.' ) . "</p><code>define('WP_ALLOW_REPAIR', true);</code>";
! } elseif ( isset( $_GET['repair'] ) ) {
! 	$optimize = 2 == $_GET['repair'];
  	$okay = true;
  	$problems = array();
  
***************
*** 41,111 ****
  
  	// Loop over the tables, checking and repairing as needed.
  	foreach ( $tables as $table ) {
! 		$check = $wpdb->get_row("CHECK TABLE $table");
  
  		echo '<p>';
  		if ( 'OK' == $check->Msg_text ) {
  			/* translators: %s: table name */
! 			printf( __( 'The %s table is okay.' ), $table );
  		} else {
  			/* translators: 1: table name, 2: error message, */
! 			printf( __( 'The %1$s table is not okay. It is reporting the following error: %2$s.  WordPress will attempt to repair this table&hellip;' ) , $table, "<code>$check->Msg_text</code>" );
  
! 			$repair = $wpdb->get_row("REPAIR TABLE $table");
  
  			echo '<br />&nbsp;&nbsp;&nbsp;&nbsp;';
  			if ( 'OK' == $check->Msg_text ) {
  				/* translators: %s: table name */
! 				printf( __( 'Successfully repaired the %s table.' ), $table );
  			} else {
  				/* translators: 1: table name, 2: error message, */
! 				echo sprintf( __( 'Failed to repair the  %1$s table. Error: %2$s' ), $table, "<code>$check->Msg_text</code>" ) . '<br />';
  				$problems[$table] = $check->Msg_text;
  				$okay = false;
  			}
  		}
  
  		if ( $okay && $optimize ) {
! 			$check = $wpdb->get_row("ANALYZE TABLE $table");
  
! 			echo '<br />&nbsp;&nbsp;&nbsp;&nbsp';
  			if ( 'Table is already up to date' == $check->Msg_text )  {
  				/* translators: %s: table name */
! 				printf( __( 'The %s table is already optimized.' ), $table );
  			} else {
! 				$check = $wpdb->get_row("OPTIMIZE TABLE $table");
  
! 				echo '<br />&nbsp;&nbsp;&nbsp;&nbsp';
  				if ( 'OK' == $check->Msg_text || 'Table is already up to date' == $check->Msg_text ) {
  					/* translators: %s: table name */
! 					printf( __( 'Successfully optimized the %s table.' ), $table );
  				} else {
  					/* translators: 1: table name, 2: error message, */
! 					printf( __( 'Failed to optimize the %1$s table. Error: %2$s' ), $table, "<code>$check->Msg_text</code>" );
  				}
  			}
  		}
  		echo '</p>';
  	}
  
! 	if ( !empty($problems) ) {
! 		printf('<p>'.__('Some database problems could not be repaired. Please copy-and-paste the following list of errors to the <a href="%s">WordPress support forums</a> to get additional assistance.').'</p>', 'http://wordpress.org/support/forum/3');
! 		$problem_output = array();
  		foreach ( $problems as $table => $problem )
! 			$problem_output[] = "$table: $problem";
! 		echo '<textarea name="errors" id="errors" rows="20" cols="60">' . esc_textarea( implode("\n", $problem_output) ) . '</textarea>';
  	} else {
! 		echo '<p>'.__('Repairs complete.  Please remove the following line from wp-config.php to prevent this page from being used by unauthorized users.')."</p><code>define('WP_ALLOW_REPAIR', true);</code>";
  	}
  } else {
! 	if ( isset($_GET['referrer']) && 'is_blog_installed' == $_GET['referrer'] )
! 		_e('One or more database tables are unavailable. To allow WordPress to attempt to repair these tables, press the &#8220;Repair Database&#8221; button. Repairing can take a while, so please be patient.');
  	else
! 		_e('WordPress can automatically look for some common database problems and repair them.  Repairing can take a while, so please be patient.')
  ?>
! 	<p class="step"><a class="button" href="<?php echo wp_nonce_url('repair.php?repair=1', 'repair_db') ?>"><?php _e( 'Repair Database' ); ?></a></p>
! 	<?php _e('WordPress can also attempt to optimize the database.  This improves performance in some situations.  Repairing and optimizing the database can take a long time and the database will be locked while optimizing.'); ?>
! 	<p class="step"><a class="button" href="<?php echo wp_nonce_url('repair.php?repair=2', 'repair_db') ?>"><?php _e( 'Repair and Optimize Database' ); ?></a></p>
  <?php
  }
  ?>
--- 40,110 ----
  
  	// Loop over the tables, checking and repairing as needed.
  	foreach ( $tables as $table ) {
! 		$check = $wpdb->get_row( "CHECK TABLE $table" );
  
  		echo '<p>';
  		if ( 'OK' == $check->Msg_text ) {
  			/* translators: %s: table name */
! 			printf( __( 'The %s table is okay.' ), "<code>$table</code>" );
  		} else {
  			/* translators: 1: table name, 2: error message, */
! 			printf( __( 'The %1$s table is not okay. It is reporting the following error: %2$s. WordPress will attempt to repair this table&hellip;' ) , "<code>$table</code>", "<code>$check->Msg_text</code>" );
  
! 			$repair = $wpdb->get_row( "REPAIR TABLE $table" );
  
  			echo '<br />&nbsp;&nbsp;&nbsp;&nbsp;';
  			if ( 'OK' == $check->Msg_text ) {
  				/* translators: %s: table name */
! 				printf( __( 'Successfully repaired the %s table.' ), "<code>$table</code>" );
  			} else {
  				/* translators: 1: table name, 2: error message, */
! 				echo sprintf( __( 'Failed to repair the %1$s table. Error: %2$s' ), "<code>$table</code>", "<code>$check->Msg_text</code>" ) . '<br />';
  				$problems[$table] = $check->Msg_text;
  				$okay = false;
  			}
  		}
  
  		if ( $okay && $optimize ) {
! 			$check = $wpdb->get_row( "ANALYZE TABLE $table" );
  
! 			echo '<br />&nbsp;&nbsp;&nbsp;&nbsp;';
  			if ( 'Table is already up to date' == $check->Msg_text )  {
  				/* translators: %s: table name */
! 				printf( __( 'The %s table is already optimized.' ), "<code>$table</code>" );
  			} else {
! 				$check = $wpdb->get_row( "OPTIMIZE TABLE $table" );
  
! 				echo '<br />&nbsp;&nbsp;&nbsp;&nbsp;';
  				if ( 'OK' == $check->Msg_text || 'Table is already up to date' == $check->Msg_text ) {
  					/* translators: %s: table name */
! 					printf( __( 'Successfully optimized the %s table.' ), "<code>$table</code>" );
  				} else {
  					/* translators: 1: table name, 2: error message, */
! 					printf( __( 'Failed to optimize the %1$s table. Error: %2$s' ), "<code>$table</code>", "<code>$check->Msg_text</code>" );
  				}
  			}
  		}
  		echo '</p>';
  	}
  
! 	if ( $problems ) {
! 		printf( '<p>' . __('Some database problems could not be repaired. Please copy-and-paste the following list of errors to the <a href="%s">WordPress support forums</a> to get additional assistance.') . '</p>', __( 'http://wordpress.org/support/forum/how-to-and-troubleshooting' ) );
! 		$problem_output = '';
  		foreach ( $problems as $table => $problem )
! 			$problem_output .= "$table: $problem\n";
! 		echo '<p><textarea name="errors" id="errors" rows="20" cols="60">' . esc_textarea( $problem_output ) . '</textarea></p>';
  	} else {
! 		echo '<p>' . __( 'Repairs complete. Please remove the following line from wp-config.php to prevent this page from being used by unauthorized users.' ) . "</p><code>define('WP_ALLOW_REPAIR', true);</code>";
  	}
  } else {
! 	if ( isset( $_GET['referrer'] ) && 'is_blog_installed' == $_GET['referrer'] )
! 		echo '<p>' . __( 'One or more database tables are unavailable. To allow WordPress to attempt to repair these tables, press the &#8220;Repair Database&#8221; button. Repairing can take a while, so please be patient.' ) . '</p>';
  	else
! 		echo '<p>' . __( 'WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient.' ) . '</p>';
  ?>
! 	<p class="step"><a class="button" href="repair.php?repair=1"><?php _e( 'Repair Database' ); ?></a></p>
! 	<p><?php _e( 'WordPress can also attempt to optimize the database. This improves performance in some situations. Repairing and optimizing the database can take a long time and the database will be locked while optimizing.' ); ?></p>
! 	<p class="step"><a class="button" href="repair.php?repair=2"><?php _e( 'Repair and Optimize Database' ); ?></a></p>
  <?php
  }
  ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/media-new.php ./wordpress-3.4/wp-admin/media-new.php
*** ./wordpress-3.3.2/wp-admin/media-new.php	2011-11-18 02:43:16.000000000 -0600
--- ./wordpress-3.4/wp-admin/media-new.php	2012-04-11 19:16:37.000000000 -0500
***************
*** 6,19 ****
   * @subpackage Administration
   */
  
- global $is_iphone;
- 
- if ( $is_iphone ) // cannot upload files from iPhone/iPad
- 	return;
- 
  $_GET['inline'] = 'true';
  /** Administration bootstrap */
  require_once('./admin.php');
  require_once('./media-upload.php');
- 
- ?>
--- 6,12 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/media.php ./wordpress-3.4/wp-admin/media.php
*** ./wordpress-3.3.2/wp-admin/media.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/media.php	2012-05-09 11:16:03.000000000 -0500
***************
*** 59,64 ****
--- 59,65 ----
  	$att = get_post($att_id);
  
  	if ( empty($att->ID) ) wp_die( __('You attempted to edit an attachment that doesn&#8217;t exist. Perhaps it was deleted?') );
+ 	if ( 'attachment' !== $att->post_type ) wp_die( __('You attempted to edit an item that isn&#8217;t an attachment. Please go back and try again.') );
  	if ( $att->post_status == 'trash' ) wp_die( __('You can&#8217;t edit this attachment because it is in the Trash. Please move it out of the Trash and try again.') );
  
  	add_filter('attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2);
***************
*** 144,149 ****
  	exit;
  
  endswitch;
- 
- 
- ?>
--- 145,147 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/media-upload.php ./wordpress-3.4/wp-admin/media-upload.php
*** ./wordpress-3.3.2/wp-admin/media-upload.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/media-upload.php	2012-06-10 12:37:49.000000000 -0500
***************
*** 22,27 ****
--- 22,28 ----
  wp_enqueue_script('image-edit');
  wp_enqueue_script('set-post-thumbnail' );
  wp_enqueue_style('imgareaselect');
+ wp_enqueue_script( 'media-gallery' );
  
  @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
  
***************
*** 31,41 ****
  
  // Require an ID for the edit screen
  if ( isset($action) && $action == 'edit' && !$ID )
! 	wp_die(__("You are not allowed to be here"));
  
  if ( isset($_GET['inline']) ) {
  	$errors = array();
  
  	if ( isset($_POST['html-upload']) && !empty($_FILES) ) {
  		check_admin_referer('media-form');
  		// Upload File button was clicked
--- 32,45 ----
  
  // Require an ID for the edit screen
  if ( isset($action) && $action == 'edit' && !$ID )
! 	wp_die( __( 'Cheatin&#8217; uh?' ) );
  
  if ( isset($_GET['inline']) ) {
  	$errors = array();
  
+ 	if ( ! empty( $_REQUEST['post_id'] ) && ! current_user_can( 'edit_post' , $_REQUEST['post_id'] ) )
+ 		wp_die( __( 'Cheatin&#8217; uh?' ) );
+ 
  	if ( isset($_POST['html-upload']) && !empty($_FILES) ) {
  		check_admin_referer('media-form');
  		// Upload File button was clicked
***************
*** 58,63 ****
--- 62,70 ----
  		exit;
  	}
  
+ 	if ( isset( $_REQUEST['post_id'] ) )
+ 		wp_die( __( 'Cheatin&#8217; uh?' ) );
+ 
  	$title = __('Upload New Media');
  	$parent_file = 'upload.php';
  	get_current_screen()->add_help_tab( array(
***************
*** 67,74 ****
  		'<p>' . __('You can upload media files here without creating a post first. This allows you to upload files to use with posts and pages later and/or to get a web link for a particular file that you can share. There are three options for uploading files:') . '</p>' .
  		'<ul>' .
  			'<li>' . __('<strong>Drag and drop</strong> your files into the area below. Multiple files are allowed.') . '</li>' .
- 			'<li>' . __('<strong>Select Files</strong> will open the multi-file uploader, or you can use the <strong>Browser Uploader</strong>.') . '</li>' .
  			'<li>' . __('Clicking <strong>Select Files</strong> opens a navigation window showing you files in your operating system. Selecting <strong>Open</strong> after clicking on the file you want activates a progress bar on the uploader screen.') . '</li>' .
  		'</ul>' .
  		'<p>' . __('Basic image editing is available after upload is complete. Make sure you clickÂ Save before leaving this screen.') . '</p>'
  	) );
--- 74,81 ----
  		'<p>' . __('You can upload media files here without creating a post first. This allows you to upload files to use with posts and pages later and/or to get a web link for a particular file that you can share. There are three options for uploading files:') . '</p>' .
  		'<ul>' .
  			'<li>' . __('<strong>Drag and drop</strong> your files into the area below. Multiple files are allowed.') . '</li>' .
  			'<li>' . __('Clicking <strong>Select Files</strong> opens a navigation window showing you files in your operating system. Selecting <strong>Open</strong> after clicking on the file you want activates a progress bar on the uploader screen.') . '</li>' .
+ 			'<li>' . __('Revert to the <strong>Browser Uploader</strong> by clicking the link below the drag and drop box.') . '</li>' .
  		'</ul>' .
  		'<p>' . __('Basic image editing is available after upload is complete. Make sure you clickÂ Save before leaving this screen.') . '</p>'
  	) );
***************
*** 115,120 ****
--- 122,129 ----
  	include('./admin-footer.php');
  
  } else {
+ 	if ( ! empty( $_REQUEST['post_id'] ) && ! current_user_can( 'edit_post' , $_REQUEST['post_id'] ) )
+ 		wp_die( __( 'Cheatin&#8217; uh?' ) );
  
  	// upload type: image, video, file, ..?
  	if ( isset($_GET['type']) )
***************
*** 136,139 ****
  	else
  		do_action("media_upload_$tab");
  }
- ?>
--- 145,147 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/menu-header.php ./wordpress-3.4/wp-admin/menu-header.php
*** ./wordpress-3.3.2/wp-admin/menu-header.php	2011-12-05 11:47:23.000000000 -0600
--- ./wordpress-3.4/wp-admin/menu-header.php	2012-05-02 15:36:07.000000000 -0500
***************
*** 73,78 ****
--- 73,79 ----
  		$arrow = '<div class="wp-menu-arrow"><div></div></div>';
  
  		$title = wptexturize( $item[0] );
+ 		$aria_label = esc_attr( strip_tags( $item[0] ) ); // strip the comment/plugins/updates bubbles spans but keep the pending number if any
  
  		echo "\n\t<li$class$id>";
  
***************
*** 86,94 ****
  				$menu_file = substr( $menu_file, 0, $pos );
  			if ( ! empty( $menu_hook ) || ( ('index.php' != $submenu_items[0][2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) {
  				$admin_is_parent = true;
! 				echo "<div class='wp-menu-image'><a href='admin.php?page={$submenu_items[0][2]}'>$img</a></div>$arrow<a href='admin.php?page={$submenu_items[0][2]}'$class $aria_attributes>$title</a>";
  			} else {
! 				echo "\n\t<div class='wp-menu-image'><a href='{$submenu_items[0][2]}'>$img</a></div>$arrow<a href='{$submenu_items[0][2]}'$class $aria_attributes>$title</a>";
  			}
  		} elseif ( ! empty( $item[2] ) && current_user_can( $item[1] ) ) {
  			$menu_hook = get_plugin_page_hook( $item[2], 'admin.php' );
--- 87,95 ----
  				$menu_file = substr( $menu_file, 0, $pos );
  			if ( ! empty( $menu_hook ) || ( ('index.php' != $submenu_items[0][2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) {
  				$admin_is_parent = true;
! 				echo "<div class='wp-menu-image'><a href='admin.php?page={$submenu_items[0][2]}' aria-label='$aria_label'>$img</a></div>$arrow<a href='admin.php?page={$submenu_items[0][2]}'$class $aria_attributes>$title</a>";
  			} else {
! 				echo "\n\t<div class='wp-menu-image'><a href='{$submenu_items[0][2]}' aria-label='$aria_label'>$img</a></div>$arrow<a href='{$submenu_items[0][2]}'$class $aria_attributes>$title</a>";
  			}
  		} elseif ( ! empty( $item[2] ) && current_user_can( $item[1] ) ) {
  			$menu_hook = get_plugin_page_hook( $item[2], 'admin.php' );
***************
*** 97,105 ****
  				$menu_file = substr( $menu_file, 0, $pos );
  			if ( ! empty( $menu_hook ) || ( ('index.php' != $item[2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) {
  				$admin_is_parent = true;
! 				echo "\n\t<div class='wp-menu-image'><a href='admin.php?page={$item[2]}'>$img</a></div>$arrow<a href='admin.php?page={$item[2]}'$class $aria_attributes>{$item[0]}</a>";
  			} else {
! 				echo "\n\t<div class='wp-menu-image'><a href='{$item[2]}'>$img</a></div>$arrow<a href='{$item[2]}'$class $aria_attributes>{$item[0]}</a>";
  			}
  		}
  
--- 98,106 ----
  				$menu_file = substr( $menu_file, 0, $pos );
  			if ( ! empty( $menu_hook ) || ( ('index.php' != $item[2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) {
  				$admin_is_parent = true;
! 				echo "\n\t<div class='wp-menu-image'><a href='admin.php?page={$item[2]}' aria-label='$aria_label'>$img</a></div>$arrow<a href='admin.php?page={$item[2]}'$class $aria_attributes>{$item[0]}</a>";
  			} else {
! 				echo "\n\t<div class='wp-menu-image'><a href='{$item[2]}' aria-label='$aria_label'>$img</a></div>$arrow<a href='{$item[2]}'$class $aria_attributes>{$item[0]}</a>";
  			}
  		}
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/menu.php ./wordpress-3.4/wp-admin/menu.php
*** ./wordpress-3.3.2/wp-admin/menu.php	2011-11-18 02:43:16.000000000 -0600
--- ./wordpress-3.4/wp-admin/menu.php	2012-04-11 19:16:37.000000000 -0500
***************
*** 56,63 ****
  $menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu-icon-media', 'menu-media', 'div' );
  	$submenu['upload.php'][5] = array( __('Library'), 'upload_files', 'upload.php');
  	/* translators: add new file */
! 	if ( !$is_iphone )
! 		$submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php');
  
  $menu[15] = array( __('Links'), 'manage_links', 'link-manager.php', '', 'menu-top menu-icon-links', 'menu-links', 'div' );
  	$submenu['link-manager.php'][5] = array( _x('All Links', 'admin menu'), 'manage_links', 'link-manager.php' );
--- 56,62 ----
  $menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu-icon-media', 'menu-media', 'div' );
  	$submenu['upload.php'][5] = array( __('Library'), 'upload_files', 'upload.php');
  	/* translators: add new file */
! 	$submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php');
  
  $menu[15] = array( __('Links'), 'manage_links', 'link-manager.php', '', 'menu-top menu-icon-links', 'menu-links', 'div' );
  	$submenu['link-manager.php'][5] = array( _x('All Links', 'admin menu'), 'manage_links', 'link-manager.php' );
***************
*** 232,236 ****
  	);
  
  require_once(ABSPATH . 'wp-admin/includes/menu.php');
- 
- ?>
--- 231,233 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/moderation.php ./wordpress-3.4/wp-admin/moderation.php
*** ./wordpress-3.3.2/wp-admin/moderation.php	2011-04-28 10:24:49.000000000 -0500
--- ./wordpress-3.4/wp-admin/moderation.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 10,13 ****
  require_once('../wp-load.php');
  wp_redirect( admin_url('edit-comments.php?comment_status=moderated') );
  exit;
- ?>
--- 10,12 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-admin.php ./wordpress-3.4/wp-admin/ms-admin.php
*** ./wordpress-3.3.2/wp-admin/ms-admin.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/ms-admin.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,14 ****
  
  wp_redirect( network_admin_url() );
  exit;
- ?>
--- 11,13 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-delete-site.php ./wordpress-3.4/wp-admin/ms-delete-site.php
*** ./wordpress-3.3.2/wp-admin/ms-delete-site.php	2011-05-22 18:18:58.000000000 -0500
--- ./wordpress-3.4/wp-admin/ms-delete-site.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 80,83 ****
  echo '</div>';
  
  include( './admin-footer.php' );
- ?>
--- 80,82 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-edit.php ./wordpress-3.4/wp-admin/ms-edit.php
*** ./wordpress-3.3.2/wp-admin/ms-edit.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/ms-edit.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,14 ****
  
  wp_redirect( network_admin_url() );
  exit;
- ?>
--- 11,13 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-sites.php ./wordpress-3.4/wp-admin/ms-sites.php
*** ./wordpress-3.3.2/wp-admin/ms-sites.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/ms-sites.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,15 ****
  
  wp_redirect( network_admin_url('sites.php') );
  exit;
- 
- ?>
--- 11,13 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-themes.php ./wordpress-3.4/wp-admin/ms-themes.php
*** ./wordpress-3.3.2/wp-admin/ms-themes.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/ms-themes.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,14 ****
  
  wp_redirect( network_admin_url('themes.php') );
  exit;
- ?>
--- 11,13 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-upgrade-network.php ./wordpress-3.4/wp-admin/ms-upgrade-network.php
*** ./wordpress-3.3.2/wp-admin/ms-upgrade-network.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/ms-upgrade-network.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,15 ****
  
  wp_redirect( network_admin_url('upgrade.php') );
  exit;
- 
- ?>
--- 11,13 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/ms-users.php ./wordpress-3.4/wp-admin/ms-users.php
*** ./wordpress-3.3.2/wp-admin/ms-users.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-admin/ms-users.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 11,14 ****
  
  wp_redirect( network_admin_url('users.php') );
  exit;
- ?>
--- 11,13 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/my-sites.php ./wordpress-3.4/wp-admin/my-sites.php
*** ./wordpress-3.3.2/wp-admin/my-sites.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/my-sites.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 118,121 ****
  	</div>
  <?php
  include( './admin-footer.php' );
- ?>
--- 118,120 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/nav-menus.php ./wordpress-3.4/wp-admin/nav-menus.php
*** ./wordpress-3.3.2/wp-admin/nav-menus.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/nav-menus.php	2012-04-10 21:20:51.000000000 -0500
***************
*** 35,40 ****
--- 35,43 ----
  wp_enqueue_script( 'wp-lists' );
  wp_enqueue_script( 'postbox' );
  
+ if ( wp_is_mobile() )
+ 	wp_enqueue_script( 'jquery-touch-punch' );
+ 
  // Container for any messages displayed to the user
  $messages = array();
  
***************
*** 430,436 ****
  
  // Calling wp_get_nav_menu_to_edit generates $_wp_nav_menu_max_depth
  if ( is_nav_menu( $nav_menu_selected_id ) )
! 	$edit_markup = wp_get_nav_menu_to_edit( $nav_menu_selected_id  );
  
  function wp_nav_menu_max_depth($classes) {
  	global $_wp_nav_menu_max_depth;
--- 430,436 ----
  
  // Calling wp_get_nav_menu_to_edit generates $_wp_nav_menu_max_depth
  if ( is_nav_menu( $nav_menu_selected_id ) )
! 	$edit_markup = wp_get_nav_menu_to_edit( $nav_menu_selected_id );
  
  function wp_nav_menu_max_depth($classes) {
  	global $_wp_nav_menu_max_depth;
***************
*** 545,551 ****
  							<div class="major-publishing-actions">
  								<label class="menu-name-label howto open-label" for="menu-name">
  									<span><?php _e('Menu Name'); ?></span>
! 									<input name="menu-name" id="menu-name" type="text" class="menu-name regular-text menu-item-textbox input-with-default-title" title="<?php esc_attr_e('Enter menu name here'); ?>" value="<?php echo esc_attr( $nav_menu_selected_title  ); ?>" />
  								</label>
  								<?php if ( !empty( $nav_menu_selected_id ) ) :
  									if ( ! isset( $auto_add ) ) {
--- 545,551 ----
  							<div class="major-publishing-actions">
  								<label class="menu-name-label howto open-label" for="menu-name">
  									<span><?php _e('Menu Name'); ?></span>
! 									<input name="menu-name" id="menu-name" type="text" class="menu-name regular-text menu-item-textbox input-with-default-title" title="<?php esc_attr_e('Enter menu name here'); ?>" value="<?php echo esc_attr( $nav_menu_selected_title ); ?>" />
  								</label>
  								<?php if ( !empty( $nav_menu_selected_id ) ) :
  									if ( ! isset( $auto_add ) ) {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/about.php ./wordpress-3.4/wp-admin/network/about.php
*** ./wordpress-3.3.2/wp-admin/network/about.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/about.php	2012-01-06 12:08:45.000000000 -0600
***************
*** 0 ****
--- 1,16 ----
+ <?php
+ /**
+  * Network About administration panel.
+  *
+  * @package WordPress
+  * @subpackage Multisite
+  * @since 3.4.0
+  */
+ 
+ /** Load WordPress Administration Bootstrap */
+ require_once( './admin.php' );
+ 
+ if ( ! is_multisite() )
+ 	wp_die( __( 'Multisite support is not enabled.' ) );
+ 
+ require( '../about.php' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/admin.php ./wordpress-3.4/wp-admin/network/admin.php
*** ./wordpress-3.3.2/wp-admin/network/admin.php	2011-04-20 15:19:50.000000000 -0500
--- ./wordpress-3.4/wp-admin/network/admin.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 7,13 ****
   * @since 3.1.0
   */
  
! define( 'WP_NETWORK_ADMIN', TRUE );
  
  /** Load WordPress Administration Bootstrap */
  require_once( dirname( dirname( __FILE__ ) ) . '/admin.php' );
--- 7,13 ----
   * @since 3.1.0
   */
  
! define( 'WP_NETWORK_ADMIN', true );
  
  /** Load WordPress Administration Bootstrap */
  require_once( dirname( dirname( __FILE__ ) ) . '/admin.php' );
***************
*** 22,25 ****
  	exit;
  }
  unset( $redirect_network_admin_request );
- ?>
--- 22,24 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/credits.php ./wordpress-3.4/wp-admin/network/credits.php
*** ./wordpress-3.3.2/wp-admin/network/credits.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/credits.php	2012-01-06 12:08:45.000000000 -0600
***************
*** 0 ****
--- 1,16 ----
+ <?php
+ /**
+  * Network Credits administration panel.
+  *
+  * @package WordPress
+  * @subpackage Multisite
+  * @since 3.4.0
+  */
+ 
+ /** Load WordPress Administration Bootstrap */
+ require_once( './admin.php' );
+ 
+ if ( ! is_multisite() )
+ 	wp_die( __( 'Multisite support is not enabled.' ) );
+ 
+ require( '../credits.php' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/edit.php ./wordpress-3.4/wp-admin/network/edit.php
*** ./wordpress-3.3.2/wp-admin/network/edit.php	2011-08-18 01:17:47.000000000 -0500
--- ./wordpress-3.4/wp-admin/network/edit.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 25,29 ****
  
  wp_redirect( network_admin_url() );
  exit();
- 
- ?>
--- 25,27 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/freedoms.php ./wordpress-3.4/wp-admin/network/freedoms.php
*** ./wordpress-3.3.2/wp-admin/network/freedoms.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/freedoms.php	2012-01-06 12:08:45.000000000 -0600
***************
*** 0 ****
--- 1,16 ----
+ <?php
+ /**
+  * Network Freedoms administration panel.
+  *
+  * @package WordPress
+  * @subpackage Multisite
+  * @since 3.4.0
+  */
+ 
+ /** Load WordPress Administration Bootstrap */
+ require_once( './admin.php' );
+ 
+ if ( ! is_multisite() )
+ 	wp_die( __( 'Multisite support is not enabled.' ) );
+ 
+ require( '../freedoms.php' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/index-extra.php ./wordpress-3.4/wp-admin/network/index-extra.php
*** ./wordpress-3.3.2/wp-admin/network/index-extra.php	2011-01-20 17:09:37.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/index-extra.php	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,13 ****
- <?php
- /**
-  * Handle default network dashboard widgets options AJAX.
-  *
-  * @package WordPress
-  * @subpackage Multisite
-  * @since 3.1.0
-  */
- 
- /** Load WordPress Administration Bootstrap */
- require_once( './admin.php' );
- 
- require( '../index-extra.php' );
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/menu.php ./wordpress-3.4/wp-admin/network/menu.php
*** ./wordpress-3.3.2/wp-admin/network/menu.php	2011-09-30 11:47:02.000000000 -0500
--- ./wordpress-3.4/wp-admin/network/menu.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 56,66 ****
  
  unset($update_data);
  
! $submenu[ 'upgrade.php' ][10] = array( __( 'Available Updates' ), 'update_core',  'update-core.php' );
  $submenu[ 'upgrade.php' ][15] = array( __( 'Update Network' ), 'manage_network', 'upgrade.php' );
  
  $menu[99] = array( '', 'read', 'separator-last', '', 'wp-menu-separator-last' );
  
  require_once(ABSPATH . 'wp-admin/includes/menu.php');
- 
- ?>
--- 55,63 ----
  
  unset($update_data);
  
! $submenu[ 'upgrade.php' ][10] = array( __( 'Available Updates' ), 'update_core', 'update-core.php' );
  $submenu[ 'upgrade.php' ][15] = array( __( 'Update Network' ), 'manage_network', 'upgrade.php' );
  
  $menu[99] = array( '', 'read', 'separator-last', '', 'wp-menu-separator-last' );
  
  require_once(ABSPATH . 'wp-admin/includes/menu.php');
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/settings.php ./wordpress-3.4/wp-admin/network/settings.php
*** ./wordpress-3.3.2/wp-admin/network/settings.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/settings.php	2012-06-11 15:32:21.000000000 -0500
***************
*** 29,35 ****
  			'<p>' . __('Registration settings can disable/enable public signups. If you let others sign up for a site, install spam plugins. Spaces, not commas, should separate names banned as sites for this network.') . '</p>' .
  			'<p>' . __('New site settings are defaults applied when a new site is created in the network. These include welcome email for when a new site or user account is registered, and what&#8127;s put in the first post, page, comment, comment author, and comment URL.') . '</p>' .
  			'<p>' . __('Upload settings control the size of the uploaded files and the amount of available upload space for each site. You can change the default value for specific sites when you edit a particular site. Allowed file types are also listed (space separated only).') . '</p>' .
- 			'<p>' . __('Checkboxes for media upload buttons set which are shown in the visual editor. If unchecked, a generic upload button is still visible; other media types can still be uploaded if on the allowed file types list.') . '</p>' .
  			'<p>' . __('Menu setting enables/disables the plugin menus from appearing for non super admins, so that only super admins, not site admins, have access to activate plugins.') . '</p>' .
  			'<p>' . __('Super admins can no longer be added on the Options screen. You must now go to the list of existing users on Network Admin > Users and click on Username or the Edit action link below that name. This goes to an Edit User page where you can check a box to grant super admin privileges.') . '</p>'
  ) );
--- 29,34 ----
***************
*** 51,67 ****
  	if ( is_email( $_POST['admin_email'] ) )
  		update_site_option( 'admin_email', $_POST['admin_email'] );
  
! 	$illegal_names = split( ' ', $_POST['illegal_names'] );
  	foreach ( (array) $illegal_names as $name ) {
  		$name = trim( $name );
  		if ( $name != '' )
  			$names[] = trim( $name );
! 		}
  	update_site_option( 'illegal_names', $names );
  
  	if ( $_POST['limited_email_domains'] != '' ) {
  		$limited_email_domains = str_replace( ' ', "\n", $_POST['limited_email_domains'] );
! 		$limited_email_domains = split( "\n", stripslashes( $limited_email_domains ) );
  		$limited_email = array();
  		foreach ( (array) $limited_email_domains as $domain ) {
  			$domain = trim( $domain );
--- 50,66 ----
  	if ( is_email( $_POST['admin_email'] ) )
  		update_site_option( 'admin_email', $_POST['admin_email'] );
  
! 	$illegal_names = explode( ' ', $_POST['illegal_names'] );
  	foreach ( (array) $illegal_names as $name ) {
  		$name = trim( $name );
  		if ( $name != '' )
  			$names[] = trim( $name );
! 	}
  	update_site_option( 'illegal_names', $names );
  
  	if ( $_POST['limited_email_domains'] != '' ) {
  		$limited_email_domains = str_replace( ' ', "\n", $_POST['limited_email_domains'] );
! 		$limited_email_domains = explode( "\n", stripslashes( $limited_email_domains ) );
  		$limited_email = array();
  		foreach ( (array) $limited_email_domains as $domain ) {
  			$domain = trim( $domain );
***************
*** 70,80 ****
  		}
  		update_site_option( 'limited_email_domains', $limited_email );
  	} else {
! 			update_site_option( 'limited_email_domains', '' );
  	}
  
  	if ( $_POST['banned_email_domains'] != '' ) {
! 		$banned_email_domains = split( "\n", stripslashes( $_POST['banned_email_domains'] ) );
  		$banned = array();
  		foreach ( (array) $banned_email_domains as $domain ) {
  			$domain = trim( $domain );
--- 69,79 ----
  		}
  		update_site_option( 'limited_email_domains', $limited_email );
  	} else {
! 		update_site_option( 'limited_email_domains', '' );
  	}
  
  	if ( $_POST['banned_email_domains'] != '' ) {
! 		$banned_email_domains = explode( "\n", stripslashes( $_POST['banned_email_domains'] ) );
  		$banned = array();
  		foreach ( (array) $banned_email_domains as $domain ) {
  			$domain = trim( $domain );
***************
*** 125,131 ****
  				<td>
  					<input name="site_name" type="text" id="site_name" class="regular-text" value="<?php echo esc_attr( $current_site->site_name ) ?>" />
  					<br />
! 					<?php _e( 'What you would like to call this website.' ) ?>
  				</td>
  			</tr>
  
--- 124,130 ----
  				<td>
  					<input name="site_name" type="text" id="site_name" class="regular-text" value="<?php echo esc_attr( $current_site->site_name ) ?>" />
  					<br />
! 					<?php _e( 'What you would like to call this network.' ) ?>
  				</td>
  			</tr>
  
***************
*** 278,284 ****
  			<tr valign="top">
  				<th scope="row"><?php _e( 'Site upload space' ) ?></th>
  				<td>
! 				<label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( get_site_option( 'upload_space_check_disabled' ), 0 ) ?>/> <?php printf( __( 'Limit total size of files uploaded to %s MB' ), '</label><label><input name="blog_upload_space" type="text" id="blog_upload_space" value="' . esc_attr( get_site_option('blog_upload_space', 10) ) . '" size="3" />' ); ?></label><br />
  				</td>
  			</tr>
  
--- 277,283 ----
  			<tr valign="top">
  				<th scope="row"><?php _e( 'Site upload space' ) ?></th>
  				<td>
! 				<label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( get_site_option( 'upload_space_check_disabled' ), 0 ) ?>/> <?php printf( __( 'Limit total size of files uploaded to %s MB' ), '</label><label><input name="blog_upload_space" type="number" min="0" style="width: 100px" id="blog_upload_space" value="' . esc_attr( get_site_option('blog_upload_space', 100) ) . '" />' ); ?></label><br />
  				</td>
  			</tr>
  
***************
*** 289,295 ****
  
  			<tr valign="top">
  				<th scope="row"><label for="fileupload_maxk"><?php _e( 'Max upload file size' ) ?></label></th>
! 				<td><?php printf( _x( '%s KB', 'File size in kilobytes' ), '<input name="fileupload_maxk" type="text" id="fileupload_maxk" value="' . esc_attr( get_site_option( 'fileupload_maxk', 300 ) ) . '" size="5" />' ); ?></td>
  			</tr>
  		</table>
  
--- 288,294 ----
  
  			<tr valign="top">
  				<th scope="row"><label for="fileupload_maxk"><?php _e( 'Max upload file size' ) ?></label></th>
! 				<td><?php printf( _x( '%s KB', 'File size in kilobytes' ), '<input name="fileupload_maxk" type="number" min="0" style="width: 100px" id="fileupload_maxk" value="' . esc_attr( get_site_option( 'fileupload_maxk', 300 ) ) . '" />' ); ?></td>
  			</tr>
  		</table>
  
***************
*** 322,328 ****
  			$menu_perms = get_site_option( 'menu_items' );
  			$menu_items = apply_filters( 'mu_menu_items', array( 'plugins' => __( 'Plugins' ) ) );
  			foreach ( (array) $menu_items as $key => $val ) {
! 				echo "<label><input type='checkbox' name='menu_items[" . $key . "]' value='1'" .  ( isset( $menu_perms[$key] ) ? checked( $menu_perms[$key], '1', false ) : '' ) . " /> " . esc_html( $val ) . "</label><br/>";
  			}
  			?>
  				</td>
--- 321,327 ----
  			$menu_perms = get_site_option( 'menu_items' );
  			$menu_items = apply_filters( 'mu_menu_items', array( 'plugins' => __( 'Plugins' ) ) );
  			foreach ( (array) $menu_items as $key => $val ) {
! 				echo "<label><input type='checkbox' name='menu_items[" . $key . "]' value='1'" . ( isset( $menu_perms[$key] ) ? checked( $menu_perms[$key], '1', false ) : '' ) . " /> " . esc_html( $val ) . "</label><br/>";
  			}
  			?>
  				</td>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/site-info.php ./wordpress-3.4/wp-admin/network/site-info.php
*** ./wordpress-3.3.2/wp-admin/network/site-info.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/site-info.php	2012-05-03 08:34:33.000000000 -0500
***************
*** 29,35 ****
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
--- 29,35 ----
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
***************
*** 108,114 ****
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' .  esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3>
--- 108,114 ----
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/site-new.php ./wordpress-3.4/wp-admin/network/site-new.php
*** ./wordpress-3.3.2/wp-admin/network/site-new.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/site-new.php	2012-05-03 08:34:33.000000000 -0500
***************
*** 26,32 ****
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
--- 26,32 ----
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
***************
*** 123,129 ****
  			<th scope="row"><?php _e( 'Site Address' ) ?></th>
  			<td>
  			<?php if ( is_subdomain_install() ) { ?>
! 				<input name="blog[domain]" type="text" class="regular-text" title="<?php esc_attr_e( 'Domain' ) ?>"/>.<?php echo preg_replace( '|^www\.|', '', $current_site->domain );?>
  			<?php } else {
  				echo $current_site->domain . $current_site->path ?><input name="blog[domain]" class="regular-text" type="text" title="<?php esc_attr_e( 'Domain' ) ?>"/>
  			<?php }
--- 123,129 ----
  			<th scope="row"><?php _e( 'Site Address' ) ?></th>
  			<td>
  			<?php if ( is_subdomain_install() ) { ?>
! 				<input name="blog[domain]" type="text" class="regular-text" title="<?php esc_attr_e( 'Domain' ) ?>"/><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span>
  			<?php } else {
  				echo $current_site->domain . $current_site->path ?><input name="blog[domain]" class="regular-text" type="text" title="<?php esc_attr_e( 'Domain' ) ?>"/>
  			<?php }
***************
*** 148,151 ****
  </div>
  <?php
  require('../admin-footer.php');
- ?>
--- 148,150 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/site-settings.php ./wordpress-3.4/wp-admin/network/site-settings.php
*** ./wordpress-3.3.2/wp-admin/network/site-settings.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/site-settings.php	2012-05-03 08:34:33.000000000 -0500
***************
*** 29,35 ****
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
--- 29,35 ----
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
***************
*** 98,104 ****
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' .  esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3>
--- 98,104 ----
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/sites.php ./wordpress-3.4/wp-admin/network/sites.php
*** ./wordpress-3.3.2/wp-admin/network/sites.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/sites.php	2012-06-05 13:51:33.000000000 -0500
***************
*** 42,48 ****
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
--- 42,48 ----
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
***************
*** 78,86 ****
  				if ( ! current_user_can( 'manage_sites' ) )
  					wp_die( __( 'You do not have permission to access this page.' ) );
  
! 				if ( $_GET['action'] != -1 || $_POST['action2'] != -1 )
! 					$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
! 
  				$blogfunction = '';
  
  				foreach ( (array) $_POST['allblogs'] as $key => $val ) {
--- 78,84 ----
  				if ( ! current_user_can( 'manage_sites' ) )
  					wp_die( __( 'You do not have permission to access this page.' ) );
  
! 				$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
  				$blogfunction = '';
  
  				foreach ( (array) $_POST['allblogs'] as $key => $val ) {
***************
*** 210,216 ****
  				wp_die( __( 'You are not allowed to change the current site.' ) );
  			?>
  			<!DOCTYPE html>
! 			<html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) ) language_attributes(); ?>>
  				<head>
  					<title><?php _e( 'WordPress &rsaquo; Confirm your action' ); ?></title>
  
--- 208,214 ----
  				wp_die( __( 'You are not allowed to change the current site.' ) );
  			?>
  			<!DOCTYPE html>
! 			<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
  				<head>
  					<title><?php _e( 'WordPress &rsaquo; Confirm your action' ); ?></title>
  
***************
*** 221,227 ****
  					?>
  				</head>
  				<body>
! 					<h1 id="logo"><img alt="WordPress" src="<?php echo esc_attr( admin_url( 'images/wordpress-logo.png' ) ); ?>" /></h1>
  					<form action="sites.php?action=<?php echo esc_attr( $_GET['action2'] ) ?>" method="post">
  						<input type="hidden" name="action" value="<?php echo esc_attr( $_GET['action2'] ) ?>" />
  						<input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" />
--- 219,225 ----
  					?>
  				</head>
  				<body>
! 					<h1 id="logo"><img alt="WordPress" src="<?php echo esc_attr( admin_url( 'images/wordpress-logo.png?ver=20120216' ) ); ?>" /></h1>
  					<form action="sites.php?action=<?php echo esc_attr( $_GET['action2'] ) ?>" method="post">
  						<input type="hidden" name="action" value="<?php echo esc_attr( $_GET['action2'] ) ?>" />
  						<input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" />
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/site-themes.php ./wordpress-3.4/wp-admin/network/site-themes.php
*** ./wordpress-3.3.2/wp-admin/network/site-themes.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/site-themes.php	2012-05-03 08:34:33.000000000 -0500
***************
*** 34,40 ****
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
--- 34,40 ----
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
***************
*** 152,158 ****
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' .  esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3><?php
--- 152,158 ----
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3><?php
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/site-users.php ./wordpress-3.4/wp-admin/network/site-users.php
*** ./wordpress-3.3.2/wp-admin/network/site-users.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/site-users.php	2012-06-05 13:51:33.000000000 -0500
***************
*** 32,38 ****
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
--- 32,38 ----
  
  get_current_screen()->set_help_sidebar(
  	'<p><strong>' . __('For more information:') . '</strong></p>' .
! 	'<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
  	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
  );
  
***************
*** 171,178 ****
--- 171,188 ----
  $parent_file = 'sites.php';
  $submenu_file = 'sites.php';
  
+ if ( ! wp_is_large_network( 'users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) )
+ 	wp_enqueue_script( 'user-suggest' );
+ 
  require('../admin-header.php'); ?>
  
+ <script type='text/javascript'>
+ /* <![CDATA[ */
+ var current_site_id = <?php echo $id; ?>;
+ /* ]]> */
+ </script>
+ 
+ 
  <div class="wrap">
  <?php screen_icon('ms-admin'); ?>
  <h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
***************
*** 186,192 ****
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' .  esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3><?php
--- 196,202 ----
  );
  foreach ( $tabs as $tab_id => $tab ) {
  	$class = ( $tab['url'] == $pagenow ) ? ' nav-tab-active' : '';
! 	echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' . esc_html( $tab['label'] ) . '</a>';
  }
  ?>
  </h3><?php
***************
*** 257,263 ****
  	<table class="form-table">
  		<tr>
  			<th scope="row"><?php _e( 'Username' ); ?></th>
! 			<td><input type="text" class="regular-text" name="newuser" id="newuser" /></td>
  		</tr>
  		<tr>
  			<th scope="row"><?php _e( 'Role'); ?></th>
--- 267,273 ----
  	<table class="form-table">
  		<tr>
  			<th scope="row"><?php _e( 'Username' ); ?></th>
! 			<td><input type="text" class="regular-text wp-suggest-user" name="newuser" id="newuser" /></td>
  		</tr>
  		<tr>
  			<th scope="row"><?php _e( 'Role'); ?></th>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/themes.php ./wordpress-3.4/wp-admin/network/themes.php
*** ./wordpress-3.3.2/wp-admin/network/themes.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/themes.php	2012-06-12 10:31:25.000000000 -0500
***************
*** 40,46 ****
  			check_admin_referer('enable-theme_' . $_GET['theme']);
  			$allowed_themes[ $_GET['theme'] ] = true;
  			update_site_option( 'allowedthemes', $allowed_themes );
! 			wp_redirect( network_admin_url( 'themes.php?enabled=1' ) );
  			exit;
  			break;
  		case 'disable':
--- 40,49 ----
  			check_admin_referer('enable-theme_' . $_GET['theme']);
  			$allowed_themes[ $_GET['theme'] ] = true;
  			update_site_option( 'allowedthemes', $allowed_themes );
! 			if ( false === strpos( $referer, '/network/themes.php' ) )
! 				wp_redirect( network_admin_url( 'themes.php?enabled=1' ) );
! 			else
! 				wp_safe_redirect( add_query_arg( 'enabled', 1, $referer ) );
  			exit;
  			break;
  		case 'disable':
***************
*** 111,136 ****
  
  			$themes = isset( $_REQUEST['checked'] ) ? (array) $_REQUEST['checked'] : array();
  
! 			if ( isset( $themes[ get_option( 'template' ) ] ) )
! 				unset( $themes[ get_option( 'template' ) ] );
! 			if ( isset( $themes[ get_option( 'stylesheet' ) ] ) )
! 				unset( $themes[ get_option( 'stylesheet' ) ] );
  
  			if ( empty( $themes ) ) {
  				wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) );
  				exit;
  			}
  
- 			$main_theme = get_current_theme();
  			$files_to_delete = $theme_info = array();
  			foreach ( $themes as $key => $theme ) {
! 				$data = get_theme_data( WP_CONTENT_DIR . '/themes/' . $theme . '/style.css' );
! 				if ( $data['Name'] == $main_theme ) {
! 					unset( $themes[$key] );
! 				} else {
! 					$files_to_delete = array_merge( $files_to_delete, list_files( WP_CONTENT_DIR . "/themes/$theme" ) );
! 					$theme_info[ $theme ] = $data;
! 				}
  			}
  
  			if ( empty( $themes ) ) {
--- 113,129 ----
  
  			$themes = isset( $_REQUEST['checked'] ) ? (array) $_REQUEST['checked'] : array();
  
! 			unset( $themes[ get_option( 'stylesheet' ) ], $themes[ get_option( 'template' ) ] );
  
  			if ( empty( $themes ) ) {
  				wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) );
  				exit;
  			}
  
  			$files_to_delete = $theme_info = array();
  			foreach ( $themes as $key => $theme ) {
! 				$theme_info[ $theme ] = wp_get_theme( $theme );
! 				$files_to_delete = array_merge( $files_to_delete, list_files( $theme_info[ $theme ]->get_stylesheet_directory() ) );
  			}
  
  			if ( empty( $themes ) ) {
***************
*** 156,162 ****
  				<p><?php echo _n( 'You are about to remove the following theme:', 'You are about to remove the following themes:', $themes_to_delete ); ?></p>
  					<ul class="ul-disc">
  						<?php foreach ( $theme_info as $theme )
! 							echo '<li>', sprintf( __('<strong>%1$s</strong> by <em>%2$s</em>' ), esc_html( $theme['Name'] ), esc_html( $theme['AuthorName'] ) ), '</li>'; /* translators: 1: theme name, 2: theme author */ ?>
  					</ul>
  				<p><?php _e('Are you sure you wish to delete these themes?'); ?></p>
  				<form method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" style="display:inline;">
--- 149,155 ----
  				<p><?php echo _n( 'You are about to remove the following theme:', 'You are about to remove the following themes:', $themes_to_delete ); ?></p>
  					<ul class="ul-disc">
  						<?php foreach ( $theme_info as $theme )
! 							echo '<li>', sprintf( __('<strong>%1$s</strong> by <em>%2$s</em>' ), $theme->display('Name'), $theme->display('Author') ), '</li>'; /* translators: 1: theme name, 2: theme author */ ?>
  					</ul>
  				<p><?php _e('Are you sure you wish to delete these themes?'); ?></p>
  				<form method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" style="display:inline;">
***************
*** 254,260 ****
  <?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
  </form>
  
! <?php $wp_list_table->views(); ?>
  
  <form method="post" action="">
  <input type="hidden" name="theme_status" value="<?php echo esc_attr($status) ?>" />
--- 247,258 ----
  <?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
  </form>
  
! <?php
! $wp_list_table->views();
! 
! if ( 'broken' == $status )
! 	echo '<p class="clear">' . __('The following themes are installed but incomplete. Themes must have a stylesheet and a template.') . '</p>';
! ?>
  
  <form method="post" action="">
  <input type="hidden" name="theme_status" value="<?php echo esc_attr($status) ?>" />
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/user-new.php ./wordpress-3.4/wp-admin/network/user-new.php
*** ./wordpress-3.3.2/wp-admin/network/user-new.php	2011-12-08 17:02:33.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/user-new.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 106,109 ****
  </div>
  <?php
  require('../admin-footer.php');
- ?>
--- 105,107 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network/users.php ./wordpress-3.4/wp-admin/network/users.php
*** ./wordpress-3.3.2/wp-admin/network/users.php	2011-12-10 12:26:48.000000000 -0600
--- ./wordpress-3.4/wp-admin/network/users.php	2012-06-05 13:51:33.000000000 -0500
***************
*** 40,46 ****
  				wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) );
  
  			if ( in_array( $delete_user->user_login, $site_admins ) )
! 				wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $delete_user->user_login ) );
  
  			echo "<input type='hidden' name='user[]' value='{$val}'/>\n";
  			$blogs = get_blogs_of_user( $val, true );
--- 40,46 ----
  				wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) );
  
  			if ( in_array( $delete_user->user_login, $site_admins ) )
! 				wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network administrator.' ), $delete_user->user_login ) );
  
  			echo "<input type='hidden' name='user[]' value='{$val}'/>\n";
  			$blogs = get_blogs_of_user( $val, true );
***************
*** 119,127 ****
  			if ( ( isset( $_POST['action']) || isset($_POST['action2'] ) ) && isset( $_POST['allusers'] ) ) {
  				check_admin_referer( 'bulk-users-network' );
  
! 				if ( $_GET['action'] != -1 || $_POST['action2'] != -1 )
! 					$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
! 
  				$userfunction = '';
  
  				foreach ( (array) $_POST['allusers'] as $key => $val ) {
--- 119,125 ----
  			if ( ( isset( $_POST['action']) || isset($_POST['action2'] ) ) && isset( $_POST['allusers'] ) ) {
  				check_admin_referer( 'bulk-users-network' );
  
! 				$doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
  				$userfunction = '';
  
  				foreach ( (array) $_POST['allusers'] as $key => $val ) {
***************
*** 136,144 ****
  								echo '<div class="wrap">';
  								confirm_delete_users( $_POST['allusers'] );
  								echo '</div>';
! 					            require_once( '../admin-footer.php' );
! 					            exit();
! 	       					break;
  
  							case 'spam':
  								$user = new WP_User( $val );
--- 134,142 ----
  								echo '<div class="wrap">';
  								confirm_delete_users( $_POST['allusers'] );
  								echo '</div>';
! 								require_once( '../admin-footer.php' );
! 								exit();
! 							break;
  
  							case 'spam':
  								$user = new WP_User( $val );
***************
*** 290,296 ****
  	<?php $wp_list_table->views(); ?>
  
  	<form action="" method="get" class="search-form">
! 		<?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
  	</form>
  
  	<form id="form-user-list" action='users.php?action=allusers' method='post'>
--- 288,294 ----
  	<?php $wp_list_table->views(); ?>
  
  	<form action="" method="get" class="search-form">
! 		<?php $wp_list_table->search_box( __( 'Search Users' ), 'all-user' ); ?>
  	</form>
  
  	<form id="form-user-list" action='users.php?action=allusers' method='post'>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/network.php ./wordpress-3.4/wp-admin/network.php
*** ./wordpress-3.3.2/wp-admin/network.php	2011-12-08 10:49:16.000000000 -0600
--- ./wordpress-3.4/wp-admin/network.php	2012-02-20 10:35:03.000000000 -0600
***************
*** 367,379 ****
  			?></p></li>
  			<li><p><?php printf( __( 'Add the following to your <code>wp-config.php</code> file in <code>%s</code> <strong>above</strong> the line reading <code>/* That&#8217;s all, stop editing! Happy blogging. */</code>:' ), ABSPATH ); ?></p>
  				<textarea class="code" readonly="readonly" cols="100" rows="7">
! define( 'MULTISITE', true );
! define( 'SUBDOMAIN_INSTALL', <?php echo $subdomain_install ? 'true' : 'false'; ?> );
  $base = '<?php echo $base; ?>';
! define( 'DOMAIN_CURRENT_SITE', '<?php echo $hostname; ?>' );
! define( 'PATH_CURRENT_SITE', '<?php echo $base; ?>' );
! define( 'SITE_ID_CURRENT_SITE', 1 );
! define( 'BLOG_ID_CURRENT_SITE', 1 );</textarea>
  <?php
  	$keys_salts = array( 'AUTH_KEY' => '', 'SECURE_AUTH_KEY' => '', 'LOGGED_IN_KEY' => '', 'NONCE_KEY' => '', 'AUTH_SALT' => '', 'SECURE_AUTH_SALT' => '', 'LOGGED_IN_SALT' => '', 'NONCE_SALT' => '' );
  	foreach ( $keys_salts as $c => $v ) {
--- 367,379 ----
  			?></p></li>
  			<li><p><?php printf( __( 'Add the following to your <code>wp-config.php</code> file in <code>%s</code> <strong>above</strong> the line reading <code>/* That&#8217;s all, stop editing! Happy blogging. */</code>:' ), ABSPATH ); ?></p>
  				<textarea class="code" readonly="readonly" cols="100" rows="7">
! define('MULTISITE', true);
! define('SUBDOMAIN_INSTALL', <?php echo $subdomain_install ? 'true' : 'false'; ?>);
  $base = '<?php echo $base; ?>';
! define('DOMAIN_CURRENT_SITE', '<?php echo $hostname; ?>');
! define('PATH_CURRENT_SITE', '<?php echo $base; ?>');
! define('SITE_ID_CURRENT_SITE', 1);
! define('BLOG_ID_CURRENT_SITE', 1);</textarea>
  <?php
  	$keys_salts = array( 'AUTH_KEY' => '', 'SECURE_AUTH_KEY' => '', 'LOGGED_IN_KEY' => '', 'NONCE_KEY' => '', 'AUTH_SALT' => '', 'SECURE_AUTH_SALT' => '', 'LOGGED_IN_SALT' => '', 'NONCE_SALT' => '' );
  	foreach ( $keys_salts as $c => $v ) {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-discussion.php ./wordpress-3.4/wp-admin/options-discussion.php
*** ./wordpress-3.3.2/wp-admin/options-discussion.php	2011-11-30 18:52:31.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-discussion.php	2012-03-15 23:36:12.000000000 -0500
***************
*** 71,77 ****
  
  <label for="close_comments_for_old_posts">
  <input name="close_comments_for_old_posts" type="checkbox" id="close_comments_for_old_posts" value="1" <?php checked('1', get_option('close_comments_for_old_posts')); ?> />
! <?php printf( __('Automatically close comments on articles older than %s days'), '</label><input name="close_comments_days_old" type="text" id="close_comments_days_old" value="' . esc_attr(get_option('close_comments_days_old')) . '" class="small-text" />'); ?>
  <br />
  <label for="thread_comments">
  <input name="thread_comments" type="checkbox" id="thread_comments" value="1" <?php checked('1', get_option('thread_comments')); ?> />
--- 71,77 ----
  
  <label for="close_comments_for_old_posts">
  <input name="close_comments_for_old_posts" type="checkbox" id="close_comments_for_old_posts" value="1" <?php checked('1', get_option('close_comments_for_old_posts')); ?> />
! <?php printf( __('Automatically close comments on articles older than %s days'), '</label><input name="close_comments_days_old" type="number" min="0" step="1" id="close_comments_days_old" value="' . esc_attr(get_option('close_comments_days_old')) . '" class="small-text" />'); ?>
  <br />
  <label for="thread_comments">
  <input name="thread_comments" type="checkbox" id="thread_comments" value="1" <?php checked('1', get_option('thread_comments')); ?> />
***************
*** 100,106 ****
  if ( 'oldest' == get_option('default_comments_page') ) $default_comments_page .= ' selected="selected"';
  $default_comments_page .= '>' . __('first') . '</option></select>';
  
! printf( __('Break comments into pages with %1$s top level comments per page and the %2$s page displayed by default'), '</label><label for="comments_per_page"><input name="comments_per_page" type="text" id="comments_per_page" value="' . esc_attr(get_option('comments_per_page')) . '" class="small-text" />', $default_comments_page );
  
  ?></label>
  <br />
--- 100,106 ----
  if ( 'oldest' == get_option('default_comments_page') ) $default_comments_page .= ' selected="selected"';
  $default_comments_page .= '>' . __('first') . '</option></select>';
  
! printf( __('Break comments into pages with %1$s top level comments per page and the %2$s page displayed by default'), '</label><label for="comments_per_page"><input name="comments_per_page" type="number" step="1" min="0" id="comments_per_page" value="' . esc_attr(get_option('comments_per_page')) . '" class="small-text" />', $default_comments_page );
  
  ?></label>
  <br />
***************
*** 142,148 ****
  <tr valign="top">
  <th scope="row"><?php _e('Comment Moderation'); ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e('Comment Moderation'); ?></span></legend>
! <p><label for="comment_max_links"><?php printf(__('Hold a comment in the queue if it contains %s or more links. (A common characteristic of comment spam is a large number of hyperlinks.)'), '<input name="comment_max_links" type="text" id="comment_max_links" value="' . esc_attr(get_option('comment_max_links')) . '" class="small-text" />' ); ?></label></p>
  
  <p><label for="moderation_keys"><?php _e('When a comment contains any of these words in its content, name, URL, e-mail, or IP, it will be held in the <a href="edit-comments.php?comment_status=moderated">moderation queue</a>. One word or IP per line. It will match inside words, so &#8220;press&#8221; will match &#8220;WordPress&#8221;.'); ?></label></p>
  <p>
--- 142,148 ----
  <tr valign="top">
  <th scope="row"><?php _e('Comment Moderation'); ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e('Comment Moderation'); ?></span></legend>
! <p><label for="comment_max_links"><?php printf(__('Hold a comment in the queue if it contains %s or more links. (A common characteristic of comment spam is a large number of hyperlinks.)'), '<input name="comment_max_links" type="number" step="1" min="0" id="comment_max_links" value="' . esc_attr(get_option('comment_max_links')) . '" class="small-text" />' ); ?></label></p>
  
  <p><label for="moderation_keys"><?php _e('When a comment contains any of these words in its content, name, URL, e-mail, or IP, it will be held in the <a href="edit-comments.php?comment_status=moderated">moderation queue</a>. One word or IP per line. It will match inside words, so &#8220;press&#8221; will match &#8220;WordPress&#8221;.'); ?></label></p>
  <p>
***************
*** 164,170 ****
  
  <h3><?php _e('Avatars'); ?></h3>
  
! <p><?php _e('An avatar is an image that follows you from weblog to weblog appearing beside your name when you comment on avatar enabled sites.  Here you can enable the display of avatars for people who comment on your site.'); ?></p>
  
  <?php // the above would be a good place to link to codex documentation on the gravatar functions, for putting it in themes. anything like that? ?>
  
--- 164,170 ----
  
  <h3><?php _e('Avatars'); ?></h3>
  
! <p><?php _e('An avatar is an image that follows you from weblog to weblog appearing beside your name when you comment on avatar enabled sites. Here you can enable the display of avatars for people who comment on your site.'); ?></p>
  
  <?php // the above would be a good place to link to codex documentation on the gravatar functions, for putting it in themes. anything like that? ?>
  
***************
*** 228,234 ****
  $avatar_list = '';
  foreach ( $avatar_defaults as $default_key => $default_name ) {
  	$selected = ($default == $default_key) ? 'checked="checked" ' : '';
! 	$avatar_list .= "\n\t<label><input type='radio' name='avatar_default' id='avatar_{$default_key}' value='" . esc_attr($default_key)  . "' {$selected}/> ";
  
  	$avatar = get_avatar( $user_email, $size, $default_key );
  	$avatar_list .= preg_replace("/src='(.+?)'/", "src='\$1&amp;forcedefault=1'", $avatar);
--- 228,234 ----
  $avatar_list = '';
  foreach ( $avatar_defaults as $default_key => $default_name ) {
  	$selected = ($default == $default_key) ? 'checked="checked" ' : '';
! 	$avatar_list .= "\n\t<label><input type='radio' name='avatar_default' id='avatar_{$default_key}' value='" . esc_attr($default_key) . "' {$selected}/> ";
  
  	$avatar = get_avatar( $user_email, $size, $default_key );
  	$avatar_list .= preg_replace("/src='(.+?)'/", "src='\$1&amp;forcedefault=1'", $avatar);
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-general.php ./wordpress-3.4/wp-admin/options-general.php
*** ./wordpress-3.3.2/wp-admin/options-general.php	2011-12-01 22:31:01.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-general.php	2012-04-25 19:58:16.000000000 -0500
***************
*** 98,105 ****
  </tr>
  <tr valign="top">
  <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th>
! <td><input name="blogdescription" type="text" id="blogdescription"  value="<?php form_option('blogdescription'); ?>" class="regular-text" />
! <span class="description"><?php _e('In a few words, explain what this site is about.') ?></span></td>
  </tr>
  <?php if ( !is_multisite() ) { ?>
  <tr valign="top">
--- 98,105 ----
  </tr>
  <tr valign="top">
  <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th>
! <td><input name="blogdescription" type="text" id="blogdescription" value="<?php form_option('blogdescription'); ?>" class="regular-text" />
! <p class="description"><?php _e('In a few words, explain what this site is about.') ?></p></td>
  </tr>
  <?php if ( !is_multisite() ) { ?>
  <tr valign="top">
***************
*** 109,120 ****
  <tr valign="top">
  <th scope="row"><label for="home"><?php _e('Site Address (URL)') ?></label></th>
  <td><input name="home" type="text" id="home" value="<?php form_option('home'); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
! <span class="description"><?php _e('Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.'); ?></span></td>
  </tr>
  <tr valign="top">
  <th scope="row"><label for="admin_email"><?php _e('E-mail Address') ?> </label></th>
! <td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text" />
! <span class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></span></td>
  </tr>
  <tr valign="top">
  <th scope="row"><?php _e('Membership') ?></th>
--- 109,120 ----
  <tr valign="top">
  <th scope="row"><label for="home"><?php _e('Site Address (URL)') ?></label></th>
  <td><input name="home" type="text" id="home" value="<?php form_option('home'); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
! <p class="description"><?php _e('Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.'); ?></p></td>
  </tr>
  <tr valign="top">
  <th scope="row"><label for="admin_email"><?php _e('E-mail Address') ?> </label></th>
! <td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
! <p class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></p></td>
  </tr>
  <tr valign="top">
  <th scope="row"><?php _e('Membership') ?></th>
***************
*** 132,139 ****
  <?php } else { ?>
  <tr valign="top">
  <th scope="row"><label for="new_admin_email"><?php _e('E-mail Address') ?> </label></th>
! <td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text code" />
! <span class="description"><?php _e('This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>') ?></span>
  <?php
  $new_admin_email = get_option( 'new_admin_email' );
  if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?>
--- 132,139 ----
  <?php } else { ?>
  <tr valign="top">
  <th scope="row"><label for="new_admin_email"><?php _e('E-mail Address') ?> </label></th>
! <td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
! <p class="description"><?php _e('This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>') ?></p>
  <?php
  $new_admin_email = get_option( 'new_admin_email' );
  if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?>
***************
*** 151,157 ****
  
  $check_zone_info = true;
  
! // Remove old Etc mappings.  Fallback to gmt_offset.
  if ( false !== strpos($tzstring,'Etc/GMT') )
  	$tzstring = '';
  
--- 151,157 ----
  
  $check_zone_info = true;
  
! // Remove old Etc mappings. Fallback to gmt_offset.
  if ( false !== strpos($tzstring,'Etc/GMT') )
  	$tzstring = '';
  
***************
*** 177,184 ****
  <?php if ( get_option('timezone_string') || !empty($current_offset) ) : ?>
  	<span id="local-time"><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span>
  <?php endif; ?>
! <br />
! <span class="description"><?php _e('Choose a city in the same timezone as you.'); ?></span>
  <?php if ($check_zone_info && $tzstring) : ?>
  <br />
  <span>
--- 177,183 ----
  <?php if ( get_option('timezone_string') || !empty($current_offset) ) : ?>
  	<span id="local-time"><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span>
  <?php endif; ?>
! <p class="description"><?php _e('Choose a city in the same timezone as you.'); ?></p>
  <?php if ($check_zone_info && $tzstring) : ?>
  <br />
  <span>
***************
*** 211,217 ****
  			echo ' ';
  			$message = $tr['isdst'] ?
  				__('Daylight saving time begins on: <code>%s</code>.') :
! 				__('Standard time begins  on: <code>%s</code>.');
  			// Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n().
  			printf( $message, date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $tr['ts'] + ($tz_offset - $tr['offset']) ) );
  		} else {
--- 210,216 ----
  			echo ' ';
  			$message = $tr['isdst'] ?
  				__('Daylight saving time begins on: <code>%s</code>.') :
! 				__('Standard time begins on: <code>%s</code>.');
  			// Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n().
  			printf( $message, date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $tr['ts'] + ($tz_offset - $tr['offset']) ) );
  		} else {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-head.php ./wordpress-3.4/wp-admin/options-head.php
*** ./wordpress-3.3.2/wp-admin/options-head.php	2010-12-03 04:59:20.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-head.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 17,21 ****
  }
  
  settings_errors();
- 
- ?>
\ No newline at end of file
--- 17,19 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-media.php ./wordpress-3.4/wp-admin/options-media.php
*** ./wordpress-3.3.2/wp-admin/options-media.php	2011-11-30 18:52:31.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-media.php	2012-04-25 19:58:16.000000000 -0500
***************
*** 60,68 ****
  <th scope="row"><?php _e('Thumbnail size') ?></th>
  <td>
  <label for="thumbnail_size_w"><?php _e('Width'); ?></label>
! <input name="thumbnail_size_w" type="text" id="thumbnail_size_w" value="<?php form_option('thumbnail_size_w'); ?>" class="small-text" />
  <label for="thumbnail_size_h"><?php _e('Height'); ?></label>
! <input name="thumbnail_size_h" type="text" id="thumbnail_size_h" value="<?php form_option('thumbnail_size_h'); ?>" class="small-text" /><br />
  <input name="thumbnail_crop" type="checkbox" id="thumbnail_crop" value="1" <?php checked('1', get_option('thumbnail_crop')); ?>/>
  <label for="thumbnail_crop"><?php _e('Crop thumbnail to exact dimensions (normally thumbnails are proportional)'); ?></label>
  </td>
--- 60,68 ----
  <th scope="row"><?php _e('Thumbnail size') ?></th>
  <td>
  <label for="thumbnail_size_w"><?php _e('Width'); ?></label>
! <input name="thumbnail_size_w" type="number" step="1" min="0" id="thumbnail_size_w" value="<?php form_option('thumbnail_size_w'); ?>" class="small-text" />
  <label for="thumbnail_size_h"><?php _e('Height'); ?></label>
! <input name="thumbnail_size_h" type="number" step="1" min="0" id="thumbnail_size_h" value="<?php form_option('thumbnail_size_h'); ?>" class="small-text" /><br />
  <input name="thumbnail_crop" type="checkbox" id="thumbnail_crop" value="1" <?php checked('1', get_option('thumbnail_crop')); ?>/>
  <label for="thumbnail_crop"><?php _e('Crop thumbnail to exact dimensions (normally thumbnails are proportional)'); ?></label>
  </td>
***************
*** 72,80 ****
  <th scope="row"><?php _e('Medium size') ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e('Medium size'); ?></span></legend>
  <label for="medium_size_w"><?php _e('Max Width'); ?></label>
! <input name="medium_size_w" type="text" id="medium_size_w" value="<?php form_option('medium_size_w'); ?>" class="small-text" />
  <label for="medium_size_h"><?php _e('Max Height'); ?></label>
! <input name="medium_size_h" type="text" id="medium_size_h" value="<?php form_option('medium_size_h'); ?>" class="small-text" />
  </fieldset></td>
  </tr>
  
--- 72,80 ----
  <th scope="row"><?php _e('Medium size') ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e('Medium size'); ?></span></legend>
  <label for="medium_size_w"><?php _e('Max Width'); ?></label>
! <input name="medium_size_w" type="number" step="1" min="0" id="medium_size_w" value="<?php form_option('medium_size_w'); ?>" class="small-text" />
  <label for="medium_size_h"><?php _e('Max Height'); ?></label>
! <input name="medium_size_h" type="number" step="1" min="0" id="medium_size_h" value="<?php form_option('medium_size_h'); ?>" class="small-text" />
  </fieldset></td>
  </tr>
  
***************
*** 82,90 ****
  <th scope="row"><?php _e('Large size') ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e('Large size'); ?></span></legend>
  <label for="large_size_w"><?php _e('Max Width'); ?></label>
! <input name="large_size_w" type="text" id="large_size_w" value="<?php form_option('large_size_w'); ?>" class="small-text" />
  <label for="large_size_h"><?php _e('Max Height'); ?></label>
! <input name="large_size_h" type="text" id="large_size_h" value="<?php form_option('large_size_h'); ?>" class="small-text" />
  </fieldset></td>
  </tr>
  
--- 82,90 ----
  <th scope="row"><?php _e('Large size') ?></th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e('Large size'); ?></span></legend>
  <label for="large_size_w"><?php _e('Max Width'); ?></label>
! <input name="large_size_w" type="number" step="1" min="0" id="large_size_w" value="<?php form_option('large_size_w'); ?>" class="small-text" />
  <label for="large_size_h"><?php _e('Max Height'); ?></label>
! <input name="large_size_h" type="number" step="1" min="0" id="large_size_h" value="<?php form_option('large_size_h'); ?>" class="small-text" />
  </fieldset></td>
  </tr>
  
***************
*** 106,115 ****
  <th scope="row"><?php _e('Maximum embed size') ?></th>
  <td>
  <label for="embed_size_w"><?php _e('Width'); ?></label>
! <input name="embed_size_w" type="text" id="embed_size_w" value="<?php form_option('embed_size_w'); ?>" class="small-text" />
  <label for="embed_size_h"><?php _e('Height'); ?></label>
! <input name="embed_size_h" type="text" id="embed_size_h" value="<?php form_option('embed_size_h'); ?>" class="small-text" />
! <?php if ( !empty($content_width) ) echo '<br />' . __("If the width value is left blank, embeds will default to the max width of your theme."); ?>
  </td>
  </tr>
  
--- 106,117 ----
  <th scope="row"><?php _e('Maximum embed size') ?></th>
  <td>
  <label for="embed_size_w"><?php _e('Width'); ?></label>
! <input name="embed_size_w" type="number" step="1" min="0" id="embed_size_w" value="<?php form_option('embed_size_w'); ?>" class="small-text" />
  <label for="embed_size_h"><?php _e('Height'); ?></label>
! <input name="embed_size_h" type="number" step="1" min="0" id="embed_size_h" value="<?php form_option('embed_size_h'); ?>" class="small-text" />
! <?php if ( ! empty( $content_width ) )
! 	echo '<p class="description">' . __( 'If the width value is left blank, embeds will default to the max width of your theme.' ) . '</p>';
! ?>
  </td>
  </tr>
  
***************
*** 122,135 ****
  <tr valign="top">
  <th scope="row"><label for="upload_path"><?php _e('Store uploads in this folder'); ?></label></th>
  <td><input name="upload_path" type="text" id="upload_path" value="<?php echo esc_attr(get_option('upload_path')); ?>" class="regular-text code" />
! <span class="description"><?php _e('Default is <code>wp-content/uploads</code>'); ?></span>
  </td>
  </tr>
  
  <tr valign="top">
  <th scope="row"><label for="upload_url_path"><?php _e('Full URL path to files'); ?></label></th>
  <td><input name="upload_url_path" type="text" id="upload_url_path" value="<?php echo esc_attr( get_option('upload_url_path')); ?>" class="regular-text code" />
! <span class="description"><?php _e('Configuring this is optional. By default, it should be blank.'); ?></span>
  </td>
  </tr>
  
--- 124,137 ----
  <tr valign="top">
  <th scope="row"><label for="upload_path"><?php _e('Store uploads in this folder'); ?></label></th>
  <td><input name="upload_path" type="text" id="upload_path" value="<?php echo esc_attr(get_option('upload_path')); ?>" class="regular-text code" />
! <p class="description"><?php _e('Default is <code>wp-content/uploads</code>'); ?></p>
  </td>
  </tr>
  
  <tr valign="top">
  <th scope="row"><label for="upload_url_path"><?php _e('Full URL path to files'); ?></label></th>
  <td><input name="upload_url_path" type="text" id="upload_url_path" value="<?php echo esc_attr( get_option('upload_url_path')); ?>" class="regular-text code" />
! <p class="description"><?php _e('Configuring this is optional. By default, it should be blank.'); ?></p>
  </td>
  </tr>
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-permalink.php ./wordpress-3.4/wp-admin/options-permalink.php
*** ./wordpress-3.3.2/wp-admin/options-permalink.php	2011-12-01 22:31:01.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-permalink.php	2012-02-28 14:29:33.000000000 -0600
***************
*** 140,158 ****
  else
  	$usingpi = false;
  
! $wp_rewrite->flush_rules();
! 
  
  if (isset($_POST['submit'])) : ?>
  <div id="message" class="updated"><p><?php
  if ( ! is_multisite() ) {
  	if ( $iis7_permalinks ) {
  		if ( $permalink_structure && ! $usingpi && ! $writable )
! 			_e('You should update your web.config now');
  		else if ( $permalink_structure && ! $usingpi && $writable )
  			_e('Permalink structure updated. Remove write access on web.config file now!');
  		else
! 			_e('Permalink structure updated');
  	} else {
  		if ( $permalink_structure && ! $usingpi && ! $writable )
  			_e('You should update your .htaccess now.');
--- 140,157 ----
  else
  	$usingpi = false;
  
! flush_rewrite_rules();
  
  if (isset($_POST['submit'])) : ?>
  <div id="message" class="updated"><p><?php
  if ( ! is_multisite() ) {
  	if ( $iis7_permalinks ) {
  		if ( $permalink_structure && ! $usingpi && ! $writable )
! 			_e('You should update your web.config now.');
  		else if ( $permalink_structure && ! $usingpi && $writable )
  			_e('Permalink structure updated. Remove write access on web.config file now!');
  		else
! 			_e('Permalink structure updated.');
  	} else {
  		if ( $permalink_structure && ! $usingpi && ! $writable )
  			_e('You should update your .htaccess now.');
***************
*** 226,236 ****
  </table>
  
  <h3><?php _e('Optional'); ?></h3>
! <?php if ( $is_apache || $iis7_permalinks ) : ?>
! 	<p><?php _e('If you like, you may enter custom structures for your category and tag <abbr title="Universal Resource Locator">URL</abbr>s here. For example, using <kbd>topics</kbd> as your category base would make your category links like <code>http://example.org/topics/uncategorized/</code>. If you leave these blank the defaults will be used.') ?></p>
! <?php else : ?>
! 	<p><?php _e('If you like, you may enter custom structures for your category and tag <abbr title="Universal Resource Locator">URL</abbr>s here. For example, using <code>topics</code> as your category base would make your category links like <code>http://example.org/index.php/topics/uncategorized/</code>. If you leave these blank the defaults will be used.') ?></p>
! <?php endif; ?>
  
  <table class="form-table">
  	<tr>
--- 225,238 ----
  </table>
  
  <h3><?php _e('Optional'); ?></h3>
! <?php
! $suffix = '';
! if ( ! $is_apache && ! $iis7_permalinks )
! 	$suffix = 'index.php/';
! ?>
! <p><?php
! /* translators: %s is a placeholder that must come at the start of the URL path. */
! printf( __('If you like, you may enter custom structures for your category and tag <abbr title="Universal Resource Locator">URL</abbr>s here. For example, using <code>topics</code> as your category base would make your category links like <code>http://example.org/%stopics/uncategorized/</code>. If you leave these blank the defaults will be used.'), $suffix ); ?></p>
  
  <table class="form-table">
  	<tr>
***************
*** 257,270 ****
  <?php wp_nonce_field('update-permalink') ?>
  	<p><textarea rows="9" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->iis7_url_rewrite_rules() ); ?></textarea></p>
  </form>
! <p><?php _e('If you temporarily make your <code>web.config</code> file writable for us to generate rewrite rules automatically, do not forget to revert the permissions after rule has been saved.')  ?></p>
  		<?php else : ?>
  <p><?php _e('If the root directory of your site were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Create a new file, called <code>web.config</code> in the root directory of your site. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this code into the <code>web.config</code> file.') ?></p>
  <form action="options-permalink.php" method="post">
  <?php wp_nonce_field('update-permalink') ?>
  	<p><textarea rows="18" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->iis7_url_rewrite_rules(true) ); ?></textarea></p>
  </form>
! <p><?php _e('If you temporarily make your site&#8217;s root directory writable for us to generate the <code>web.config</code> file automatically, do not forget to revert the permissions after the file has been created.')  ?></p>
  		<?php endif; ?>
  	<?php endif; ?>
  <?php else :
--- 259,272 ----
  <?php wp_nonce_field('update-permalink') ?>
  	<p><textarea rows="9" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->iis7_url_rewrite_rules() ); ?></textarea></p>
  </form>
! <p><?php _e('If you temporarily make your <code>web.config</code> file writable for us to generate rewrite rules automatically, do not forget to revert the permissions after rule has been saved.') ?></p>
  		<?php else : ?>
  <p><?php _e('If the root directory of your site were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Create a new file, called <code>web.config</code> in the root directory of your site. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this code into the <code>web.config</code> file.') ?></p>
  <form action="options-permalink.php" method="post">
  <?php wp_nonce_field('update-permalink') ?>
  	<p><textarea rows="18" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->iis7_url_rewrite_rules(true) ); ?></textarea></p>
  </form>
! <p><?php _e('If you temporarily make your site&#8217;s root directory writable for us to generate the <code>web.config</code> file automatically, do not forget to revert the permissions after the file has been created.') ?></p>
  		<?php endif; ?>
  	<?php endif; ?>
  <?php else :
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options.php ./wordpress-3.4/wp-admin/options.php
*** ./wordpress-3.3.2/wp-admin/options.php	2011-09-30 12:18:35.000000000 -0500
--- ./wordpress-3.4/wp-admin/options.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 151,157 ****
  	}
  
  	/**
! 	 *  Handle settings errors and return to options page
  	 */
  	// If no settings errors were registered add a general 'updated' message.
  	if ( !count( get_settings_errors() ) )
--- 151,157 ----
  	}
  
  	/**
! 	 * Handle settings errors and return to options page
  	 */
  	// If no settings errors were registered add a general 'updated' message.
  	if ( !count( get_settings_errors() ) )
***************
*** 221,227 ****
    </form>
  </div>
  
- 
  <?php
  include('./admin-footer.php');
- ?>
--- 221,225 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-reading.php ./wordpress-3.4/wp-admin/options-reading.php
*** ./wordpress-3.3.2/wp-admin/options-reading.php	2011-11-30 18:52:31.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-reading.php	2012-04-25 19:58:16.000000000 -0500
***************
*** 105,121 ****
  <tr valign="top">
  <th scope="row"><label for="posts_per_page"><?php _e( 'Blog pages show at most' ); ?></label></th>
  <td>
! <input name="posts_per_page" type="text" id="posts_per_page" value="<?php form_option( 'posts_per_page' ); ?>" class="small-text" /> <?php _e( 'posts' ); ?>
  </td>
  </tr>
  <tr valign="top">
  <th scope="row"><label for="posts_per_rss"><?php _e( 'Syndication feeds show the most recent' ); ?></label></th>
! <td><input name="posts_per_rss" type="text" id="posts_per_rss" value="<?php form_option( 'posts_per_rss' ); ?>" class="small-text" /> <?php _e( 'items' ); ?></td>
  </tr>
  <tr valign="top">
  <th scope="row"><?php _e( 'For each article in a feed, show' ); ?> </th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'For each article in a feed, show' ); ?> </span></legend>
! <p><label><input name="rss_use_excerpt"  type="radio" value="0" <?php checked( 0, get_option( 'rss_use_excerpt' ) ); ?>	/> <?php _e( 'Full text' ); ?></label><br />
  <label><input name="rss_use_excerpt" type="radio" value="1" <?php checked( 1, get_option( 'rss_use_excerpt' ) ); ?> /> <?php _e( 'Summary' ); ?></label></p>
  </fieldset></td>
  </tr>
--- 105,121 ----
  <tr valign="top">
  <th scope="row"><label for="posts_per_page"><?php _e( 'Blog pages show at most' ); ?></label></th>
  <td>
! <input name="posts_per_page" type="number" step="1" min="1" id="posts_per_page" value="<?php form_option( 'posts_per_page' ); ?>" class="small-text" /> <?php _e( 'posts' ); ?>
  </td>
  </tr>
  <tr valign="top">
  <th scope="row"><label for="posts_per_rss"><?php _e( 'Syndication feeds show the most recent' ); ?></label></th>
! <td><input name="posts_per_rss" type="number" step="1" min="1" id="posts_per_rss" value="<?php form_option( 'posts_per_rss' ); ?>" class="small-text" /> <?php _e( 'items' ); ?></td>
  </tr>
  <tr valign="top">
  <th scope="row"><?php _e( 'For each article in a feed, show' ); ?> </th>
  <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'For each article in a feed, show' ); ?> </span></legend>
! <p><label><input name="rss_use_excerpt" type="radio" value="0" <?php checked( 0, get_option( 'rss_use_excerpt' ) ); ?>	/> <?php _e( 'Full text' ); ?></label><br />
  <label><input name="rss_use_excerpt" type="radio" value="1" <?php checked( 1, get_option( 'rss_use_excerpt' ) ); ?> /> <?php _e( 'Summary' ); ?></label></p>
  </fieldset></td>
  </tr>
***************
*** 123,129 ****
  <tr valign="top">
  <th scope="row"><label for="blog_charset"><?php _e( 'Encoding for pages and feeds' ); ?></label></th>
  <td><input name="blog_charset" type="text" id="blog_charset" value="<?php form_option( 'blog_charset' ); ?>" class="regular-text" />
! <span class="description"><?php _e( 'The <a href="http://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended, if you are adventurous there are some <a href="http://en.wikipedia.org/wiki/Character_set">other encodings</a>)' ); ?></span></td>
  </tr>
  <?php do_settings_fields( 'reading', 'default' ); ?>
  </table>
--- 123,129 ----
  <tr valign="top">
  <th scope="row"><label for="blog_charset"><?php _e( 'Encoding for pages and feeds' ); ?></label></th>
  <td><input name="blog_charset" type="text" id="blog_charset" value="<?php form_option( 'blog_charset' ); ?>" class="regular-text" />
! <p class="description"><?php _e( 'The <a href="http://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended, if you are adventurous there are some <a href="http://en.wikipedia.org/wiki/Character_set">other encodings</a>)' ); ?></p></td>
  </tr>
  <?php do_settings_fields( 'reading', 'default' ); ?>
  </table>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/options-writing.php ./wordpress-3.4/wp-admin/options-writing.php
*** ./wordpress-3.3.2/wp-admin/options-writing.php	2011-11-30 18:52:31.000000000 -0600
--- ./wordpress-3.4/wp-admin/options-writing.php	2012-02-02 18:05:43.000000000 -0600
***************
*** 32,38 ****
  if ( is_multisite() ) {
  	$post_email_help = '<p>' . __('Due to security issues, you cannot use Post By Email on Multisite Installs.') . '</p>';
  } else {
! 	$post_email_help = '<p>' . __('Post via email settings allow you to send your WordPress install an email with the content of your post.  You must set up a secret e-mail account with POP3 access to use this, and any mail received at this address will be posted, so it&#8217;s a good idea to keep this address very secret.') . '</p>';
  }
  
  get_current_screen()->add_help_tab( array(
--- 31,37 ----
  if ( is_multisite() ) {
  	$post_email_help = '<p>' . __('Due to security issues, you cannot use Post By Email on Multisite Installs.') . '</p>';
  } else {
! 	$post_email_help = '<p>' . __('Post via email settings allow you to send your WordPress install an email with the content of your post. You must set up a secret e-mail account with POP3 access to use this, and any mail received at this address will be posted, so it&#8217;s a good idea to keep this address very secret.') . '</p>';
  }
  
  get_current_screen()->add_help_tab( array(
***************
*** 145,156 ****
  </tr>
  <tr valign="top">
  <th scope="row"><label for="mailserver_login"><?php _e('Login Name') ?></label></th>
! <td><input name="mailserver_login" type="text" id="mailserver_login" value="<?php form_option('mailserver_login'); ?>" class="regular-text" /></td>
  </tr>
  <tr valign="top">
  <th scope="row"><label for="mailserver_pass"><?php _e('Password') ?></label></th>
  <td>
! <input name="mailserver_pass" type="text" id="mailserver_pass" value="<?php form_option('mailserver_pass'); ?>" class="regular-text" />
  </td>
  </tr>
  <tr valign="top">
--- 143,154 ----
  </tr>
  <tr valign="top">
  <th scope="row"><label for="mailserver_login"><?php _e('Login Name') ?></label></th>
! <td><input name="mailserver_login" type="text" id="mailserver_login" value="<?php form_option('mailserver_login'); ?>" class="regular-text ltr" /></td>
  </tr>
  <tr valign="top">
  <th scope="row"><label for="mailserver_pass"><?php _e('Password') ?></label></th>
  <td>
! <input name="mailserver_pass" type="text" id="mailserver_pass" value="<?php form_option('mailserver_pass'); ?>" class="regular-text ltr" />
  </td>
  </tr>
  <tr valign="top">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/plugin-editor.php ./wordpress-3.4/wp-admin/plugin-editor.php
*** ./wordpress-3.3.2/wp-admin/plugin-editor.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/plugin-editor.php	2012-04-18 22:41:29.000000000 -0500
***************
*** 65,71 ****
  			if ( is_plugin_active($file) )
  				deactivate_plugins($file, true);
  
! 			update_option('recently_activated', array($file => time()) + (array)get_option('recently_activated'));
  
  			wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto&networkwide=" . $network_wide));
  			exit;
--- 65,72 ----
  			if ( is_plugin_active($file) )
  				deactivate_plugins($file, true);
  
! 			if ( ! is_network_admin() )
! 				update_option( 'recently_activated', array( $file => time() ) + (array) get_option( 'recently_activated' ) );
  
  			wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto&networkwide=" . $network_wide));
  			exit;
***************
*** 236,242 ****
  		<?php endif; ?>
  <?php if ( is_writeable($real_file) ) : ?>
  	<?php if ( in_array( $file, (array) get_option( 'active_plugins', array() ) ) ) { ?>
! 		<p><?php _e('<strong>Warning:</strong> Making changes to active plugins is not recommended.  If your changes cause a fatal error, the plugin will be automatically deactivated.'); ?></p>
  	<?php } ?>
  	<p class="submit">
  	<?php
--- 237,243 ----
  		<?php endif; ?>
  <?php if ( is_writeable($real_file) ) : ?>
  	<?php if ( in_array( $file, (array) get_option( 'active_plugins', array() ) ) ) { ?>
! 		<p><?php _e('<strong>Warning:</strong> Making changes to active plugins is not recommended. If your changes cause a fatal error, the plugin will be automatically deactivated.'); ?></p>
  	<?php } ?>
  	<p class="submit">
  	<?php
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/plugin-install.php ./wordpress-3.4/wp-admin/plugin-install.php
*** ./wordpress-3.3.2/wp-admin/plugin-install.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/plugin-install.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 46,52 ****
  'title'		=> __('Adding Plugins'),
  'content'	=>
  	'<p>' . __('If you know what you&#8217;re looking for, Search is your best bet. The Search screen has options to search the WordPress.org Plugin Directory for a particular Term, Author, or Tag. You can also search the directory by selecting a popular tags. Tags in larger type mean more plugins have been labeled with that tag.') . '</p>' .
! 	'<p>' . __('If you just want to get an idea of what&#8217;s available, you can browse Featured, Popular, Newest, and Recently Updated plugins by using the links in the upper left of the screen. These sections rotate regularly.') . '</p>' .
  	'<p>' . __('If you want to install a plugin that you&#8217;ve downloaded elsewhere, click the Upload in the upper left. You will be prompted to upload the .zip package, and once uploaded, you can activate the new plugin.') . '</p>'
  ) );
  
--- 46,52 ----
  'title'		=> __('Adding Plugins'),
  'content'	=>
  	'<p>' . __('If you know what you&#8217;re looking for, Search is your best bet. The Search screen has options to search the WordPress.org Plugin Directory for a particular Term, Author, or Tag. You can also search the directory by selecting a popular tags. Tags in larger type mean more plugins have been labeled with that tag.') . '</p>' .
! 	'<p>' . __('If you just want to get an idea of what&#8217;s available, you can browse Featured, Popular, and Newest plugins by using the links in the upper left of the screen. These sections rotate regularly.') . '</p>' .
  	'<p>' . __('If you want to install a plugin that you&#8217;ve downloaded elsewhere, click the Upload in the upper left. You will be prompted to upload the .zip package, and once uploaded, you can activate the new plugin.') . '</p>'
  ) );
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/plugins.php ./wordpress-3.4/wp-admin/plugins.php
*** ./wordpress-3.3.2/wp-admin/plugins.php	2012-04-19 01:39:24.000000000 -0500
--- ./wordpress-3.4/wp-admin/plugins.php	2012-05-24 02:05:32.000000000 -0500
***************
*** 12,18 ****
  if ( is_multisite() ) {
  	$menu_perms = get_site_option( 'menu_items', array() );
  
! 	if ( empty( $menu_perms['plugins'] ) && ! is_super_admin() )
  		wp_die( __( 'Cheatin&#8217; uh?' ) );
  }
  
--- 12,18 ----
  if ( is_multisite() ) {
  	$menu_perms = get_site_option( 'menu_items', array() );
  
! 	if ( empty( $menu_perms['plugins'] ) && ! current_user_can( 'manage_network_plugins' ) )
  		wp_die( __( 'Cheatin&#8217; uh?' ) );
  }
  
***************
*** 31,39 ****
  $_SERVER['REQUEST_URI'] = remove_query_arg(array('error', 'deleted', 'activate', 'activate-multi', 'deactivate', 'deactivate-multi', '_error_nonce'), $_SERVER['REQUEST_URI']);
  
  if ( $action ) {
- 	$network_wide = false;
- 	if ( ( isset( $_GET['networkwide'] ) || 'network-activate-selected' == $action ) && is_multisite() && current_user_can( 'manage_network_plugins' ) )
- 		$network_wide = true;
  
  	switch ( $action ) {
  		case 'activate':
--- 31,36 ----
***************
*** 42,48 ****
  
  			check_admin_referer('activate-plugin_' . $plugin);
  
! 			$result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . $plugin), $network_wide);
  			if ( is_wp_error( $result ) ) {
  				if ( 'unexpected_output' == $result->get_error_code() ) {
  					$redirect = self_admin_url('plugins.php?error=true&charsout=' . strlen($result->get_error_data()) . '&plugin=' . $plugin . "&plugin_status=$status&paged=$page&s=$s");
--- 39,45 ----
  
  			check_admin_referer('activate-plugin_' . $plugin);
  
! 			$result = activate_plugin($plugin, self_admin_url('plugins.php?error=true&plugin=' . $plugin), is_network_admin() );
  			if ( is_wp_error( $result ) ) {
  				if ( 'unexpected_output' == $result->get_error_code() ) {
  					$redirect = self_admin_url('plugins.php?error=true&charsout=' . strlen($result->get_error_data()) . '&plugin=' . $plugin . "&plugin_status=$status&paged=$page&s=$s");
***************
*** 53,63 ****
  				}
  			}
  
! 			$recent = (array)get_option('recently_activated');
! 			if ( isset($recent[ $plugin ]) ) {
! 				unset($recent[ $plugin ]);
! 				update_option('recently_activated', $recent);
  			}
  			if ( isset($_GET['from']) && 'import' == $_GET['from'] ) {
  				wp_redirect( self_admin_url("import.php?import=" . str_replace('-importer', '', dirname($plugin))) ); // overrides the ?error=true one above and redirects to the Imports page, stripping the -importer suffix
  			} else {
--- 50,61 ----
  				}
  			}
  
! 			if ( ! is_network_admin() ) {
! 				$recent = (array) get_option( 'recently_activated' );
! 				unset( $recent[ $plugin ] );
! 				update_option( 'recently_activated', $recent );
  			}
+ 
  			if ( isset($_GET['from']) && 'import' == $_GET['from'] ) {
  				wp_redirect( self_admin_url("import.php?import=" . str_replace('-importer', '', dirname($plugin))) ); // overrides the ?error=true one above and redirects to the Imports page, stripping the -importer suffix
  			} else {
***************
*** 66,72 ****
  			exit;
  			break;
  		case 'activate-selected':
- 		case 'network-activate-selected':
  			if ( ! current_user_can('activate_plugins') )
  				wp_die(__('You do not have sufficient permissions to activate plugins for this site.'));
  
--- 64,69 ----
***************
*** 75,81 ****
  			$plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
  
  			// Only activate plugins which are not already active.
! 			$check = $network_wide ? 'is_plugin_active_for_network' : 'is_plugin_active';
  			foreach ( $plugins as $i => $plugin )
  				if ( $check( $plugin ) )
  					unset( $plugins[ $i ] );
--- 72,78 ----
  			$plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
  
  			// Only activate plugins which are not already active.
! 			$check = is_network_admin() ? 'is_plugin_active_for_network' : 'is_plugin_active';
  			foreach ( $plugins as $i => $plugin )
  				if ( $check( $plugin ) )
  					unset( $plugins[ $i ] );
***************
*** 85,98 ****
  				exit;
  			}
  
! 			activate_plugins($plugins, self_admin_url('plugins.php?error=true'), $network_wide);
! 
! 			$recent = (array)get_option('recently_activated');
! 			foreach ( $plugins as $plugin => $time)
! 				if ( isset($recent[ $plugin ]) )
! 					unset($recent[ $plugin ]);
  
! 			update_option('recently_activated', $recent);
  
  			wp_redirect( self_admin_url("plugins.php?activate-multi=true&plugin_status=$status&paged=$page&s=$s") );
  			exit;
--- 82,95 ----
  				exit;
  			}
  
! 			activate_plugins($plugins, self_admin_url('plugins.php?error=true'), is_network_admin() );
  
! 			if ( ! is_network_admin() ) {
! 				$recent = (array) get_option('recently_activated' );
! 				foreach ( $plugins as $plugin )
! 					unset( $recent[ $plugin ] );
! 				update_option( 'recently_activated', $recent );
! 			}
  
  			wp_redirect( self_admin_url("plugins.php?activate-multi=true&plugin_status=$status&paged=$page&s=$s") );
  			exit;
***************
*** 158,165 ****
  				wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
  				exit;
  			}
! 			deactivate_plugins($plugin);
! 			update_option('recently_activated', array($plugin => time()) + (array)get_option('recently_activated'));
  			if ( headers_sent() )
  				echo "<meta http-equiv='refresh' content='" . esc_attr( "0;url=plugins.php?deactivate=true&plugin_status=$status&paged=$page&s=$s" ) . "' />";
  			else
--- 155,164 ----
  				wp_redirect( self_admin_url("plugins.php?plugin_status=$status&paged=$page&s=$s") );
  				exit;
  			}
! 
! 			deactivate_plugins( $plugin, false, is_network_admin() );
! 			if ( ! is_network_admin() )
! 				update_option( 'recently_activated', array( $plugin => time() ) + (array) get_option( 'recently_activated' ) );
  			if ( headers_sent() )
  				echo "<meta http-equiv='refresh' content='" . esc_attr( "0;url=plugins.php?deactivate=true&plugin_status=$status&paged=$page&s=$s" ) . "' />";
  			else
***************
*** 185,197 ****
  				exit;
  			}
  
! 			deactivate_plugins($plugins);
  
! 			$deactivated = array();
! 			foreach ( $plugins as $plugin )
! 				$deactivated[ $plugin ] = time();
  
- 			update_option('recently_activated', $deactivated + (array)get_option('recently_activated'));
  			wp_redirect( self_admin_url("plugins.php?deactivate-multi=true&plugin_status=$status&paged=$page&s=$s") );
  			exit;
  			break;
--- 184,198 ----
  				exit;
  			}
  
! 			deactivate_plugins( $plugins, false, is_network_admin() );
  
! 			if ( ! is_network_admin() ) {
! 				$deactivated = array();
! 				foreach ( $plugins as $plugin )
! 					$deactivated[ $plugin ] = time();
! 				update_option( 'recently_activated', $deactivated + (array) get_option( 'recently_activated' ) );
! 			}
  
  			wp_redirect( self_admin_url("plugins.php?deactivate-multi=true&plugin_status=$status&paged=$page&s=$s") );
  			exit;
  			break;
***************
*** 316,322 ****
  			exit;
  			break;
  		case 'clear-recent-list':
! 			update_option('recently_activated', array());
  			break;
  	}
  }
--- 317,324 ----
  			exit;
  			break;
  		case 'clear-recent-list':
! 			if ( ! is_network_admin() )
! 				update_option( 'recently_activated', array() );
  			break;
  	}
  }
***************
*** 365,371 ****
  	if ( isset( $_GET['main'] ) )
  		$errmsg = __( 'You cannot delete a plugin while it is active on the main site.' );
  	elseif ( isset($_GET['charsout']) )
! 		$errmsg = sprintf(__('The plugin generated %d characters of <strong>unexpected output</strong> during activation.  If you notice &#8220;headers already sent&#8221; messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.'), $_GET['charsout']);
  	else
  		$errmsg = __('Plugin could not be activated because it triggered a <strong>fatal error</strong>.');
  	?>
--- 367,373 ----
  	if ( isset( $_GET['main'] ) )
  		$errmsg = __( 'You cannot delete a plugin while it is active on the main site.' );
  	elseif ( isset($_GET['charsout']) )
! 		$errmsg = sprintf(__('The plugin generated %d characters of <strong>unexpected output</strong> during activation. If you notice &#8220;headers already sent&#8221; messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.'), $_GET['charsout']);
  	else
  		$errmsg = __('Plugin could not be activated because it triggered a <strong>fatal error</strong>.');
  	?>
***************
*** 402,408 ****
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $title );
  if ( ( ! is_multisite() || is_network_admin() ) && current_user_can('install_plugins') ) { ?>
! <a href="<?php echo self_admin_url( 'plugin-install.php' ); ?>" class="add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a>
  <?php }
  if ( $s )
  	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $s ) ); ?>
--- 404,410 ----
  <?php screen_icon(); ?>
  <h2><?php echo esc_html( $title );
  if ( ( ! is_multisite() || is_network_admin() ) && current_user_can('install_plugins') ) { ?>
!  <a href="<?php echo self_admin_url( 'plugin-install.php' ); ?>" class="add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a>
  <?php }
  if ( $s )
  	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $s ) ); ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/post-new.php ./wordpress-3.4/wp-admin/post-new.php
*** ./wordpress-3.3.2/wp-admin/post-new.php	2011-11-23 14:45:23.000000000 -0600
--- ./wordpress-3.4/wp-admin/post-new.php	2012-04-12 13:49:48.000000000 -0500
***************
*** 39,44 ****
--- 39,48 ----
  if ( ! current_user_can( $post_type_object->cap->edit_posts ) )
  	wp_die( __( 'Cheatin&#8217; uh?' ) );
  
+ // Schedule auto-draft cleanup
+ if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) )
+ 	wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' );
+ 
  wp_enqueue_script('autosave');
  
  // Show post form.
***************
*** 46,49 ****
  $post_ID = $post->ID;
  include('edit-form-advanced.php');
  include('./admin-footer.php');
- ?>
--- 50,52 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/post.php ./wordpress-3.4/wp-admin/post.php
*** ./wordpress-3.3.2/wp-admin/post.php	2011-11-14 10:59:45.000000000 -0600
--- ./wordpress-3.4/wp-admin/post.php	2012-04-27 14:32:32.000000000 -0500
***************
*** 134,148 ****
  	if ( empty($post->ID) )
  		wp_die( __('You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?') );
  
  	if ( !current_user_can($post_type_object->cap->edit_post, $post_id) )
  		wp_die( __('You are not allowed to edit this item.') );
  
  	if ( 'trash' == $post->post_status )
  		wp_die( __('You can&#8217;t edit this item because it is in the Trash. Please restore it and try again.') );
  
- 	if ( null == $post_type_object )
- 		wp_die( __('Unknown post type.') );
- 
  	$post_type = $post->post_type;
  	if ( 'post' == $post_type ) {
  		$parent_file = "edit.php";
--- 134,148 ----
  	if ( empty($post->ID) )
  		wp_die( __('You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?') );
  
+ 	if ( null == $post_type_object )
+ 		wp_die( __('Unknown post type.') );
+ 
  	if ( !current_user_can($post_type_object->cap->edit_post, $post_id) )
  		wp_die( __('You are not allowed to edit this item.') );
  
  	if ( 'trash' == $post->post_status )
  		wp_die( __('You can&#8217;t edit this item because it is in the Trash. Please restore it and try again.') );
  
  	$post_type = $post->post_type;
  	if ( 'post' == $post_type ) {
  		$parent_file = "edit.php";
***************
*** 262,265 ****
  	break;
  } // end switch
  include('./admin-footer.php');
- ?>
--- 262,264 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/press-this.php ./wordpress-3.4/wp-admin/press-this.php
*** ./wordpress-3.3.2/wp-admin/press-this.php	2012-04-19 16:58:20.000000000 -0500
--- ./wordpress-3.4/wp-admin/press-this.php	2012-06-11 15:34:42.000000000 -0500
***************
*** 304,310 ****
  //<![CDATA[
  addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
  var userSettings = {'url':'<?php echo SITECOOKIEPATH; ?>','uid':'<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>','time':'<?php echo time() ?>'};
! var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>', pagenow = 'press-this', isRtl = <?php echo (int) is_rtl(); ?>;
  var photostorage = false;
  //]]>
  </script>
--- 304,310 ----
  //<![CDATA[
  addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
  var userSettings = {'url':'<?php echo SITECOOKIEPATH; ?>','uid':'<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>','time':'<?php echo time() ?>'};
! var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>', pagenow = 'press-this', isRtl = <?php echo (int) is_rtl(); ?>;
  var photostorage = false;
  //]]>
  </script>
***************
*** 314,333 ****
  	do_action('admin_print_scripts');
  	do_action('admin_head');
  ?>
- 	<style type="text/css">
- 	#message {
- 		margin: 10px 0;
- 	}
- 	#title,
- 	.press-this #wphead {
- 		margin-left: 0;
- 		margin-right: 0;
- 	}
- 	.rtl.press-this #header-logo,
- 	.rtl.press-this #wphead h1 {
- 		float: right;
- 	}
- 	</style>
  	<script type="text/javascript">
  	var wpActiveEditor = 'content';
  
--- 314,319 ----
***************
*** 365,376 ****
  					<?php
  					$content = '';
  					if ( preg_match("/youtube\.com\/watch/i", $url) ) {
! 						list($domain, $video_id) = split("v=", $url);
  						$video_id = esc_attr($video_id);
  						$content = '<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/' . $video_id . '"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' . $video_id . '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
  
  					} elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) {
! 						list($domain, $video_id) = split(".com/", $url);
  						$video_id = esc_attr($video_id);
  						$content = '<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />	<embed src="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>';
  
--- 351,362 ----
  					<?php
  					$content = '';
  					if ( preg_match("/youtube\.com\/watch/i", $url) ) {
! 						list($domain, $video_id) = explode("v=", $url);
  						$video_id = esc_attr($video_id);
  						$content = '<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/' . $video_id . '"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' . $video_id . '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
  
  					} elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) {
! 						list($domain, $video_id) = explode(".com/", $url);
  						$video_id = esc_attr($video_id);
  						$content = '<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />	<embed src="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>';
  
***************
*** 437,443 ****
  			show('video');
  		<?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { ?>
  			show('video');
! 		<?php  } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
  			show('photo');
  		<?php } ?>
  		jQuery('#title').unbind();
--- 423,429 ----
  			show('video');
  		<?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { ?>
  			show('video');
! 		<?php } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
  			show('photo');
  		<?php } ?>
  		jQuery('#title').unbind();
***************
*** 449,455 ****
  	});
  </script>
  </head>
! <body class="press-this wp-admin<?php if ( is_rtl() ) echo ' rtl'; ?>">
  <form action="press-this.php?action=post" method="post">
  <div id="poststuff" class="metabox-holder">
  	<div id="side-sortables" class="press-this-sidebar">
--- 435,445 ----
  	});
  </script>
  </head>
! <?php
! $admin_body_class = ( is_rtl() ) ? 'rtl' : '';
! $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
! ?>
! <body class="press-this wp-admin <?php echo $admin_body_class; ?>">
  <form action="press-this.php?action=post" method="post">
  <div id="poststuff" class="metabox-holder">
  	<div id="side-sortables" class="press-this-sidebar">
***************
*** 538,544 ****
  									<?php echo $tax->labels->parent_item_colon; ?>
  								</label>
  								<?php wp_dropdown_categories( array( 'taxonomy' => 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;', 'tab_index' => 3 ) ); ?>
! 								<input type="button" id="category-add-submit" class="add:categorychecklist:category-add button category-add-sumbit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" tabindex="3" />
  								<?php wp_nonce_field( 'add-category', '_ajax_nonce-add-category', false ); ?>
  								<span id="category-ajax-response"></span>
  							</p>
--- 528,534 ----
  									<?php echo $tax->labels->parent_item_colon; ?>
  								</label>
  								<?php wp_dropdown_categories( array( 'taxonomy' => 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;', 'tab_index' => 3 ) ); ?>
! 								<input type="button" id="category-add-submit" class="add:categorychecklist:category-add button category-add-submit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" tabindex="3" />
  								<?php wp_nonce_field( 'add-category', '_ajax_nonce-add-category', false ); ?>
  								<span id="category-ajax-response"></span>
  							</p>
***************
*** 610,616 ****
  
  		$content = '';
  		if ( $selection )
! 			$content .=  $selection;
  
  		if ( $url ) {
  			$content .= '<p>';
--- 600,606 ----
  
  		$content = '';
  		if ( $selection )
! 			$content .= $selection;
  
  		if ( $url ) {
  			$content .= '<p>';
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/profile.php ./wordpress-3.4/wp-admin/profile.php
*** ./wordpress-3.3.2/wp-admin/profile.php	2011-04-28 10:24:49.000000000 -0500
--- ./wordpress-3.4/wp-admin/profile.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 16,19 ****
  
  /** Load User Editing Page */
  require_once('./user-edit.php');
- ?>
--- 16,18 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/setup-config.php ./wordpress-3.4/wp-admin/setup-config.php
*** ./wordpress-3.3.2/wp-admin/setup-config.php	2012-04-16 17:02:54.000000000 -0500
--- ./wordpress-3.4/wp-admin/setup-config.php	2012-04-30 16:56:32.000000000 -0500
***************
*** 41,74 ****
  define('WP_DEBUG', false);
  /**#@-*/
  
! require_once(ABSPATH . WPINC . '/load.php');
! require_once(ABSPATH . WPINC . '/version.php');
  wp_check_php_mysql_versions();
  wp_unregister_GLOBALS();
  
  require_once(ABSPATH . WPINC . '/compat.php');
- require_once(ABSPATH . WPINC . '/functions.php');
  require_once(ABSPATH . WPINC . '/class-wp-error.php');
  require_once(ABSPATH . WPINC . '/formatting.php');
  wp_magic_quotes();
  
! if (!file_exists(ABSPATH . 'wp-config-sample.php'))
! 	wp_die('Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.');
  
! $configFile = file(ABSPATH . 'wp-config-sample.php');
  
  // Check if wp-config.php has been created
! if (file_exists(ABSPATH . 'wp-config.php'))
! 	wp_die("<p>The file 'wp-config.php' already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='install.php'>installing now</a>.</p>");
  
  // Check if wp-config.php exists above the root directory but is not part of another install
! if (file_exists(ABSPATH . '../wp-config.php') && ! file_exists(ABSPATH . '../wp-settings.php'))
! 	wp_die("<p>The file 'wp-config.php' already exists one level above your WordPress installation. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='install.php'>installing now</a>.</p>");
  
! if (isset($_GET['step']))
! 	$step = $_GET['step'];
! else
! 	$step = 0;
  
  /**
   * Display setup wp-config.php file header.
--- 41,79 ----
  define('WP_DEBUG', false);
  /**#@-*/
  
! require(ABSPATH . WPINC . '/load.php');
! require(ABSPATH . WPINC . '/version.php');
! 
! // Also loads functions.php, plugin.php, l10n.php, pomo/mo.php (all required by setup-config.php)
! wp_load_translations_early();
! 
! // Check for the required PHP version and for the MySQL extension or a database drop-in.
  wp_check_php_mysql_versions();
+ 
+ // Turn register_globals off.
  wp_unregister_GLOBALS();
  
  require_once(ABSPATH . WPINC . '/compat.php');
  require_once(ABSPATH . WPINC . '/class-wp-error.php');
  require_once(ABSPATH . WPINC . '/formatting.php');
+ 
+ // Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
  wp_magic_quotes();
  
! if ( ! file_exists( ABSPATH . 'wp-config-sample.php' ) )
! 	wp_die( __( 'Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.' ) );
  
! $config_file = file(ABSPATH . 'wp-config-sample.php');
  
  // Check if wp-config.php has been created
! if ( file_exists( ABSPATH . 'wp-config.php' ) )
! 	wp_die( '<p>' . sprintf( __( "The file 'wp-config.php' already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='%s'>installing now</a>." ), 'install.php' ) . '</p>' );
  
  // Check if wp-config.php exists above the root directory but is not part of another install
! if ( file_exists(ABSPATH . '../wp-config.php' ) && ! file_exists( ABSPATH . '../wp-settings.php' ) )
! 	wp_die( '<p>' . sprintf( __( "The file 'wp-config.php' already exists one level above your WordPress installation. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='install.php'>installing now</a>."), 'install.php' ) . '</p>' );
  
! $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  
  /**
   * Display setup wp-config.php file header.
***************
*** 79,96 ****
   * @subpackage Installer_WP_Config
   */
  function display_header() {
  	header( 'Content-Type: text/html; charset=utf-8' );
  ?>
  <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! <title>WordPress &rsaquo; Setup Configuration File</title>
! <link rel="stylesheet" href="css/install.css" type="text/css" />
  
  </head>
! <body>
! <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
  <?php
  }//end function display_header();
  
--- 84,103 ----
   * @subpackage Installer_WP_Config
   */
  function display_header() {
+ 	global $wp_version;
+ 
  	header( 'Content-Type: text/html; charset=utf-8' );
  ?>
  <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml"<?php if ( is_rtl() ) echo ' dir="rtl"'; ?>>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! <title><?php _e( 'WordPress &rsaquo; Setup Configuration File' ); ?></title>
! <link rel="stylesheet" href="css/install.css?ver=<?php echo preg_replace( '/[^0-9a-z\.-]/i', '', $wp_version ); ?>" type="text/css" />
  
  </head>
! <body<?php if ( is_rtl() ) echo ' class="rtl"'; ?>>
! <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png?ver=20120216" /></h1>
  <?php
  }//end function display_header();
  
***************
*** 99,116 ****
  		display_header();
  ?>
  
! <p>Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.</p>
  <ol>
! 	<li>Database name</li>
! 	<li>Database username</li>
! 	<li>Database password</li>
! 	<li>Database host</li>
! 	<li>Table prefix (if you want to run more than one WordPress in a single database) </li>
  </ol>
! <p><strong>If for any reason this automatic file creation doesn't work, don't worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>. </strong></p>
! <p>In all likelihood, these items were supplied to you by your Web Host. If you do not have this information, then you will need to contact them before you can continue. If you&#8217;re all ready&hellip;</p>
  
! <p class="step"><a href="setup-config.php?step=1<?php if ( isset( $_GET['noapi'] ) ) echo '&amp;noapi'; ?>" class="button">Let&#8217;s go!</a></p>
  <?php
  	break;
  
--- 106,123 ----
  		display_header();
  ?>
  
! <p><?php _e( 'Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.' ) ?></p>
  <ol>
! 	<li><?php _e( 'Database name' ); ?></li>
! 	<li><?php _e( 'Database username' ); ?></li>
! 	<li><?php _e( 'Database password' ); ?></li>
! 	<li><?php _e( 'Database host' ); ?></li>
! 	<li><?php _e( 'Table prefix (if you want to run more than one WordPress in a single database)' ); ?></li>
  </ol>
! <p><strong><?php _e( "If for any reason this automatic file creation doesn't work, don't worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>." ); ?></strong></p>
! <p><?php _e( "In all likelihood, these items were supplied to you by your Web Host. If you do not have this information, then you will need to contact them before you can continue. If you&#8217;re all ready&hellip;" ); ?></p>
  
! <p class="step"><a href="setup-config.php?step=1<?php if ( isset( $_GET['noapi'] ) ) echo '&amp;noapi'; ?>" class="button"><?php _e( 'Let&#8217;s go!' ); ?></a></p>
  <?php
  	break;
  
***************
*** 118,169 ****
  		display_header();
  	?>
  <form method="post" action="setup-config.php?step=2">
! 	<p>Below you should enter your database connection details. If you're not sure about these, contact your host. </p>
  	<table class="form-table">
  		<tr>
! 			<th scope="row"><label for="dbname">Database Name</label></th>
  			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
! 			<td>The name of the database you want to run WP in. </td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="uname">User Name</label></th>
! 			<td><input name="uname" id="uname" type="text" size="25" value="username" /></td>
! 			<td>Your MySQL username</td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="pwd">Password</label></th>
! 			<td><input name="pwd" id="pwd" type="text" size="25" value="password" /></td>
! 			<td>...and your MySQL password.</td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="dbhost">Database Host</label></th>
  			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
! 			<td>You should be able to get this info from your web host, if <code>localhost</code> does not work.</td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="prefix">Table Prefix</label></th>
  			<td><input name="prefix" id="prefix" type="text" value="wp_" size="25" /></td>
! 			<td>If you want to run multiple WordPress installations in a single database, change this.</td>
  		</tr>
  	</table>
! 	<?php if ( isset( $_GET['noapi'] ) ) { ?><input name="noapi" type="hidden" value="true" /><?php } ?>
! 	<p class="step"><input name="submit" type="submit" value="Submit" class="button" /></p>
  </form>
  <?php
  	break;
  
  	case 2:
! 	$dbname  = trim($_POST['dbname']);
! 	$uname   = trim($_POST['uname']);
! 	$passwrd = trim($_POST['pwd']);
! 	$dbhost  = trim($_POST['dbhost']);
! 	$prefix  = trim($_POST['prefix']);
! 	if ( empty($prefix) )
! 		$prefix = 'wp_';
  
! 	// Validate $prefix: it can only contain letters, numbers and underscores
  	if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
! 		wp_die( /*WP_I18N_BAD_PREFIX*/'<strong>ERROR</strong>: "Table Prefix" can only contain numbers, letters, and underscores.'/*/WP_I18N_BAD_PREFIX*/ );
  
  	// Test the db connection.
  	/**#@+
--- 125,176 ----
  		display_header();
  	?>
  <form method="post" action="setup-config.php?step=2">
! 	<p><?php _e( "Below you should enter your database connection details. If you're not sure about these, contact your host." ); ?></p>
  	<table class="form-table">
  		<tr>
! 			<th scope="row"><label for="dbname"><?php _e( 'Database Name' ); ?></label></th>
  			<td><input name="dbname" id="dbname" type="text" size="25" value="wordpress" /></td>
! 			<td><?php _e( 'The name of the database you want to run WP in.' ); ?></td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="uname"><?php _e( 'User Name' ); ?></label></th>
! 			<td><input name="uname" id="uname" type="text" size="25" value="<?php echo htmlspecialchars( _x( 'username', 'example username' ), ENT_QUOTES ); ?>" /></td>
! 			<td><?php _e( 'Your MySQL username' ); ?></td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="pwd"><?php _e( 'Password' ); ?></label></th>
! 			<td><input name="pwd" id="pwd" type="text" size="25" value="<?php echo htmlspecialchars( _x( 'password', 'example password' ), ENT_QUOTES ); ?>" /></td>
! 			<td><?php _e( '&hellip;and your MySQL password.' ); ?></td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="dbhost"><?php _e( 'Database Host' ); ?></label></th>
  			<td><input name="dbhost" id="dbhost" type="text" size="25" value="localhost" /></td>
! 			<td><?php _e( 'You should be able to get this info from your web host, if <code>localhost</code> does not work.' ); ?></td>
  		</tr>
  		<tr>
! 			<th scope="row"><label for="prefix"><?php _e( 'Table Prefix' ); ?></label></th>
  			<td><input name="prefix" id="prefix" type="text" value="wp_" size="25" /></td>
! 			<td><?php _e( 'If you want to run multiple WordPress installations in a single database, change this.' ); ?></td>
  		</tr>
  	</table>
! 	<?php if ( isset( $_GET['noapi'] ) ) { ?><input name="noapi" type="hidden" value="1" /><?php } ?>
! 	<p class="step"><input name="submit" type="submit" value="<?php echo htmlspecialchars( __( 'Submit' ), ENT_QUOTES ); ?>" class="button" /></p>
  </form>
  <?php
  	break;
  
  	case 2:
! 	foreach ( array( 'dbname', 'uname', 'pwd', 'dbhost', 'prefix' ) as $key )
! 		$$key = trim( stripslashes( $_POST[ $key ] ) );
! 
! 	$tryagain_link = '</p><p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button">' . __( 'Try Again' ) . '</a>';
  
! 	if ( empty( $prefix ) )
! 		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" must not be empty.' . $tryagain_link ) );
! 
! 	// Validate $prefix: it can only contain letters, numbers and underscores.
  	if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
! 		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" can only contain numbers, letters, and underscores.' . $tryagain_link ) );
  
  	// Test the db connection.
  	/**#@+
***************
*** 171,192 ****
  	 */
  	define('DB_NAME', $dbname);
  	define('DB_USER', $uname);
! 	define('DB_PASSWORD', $passwrd);
  	define('DB_HOST', $dbhost);
  	/**#@-*/
  
  	// We'll fail here if the values are no good.
  	require_wp_db();
! 	if ( ! empty( $wpdb->error ) ) {
! 		$back = '<p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button">Try Again</a></p>';
! 		wp_die( $wpdb->error->get_error_message() . $back );
! 	}
  
  	// Fetch or generate keys and salts.
  	$no_api = isset( $_POST['noapi'] );
- 	require_once( ABSPATH . WPINC . '/plugin.php' );
- 	require_once( ABSPATH . WPINC . '/l10n.php' );
- 	require_once( ABSPATH . WPINC . '/pomo/translations.php' );
  	if ( ! $no_api ) {
  		require_once( ABSPATH . WPINC . '/class-http.php' );
  		require_once( ABSPATH . WPINC . '/http.php' );
--- 178,194 ----
  	 */
  	define('DB_NAME', $dbname);
  	define('DB_USER', $uname);
! 	define('DB_PASSWORD', $pwd);
  	define('DB_HOST', $dbhost);
  	/**#@-*/
  
  	// We'll fail here if the values are no good.
  	require_wp_db();
! 	if ( ! empty( $wpdb->error ) )
! 		wp_die( $wpdb->error->get_error_message() . $tryagain_link );
  
  	// Fetch or generate keys and salts.
  	$no_api = isset( $_POST['noapi'] );
  	if ( ! $no_api ) {
  		require_once( ABSPATH . WPINC . '/class-http.php' );
  		require_once( ABSPATH . WPINC . '/http.php' );
***************
*** 213,274 ****
  			$secret_keys[$k] = substr( $v, 28, 64 );
  		}
  	}
- 	$key = 0;
  
! 	foreach ($configFile as $line_num => $line) {
! 		switch (substr($line,0,16)) {
! 			case "define('DB_NAME'":
! 				$configFile[$line_num] = str_replace("database_name_here", $dbname, $line);
! 				break;
! 			case "define('DB_USER'":
! 				$configFile[$line_num] = str_replace("'username_here'", "'$uname'", $line);
! 				break;
! 			case "define('DB_PASSW":
! 				$configFile[$line_num] = str_replace("'password_here'", "'$passwrd'", $line);
! 				break;
! 			case "define('DB_HOST'":
! 				$configFile[$line_num] = str_replace("localhost", $dbhost, $line);
! 				break;
! 			case '$table_prefix  =':
! 				$configFile[$line_num] = str_replace('wp_', $prefix, $line);
! 				break;
! 			case "define('AUTH_KEY":
! 			case "define('SECURE_A":
! 			case "define('LOGGED_I":
! 			case "define('NONCE_KE":
! 			case "define('AUTH_SAL":
! 			case "define('SECURE_A":
! 			case "define('LOGGED_I":
! 			case "define('NONCE_SA":
! 				$configFile[$line_num] = str_replace('put your unique phrase here', $secret_keys[$key++], $line );
  				break;
  		}
  	}
  	if ( ! is_writable(ABSPATH) ) :
  		display_header();
  ?>
! <p>Sorry, but I can't write the <code>wp-config.php</code> file.</p>
! <p>You can create the <code>wp-config.php</code> manually and paste the following text into it.</p>
  <textarea cols="98" rows="15" class="code"><?php
! 		foreach( $configFile as $line ) {
  			echo htmlentities($line, ENT_COMPAT, 'UTF-8');
  		}
  ?></textarea>
! <p>After you've done that, click "Run the install."</p>
! <p class="step"><a href="install.php" class="button">Run the install</a></p>
  <?php
  	else :
  		$handle = fopen(ABSPATH . 'wp-config.php', 'w');
! 		foreach( $configFile as $line ) {
  			fwrite($handle, $line);
  		}
  		fclose($handle);
  		chmod(ABSPATH . 'wp-config.php', 0666);
  		display_header();
  ?>
! <p>All right sparky! You've made it through this part of the installation. WordPress can now communicate with your database. If you are ready, time now to&hellip;</p>
  
! <p class="step"><a href="install.php" class="button">Run the install</a></p>
  <?php
  	endif;
  	break;
--- 215,280 ----
  			$secret_keys[$k] = substr( $v, 28, 64 );
  		}
  	}
  
! 	$key = 0;
! 	foreach ( $config_file as &$line ) {
! 		if ( '$table_prefix  =' == substr( $line, 0, 16 ) ) {
! 			$line = '$table_prefix  = \'' . addcslashes( $prefix, "\\'" ) . "';\r\n";
! 			continue;
! 		}
! 
! 		if ( ! preg_match( '/^define\(\'([A-Z_]+)\',([ ]+)/', $line, $match ) )
! 			continue;
! 
! 		$constant = $match[1];
! 		$padding  = $match[2];
! 
! 		switch ( $constant ) {
! 			case 'DB_NAME'     :
! 			case 'DB_USER'     :
! 			case 'DB_PASSWORD' :
! 			case 'DB_HOST'     :
! 				$line = "define('" . $constant . "'," . $padding . "'" . addcslashes( constant( $constant ), "\\'" ) . "');\r\n";
! 				break;
! 			case 'AUTH_KEY'         :
! 			case 'SECURE_AUTH_KEY'  :
! 			case 'LOGGED_IN_KEY'    :
! 			case 'NONCE_KEY'        :
! 			case 'AUTH_SALT'        :
! 			case 'SECURE_AUTH_SALT' :
! 			case 'LOGGED_IN_SALT'   :
! 			case 'NONCE_SALT'       :
! 				$line = "define('" . $constant . "'," . $padding . "'" . $secret_keys[$key++] . "');\r\n";
  				break;
  		}
  	}
+ 	unset( $line );
+ 
  	if ( ! is_writable(ABSPATH) ) :
  		display_header();
  ?>
! <p><?php _e( "Sorry, but I can't write the <code>wp-config.php</code> file." ); ?></p>
! <p><?php _e( 'You can create the <code>wp-config.php</code> manually and paste the following text into it.' ); ?></p>
  <textarea cols="98" rows="15" class="code"><?php
! 		foreach( $config_file as $line ) {
  			echo htmlentities($line, ENT_COMPAT, 'UTF-8');
  		}
  ?></textarea>
! <p><?php _e( 'After you\'ve done that, click "Run the install."' ); ?></p>
! <p class="step"><a href="install.php" class="button"><?php _e( 'Run the install' ); ?></a></p>
  <?php
  	else :
  		$handle = fopen(ABSPATH . 'wp-config.php', 'w');
! 		foreach( $config_file as $line ) {
  			fwrite($handle, $line);
  		}
  		fclose($handle);
  		chmod(ABSPATH . 'wp-config.php', 0666);
  		display_header();
  ?>
! <p><?php _e( "All right sparky! You've made it through this part of the installation. WordPress can now communicate with your database. If you are ready, time now to&hellip;" ); ?></p>
  
! <p class="step"><a href="install.php" class="button"><?php _e( 'Run the install' ); ?></a></p>
  <?php
  	endif;
  	break;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/theme-editor.php ./wordpress-3.4/wp-admin/theme-editor.php
*** ./wordpress-3.3.2/wp-admin/theme-editor.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/theme-editor.php	2012-05-22 10:25:35.000000000 -0500
***************
*** 42,121 ****
  	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
  );
  
! wp_reset_vars(array('action', 'redirect', 'profile', 'error', 'warning', 'a', 'file', 'theme', 'dir'));
  
! $themes = get_themes();
! 
! if (empty($theme)) {
! 	$theme = get_current_theme();
! } else {
! 	$theme = stripslashes($theme);
! }
! 
! if ( ! isset($themes[$theme]) )
! 	wp_die(__('The requested theme does not exist.'));
! 
! $allowed_files = array_merge( $themes[$theme]['Stylesheet Files'], $themes[$theme]['Template Files'] );
  
  if ( empty( $file ) ) {
! 	if ( false !== array_search( $themes[$theme]['Stylesheet Dir'] . '/style.css', $allowed_files ) )
! 		$file = $themes[$theme]['Stylesheet Dir'] . '/style.css';
! 	else
! 		$file = $allowed_files[0];
  } else {
! 	$file = stripslashes($file);
! 	if ( 'theme' == $dir ) {
! 		$file = dirname(dirname($themes[$theme]['Template Dir'])) . $file ;
! 	} else if ( 'style' == $dir) {
! 		$file = dirname(dirname($themes[$theme]['Stylesheet Dir'])) . $file ;
! 	}
  }
  
! validate_file_to_edit($file, $allowed_files);
! $scrollto = isset($_REQUEST['scrollto']) ? (int) $_REQUEST['scrollto'] : 0;
! $file_show = basename( $file );
! 
! switch($action) {
  
  case 'update':
! 
! 	check_admin_referer('edit-theme_' . $file . $theme);
! 
! 	$newcontent = stripslashes($_POST['newcontent']);
! 	$theme = urlencode($theme);
! 	if (is_writeable($file)) {
  		//is_writable() not always reliable, check return value. see comments @ http://uk.php.net/is_writable
! 		$f = fopen($file, 'w+');
! 		if ($f !== FALSE) {
! 			fwrite($f, $newcontent);
! 			fclose($f);
! 			$location = "theme-editor.php?file=$file&theme=$theme&a=te&scrollto=$scrollto";
! 		} else {
! 			$location = "theme-editor.php?file=$file&theme=$theme&scrollto=$scrollto";
  		}
- 	} else {
- 		$location = "theme-editor.php?file=$file&theme=$theme&scrollto=$scrollto";
  	}
! 
! 	$location = wp_kses_no_null($location);
! 	$strip = array('%0d', '%0a', '%0D', '%0A');
! 	$location = _deep_replace($strip, $location);
! 	header("Location: $location");
! 	exit();
! 
  break;
  
  default:
  
! 	require_once(ABSPATH . 'wp-admin/admin-header.php');
  
! 	update_recently_edited($file);
  
! 	if ( !is_file($file) )
! 		$error = 1;
  
  	$content = '';
! 	if ( !$error && filesize($file) > 0 ) {
  		$f = fopen($file, 'r');
  		$content = fread($f, filesize($file));
  
--- 42,109 ----
  	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
  );
  
! wp_reset_vars( array( 'action', 'error', 'file', 'theme' ) );
  
! if ( $theme )
! 	$stylesheet = urldecode( $theme );
! else
! 	$stylesheet = get_stylesheet();
! 
! $theme = wp_get_theme( $stylesheet );
! 
! if ( ! $theme->exists() )
! 	wp_die( __( 'The requested theme does not exist.' ) );
! 
! if ( $theme->errors() && 'theme_no_stylesheet' == $theme->errors()->get_error_code() )
! 	wp_die( __( 'The requested theme does not exist.' ) . ' ' . $theme->errors()->get_error_message() );
! 
! $allowed_files = $theme->get_files( 'php', 1 );
! $has_templates = ! empty( $allowed_files );
! $style_files = $theme->get_files( 'css' );
! $allowed_files['style.css'] = $style_files['style.css'];
! $allowed_files += $style_files;
  
  if ( empty( $file ) ) {
! 	$relative_file = 'style.css';
! 	$file = $allowed_files['style.css'];
  } else {
! 	$relative_file = urldecode( stripslashes( $file ) );
! 	$file = $theme->get_stylesheet_directory() . '/' . $relative_file;
  }
  
! validate_file_to_edit( $file, $allowed_files );
! $scrollto = isset( $_REQUEST['scrollto'] ) ? (int) $_REQUEST['scrollto'] : 0;
  
+ switch( $action ) {
  case 'update':
! 	check_admin_referer( 'edit-theme_' . $file . $stylesheet );
! 	$newcontent = stripslashes( $_POST['newcontent'] );
! 	$location = 'theme-editor.php?file=' . urlencode( $relative_file ) . '&theme=' . urlencode( $stylesheet ) . '&scrollto=' . $scrollto;
! 	if ( is_writeable( $file ) ) {
  		//is_writable() not always reliable, check return value. see comments @ http://uk.php.net/is_writable
! 		$f = fopen( $file, 'w+' );
! 		if ( $f !== false ) {
! 			fwrite( $f, $newcontent );
! 			fclose( $f );
! 			$location .= '&updated=true';
! 			$theme->cache_delete();
  		}
  	}
! 	wp_redirect( $location );
! 	exit;
  break;
  
  default:
  
! 	require_once( ABSPATH . 'wp-admin/admin-header.php' );
  
! 	update_recently_edited( $file );
  
! 	if ( ! is_file( $file ) )
! 		$error = true;
  
  	$content = '';
! 	if ( ! $error && filesize( $file ) > 0 ) {
  		$f = fopen($file, 'r');
  		$content = fread($f, filesize($file));
  
***************
*** 134,147 ****
  	}
  
  	?>
! <?php if (isset($_GET['a'])) : ?>
!  <div id="message" class="updated"><p><?php _e('File edited successfully.') ?></p></div>
  <?php endif;
  
! $description = get_file_description($file);
! $desc_header = ( $description != $file_show ) ? "$description <span>($file_show)</span>" : $file_show;
! 
! $is_child_theme = $themes[$theme]['Template'] != $themes[$theme]['Stylesheet'];
  ?>
  <div class="wrap">
  <?php screen_icon(); ?>
--- 122,135 ----
  	}
  
  	?>
! <?php if ( isset( $_GET['updated'] ) ) : ?>
!  <div id="message" class="updated"><p><?php _e( 'File edited successfully.' ) ?></p></div>
  <?php endif;
  
! $description = get_file_description( $file );
! $file_show = array_search( $file, array_filter( $allowed_files ) );
! if ( $description != $file_show )
! 	$description .= ' <span>(' . $file_show . ')</span>';
  ?>
  <div class="wrap">
  <?php screen_icon(); ?>
***************
*** 149,167 ****
  
  <div class="fileedit-sub">
  <div class="alignleft">
! <h3><?php echo $themes[$theme]['Name'] . ': ' . $desc_header; ?></h3>
  </div>
  <div class="alignright">
  	<form action="theme-editor.php" method="post">
  		<strong><label for="theme"><?php _e('Select theme to edit:'); ?> </label></strong>
  		<select name="theme" id="theme">
  <?php
! 	foreach ($themes as $a_theme) {
! 	$theme_name = $a_theme['Name'];
! 	if ($theme_name == $theme) $selected = " selected='selected'";
! 	else $selected = '';
! 	$theme_name = esc_attr($theme_name);
! 	echo "\n\t<option value=\"$theme_name\" $selected>$theme_name</option>";
  }
  ?>
  		</select>
--- 137,155 ----
  
  <div class="fileedit-sub">
  <div class="alignleft">
! <h3><?php echo $theme->display('Name'); if ( $description ) echo ': ' . $description; ?></h3>
  </div>
  <div class="alignright">
  	<form action="theme-editor.php" method="post">
  		<strong><label for="theme"><?php _e('Select theme to edit:'); ?> </label></strong>
  		<select name="theme" id="theme">
  <?php
! foreach ( wp_get_themes( array( 'errors' => null ) ) as $a_stylesheet => $a_theme ) {
! 	if ( $a_theme->errors() && 'theme_no_stylesheet' == $a_theme->errors()->get_error_code() )
! 		continue;
! 
! 	$selected = $a_stylesheet == $stylesheet ? ' selected="selected"' : '';
! 	echo "\n\t" . '<option value="' . esc_attr( $a_stylesheet ) . '"' . $selected . '>' . $a_theme->display('Name') . '</option>';
  }
  ?>
  		</select>
***************
*** 170,247 ****
  </div>
  <br class="clear" />
  </div>
  	<div id="templateside">
  <?php
! if ($allowed_files) :
  ?>
  	<h3><?php _e('Templates'); ?></h3>
! 	<?php if ( $is_child_theme ) : ?>
! 	<p class="howto"><?php printf( __( 'This child theme inherits templates from a parent theme, %s.' ), $themes[$theme]['Parent Theme'] ); ?></p>
  	<?php endif; ?>
  	<ul>
  <?php
! 	$template_mapping = array();
! 	$template_dir = $themes[$theme]['Template Dir'];
! 	foreach ( $themes[$theme]['Template Files'] as $template_file ) {
! 		// Don't show parent templates.
! 		if ( $is_child_theme && strpos( $template_file, trailingslashit( $template_dir ) ) === 0 )
! 			continue;
! 
! 		$description = trim( get_file_description($template_file) );
! 		$template_show = basename($template_file);
! 		$filedesc = ( $description != $template_file ) ? "$description<br /><span class='nonessential'>($template_show)</span>" : "$description";
! 		$filedesc = ( $template_file == $file ) ? "<span class='highlight'>$description<br /><span class='nonessential'>($template_show)</span></span>" : $filedesc;
! 		$template_mapping[ $description ] = array( _get_template_edit_filename($template_file, $template_dir), $filedesc );
! 	}
! 	ksort( $template_mapping );
! 	while ( list( $template_sorted_key, list( $template_file, $filedesc ) ) = each( $template_mapping ) ) :
! 	?>
! 		<li><a href="theme-editor.php?file=<?php echo urlencode( $template_file ) ?>&amp;theme=<?php echo urlencode( $theme ) ?>&amp;dir=theme"><?php echo $filedesc ?></a></li>
! <?php endwhile; ?>
! 	</ul>
! 	<h3><?php /* translators: Theme stylesheets in theme editor */ _ex('Styles', 'Theme stylesheets in theme editor'); ?></h3>
! 	<ul>
  <?php
! 	$template_mapping = array();
! 	$stylesheet_dir = $themes[$theme]['Stylesheet Dir'];
! 	foreach ( $themes[$theme]['Stylesheet Files'] as $style_file ) {
! 		// Don't show parent styles.
! 		if ( $is_child_theme && strpos( $style_file, trailingslashit( $template_dir ) ) === 0 )
! 			continue;
! 
! 		$description = trim( get_file_description($style_file) );
! 		$style_show = basename($style_file);
! 		$filedesc = ( $description != $style_file ) ? "$description<br /><span class='nonessential'>($style_show)</span>" : "$description";
! 		$filedesc = ( $style_file == $file ) ? "<span class='highlight'>$description<br /><span class='nonessential'>($style_show)</span></span>" : $filedesc;
! 		$template_mapping[ $description ] = array( _get_template_edit_filename($style_file, $stylesheet_dir), $filedesc );
! 	}
! 	ksort( $template_mapping );
! 	while ( list( $template_sorted_key, list( $style_file, $filedesc ) ) = each( $template_mapping ) ) :
! 		?>
! 		<li><a href="theme-editor.php?file=<?php echo urlencode( $style_file ) ?>&amp;theme=<?php echo urlencode($theme) ?>&amp;dir=style"><?php echo $filedesc ?></a></li>
! <?php endwhile; ?>
! 	</ul>
  <?php endif; ?>
  </div>
! <?php if (!$error) { ?>
  	<form name="template" id="template" action="theme-editor.php" method="post">
! 	<?php wp_nonce_field('edit-theme_' . $file . $theme) ?>
! 		 <div><textarea cols="70" rows="25" name="newcontent" id="newcontent" tabindex="1"><?php echo $content ?></textarea>
  		 <input type="hidden" name="action" value="update" />
! 		 <input type="hidden" name="file" value="<?php echo esc_attr($file) ?>" />
! 		 <input type="hidden" name="theme" value="<?php echo esc_attr($theme) ?>" />
  		 <input type="hidden" name="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
  		 </div>
! 	<?php if ( isset($functions ) && count($functions) ) { ?>
  		<div id="documentation" class="hide-if-no-js">
  		<label for="docs-list"><?php _e('Documentation:') ?></label>
  		<?php echo $docs_select; ?>
  		<input type="button" class="button" value=" <?php esc_attr_e( 'Lookup' ); ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" />
  		</div>
! 	<?php } ?>
  
  		<div>
! 		<?php if ( is_child_theme() && ! $is_child_theme && $themes[$theme]['Template'] == get_option('template') ) : ?>
  			<p><?php if ( is_writeable( $file ) ) { ?><strong><?php _e( 'Caution:' ); ?></strong><?php } ?>
  			<?php _e( 'This is a file in your current parent theme.' ); ?></p>
  		<?php endif; ?>
--- 158,219 ----
  </div>
  <br class="clear" />
  </div>
+ <?php
+ if ( $theme->errors() )
+ 	echo '<div class="error"><p><strong>' . __( 'This theme is broken.' ) . '</strong> ' . $theme->errors()->get_error_message() . '</p></div>';
+ ?>
  	<div id="templateside">
  <?php
! if ( $allowed_files ) :
! 	if ( $has_templates || $theme->parent() ) :
  ?>
  	<h3><?php _e('Templates'); ?></h3>
! 	<?php if ( $theme->parent() ) : ?>
! 	<p class="howto"><?php printf( __( 'This child theme inherits templates from a parent theme, %s.' ), '<a href="' . self_admin_url('theme-editor.php?theme=' . urlencode( $theme->get_template() ) ) . '">' . $theme->parent()->display('Name') . '</a>' ); ?></p>
  	<?php endif; ?>
  	<ul>
  <?php
! 	endif;
! 
! 	foreach ( $allowed_files as $filename => $absolute_filename ) :
! 		if ( 'style.css' == $filename )
! 			echo "\t</ul>\n\t<h3>" . _x( 'Styles', 'Theme stylesheets in theme editor' ) . "</h3>\n\t<ul>\n";
! 
! 		$file_description = get_file_description( $absolute_filename );
! 		if ( $file_description != basename( $filename ) )
! 			$file_description .= '<br /><span class="nonessential">(' . $filename . ')</span>';
! 
! 		if ( $absolute_filename == $file )
! 			$file_description = '<span class="highlight">' . $file_description . '</span>';
! ?>
! 		<li><a href="theme-editor.php?file=<?php echo urlencode( $filename ) ?>&amp;theme=<?php echo urlencode( $stylesheet ) ?>"><?php echo $file_description; ?></a></li>
  <?php
! 	endforeach;
! ?>
! </ul>
  <?php endif; ?>
  </div>
! <?php if ( $error ) :
! 	echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.') . '</p></div>';
! else : ?>
  	<form name="template" id="template" action="theme-editor.php" method="post">
! 	<?php wp_nonce_field( 'edit-theme_' . $file . $stylesheet ); ?>
! 		 <div><textarea cols="70" rows="30" name="newcontent" id="newcontent" tabindex="1"><?php echo $content ?></textarea>
  		 <input type="hidden" name="action" value="update" />
! 		 <input type="hidden" name="file" value="<?php echo esc_attr( $relative_file ); ?>" />
! 		 <input type="hidden" name="theme" value="<?php echo esc_attr( $theme->get_stylesheet() ); ?>" />
  		 <input type="hidden" name="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
  		 </div>
! 	<?php if ( ! empty( $functions ) ) : ?>
  		<div id="documentation" class="hide-if-no-js">
  		<label for="docs-list"><?php _e('Documentation:') ?></label>
  		<?php echo $docs_select; ?>
  		<input type="button" class="button" value=" <?php esc_attr_e( 'Lookup' ); ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" />
  		</div>
! 	<?php endif; ?>
  
  		<div>
! 		<?php if ( is_child_theme() && $theme->get_stylesheet() == get_template() ) : ?>
  			<p><?php if ( is_writeable( $file ) ) { ?><strong><?php _e( 'Caution:' ); ?></strong><?php } ?>
  			<?php _e( 'This is a file in your current parent theme.' ); ?></p>
  		<?php endif; ?>
***************
*** 254,262 ****
  		</div>
  	</form>
  <?php
! 	} else {
! 		echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.') . '</p></div>';
! 	}
  ?>
  <br class="clear" />
  </div>
--- 226,232 ----
  		</div>
  	</form>
  <?php
! endif; // $error
  ?>
  <br class="clear" />
  </div>
***************
*** 272,275 ****
  break;
  }
  
! include(ABSPATH . "wp-admin/admin-footer.php");
--- 242,245 ----
  break;
  }
  
! include(ABSPATH . 'wp-admin/admin-footer.php' );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/theme-install.php ./wordpress-3.4/wp-admin/theme-install.php
*** ./wordpress-3.3.2/wp-admin/theme-install.php	2011-11-30 20:22:07.000000000 -0600
--- ./wordpress-3.4/wp-admin/theme-install.php	2012-06-01 08:13:32.000000000 -0500
***************
*** 30,51 ****
  	$submenu_file = 'themes.php';
  
  wp_enqueue_script( 'theme-install' );
! 
! add_thickbox();
! wp_enqueue_script( 'theme-preview' );
  
  $body_id = $tab;
  
  do_action('install_themes_pre_' . $tab); //Used to override the general interface, Eg, install or theme information.
  
! $help = '<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'http://wordpress.org/extend/themes/') . '</p>';
! $help .= '<p>' . __('You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter. Alternately, you can browse the themes that are Featured, Newest, or Recently Updated. When you find a theme you like, you can preview it or install it.') . '</p>';
! $help .= '<p>' . __('You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme&#8217;s folder via FTP into your <code>/wp-content/themes</code> directory.') . '</p>';
  
  get_current_screen()->add_help_tab( array(
  	'id'      => 'overview',
  	'title'   => __('Overview'),
! 	'content' => $help
  ) );
  
  get_current_screen()->set_help_sidebar(
--- 30,60 ----
  	$submenu_file = 'themes.php';
  
  wp_enqueue_script( 'theme-install' );
! wp_enqueue_script( 'theme' );
  
  $body_id = $tab;
  
  do_action('install_themes_pre_' . $tab); //Used to override the general interface, Eg, install or theme information.
  
! $help_overview =
! 	'<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'http://wordpress.org/extend/themes/') . '</p>' .
! 	'<p>' . __('You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter. Alternately, you can browse the themes that are Featured, Newest, or Recently Updated. When you find a theme you like, you can preview it or install it.') . '</p>' .
! 	'<p>' . __('You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme&#8217;s folder via FTP into your <code>/wp-content/themes</code> directory.') . '</p>';
  
  get_current_screen()->add_help_tab( array(
  	'id'      => 'overview',
  	'title'   => __('Overview'),
! 	'content' => $help_overview
! ) );
! 
! $help_installing =
! 	'<p>' . __('Once you have generated a list of themes, you can preview and install any of them. Click on the thumbnail of the theme you&#8217;re interested in previewing. It will open up in a full-screen Preview page to give you a better idea of how that theme will look.') . '</p>' .
! 	'<p>' . __('To install the theme so you can preview it with your site&#8217;s content and customize its theme options, click the "Install" button at the top of the left-hand pane. The theme files will be downloaded to your website automatically. When this is complete, the theme is now available for activation, which you can do by clicking the "Activate" link, or by navigating to your Installed Themes page and clicking the "Live Preview" link under any installed theme&#8217;s thumbnail image.') . '</p>';
! 
! get_current_screen()->add_help_tab( array(
! 	'id'      => 'installing',
! 	'title'   => __('Previewing and Installing'),
! 	'content' => $help_installing
  ) );
  
  get_current_screen()->set_help_sidebar(
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/themes.php ./wordpress-3.4/wp-admin/themes.php
*** ./wordpress-3.3.2/wp-admin/themes.php	2011-11-30 19:24:39.000000000 -0600
--- ./wordpress-3.4/wp-admin/themes.php	2012-06-12 13:39:16.000000000 -0500
***************
*** 16,30 ****
  
  if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
  	if ( 'activate' == $_GET['action'] ) {
! 		check_admin_referer('switch-theme_' . $_GET['template']);
  		switch_theme($_GET['template'], $_GET['stylesheet']);
  		wp_redirect( admin_url('themes.php?activated=true') );
  		exit;
  	} elseif ( 'delete' == $_GET['action'] ) {
! 		check_admin_referer('delete-theme_' . $_GET['template']);
! 		if ( !current_user_can('delete_themes') )
  			wp_die( __( 'Cheatin&#8217; uh?' ) );
! 		delete_theme($_GET['template']);
  		wp_redirect( admin_url('themes.php?deleted=true') );
  		exit;
  	}
--- 16,34 ----
  
  if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
  	if ( 'activate' == $_GET['action'] ) {
! 		check_admin_referer('switch-theme_' . $_GET['stylesheet']);
! 		$theme = wp_get_theme( $_GET['stylesheet'] );
! 		if ( ! $theme->exists() || ! $theme->is_allowed() )
! 			wp_die( __( 'Cheatin&#8217; uh?' ) );
  		switch_theme($_GET['template'], $_GET['stylesheet']);
  		wp_redirect( admin_url('themes.php?activated=true') );
  		exit;
  	} elseif ( 'delete' == $_GET['action'] ) {
! 		check_admin_referer('delete-theme_' . $_GET['stylesheet']);
! 		$theme = wp_get_theme( $_GET['stylesheet'] );
! 		if ( !current_user_can('delete_themes') || ! $theme->exists() )
  			wp_die( __( 'Cheatin&#8217; uh?' ) );
! 		delete_theme($_GET['stylesheet']);
  		wp_redirect( admin_url('themes.php?deleted=true') );
  		exit;
  	}
***************
*** 38,49 ****
  if ( current_user_can( 'switch_themes' ) ) :
  
  $help_manage = '<p>' . __('Aside from the default theme included with your WordPress installation, themes are designed and developed by third parties.') . '</p>' .
! 	'<p>' . __('You can see your active theme at the top of the screen. Below are the other themes you have installed that are not currently in use. You can see what your site would look like with one of these themes by clicking the Preview link. To change themes, click the Activate link.') . '</p>';
  
  get_current_screen()->add_help_tab( array(
  	'id'      => 'overview',
  	'title'   => __('Overview'),
! 	'content' => $help_manage,
  ) );
  
  if ( current_user_can( 'install_themes' ) ) {
--- 42,53 ----
  if ( current_user_can( 'switch_themes' ) ) :
  
  $help_manage = '<p>' . __('Aside from the default theme included with your WordPress installation, themes are designed and developed by third parties.') . '</p>' .
! 	'<p>' . __('You can see your active theme at the top of the screen. Below are the other themes you have installed that are not currently in use. You can see what your site would look like with one of these themes by clicking the Live Preview link (see "Previewing and Customizing" help tab). To change themes, click the Activate link.') . '</p>';
  
  get_current_screen()->add_help_tab( array(
  	'id'      => 'overview',
  	'title'   => __('Overview'),
! 	'content' => $help_manage
  ) );
  
  if ( current_user_can( 'install_themes' ) ) {
***************
*** 56,62 ****
  	get_current_screen()->add_help_tab( array(
  		'id'      => 'adding-themes',
  		'title'   => __('Adding Themes'),
! 		'content' => $help_install,
  	) );
  }
  
--- 60,82 ----
  	get_current_screen()->add_help_tab( array(
  		'id'      => 'adding-themes',
  		'title'   => __('Adding Themes'),
! 		'content' => $help_install
! 	) );
! }
! 
! endif; // switch_themes
! 
! if ( current_user_can( 'edit_theme_options' ) ) {
! 	$help_customize =
! 		'<p>' . __('Click on the "Live Preview" link under any theme to preview that theme and change theme options in a separate, full-screen view. Any installed theme can be previewed and customized in this way.') . '</p>'.
! 		'<p>' . __('The theme being previewed is fully interactive &mdash; navigate to different pages to see how the theme handles posts, archives, and other page templates.') . '</p>' .
! 		'<p>' . __('In the left-hand pane you can edit the theme settings. The settings will differ, depending on what theme features the theme being previewed supports. To accept the new settings and activate the theme all in one step, click the "Save &amp; Activate" button at the top of the left-hand pane.') . '</p>' .
! 		'<p>' . __('When previewing on smaller monitors, you can use the "Collapse" icon at the bottom of the left-hand pane. This will hide the pane, giving you more room to preview your site in the new theme. To bring the pane back, click on the Collapse icon again.') . '</p>';
! 
! 	get_current_screen()->add_help_tab( array(
! 		'id'		=> 'customize-preview-themes',
! 		'title'		=> __('Previewing and Customizing'),
! 		'content'	=> $help_customize
  	) );
  }
  
***************
*** 66,92 ****
  	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
  );
  
- add_thickbox();
- wp_enqueue_script( 'theme-preview' );
  wp_enqueue_script( 'theme' );
! 
! endif;
  
  require_once('./admin-header.php');
  ?>
  
- <?php if ( ! validate_current_theme() ) : ?>
- <div id="message1" class="updated"><p><?php _e('The active theme is broken.  Reverting to the default theme.'); ?></p></div>
- <?php elseif ( isset($_GET['activated']) ) :
- 		if ( isset($wp_registered_sidebars) && count( (array) $wp_registered_sidebars ) && current_user_can('edit_theme_options') ) { ?>
- <div id="message2" class="updated"><p><?php printf( __('New theme activated. This theme supports widgets, please visit the <a href="%s">widgets settings</a> screen to configure them.'), admin_url( 'widgets.php' ) ); ?></p></div><?php
- 		} else { ?>
- <div id="message2" class="updated"><p><?php printf( __( 'New theme activated. <a href="%s">Visit site</a>' ), home_url( '/' ) ); ?></p></div><?php
- 		}
- 	elseif ( isset($_GET['deleted']) ) : ?>
- <div id="message3" class="updated"><p><?php _e('Theme deleted.') ?></p></div>
- <?php endif; ?>
- 
  <div class="wrap"><?php
  screen_icon();
  if ( ! is_multisite() && current_user_can( 'install_themes' ) ) : ?>
--- 86,97 ----
  	'<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
  );
  
  wp_enqueue_script( 'theme' );
! wp_enqueue_script( 'customize-loader' );
  
  require_once('./admin-header.php');
  ?>
  
  <div class="wrap"><?php
  screen_icon();
  if ( ! is_multisite() && current_user_can( 'install_themes' ) ) : ?>
***************
*** 96,113 ****
  <h2><?php echo esc_html( $title ); ?>
  <?php endif; ?>
  </h2>
  
- <h3><?php _e('Current Theme'); ?></h3>
- <div id="current-theme">
- <?php if ( $ct->screenshot ) : ?>
- <img src="<?php echo $ct->theme_root_uri . '/' . $ct->stylesheet . '/' . $ct->screenshot; ?>" alt="<?php esc_attr_e('Current theme preview'); ?>" />
- <?php endif; ?>
- <h4><?php
- 	/* translators: 1: theme title, 2: theme version, 3: theme author */
- 	printf(__('%1$s %2$s by %3$s'), $ct->title, $ct->version, $ct->author) ; ?></h4>
- <p class="theme-description"><?php echo $ct->description; ?></p>
- <div class="theme-options">
- 	<span><?php _e( 'Options:' )?></span>
  	<?php
  	// Pretend you didn't see this.
  	$options = array();
--- 101,153 ----
  <h2><?php echo esc_html( $title ); ?>
  <?php endif; ?>
  </h2>
+ <?php
+ if ( ! validate_current_theme() || isset( $_GET['broken'] ) ) : ?>
+ <div id="message1" class="updated"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div>
+ <?php elseif ( isset($_GET['activated']) ) :
+ 		if ( isset( $_GET['previewed'] ) ) { ?>
+ 		<div id="message2" class="updated"><p><?php printf( __( 'Settings saved and theme activated. <a href="%s">Visit site</a>.' ), home_url( '/' ) ); ?></p></div>
+ 		<?php } elseif ( isset($wp_registered_sidebars) && count( (array) $wp_registered_sidebars ) && current_user_can('edit_theme_options') ) { ?>
+ <div id="message2" class="updated"><p><?php printf( __('New theme activated. This theme supports widgets, please visit the <a href="%s">widgets settings</a> screen to configure them.'), admin_url( 'widgets.php' ) ); ?></p></div><?php
+ 		} else { ?>
+ <div id="message2" class="updated"><p><?php printf( __( 'New theme activated. <a href="%s">Visit site</a>' ), home_url( '/' ) ); ?></p></div><?php
+ 		}
+ 	elseif ( isset($_GET['deleted']) ) : ?>
+ <div id="message3" class="updated"><p><?php _e('Theme deleted.') ?></p></div>
+ <?php
+ endif;
+ 
+ $ct = wp_get_theme();
+ $screenshot = $ct->get_screenshot();
+ $class = $screenshot ? 'has-screenshot' : '';
+ 
+ $customize_title = sprintf( __( 'Customize &#8220;%s&#8221;' ), $ct->display('Name') );
+ 
+ ?>
+ <div id="current-theme" class="<?php echo esc_attr( $class ); ?>">
+ 	<?php if ( $screenshot ) : ?>
+ 		<?php if ( current_user_can( 'edit_theme_options' ) ) : ?>
+ 		<a href="<?php echo wp_customize_url(); ?>" class="load-customize hide-if-no-customize" title="<?php echo esc_attr( $customize_title ); ?>">
+ 			<img src="<?php echo esc_url( $screenshot ); ?>" alt="<?php esc_attr_e( 'Current theme preview' ); ?>" />
+ 		</a>
+ 		<?php endif; ?>
+ 		<img class="hide-if-customize" src="<?php echo esc_url( $screenshot ); ?>" alt="<?php esc_attr_e( 'Current theme preview' ); ?>" />
+ 	<?php endif; ?>
+ 
+ 	<h3><?php _e('Current Theme'); ?></h3>
+ 	<h4>
+ 		<?php echo $ct->display('Name'); ?>
+ 	</h4>
+ 
+ 	<div>
+ 		<ul class="theme-info">
+ 			<li><?php printf( __('By %s'), $ct->display('Author') ); ?></li>
+ 			<li><?php printf( __('Version %s'), $ct->display('Version') ); ?></li>
+ 		</ul>
+ 		<p class="theme-description"><?php echo $ct->display('Description'); ?></p>
+ 		<?php theme_update_available( $ct ); ?>
+ 	</div>
  
  	<?php
  	// Pretend you didn't see this.
  	$options = array();
***************
*** 117,126 ****
  			if ( 'themes.php' == $item[2] || 'theme-editor.php' == $item[2] )
  				continue;
  			// 0 = name, 1 = capability, 2 = file
! 			if ( ( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file)) ) $class = ' class="current"';
! 
  			if ( !empty($submenu[$item[2]]) ) {
! 				$submenu[$item[2]] = array_values($submenu[$item[2]]);  // Re-index.
  				$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
  				if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
  					$options[] = "<a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>";
--- 157,166 ----
  			if ( 'themes.php' == $item[2] || 'theme-editor.php' == $item[2] )
  				continue;
  			// 0 = name, 1 = capability, 2 = file
! 			if ( ( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file)) )
! 				$class = ' class="current"';
  			if ( !empty($submenu[$item[2]]) ) {
! 				$submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index.
  				$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
  				if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
  					$options[] = "<a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>";
***************
*** 135,147 ****
  			}
  		}
  	}
- 	echo implode ( ' | ', $options );
  
! 	if ( $ct->tags ) : ?>
! 	<p><?php _e('Tags:'); ?> <?php echo join(', ', $ct->tags); ?></p>
! 	<?php endif; ?>
! </div>
! <?php theme_update_available($ct); ?>
  
  </div>
  
--- 175,201 ----
  			}
  		}
  	}
  
! 	if ( $options || current_user_can( 'edit_theme_options' ) ) :
! 	?>
! 	<div class="theme-options">
! 		<?php if ( current_user_can( 'edit_theme_options' ) ) : ?>
! 		<a id="customize-current-theme-link" href="<?php echo wp_customize_url(); ?>" class="load-customize hide-if-no-customize" title="<?php echo esc_attr( $customize_title ); ?>"><?php _e( 'Customize' ); ?></a>
! 		<?php
! 		endif; // edit_theme_options
! 		if ( $options ) :
! 		?>
! 		<span><?php _e( 'Options:' )?></span>
! 		<ul>
! 			<?php foreach ( $options as $option ) : ?>
! 				<li><?php echo $option; ?></li>
! 			<?php endforeach; ?>
! 		</ul>
! 	</div>
! 	<?php
! 		endif; // options
! 	endif; // options || edit_theme_options
! 	?>
  
  </div>
  
***************
*** 154,174 ****
  }
  ?>
  
! <h3><?php _e('Available Themes'); ?></h3>
  
! <?php if ( !empty( $_REQUEST['s'] ) || !empty( $_REQUEST['filter'] ) || $wp_list_table->has_items() ) : ?>
  
! <form class="search-form filter-form" action="" method="get">
  
  <p class="search-box">
  	<label class="screen-reader-text" for="theme-search-input"><?php _e('Search Installed Themes'); ?>:</label>
! 	<input type="text" id="theme-search-input" name="s" value="<?php _admin_search_query(); ?>" />
  	<?php submit_button( __( 'Search Installed Themes' ), 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
  	<a id="filter-click" href="?filter=1"><?php _e( 'Feature Filter' ); ?></a>
  </p>
  
- <br class="clear"/>
- 
  <div id="filter-box" style="<?php if ( empty($_REQUEST['filter']) ) echo 'display: none;'; ?>">
  <?php $feature_list = get_theme_feature_list(); ?>
  	<div class="feature-filter">
--- 208,226 ----
  }
  ?>
  
! <form class="search-form filter-form" action="" method="get">
  
! <h3 class="available-themes"><?php _e('Available Themes'); ?></h3>
  
! <?php if ( !empty( $_REQUEST['s'] ) || !empty( $_REQUEST['features'] ) || $wp_list_table->has_items() ) : ?>
  
  <p class="search-box">
  	<label class="screen-reader-text" for="theme-search-input"><?php _e('Search Installed Themes'); ?>:</label>
! 	<input type="search" id="theme-search-input" name="s" value="<?php _admin_search_query(); ?>" />
  	<?php submit_button( __( 'Search Installed Themes' ), 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
  	<a id="filter-click" href="?filter=1"><?php _e( 'Feature Filter' ); ?></a>
  </p>
  
  <div id="filter-box" style="<?php if ( empty($_REQUEST['filter']) ) echo 'display: none;'; ?>">
  <?php $feature_list = get_theme_feature_list(); ?>
  	<div class="feature-filter">
***************
*** 198,216 ****
  	<?php endforeach; ?>
  
  	<div class="feature-container">
! 		<?php submit_button( __( 'Apply Filters' ), 'button-secondary submitter', false, false, array( 'style' => 'margin-left: 120px', 'id' => 'filter-submit' ) ); ?>
  		&nbsp;
! 		<small><a id="mini-filter-click" href="<?php echo esc_url( remove_query_arg( array('filter', 'features', 'submit') ) ); ?>"><?php _e( 'Close filters' )?></a></small>
  	</div>
  	<br/>
  	</div>
  	<br class="clear"/>
  </div>
  
- <br class="clear" />
- 
  <?php endif; ?>
  
  <?php $wp_list_table->display(); ?>
  
  </form>
--- 250,268 ----
  	<?php endforeach; ?>
  
  	<div class="feature-container">
! 		<?php submit_button( __( 'Apply Filters' ), 'button-secondary submitter', false, false, array( 'id' => 'filter-submit' ) ); ?>
  		&nbsp;
! 		<a id="mini-filter-click" href="<?php echo esc_url( remove_query_arg( array('filter', 'features', 'submit') ) ); ?>"><?php _e( 'Close filters' )?></a>
  	</div>
  	<br/>
  	</div>
  	<br class="clear"/>
  </div>
  
  <?php endif; ?>
  
+ <br class="clear" />
+ 
  <?php $wp_list_table->display(); ?>
  
  </form>
***************
*** 218,225 ****
  
  <?php
  // List broken themes, if any.
! $broken_themes = get_broken_themes();
! if ( current_user_can('edit_themes') && count( $broken_themes ) ) {
  ?>
  
  <h3><?php _e('Broken Themes'); ?></h3>
--- 270,276 ----
  
  <?php
  // List broken themes, if any.
! if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_get_themes( array( 'errors' => true ) ) ) {
  ?>
  
  <h3><?php _e('Broken Themes'); ?></h3>
***************
*** 231,250 ****
  		<th><?php _e('Description'); ?></th>
  	</tr>
  <?php
! 	$theme = '';
! 
! 	$theme_names = array_keys($broken_themes);
! 	natcasesort($theme_names);
! 
! 	foreach ($theme_names as $theme_name) {
! 		$title = $broken_themes[$theme_name]['Title'];
! 		$description = $broken_themes[$theme_name]['Description'];
! 
! 		$theme = ('class="alternate"' == $theme) ? '' : 'class="alternate"';
  		echo "
! 		<tr $theme>
! 			 <td>$title</td>
! 			 <td>$description</td>
  		</tr>";
  	}
  ?>
--- 282,294 ----
  		<th><?php _e('Description'); ?></th>
  	</tr>
  <?php
! 	$alt = '';
! 	foreach ( $broken_themes as $broken_theme ) {
! 		$alt = ('class="alternate"' == $alt) ? '' : 'class="alternate"';
  		echo "
! 		<tr $alt>
! 			 <td>" . $broken_theme->get('Name') ."</td>
! 			 <td>" . $broken_theme->errors()->get_error_message() . "</td>
  		</tr>";
  	}
  ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/tools.php ./wordpress-3.4/wp-admin/tools.php
*** ./wordpress-3.3.2/wp-admin/tools.php	2011-11-30 19:17:14.000000000 -0600
--- ./wordpress-3.4/wp-admin/tools.php	2012-05-05 14:09:08.000000000 -0500
***************
*** 19,26 ****
  get_current_screen()->add_help_tab( array(
  	'id'      => 'converter',
  	'title'   => __('Categories and Tags Converter'),
! 	'content' => '<p>' . __('Categories have hierarchy, meaning that you can nest sub-categories. Tags do not have hierachy and cannot be nested. Sometimes people start out using one on their posts, then later realize that the other would work better for their content.' ) . '</p>' .
! 	'<p>' . __( 'The Categories and Tags Converter link on this screen will take you to the Import screen, where that Converter is one of the plugins you can install. Once that plugin is installed, return to this screen  and the link will take you to a screen where you can choose to convert tags into categories or vice versa.' ) . '</p>',
  ) );
  
  get_current_screen()->set_help_sidebar(
--- 19,26 ----
  get_current_screen()->add_help_tab( array(
  	'id'      => 'converter',
  	'title'   => __('Categories and Tags Converter'),
! 	'content' => '<p>' . __('Categories have hierarchy, meaning that you can nest sub-categories. Tags do not have hierarchy and cannot be nested. Sometimes people start out using one on their posts, then later realize that the other would work better for their content.' ) . '</p>' .
! 	'<p>' . __( 'The Categories and Tags Converter link on this screen will take you to the Import screen, where that Converter is one of the plugins you can install. Once that plugin is installed, the Activate Plugin &amp; Run Importer link will take you to a screen where you can choose to convert tags into categories or vice versa.' ) . '</p>',
  ) );
  
  get_current_screen()->set_help_sidebar(
***************
*** 69,72 ****
  </div>
  <?php
  include('./admin-footer.php');
- ?>
--- 69,71 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/update-core.php ./wordpress-3.4/wp-admin/update-core.php
*** ./wordpress-3.3.2/wp-admin/update-core.php	2011-12-01 17:04:26.000000000 -0600
--- ./wordpress-3.4/wp-admin/update-core.php	2012-05-25 08:41:01.000000000 -0500
***************
*** 36,42 ****
  	$mysql_version  = $wpdb->db_version();
  	$show_buttons = true;
  	if ( 'development' == $update->response ) {
! 		$message = __('You are using a development version of WordPress.  You can update to the latest nightly build automatically or download the nightly build and install it manually:');
  		$download = __('Download nightly build');
  	} else {
  		if ( $current ) {
--- 36,42 ----
  	$mysql_version  = $wpdb->db_version();
  	$show_buttons = true;
  	if ( 'development' == $update->response ) {
! 		$message = __('You are using a development version of WordPress. You can update to the latest nightly build automatically or download the nightly build and install it manually:');
  		$download = __('Download nightly build');
  	} else {
  		if ( $current ) {
***************
*** 180,186 ****
  		echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>';
  	} else {
  		list( $normalized_version ) = explode( '-', $wp_version );
! 		echo '<p>' . sprintf( __( '<a href="%s">Learn more about WordPress %s</a>.' ), esc_url( admin_url( 'about.php' ) ), $normalized_version ) . '</p>';
  	}
  	dismissed_updates();
  
--- 180,186 ----
  		echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>';
  	} else {
  		list( $normalized_version ) = explode( '-', $wp_version );
! 		echo '<p>' . sprintf( __( '<a href="%s">Learn more about WordPress %s</a>.' ), esc_url( self_admin_url( 'about.php' ) ), $normalized_version ) . '</p>';
  	}
  	dismissed_updates();
  
***************
*** 260,266 ****
  			$upgrade_notice = '';
  		}
  
! 		$details_url = self_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin_data->update->slug . '&TB_iframe=true&width=640&height=662');
  		$details_text = sprintf(__('View version %1$s details'), $plugin_data->update->new_version);
  		$details = sprintf('<a href="%1$s" class="thickbox" title="%2$s">%3$s</a>.', esc_url($details_url), esc_attr($plugin_data->Name), $details_text);
  
--- 260,266 ----
  			$upgrade_notice = '';
  		}
  
! 		$details_url = self_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin_data->update->slug . '&section=changelog&TB_iframe=true&width=640&height=662');
  		$details_text = sprintf(__('View version %1$s details'), $plugin_data->update->new_version);
  		$details = sprintf('<a href="%1$s" class="thickbox" title="%2$s">%3$s</a>.', esc_url($details_url), esc_attr($plugin_data->Name), $details_text);
  
***************
*** 311,323 ****
  	</tfoot>
  	<tbody class="plugins">
  <?php
! 	foreach ( (array) $themes as $stylesheet => $theme_data) {
! 		$screenshot = $theme_data->{'Theme Root URI'} . '/' . $stylesheet . '/' . $theme_data->Screenshot;
! 
  		echo "
  	<tr class='active'>
! 		<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr($stylesheet) . "' /></th>
! 		<td class='plugin-title'><img src='$screenshot' width='64' height='64' style='float:left; padding: 0 5px 5px' /><strong>{$theme_data->Name}</strong>" .  sprintf(__('You have version %1$s installed. Update to %2$s.'), $theme_data->Version, $theme_data->update['new_version']) . "</td>
  	</tr>";
  	}
  ?>
--- 311,321 ----
  	</tfoot>
  	<tbody class="plugins">
  <?php
! 	foreach ( $themes as $stylesheet => $theme ) {
  		echo "
  	<tr class='active'>
! 		<th scope='row' class='check-column'><input type='checkbox' name='checked[]' value='" . esc_attr( $stylesheet ) . "' /></th>
! 		<td class='plugin-title'><img src='" . esc_url( $theme->get_screenshot() ) . "' width='64' height='64' style='float:left; padding: 0 5px 5px' /><strong>" . $theme->display('Name') . '</strong> ' . sprintf( __( 'You have version %1$s installed. Update to %2$s.' ), $theme->display('Version'), $theme->update['new_version'] ) . "</td>
  	</tr>";
  	}
  ?>
***************
*** 383,394 ****
  	}
  
  	show_message( __('WordPress updated successfully') );
! 	show_message( '<span class="hide-if-no-js">' . sprintf( __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%s">here</a>.' ), $result, esc_url( admin_url( 'about.php?updated' ) ) ) . '</span>' );
! 	show_message( '<span class="hide-if-js">' . sprintf( __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $result, esc_url( admin_url( 'about.php?updated' ) ) ) . '</span>' );
  	?>
  	</div>
  	<script type="text/javascript">
! 	window.location = '<?php echo admin_url( 'about.php?upgraded' ); ?>';
  	</script>
  	<?php
  }
--- 380,391 ----
  	}
  
  	show_message( __('WordPress updated successfully') );
! 	show_message( '<span class="hide-if-no-js">' . sprintf( __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%s">here</a>.' ), $result, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '</span>' );
! 	show_message( '<span class="hide-if-js">' . sprintf( __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $result, esc_url( self_admin_url( 'about.php?updated' ) ) ) . '</span>' );
  	?>
  	</div>
  	<script type="text/javascript">
! 	window.location = '<?php echo self_admin_url( 'about.php?updated' ); ?>';
  	</script>
  	<?php
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/update.php ./wordpress-3.4/wp-admin/update.php
*** ./wordpress-3.3.2/wp-admin/update.php	2011-08-28 03:42:07.000000000 -0500
--- ./wordpress-3.4/wp-admin/update.php	2012-04-16 09:02:28.000000000 -0500
***************
*** 152,159 ****
  
  		check_admin_referer('upgrade-theme_' . $theme);
  
! 		add_thickbox();
! 		wp_enqueue_script('theme-preview');
  		$title = __('Update Theme');
  		$parent_file = 'themes.php';
  		$submenu_file = 'themes.php';
--- 152,159 ----
  
  		check_admin_referer('upgrade-theme_' . $theme);
  
! 		wp_enqueue_script( 'customize-loader' );
! 
  		$title = __('Update Theme');
  		$parent_file = 'themes.php';
  		$submenu_file = 'themes.php';
***************
*** 199,211 ****
  		include_once ABSPATH . 'wp-admin/includes/theme-install.php'; //for themes_api..
  
  		check_admin_referer('install-theme_' . $theme);
! 		$api = themes_api('theme_information', array('slug' => $theme, 'fields' => array('sections' => false) ) ); //Save on a bit of bandwidth.
  
  		if ( is_wp_error($api) )
  	 		wp_die($api);
  
! 		add_thickbox();
! 		wp_enqueue_script('theme-preview');
  		$title = __('Install Themes');
  		$parent_file = 'themes.php';
  		$submenu_file = 'themes.php';
--- 199,211 ----
  		include_once ABSPATH . 'wp-admin/includes/theme-install.php'; //for themes_api..
  
  		check_admin_referer('install-theme_' . $theme);
! 		$api = themes_api('theme_information', array('slug' => $theme, 'fields' => array('sections' => false, 'tags' => false) ) ); //Save on a bit of bandwidth.
  
  		if ( is_wp_error($api) )
  	 		wp_die($api);
  
! 		wp_enqueue_script( 'customize-loader' );
! 
  		$title = __('Install Themes');
  		$parent_file = 'themes.php';
  		$submenu_file = 'themes.php';
***************
*** 230,240 ****
  
  		$file_upload = new File_Upload_Upgrader('themezip', 'package');
  
  		$title = __('Upload Theme');
  		$parent_file = 'themes.php';
  		$submenu_file = 'theme-install.php';
! 		add_thickbox();
! 		wp_enqueue_script('theme-preview');
  		require_once(ABSPATH . 'wp-admin/admin-header.php');
  
  		$title = sprintf( __('Installing Theme from uploaded file: %s'), basename( $file_upload->filename ) );
--- 230,241 ----
  
  		$file_upload = new File_Upload_Upgrader('themezip', 'package');
  
+ 		wp_enqueue_script( 'customize-loader' );
+ 
  		$title = __('Upload Theme');
  		$parent_file = 'themes.php';
  		$submenu_file = 'theme-install.php';
! 
  		require_once(ABSPATH . 'wp-admin/admin-header.php');
  
  		$title = sprintf( __('Installing Theme from uploaded file: %s'), basename( $file_upload->filename ) );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/upgrade-functions.php ./wordpress-3.4/wp-admin/upgrade-functions.php
*** ./wordpress-3.3.2/wp-admin/upgrade-functions.php	2008-08-14 01:30:38.000000000 -0500
--- ./wordpress-3.4/wp-admin/upgrade-functions.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 10,13 ****
  
  _deprecated_file( basename(__FILE__), '2.5', 'wp-admin/includes/upgrade.php' );
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
- ?>
--- 10,12 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/upgrade.php ./wordpress-3.4/wp-admin/upgrade.php
*** ./wordpress-3.3.2/wp-admin/upgrade.php	2011-10-25 00:29:28.000000000 -0500
--- ./wordpress-3.4/wp-admin/upgrade.php	2012-02-16 22:57:56.000000000 -0600
***************
*** 27,33 ****
  else
  	$step = 0;
  
! // Do it.  No output.
  if ( 'upgrade_db' === $step ) {
  	wp_upgrade();
  	die( '0' );
--- 27,33 ----
  else
  	$step = 0;
  
! // Do it. No output.
  if ( 'upgrade_db' === $step ) {
  	wp_upgrade();
  	die( '0' );
***************
*** 56,62 ****
  	?>
  </head>
  <body>
! <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
  
  <?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
  
--- 56,62 ----
  	?>
  </head>
  <body>
! <h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png?ver=20120216" /></h1>
  
  <?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
  
***************
*** 88,94 ****
  	case 1:
  		wp_upgrade();
  
! 			$backto = !empty($_GET['backto']) ? stripslashes( urldecode( $_GET['backto'] ) ) :  __get_option( 'home' ) . '/';
  			$backto = esc_url( $backto );
  			$backto = wp_validate_redirect($backto, __get_option( 'home' ) . '/');
  ?>
--- 88,94 ----
  	case 1:
  		wp_upgrade();
  
! 			$backto = !empty($_GET['backto']) ? stripslashes( urldecode( $_GET['backto'] ) ) : __get_option( 'home' ) . '/';
  			$backto = esc_url( $backto );
  			$backto = wp_validate_redirect($backto, __get_option( 'home' ) . '/');
  ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/upload.php ./wordpress-3.4/wp-admin/upload.php
*** ./wordpress-3.3.2/wp-admin/upload.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/upload.php	2012-04-11 19:16:37.000000000 -0500
***************
*** 176,182 ****
  
  <div class="wrap">
  <?php screen_icon(); ?>
! <h2><?php echo esc_html( $title ); ?> <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a> <?php
  if ( ! empty( $_REQUEST['s'] ) )
  	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
  </h2>
--- 176,187 ----
  
  <div class="wrap">
  <?php screen_icon(); ?>
! <h2>
! <?php
! echo esc_html( $title );
! if ( current_user_can( 'upload_files' ) ) { ?>
! 	<a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
! }
  if ( ! empty( $_REQUEST['s'] ) )
  	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
  </h2>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user/about.php ./wordpress-3.4/wp-admin/user/about.php
*** ./wordpress-3.3.2/wp-admin/user/about.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/user/about.php	2012-01-06 12:08:45.000000000 -0600
***************
*** 0 ****
--- 1,13 ----
+ <?php
+ /**
+  * User Dashboard About administration panel.
+  *
+  * @package WordPress
+  * @subpackage Administration
+  * @since 3.4.0
+  */
+ 
+ /** Load WordPress Administration Bootstrap */
+ require_once( './admin.php' );
+ 
+ require( '../about.php' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user/admin.php ./wordpress-3.4/wp-admin/user/admin.php
*** ./wordpress-3.3.2/wp-admin/user/admin.php	2011-04-20 15:19:50.000000000 -0500
--- ./wordpress-3.4/wp-admin/user/admin.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 7,13 ****
   * @since 3.1.0
   */
  
! define('WP_USER_ADMIN', TRUE);
  
  require_once( dirname(dirname(__FILE__)) . '/admin.php');
  
--- 7,13 ----
   * @since 3.1.0
   */
  
! define('WP_USER_ADMIN', true);
  
  require_once( dirname(dirname(__FILE__)) . '/admin.php');
  
***************
*** 23,27 ****
  	exit;
  }
  unset( $redirect_user_admin_request );
- 
- ?>
--- 23,25 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user/credits.php ./wordpress-3.4/wp-admin/user/credits.php
*** ./wordpress-3.3.2/wp-admin/user/credits.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/user/credits.php	2012-01-06 12:08:45.000000000 -0600
***************
*** 0 ****
--- 1,13 ----
+ <?php
+ /**
+  * User Dashboard Credits administration panel.
+  *
+  * @package WordPress
+  * @subpackage Administration
+  * @since 3.4.0
+  */
+ 
+ /** Load WordPress Administration Bootstrap */
+ require_once( './admin.php' );
+ 
+ require( '../credits.php' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user/freedoms.php ./wordpress-3.4/wp-admin/user/freedoms.php
*** ./wordpress-3.3.2/wp-admin/user/freedoms.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-admin/user/freedoms.php	2012-01-06 12:08:45.000000000 -0600
***************
*** 0 ****
--- 1,13 ----
+ <?php
+ /**
+  * User Dashboard Freedoms administration panel.
+  *
+  * @package WordPress
+  * @subpackage Administration
+  * @since 3.4.0
+  */
+ 
+ /** Load WordPress Administration Bootstrap */
+ require_once( './admin.php' );
+ 
+ require( '../freedoms.php' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user/index-extra.php ./wordpress-3.4/wp-admin/user/index-extra.php
*** ./wordpress-3.3.2/wp-admin/user/index-extra.php	2010-10-21 06:14:22.000000000 -0500
--- ./wordpress-3.4/wp-admin/user/index-extra.php	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,12 ****
- <?php
- /**
-  * Handle default dashboard widgets options AJAX.
-  *
-  * @package WordPress
-  * @subpackage Administration
-  * @since 3.1.0
-  */
- 
- require_once( './admin.php' );
- 
- require( '../index-extra.php' );
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user/menu.php ./wordpress-3.4/wp-admin/user/menu.php
*** ./wordpress-3.3.2/wp-admin/user/menu.php	2011-09-30 11:47:02.000000000 -0500
--- ./wordpress-3.4/wp-admin/user/menu.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 20,24 ****
  $submenu = array();
  
  require_once(ABSPATH . 'wp-admin/includes/menu.php');
- 
- ?>
--- 20,22 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user-edit.php ./wordpress-3.4/wp-admin/user-edit.php
*** ./wordpress-3.3.2/wp-admin/user-edit.php	2011-12-08 10:49:16.000000000 -0600
--- ./wordpress-3.4/wp-admin/user-edit.php	2012-05-30 16:54:33.000000000 -0500
***************
*** 321,327 ****
  
  			foreach ( $public_display as $id => $item ) {
  		?>
! 			<option id="<?php echo $id; ?>"<?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option>
  		<?php
  			}
  		?>
--- 319,325 ----
  
  			foreach ( $public_display as $id => $item ) {
  		?>
! 			<option <?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option>
  		<?php
  			}
  		?>
***************
*** 432,435 ****
  </script>
  <?php
  include( ABSPATH . 'wp-admin/admin-footer.php');
- ?>
--- 430,432 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/user-new.php ./wordpress-3.4/wp-admin/user-new.php
*** ./wordpress-3.3.2/wp-admin/user-new.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-admin/user-new.php	2012-06-05 13:51:33.000000000 -0500
***************
*** 26,32 ****
  this email. This invitation will expire in a few days.
  
  Please click the following link to activate your user account:
! %%s' ), get_bloginfo('name'), site_url(), esc_html( $_REQUEST[ 'role' ] ) );
  	}
  	add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' );
  
--- 26,32 ----
  this email. This invitation will expire in a few days.
  
  Please click the following link to activate your user account:
! %%s' ), get_bloginfo('name'), home_url(), esc_html( $_REQUEST[ 'role' ] ) );
  	}
  	add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' );
  
***************
*** 80,86 ****
  
  Please click the following link to confirm the invite:
  %4$s' );
! 			wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), get_option( 'blogname' ) ),  sprintf($message, get_option('blogname'), site_url(), $_REQUEST[ 'role' ], site_url("/newbloguser/$newuser_key/")));
  			$redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
  		}
  	}
--- 80,86 ----
  
  Please click the following link to confirm the invite:
  %4$s' );
! 			wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), get_option( 'blogname' ) ), sprintf($message, get_option('blogname'), home_url(), $_REQUEST[ 'role' ], home_url("/newbloguser/$newuser_key/")));
  			$redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
  		}
  	}
***************
*** 92,109 ****
  	if ( ! current_user_can('create_users') )
  		wp_die(__('Cheatin&#8217; uh?'));
  
! 	if ( !is_multisite() ) {
! 		$user_id = add_user();
  
  		if ( is_wp_error( $user_id ) ) {
  			$add_user_errors = $user_id;
  		} else {
! 			if ( current_user_can('edit_users') ) {
! 				$new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
! 				$redirect = 'users.php?usersearch='. urlencode($new_user_login) . '&update=add' . '#user-' . $user_id;
! 			} else {
  				$redirect = add_query_arg( 'update', 'add', 'user-new.php' );
- 			}
  			wp_redirect( $redirect );
  			die();
  		}
--- 92,107 ----
  	if ( ! current_user_can('create_users') )
  		wp_die(__('Cheatin&#8217; uh?'));
  
! 	if ( ! is_multisite() ) {
! 		$user_id = edit_user();
  
  		if ( is_wp_error( $user_id ) ) {
  			$add_user_errors = $user_id;
  		} else {
! 			if ( current_user_can( 'list_users' ) )
! 				$redirect = 'users.php?update=add&id=' . $user_id;
! 			else
  				$redirect = add_query_arg( 'update', 'add', 'user-new.php' );
  			wp_redirect( $redirect );
  			die();
  		}
***************
*** 143,149 ****
  
  if ( is_multisite() ) {
  	$help .= '<p>' . __('Because this is a multisite installation, you may add accounts that already exist on the Network by specifying a username or email, and defining a role. For more options, such as specifying a password, you have to be a Network Administrator and use the hover link under an existing user&#8217;s name to Edit the user profile under Network Admin > All Users.') . '</p>' .
! 	'<p>' . __('New users will receive an email letting them know they&#8217;ve been added as a user for your site. This email will also contain their password. Check the box if you don&#8217;t want the user to recieve a welcome email.') . '</p>';
  } else {
  	$help .= '<p>' . __('You must assign a password to the new user, which they can change after logging in. The username, however, cannot be changed.') . '</p>' .
  	'<p>' . __('New users will receive an email letting them know they&#8217;ve been added as a user for your site. By default, this email will also contain their password. Uncheck the box if you don&#8217;t want the password to be included in the welcome email.') . '</p>';
--- 141,147 ----
  
  if ( is_multisite() ) {
  	$help .= '<p>' . __('Because this is a multisite installation, you may add accounts that already exist on the Network by specifying a username or email, and defining a role. For more options, such as specifying a password, you have to be a Network Administrator and use the hover link under an existing user&#8217;s name to Edit the user profile under Network Admin > All Users.') . '</p>' .
! 	'<p>' . __('New users will receive an email letting them know they&#8217;ve been added as a user for your site. This email will also contain their password. Check the box if you don&#8217;t want the user to receive a welcome email.') . '</p>';
  } else {
  	$help .= '<p>' . __('You must assign a password to the new user, which they can change after logging in. The username, however, cannot be changed.') . '</p>' .
  	'<p>' . __('New users will receive an email letting them know they&#8217;ve been added as a user for your site. By default, this email will also contain their password. Uncheck the box if you don&#8217;t want the password to be included in the welcome email.') . '</p>';
***************
*** 163,169 ****
  'content' => '<p>' . __('Here is a basic overview of the different user roles and the permissions associated with each one:') . '</p>' .
  				'<ul>' .
  				'<li>' . __('Administrators have access to all the administration features.') . '</li>' .
! 				'<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.')  . '</li>' .
  				'<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
  				'<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
  				'<li>' . __('Subscribers can read comments/comment/receive newsletters, etc. but cannot create regular site content.') . '</li>' .
--- 161,167 ----
  'content' => '<p>' . __('Here is a basic overview of the different user roles and the permissions associated with each one:') . '</p>' .
  				'<ul>' .
  				'<li>' . __('Administrators have access to all the administration features.') . '</li>' .
! 				'<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.') . '</li>' .
  				'<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
  				'<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
  				'<li>' . __('Subscribers can read comments/comment/receive newsletters, etc. but cannot create regular site content.') . '</li>' .
***************
*** 179,185 ****
  wp_enqueue_script('wp-ajax-response');
  wp_enqueue_script('user-profile');
  
! require_once ('admin-header.php');
  
  if ( isset($_GET['update']) ) {
  	$messages = array();
--- 177,189 ----
  wp_enqueue_script('wp-ajax-response');
  wp_enqueue_script('user-profile');
  
! if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
! 	&& ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
! ) {
! 	wp_enqueue_script( 'user-suggest' );
! }
! 
! require_once( 'admin-header.php' );
  
  if ( isset($_GET['update']) ) {
  	$messages = array();
***************
*** 251,260 ****
  	if ( $do_both )
  		echo '<h3 id="add-existing-user">' . __('Add Existing User') . '</h3>';
  	if ( !is_super_admin() ) {
! 		_e( 'Enter the email address of an existing user on this network to invite them to this site.  That person will be sent an email asking them to confirm the invite.' );
  		$label = __('E-mail');
  	} else {
! 		_e( 'Enter the email address or username of an existing user on this network to invite them to this site.  That person will be sent an email asking them to confirm the invite.' );
  		$label = __('E-mail or Username');
  	}
  ?>
--- 255,264 ----
  	if ( $do_both )
  		echo '<h3 id="add-existing-user">' . __('Add Existing User') . '</h3>';
  	if ( !is_super_admin() ) {
! 		_e( 'Enter the email address of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' );
  		$label = __('E-mail');
  	} else {
! 		_e( 'Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' );
  		$label = __('E-mail or Username');
  	}
  ?>
***************
*** 265,271 ****
  <table class="form-table">
  	<tr class="form-field form-required">
  		<th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
! 		<td><input name="email" type="text" id="adduser-email" value="" /></td>
  	</tr>
  	<tr class="form-field">
  		<th scope="row"><label for="adduser-role"><?php _e('Role'); ?></label></th>
--- 269,275 ----
  <table class="form-table">
  	<tr class="form-field form-required">
  		<th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
! 		<td><input name="email" type="text" id="adduser-email" class="wp-suggest-user" value="" /></td>
  	</tr>
  	<tr class="form-field">
  		<th scope="row"><label for="adduser-role"><?php _e('Role'); ?></label></th>
***************
*** 361,367 ****
  	<?php if ( is_multisite() && is_super_admin() ) { ?>
  	<tr>
  		<th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
! 		<td><label for="noconfirmation"><input type="checkbox" name="noconfirmation" id="noconfirmation" value="1"  <?php checked( $new_user_ignore_pass ); ?> /> <?php _e( 'Add the user without sending them a confirmation email.' ); ?></label></td>
  	</tr>
  	<?php } ?>
  </table>
--- 365,371 ----
  	<?php if ( is_multisite() && is_super_admin() ) { ?>
  	<tr>
  		<th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
! 		<td><label for="noconfirmation"><input type="checkbox" name="noconfirmation" id="noconfirmation" value="1" <?php checked( $new_user_ignore_pass ); ?> /> <?php _e( 'Add the user without sending them a confirmation email.' ); ?></label></td>
  	</tr>
  	<?php } ?>
  </table>
***************
*** 373,376 ****
  </div>
  <?php
  include('./admin-footer.php');
- ?>
--- 377,379 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/users.php ./wordpress-3.4/wp-admin/users.php
*** ./wordpress-3.3.2/wp-admin/users.php	2012-01-02 15:45:38.000000000 -0600
--- ./wordpress-3.4/wp-admin/users.php	2012-06-05 13:51:33.000000000 -0500
***************
*** 33,39 ****
  	'content' => '<p>' . __('You can customize the display of this screen in a number of ways:') . '</p>' .
  					'<ul>' .
  					'<li>' . __('You can hide/display columns based on your needs and decide how many users to list per screen using the Screen Options tab.') . '</li>' .
! 					'<li>' . __('You can filter the list of users by User Role using the text links in the upper left to show All, Administrator, Editor, Author, Contributor, or Subscriber. The default view is to show all users.  Unused User Roles are not listed.') . '</li>' .
  					'<li>' . __('You can view all posts made by a user by clicking on the number under the Posts column.') . '</li>' .
  					'</ul>'
  ) );
--- 33,39 ----
  	'content' => '<p>' . __('You can customize the display of this screen in a number of ways:') . '</p>' .
  					'<ul>' .
  					'<li>' . __('You can hide/display columns based on your needs and decide how many users to list per screen using the Screen Options tab.') . '</li>' .
! 					'<li>' . __('You can filter the list of users by User Role using the text links in the upper left to show All, Administrator, Editor, Author, Contributor, or Subscriber. The default view is to show all users. Unused User Roles are not listed.') . '</li>' .
  					'<li>' . __('You can view all posts made by a user by clicking on the number under the Posts column.') . '</li>' .
  					'</ul>'
  ) );
***************
*** 346,355 ****
  		case 'del':
  		case 'del_many':
  			$delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
! 			$messages[] = '<div id="message" class="updated"><p>' . sprintf(_n('%s user deleted', '%s users deleted', $delete_count), $delete_count) . '</p></div>';
  			break;
  		case 'add':
! 			$messages[] = '<div id="message" class="updated"><p>' . __('New user created.') . '</p></div>';
  			break;
  		case 'promote':
  			$messages[] = '<div id="message" class="updated"><p>' . __('Changed roles.') . '</p></div>';
--- 347,362 ----
  		case 'del':
  		case 'del_many':
  			$delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
! 			$messages[] = '<div id="message" class="updated"><p>' . sprintf( _n( 'User deleted.', '%s users deleted.', $delete_count ), number_format_i18n( $delete_count ) ) . '</p></div>';
  			break;
  		case 'add':
! 			if ( isset( $_GET['id'] ) && ( $user_id = $_GET['id'] ) && current_user_can( 'edit_user', $user_id ) ) {
! 				$messages[] = '<div id="message" class="updated"><p>' . sprintf( __( 'New user created. <a href="%s">Edit user</a>' ),
! 					esc_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ),
! 						self_admin_url( 'user-edit.php?user_id=' . $user_id ) ) ) ) . '</p></div>';
! 			} else {
! 				$messages[] = '<div id="message" class="updated"><p>' . __( 'New user created.' ) . '</p></div>';
! 			}
  			break;
  		case 'promote':
  			$messages[] = '<div id="message" class="updated"><p>' . __('Changed roles.') . '</p></div>';
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-admin/widgets.php ./wordpress-3.4/wp-admin/widgets.php
*** ./wordpress-3.3.2/wp-admin/widgets.php	2011-12-08 11:56:03.000000000 -0600
--- ./wordpress-3.4/wp-admin/widgets.php	2012-04-10 21:20:51.000000000 -0500
***************
*** 25,35 ****
  	return "$classes widgets_access ";
  }
  
! if ( 'on' == $widgets_access )
  	add_filter( 'admin_body_class', 'wp_widgets_access_body_class' );
! else
  	wp_enqueue_script('admin-widgets');
  
  do_action( 'sidebar_admin_setup' );
  
  $title = __( 'Widgets' );
--- 25,39 ----
  	return "$classes widgets_access ";
  }
  
! if ( 'on' == $widgets_access ) {
  	add_filter( 'admin_body_class', 'wp_widgets_access_body_class' );
! } else {
  	wp_enqueue_script('admin-widgets');
  
+ 	if ( wp_is_mobile() )
+ 		wp_enqueue_script( 'jquery-touch-punch' );
+ }
+ 
  do_action( 'sidebar_admin_setup' );
  
  $title = __( 'Widgets' );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-app.php ./wordpress-3.4/wp-app.php
*** ./wordpress-3.3.2/wp-app.php	2011-10-28 10:48:44.000000000 -0500
--- ./wordpress-3.4/wp-app.php	2012-05-13 16:41:40.000000000 -0500
***************
*** 18,1612 ****
  /** Atom Publishing Protocol Class */
  require_once(ABSPATH . WPINC . '/atomlib.php');
  
  /** Admin Image API for metadata updating */
  require_once(ABSPATH . '/wp-admin/includes/image.php');
  
  $_SERVER['PATH_INFO'] = preg_replace( '/.*\/wp-app\.php/', '', $_SERVER['REQUEST_URI'] );
  
! /**
!  * Whether to enable Atom Publishing Protocol Logging.
!  *
!  * @name app_logging
!  * @var int|bool
!  */
! $app_logging = 0;
  
! /**
!  * Whether to always authenticate user. Permanently set to true.
!  *
!  * @name always_authenticate
!  * @var int|bool
!  * @todo Should be an option somewhere
!  */
! $always_authenticate = 1;
  
  /**
   * Writes logging info to a file.
   *
   * @since 2.2.0
!  * @uses $app_logging
!  * @package WordPress
!  * @subpackage Logging
   *
   * @param string $label Type of logging
   * @param string $msg Information describing logging reason.
   */
! function log_app($label,$msg) {
! 	global $app_logging;
! 	if ($app_logging) {
! 		$fp = fopen( 'wp-app.log', 'a+');
! 		$date = gmdate( 'Y-m-d H:i:s' );
! 		fwrite($fp, "\n\n$date - $label\n$msg\n");
! 		fclose($fp);
! 	}
! }
! 
! /**
!  * Filter to add more post statuses.
!  *
!  * @since 2.2.0
!  *
!  * @param string $where SQL statement to filter.
!  * @return string Filtered SQL statement with added post_status for where clause.
!  */
! function wa_posts_where_include_drafts_filter($where) {
! 	$where = str_replace("post_status = 'publish'","post_status = 'publish' OR post_status = 'future' OR post_status = 'draft' OR post_status = 'inherit'", $where);
! 	return $where;
! 
! }
! add_filter('posts_where', 'wa_posts_where_include_drafts_filter');
! 
! /**
!  * WordPress AtomPub API implementation.
!  *
!  * @package WordPress
!  * @subpackage Publishing
!  * @since 2.2.0
!  */
! class AtomServer {
! 
! 	/**
! 	 * ATOM content type.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $ATOM_CONTENT_TYPE = 'application/atom+xml';
! 
! 	/**
! 	 * Categories ATOM content type.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $CATEGORIES_CONTENT_TYPE = 'application/atomcat+xml';
! 
! 	/**
! 	 * Service ATOM content type.
! 	 *
! 	 * @since 2.3.0
! 	 * @var string
! 	 */
! 	var $SERVICE_CONTENT_TYPE = 'application/atomsvc+xml';
! 
! 	/**
! 	 * ATOM XML namespace.
! 	 *
! 	 * @since 2.3.0
! 	 * @var string
! 	 */
! 	var $ATOM_NS = 'http://www.w3.org/2005/Atom';
! 
! 	/**
! 	 * ATOMPUB XML namespace.
! 	 *
! 	 * @since 2.3.0
! 	 * @var string
! 	 */
! 	var $ATOMPUB_NS = 'http://www.w3.org/2007/app';
! 
! 	/**
! 	 * Entries path.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $ENTRIES_PATH = "posts";
! 
! 	/**
! 	 * Categories path.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $CATEGORIES_PATH = "categories";
! 
! 	/**
! 	 * Media path.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $MEDIA_PATH = "attachments";
! 
! 	/**
! 	 * Entry path.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $ENTRY_PATH = "post";
! 
! 	/**
! 	 * Service path.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $SERVICE_PATH = "service";
! 
! 	/**
! 	 * Media single path.
! 	 *
! 	 * @since 2.2.0
! 	 * @var string
! 	 */
! 	var $MEDIA_SINGLE_PATH = "attachment";
! 
! 	/**
! 	 * ATOMPUB parameters.
! 	 *
! 	 * @since 2.2.0
! 	 * @var array
! 	 */
! 	var $params = array();
! 
! 	/**
! 	 * Supported ATOMPUB media types.
! 	 *
! 	 * @since 2.3.0
! 	 * @var array
! 	 */
! 	var $media_content_types = array('image/*','audio/*','video/*');
! 
! 	/**
! 	 * ATOMPUB content type(s).
! 	 *
! 	 * @since 2.2.0
! 	 * @var array
! 	 */
! 	var $atom_content_types = array('application/atom+xml');
! 
! 	/**
! 	 * ATOMPUB methods.
! 	 *
! 	 * @since 2.2.0
! 	 * @var unknown_type
! 	 */
! 	var $selectors = array();
! 
! 	/**
! 	 * Whether to do output.
! 	 *
! 	 * Support for head.
! 	 *
! 	 * @since 2.2.0
! 	 * @var bool
! 	 */
! 	var $do_output = true;
! 
! 	/**
! 	 * Constructor - Sets up object properties.
! 	 *
! 	 * @since 2.2.0
! 	 * @return AtomServer
! 	 */
! 	function __construct() {
! 
! 		$var_by_ref = explode( '/', $_SERVER['SCRIPT_NAME'] );
! 		$this->script_name = array_pop( $var_by_ref );
! 		$this->app_base = site_url( $this->script_name . '/' );
! 
! 		$this->selectors = array(
! 			'@/service$@' =>
! 				array('GET' => 'get_service'),
! 			'@/categories$@' =>
! 				array('GET' => 'get_categories_xml'),
! 			'@/post/(\d+)$@' =>
! 				array('GET' => 'get_post',
! 						'PUT' => 'put_post',
! 						'DELETE' => 'delete_post'),
! 			'@/posts/?(\d+)?$@' =>
! 				array('GET' => 'get_posts',
! 						'POST' => 'create_post'),
! 			'@/attachments/?(\d+)?$@' =>
! 				array('GET' => 'get_attachment',
! 						'POST' => 'create_attachment'),
! 			'@/attachment/file/(\d+)$@' =>
! 				array('GET' => 'get_file',
! 						'PUT' => 'put_file',
! 						'DELETE' => 'delete_file'),
! 			'@/attachment/(\d+)$@' =>
! 				array('GET' => 'get_attachment',
! 						'PUT' => 'put_attachment',
! 						'DELETE' => 'delete_attachment'),
! 		);
! 	}
! 
! 	/**
! 	 * Handle ATOMPUB request.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function handle_request() {
! 		global $always_authenticate;
! 
! 		if ( !empty( $_SERVER['ORIG_PATH_INFO'] ) )
! 			$path = $_SERVER['ORIG_PATH_INFO'];
! 		else
! 			$path = $_SERVER['PATH_INFO'];
! 
! 		$method = $_SERVER['REQUEST_METHOD'];
! 
! 		log_app('REQUEST',"$method $path\n================");
! 
! 		$this->process_conditionals();
! 		//$this->process_conditionals();
! 
! 		// exception case for HEAD (treat exactly as GET, but don't output)
! 		if ($method == 'HEAD') {
! 			$this->do_output = false;
! 			$method = 'GET';
! 		}
! 
! 		// redirect to /service in case no path is found.
! 		if (strlen($path) == 0 || $path == '/')
! 			$this->redirect($this->get_service_url());
! 
! 		// check to see if AtomPub is enabled
! 		if ( !get_option( 'enable_app' ) )
! 			$this->forbidden( sprintf( __( 'AtomPub services are disabled on this site.  An admin user can enable them at %s' ), admin_url('options-writing.php') ) );
! 
! 		// dispatch
! 		foreach ( $this->selectors as $regex => $funcs ) {
! 			if ( preg_match($regex, $path, $matches) ) {
! 				if ( isset($funcs[$method]) ) {
! 
! 					// authenticate regardless of the operation and set the current
! 					// user. each handler will decide if auth is required or not.
! 					if ( !$this->authenticate() ) {
! 						if ( $always_authenticate )
! 							$this->auth_required('Credentials required.');
! 					}
! 
! 					array_shift($matches);
! 					call_user_func_array(array(&$this,$funcs[$method]), $matches);
! 					exit();
! 				} else {
! 					// only allow what we have handlers for...
! 					$this->not_allowed(array_keys($funcs));
! 				}
! 			}
! 		}
! 
! 		// oops, nothing found
! 		$this->not_found();
! 	}
! 
! 	/**
! 	 * Retrieve XML for ATOMPUB service.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function get_service() {
! 		log_app('function','get_service()');
! 
! 		if ( !current_user_can( 'edit_posts' ) )
! 			$this->auth_required( __( 'Sorry, you do not have the right to access this site.' ) );
! 
! 		$entries_url = esc_attr($this->get_entries_url());
! 		$categories_url = esc_attr($this->get_categories_url());
! 		$media_url = esc_attr($this->get_attachments_url());
! 		$accepted_media_types = '';
! 		foreach ($this->media_content_types as $med) {
! 			$accepted_media_types = $accepted_media_types . "<accept>" . $med . "</accept>";
! 		}
! 		$atom_prefix="atom";
! 		$atom_blogname = get_bloginfo('name');
! 		$service_doc = <<<EOD
! <service xmlns="$this->ATOMPUB_NS" xmlns:$atom_prefix="$this->ATOM_NS">
!   <workspace>
!     <$atom_prefix:title>$atom_blogname Workspace</$atom_prefix:title>
!     <collection href="$entries_url">
!       <$atom_prefix:title>$atom_blogname Posts</$atom_prefix:title>
!       <accept>$this->ATOM_CONTENT_TYPE;type=entry</accept>
!       <categories href="$categories_url" />
!     </collection>
!     <collection href="$media_url">
!       <$atom_prefix:title>$atom_blogname Media</$atom_prefix:title>
!       $accepted_media_types
!     </collection>
!   </workspace>
! </service>
! 
! EOD;
! 
! 		$this->output($service_doc, $this->SERVICE_CONTENT_TYPE);
! 	}
! 
! 	/**
! 	 * Retrieve categories list in XML format.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function get_categories_xml() {
! 		log_app('function','get_categories_xml()');
! 
! 		if ( !current_user_can( 'edit_posts' ) )
! 			$this->auth_required( __( 'Sorry, you do not have the right to access this site.' ) );
! 
! 		$home = esc_attr(get_bloginfo_rss('url'));
! 
! 		$categories = "";
! 		$cats = get_categories(array('hierarchical' => 0, 'hide_empty' => 0));
! 		foreach ( (array) $cats as $cat ) {
! 			$categories .= "    <category term=\"" . esc_attr($cat->name) .  "\" />\n";
! 		}
! 		$output = <<<EOD
! <app:categories xmlns:app="$this->ATOMPUB_NS"
! 	xmlns="$this->ATOM_NS"
! 	fixed="yes" scheme="$home">
! 	$categories
! </app:categories>
! EOD;
! 		$this->output($output, $this->CATEGORIES_CONTENT_TYPE);
! 	}
! 
! 	/**
! 	 * Create new post.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function create_post() {
! 		global $user_ID;
! 		$this->get_accepted_content_type($this->atom_content_types);
! 
! 		$parser = new AtomParser();
! 		if ( !$parser->parse() )
! 			$this->client_error();
! 
! 		$entry = array_pop($parser->feed->entries);
! 
! 		log_app('Received entry:', print_r($entry,true));
! 
! 		$catnames = array();
! 		foreach ( $entry->categories as $cat ) {
! 			array_push($catnames, $cat["term"]);
! 		}
! 
! 		$wp_cats = get_categories(array('hide_empty' => false));
! 
! 		$post_category = array();
! 
! 		foreach ( $wp_cats as $cat ) {
! 			if ( in_array($cat->name, $catnames) )
! 				array_push($post_category, $cat->term_id);
! 		}
! 
! 		$publish = ! ( isset( $entry->draft ) && 'yes' == trim( $entry->draft ) );
! 
! 		$cap = ($publish) ? 'publish_posts' : 'edit_posts';
! 
! 		if ( !current_user_can($cap) )
! 			$this->auth_required(__('Sorry, you do not have the right to edit/publish new posts.'));
! 
! 		$blog_ID = get_current_blog_id();
! 		$post_status = ($publish) ? 'publish' : 'draft';
! 		$post_author = (int) $user_ID;
! 		$post_title = $entry->title[1];
! 		$post_content = $entry->content[1];
! 		$post_excerpt = $entry->summary[1];
! 		$pubtimes = $this->get_publish_time($entry->published);
! 		$post_date = $pubtimes[0];
! 		$post_date_gmt = $pubtimes[1];
! 
! 		if ( isset( $_SERVER['HTTP_SLUG'] ) )
! 			$post_name = $_SERVER['HTTP_SLUG'];
! 
! 		$post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_name');
! 
! 		$this->escape($post_data);
! 		log_app('Inserting Post. Data:', print_r($post_data,true));
! 
! 		$postID = wp_insert_post($post_data);
! 		if ( is_wp_error( $postID ) )
! 			$this->internal_error($postID->get_error_message());
! 
! 		if ( !$postID )
! 			$this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
! 
! 		// getting warning here about unable to set headers
! 		// because something in the cache is printing to the buffer
! 		// could we clean up wp_set_post_categories or cache to not print
! 		// this could affect our ability to send back the right headers
! 		@wp_set_post_categories($postID, $post_category);
! 
! 		do_action( 'atompub_create_post', $postID, $entry );
! 
! 		$output = $this->get_entry($postID);
! 
! 		log_app('function',"create_post($postID)");
! 		$this->created($postID, $output);
! 	}
! 
! 	/**
! 	 * Retrieve post.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function get_post($postID) {
! 		global $entry;
! 
! 		if ( !current_user_can( 'edit_post', $postID ) )
! 			$this->auth_required( __( 'Sorry, you do not have the right to access this post.' ) );
! 
! 		$this->set_current_entry($postID);
! 		$output = $this->get_entry($postID);
! 		log_app('function',"get_post($postID)");
! 		$this->output($output);
! 
! 	}
! 
! 	/**
! 	 * Update post.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function put_post($postID) {
! 		// checked for valid content-types (atom+xml)
! 		// quick check and exit
! 		$this->get_accepted_content_type($this->atom_content_types);
! 
! 		$parser = new AtomParser();
! 		if ( !$parser->parse() )
! 			$this->bad_request();
! 
! 		$parsed = array_pop($parser->feed->entries);
! 
! 		log_app('Received UPDATED entry:', print_r($parsed,true));
! 
! 		// check for not found
! 		global $entry;
! 		$this->set_current_entry($postID);
! 
! 		if ( !current_user_can('edit_post', $entry['ID']) )
! 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
! 
! 		$publish = ! ( isset($parsed->draft) && 'yes' == trim($parsed->draft) );
! 		$post_status = ($publish) ? 'publish' : 'draft';
! 
! 		extract($entry);
! 
! 		$post_title = $parsed->title[1];
! 		$post_content = $parsed->content[1];
! 		$post_excerpt = $parsed->summary[1];
! 		$pubtimes = $this->get_publish_time($entry->published);
! 		$post_date = $pubtimes[0];
! 		$post_date_gmt = $pubtimes[1];
! 		$pubtimes = $this->get_publish_time($parsed->updated);
! 		$post_modified = $pubtimes[0];
! 		$post_modified_gmt = $pubtimes[1];
! 
! 		$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt');
! 		$this->escape($postdata);
! 
! 		$result = wp_update_post($postdata);
! 
! 		if ( !$result )
! 			$this->internal_error(__('For some strange yet very annoying reason, this post could not be edited.'));
! 
! 		do_action( 'atompub_put_post', $ID, $parsed );
! 
! 		log_app('function',"put_post($postID)");
! 		$this->ok();
! 	}
! 
! 	/**
! 	 * Remove post.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function delete_post($postID) {
! 
! 		// check for not found
! 		global $entry;
! 		$this->set_current_entry($postID);
! 
! 		if ( !current_user_can('edit_post', $postID) )
! 			$this->auth_required(__('Sorry, you do not have the right to delete this post.'));
! 
! 		if ( $entry['post_type'] == 'attachment' ) {
! 			$this->delete_attachment($postID);
! 		} else {
! 			$result = wp_delete_post($postID);
! 
! 			if ( !$result ) {
! 				$this->internal_error(__('For some strange yet very annoying reason, this post could not be deleted.'));
! 			}
! 
! 			log_app('function',"delete_post($postID)");
! 			$this->ok();
! 		}
! 
! 	}
! 
! 	/**
! 	 * Retrieve attachment.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Optional. Post ID.
! 	 */
! 	function get_attachment($postID = null) {
! 		if ( !current_user_can( 'upload_files' ) )
! 			$this->auth_required( __( 'Sorry, you do not have permission to upload files.' ) );
! 
! 		if ( !isset($postID) ) {
! 			$this->get_attachments();
! 		} else {
! 			$this->set_current_entry($postID);
! 			$output = $this->get_entry($postID, 'attachment');
! 			log_app('function',"get_attachment($postID)");
! 			$this->output($output);
! 		}
! 	}
! 
! 	/**
! 	 * Create new attachment.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function create_attachment() {
! 
! 		$type = $this->get_accepted_content_type();
! 
! 		if ( !current_user_can('upload_files') )
! 			$this->auth_required(__('You do not have permission to upload files.'));
! 
! 		$fp = fopen("php://input", "rb");
! 		$bits = null;
! 		while ( !feof($fp) ) {
! 			$bits .= fread($fp, 4096);
! 		}
! 		fclose($fp);
! 
! 		$slug = '';
! 		if ( isset( $_SERVER['HTTP_SLUG'] ) )
! 			$slug = $_SERVER['HTTP_SLUG'];
! 		elseif ( isset( $_SERVER['HTTP_TITLE'] ) )
! 			$slug = $_SERVER['HTTP_TITLE'];
! 		elseif ( empty( $slug ) ) // just make a random name
! 			$slug = substr( md5( uniqid( microtime() ) ), 0, 7);
! 		$ext = preg_replace( '|.*/([a-z0-9]+)|', '$1', $_SERVER['CONTENT_TYPE'] );
! 		$slug = sanitize_file_name( "$slug.$ext" );
! 		$file = wp_upload_bits( $slug, NULL, $bits);
! 
! 		log_app('wp_upload_bits returns:',print_r($file,true));
! 
! 		$url = $file['url'];
! 		$file = $file['file'];
! 
! 		do_action('wp_create_file_in_uploads', $file); // replicate
! 
! 		// Construct the attachment array
! 		$attachment = array(
! 			'post_title' => $slug,
! 			'post_content' => $slug,
! 			'post_status' => 'attachment',
! 			'post_parent' => 0,
! 			'post_mime_type' => $type,
! 			'guid' => $url
! 			);
! 
! 		// Save the data
! 		$postID = wp_insert_attachment($attachment, $file);
! 
! 		if (!$postID)
! 			$this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
! 
! 		$output = $this->get_entry($postID, 'attachment');
! 
! 		$this->created($postID, $output, 'attachment');
! 		log_app('function',"create_attachment($postID)");
! 	}
! 
! 	/**
! 	 * Update attachment.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function put_attachment($postID) {
! 		// checked for valid content-types (atom+xml)
! 		// quick check and exit
! 		$this->get_accepted_content_type($this->atom_content_types);
! 
! 		$parser = new AtomParser();
! 		if (!$parser->parse()) {
! 			$this->bad_request();
! 		}
! 
! 		$parsed = array_pop($parser->feed->entries);
! 
! 		// check for not found
! 		global $entry;
! 		$this->set_current_entry($postID);
! 
! 		if ( !current_user_can('edit_post', $entry['ID']) )
! 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
! 
! 		extract($entry);
! 
! 		$post_title = $parsed->title[1];
! 		$post_content = $parsed->summary[1];
! 		$pubtimes = $this->get_publish_time($parsed->updated);
! 		$post_modified = $pubtimes[0];
! 		$post_modified_gmt = $pubtimes[1];
! 
! 		$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_modified', 'post_modified_gmt');
! 		$this->escape($postdata);
! 
! 		$result = wp_update_post($postdata);
! 
! 		if ( !$result )
! 			$this->internal_error(__('For some strange yet very annoying reason, this post could not be edited.'));
! 
! 		log_app('function',"put_attachment($postID)");
! 		$this->ok();
! 	}
! 
! 	/**
! 	 * Remove attachment.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function delete_attachment($postID) {
! 		log_app('function',"delete_attachment($postID). File '$location' deleted.");
! 
! 		// check for not found
! 		global $entry;
! 		$this->set_current_entry($postID);
! 
! 		if ( !current_user_can('edit_post', $postID) )
! 			$this->auth_required(__('Sorry, you do not have the right to delete this post.'));
! 
! 		$location = get_post_meta($entry['ID'], '_wp_attached_file', true);
! 		$filetype = wp_check_filetype($location);
! 
! 		if ( !isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']) )
! 			$this->internal_error(__('Error occurred while accessing post metadata for file location.'));
! 
! 		// delete file
! 		@unlink($location);
! 
! 		// delete attachment
! 		$result = wp_delete_post($postID);
! 
! 		if ( !$result )
! 			$this->internal_error(__('For some strange yet very annoying reason, this post could not be deleted.'));
! 
! 		log_app('function',"delete_attachment($postID). File '$location' deleted.");
! 		$this->ok();
! 	}
! 
! 	/**
! 	 * Retrieve attachment from post.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function get_file($postID) {
! 
! 		// check for not found
! 		global $entry;
! 		$this->set_current_entry($postID);
! 
! 		// then whether user can edit the specific post
! 		if ( !current_user_can('edit_post', $postID) )
! 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
! 
! 		$location = get_post_meta($entry['ID'], '_wp_attached_file', true);
! 		$location = get_option ('upload_path') . '/' . $location;
! 		$filetype = wp_check_filetype($location);
! 
! 		if ( !isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']) )
! 			$this->internal_error(__('Error occurred while accessing post metadata for file location.'));
! 
! 		status_header('200');
! 		header('Content-Type: ' . $entry['post_mime_type']);
! 		header('Connection: close');
! 
! 		if ( $fp = fopen($location, "rb") ) {
! 			status_header('200');
! 			header('Content-Type: ' . $entry['post_mime_type']);
! 			header('Connection: close');
! 
! 			while ( !feof($fp) ) {
! 				echo fread($fp, 4096);
! 			}
! 
! 			fclose($fp);
! 		} else {
! 			status_header ('404');
! 		}
! 
! 		log_app('function',"get_file($postID)");
! 		exit;
! 	}
! 
! 	/**
! 	 * Upload file to blog and add attachment to post.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function put_file($postID) {
! 
! 		// first check if user can upload
! 		if ( !current_user_can('upload_files') )
! 			$this->auth_required(__('You do not have permission to upload files.'));
! 
! 		// check for not found
! 		global $entry;
! 		$this->set_current_entry($postID);
! 
! 		// then whether user can edit the specific post
! 		if ( !current_user_can('edit_post', $postID) )
! 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
! 
! 		$upload_dir = wp_upload_dir( );
! 		$location = get_post_meta($entry['ID'], '_wp_attached_file', true);
! 		$filetype = wp_check_filetype($location);
! 
! 		$location = "{$upload_dir['basedir']}/{$location}";
! 
! 		if (!isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']))
! 			$this->internal_error(__('Error occurred while accessing post metadata for file location.'));
! 
! 		$fp = fopen("php://input", "rb");
! 		$localfp = fopen($location, "w+");
! 		while ( !feof($fp) ) {
! 			fwrite($localfp,fread($fp, 4096));
! 		}
! 		fclose($fp);
! 		fclose($localfp);
! 
! 		$ID = $entry['ID'];
! 		$pubtimes = $this->get_publish_time($entry->published);
! 		$post_date = $pubtimes[0];
! 		$post_date_gmt = $pubtimes[1];
! 		$pubtimes = $this->get_publish_time($parsed->updated);
! 		$post_modified = $pubtimes[0];
! 		$post_modified_gmt = $pubtimes[1];
! 
! 		$post_data = compact('ID', 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt');
! 		$result = wp_update_post($post_data);
! 
! 		if ( !$result )
! 			$this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
! 
! 		wp_update_attachment_metadata( $postID, wp_generate_attachment_metadata( $postID, $location ) );
! 
! 		log_app('function',"put_file($postID)");
! 		$this->ok();
! 	}
! 
! 	/**
! 	 * Retrieve entries URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Page ID.
! 	 * @return string
! 	 */
! 	function get_entries_url($page = null) {
! 		if ( isset($GLOBALS['post_type']) && ( $GLOBALS['post_type'] == 'attachment' ) )
! 			$path = $this->MEDIA_PATH;
! 		else
! 			$path = $this->ENTRIES_PATH;
! 		$url = $this->app_base . $path;
! 		if ( isset($page) && is_int($page) )
! 			$url .= "/$page";
! 		return $url;
! 	}
! 
! 	/**
! 	 * Display entries URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Page ID.
! 	 */
! 	function the_entries_url($page = null) {
! 		echo $this->get_entries_url($page);
! 	}
! 
! 	/**
! 	 * Retrieve categories URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param mixed $deprecated Not used.
! 	 * @return string
! 	 */
! 	function get_categories_url($deprecated = '') {
! 		if ( !empty( $deprecated ) )
! 			_deprecated_argument( __FUNCTION__, '2.5' );
! 		return $this->app_base . $this->CATEGORIES_PATH;
! 	}
! 
! 	/**
! 	 * Display category URL.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function the_categories_url() {
! 		echo $this->get_categories_url();
! 	}
! 
! 	/**
! 	 * Retrieve attachment URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Page ID.
! 	 * @return string
! 	 */
! 	function get_attachments_url($page = null) {
! 		$url = $this->app_base . $this->MEDIA_PATH;
! 		if (isset($page) && is_int($page)) {
! 			$url .= "/$page";
! 		}
! 		return $url;
! 	}
! 
! 	/**
! 	 * Display attachment URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Page ID.
! 	 */
! 	function the_attachments_url($page = null) {
! 		echo $this->get_attachments_url($page);
! 	}
! 
! 	/**
! 	 * Retrieve service URL.
! 	 *
! 	 * @since 2.3.0
! 	 *
! 	 * @return string
! 	 */
! 	function get_service_url() {
! 		return $this->app_base . $this->SERVICE_PATH;
! 	}
! 
! 	/**
! 	 * Retrieve entry URL.
! 	 *
! 	 * @since 2.7.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 * @return string
! 	 */
! 	function get_entry_url($postID = null) {
! 		if (!isset($postID)) {
! 			global $post;
! 			$postID = (int) $post->ID;
! 		}
! 
! 		$url = $this->app_base . $this->ENTRY_PATH . "/$postID";
! 
! 		log_app('function',"get_entry_url() = $url");
! 		return $url;
! 	}
! 
! 	/**
! 	 * Display entry URL.
! 	 *
! 	 * @since 2.7.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function the_entry_url($postID = null) {
! 		echo $this->get_entry_url($postID);
! 	}
! 
! 	/**
! 	 * Retrieve media URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 * @return string
! 	 */
! 	function get_media_url($postID = null) {
! 		if (!isset($postID)) {
! 			global $post;
! 			$postID = (int) $post->ID;
! 		}
! 
! 		$url = $this->app_base . $this->MEDIA_SINGLE_PATH ."/file/$postID";
! 
! 		log_app('function',"get_media_url() = $url");
! 		return $url;
! 	}
! 
! 	/**
! 	 * Display the media URL.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function the_media_url($postID = null) {
! 		echo $this->get_media_url($postID);
! 	}
! 
! 	/**
! 	 * Set the current entry to post ID.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 */
! 	function set_current_entry($postID) {
! 		global $entry;
! 		log_app('function',"set_current_entry($postID)");
! 
! 		if (!isset($postID)) {
! 			// $this->bad_request();
! 			$this->not_found();
! 		}
! 
! 		$entry = wp_get_single_post($postID,ARRAY_A);
! 
! 		if (!isset($entry) || !isset($entry['ID']))
! 			$this->not_found();
! 
! 		return;
! 	}
! 
! 	/**
! 	 * Display posts XML.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Optional. Page ID.
! 	 * @param string $post_type Optional, default is 'post'. Post Type.
! 	 */
! 	function get_posts($page = 1, $post_type = 'post') {
! 			log_app('function',"get_posts($page, '$post_type')");
! 			$feed = $this->get_feed($page, $post_type);
! 			$this->output($feed);
! 	}
! 
! 	/**
! 	 * Display attachment XML.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Page ID.
! 	 * @param string $post_type Optional, default is 'attachment'. Post type.
! 	 */
! 	function get_attachments($page = 1, $post_type = 'attachment') {
! 		log_app('function',"get_attachments($page, '$post_type')");
! 		$GLOBALS['post_type'] = $post_type;
! 		$feed = $this->get_feed($page, $post_type);
! 		$this->output($feed);
! 	}
! 
! 	/**
! 	 * Retrieve feed XML.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $page Page ID.
! 	 * @param string $post_type Optional, default is post. Post type.
! 	 * @return string
! 	 */
! 	function get_feed($page = 1, $post_type = 'post') {
! 		global $post, $wp, $wp_query, $posts, $wpdb, $blog_id;
! 		log_app('function',"get_feed($page, '$post_type')");
! 		ob_start();
! 
! 		$this->ENTRY_PATH = $post_type;
! 
! 		if (!isset($page)) {
! 			$page = 1;
! 		}
! 		$page = (int) $page;
! 
! 		$count = get_option('posts_per_rss');
! 
! 		wp('posts_per_page=' . $count . '&offset=' . ($count * ($page-1) . '&orderby=modified'));
! 
! 		$post = $GLOBALS['post'];
! 		$posts = $GLOBALS['posts'];
! 		$wp = $GLOBALS['wp'];
! 		$wp_query = $GLOBALS['wp_query'];
! 		$wpdb = $GLOBALS['wpdb'];
! 		$blog_id = (int) $GLOBALS['blog_id'];
! 		log_app('function',"query_posts(# " . print_r($wp_query, true) . "#)");
! 
! 		log_app('function',"total_count(# $wp_query->max_num_pages #)");
! 		$last_page = $wp_query->max_num_pages;
! 		$next_page = (($page + 1) > $last_page) ? NULL : $page + 1;
! 		$prev_page = ($page - 1) < 1 ? NULL : $page - 1;
! 		$last_page = ((int)$last_page == 1 || (int)$last_page == 0) ? NULL : (int) $last_page;
! 		$self_page = $page > 1 ? $page : NULL;
! ?><feed xmlns="<?php echo $this->ATOM_NS ?>" xmlns:app="<?php echo $this->ATOMPUB_NS ?>" xml:lang="<?php echo get_option('rss_language'); ?>" <?php do_action('app_ns'); ?> >
! <id><?php $this->the_entries_url() ?></id>
! <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></updated>
! <title type="text"><?php bloginfo_rss('name') ?></title>
! <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
! <link rel="first" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url() ?>" />
! <?php if (isset($prev_page)): ?>
! <link rel="previous" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($prev_page) ?>" />
! <?php endif; ?>
! <?php if (isset($next_page)): ?>
! <link rel="next" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($next_page) ?>" />
! <?php endif; ?>
! <link rel="last" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($last_page) ?>" />
! <link rel="self" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($self_page) ?>" />
! <rights type="text">Copyright <?php echo date('Y'); ?></rights>
! <?php do_action('app_head'); ?>
! <?php if ( have_posts() ) {
! 			while ( have_posts() ) {
! 				the_post();
! 				$this->echo_entry();
! 			}
! 		}
! ?></feed>
! <?php
! 		$feed = ob_get_contents();
! 		ob_end_clean();
! 		return $feed;
! 	}
! 
! 	/**
! 	 * Display entry XML.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param int $postID Post ID.
! 	 * @param string $post_type Optional, default is post. Post type.
! 	 * @return string.
! 	 */
! 	function get_entry($postID, $post_type = 'post') {
! 		log_app('function',"get_entry($postID, '$post_type')");
! 		ob_start();
! 		switch($post_type) {
! 			case 'post':
! 				$varname = 'p';
! 				break;
! 			case 'attachment':
! 				$this->ENTRY_PATH = 'attachment';
! 				$varname = 'attachment_id';
! 				break;
! 		}
! 		query_posts($varname . '=' . $postID);
! 		if ( have_posts() ) {
! 			while ( have_posts() ) {
! 				the_post();
! 				$this->echo_entry();
! 				log_app('$post',print_r($GLOBALS['post'],true));
! 				$entry = ob_get_contents();
! 				break;
! 			}
! 		}
! 		ob_end_clean();
! 
! 		log_app('get_entry returning:',$entry);
! 		return $entry;
! 	}
! 
! 	/**
! 	 * Display post content XML.
! 	 *
! 	 * @since 2.3.0
! 	 */
! 	function echo_entry() { ?>
! <entry xmlns="<?php echo $this->ATOM_NS ?>"
!        xmlns:app="<?php echo $this->ATOMPUB_NS ?>" xml:lang="<?php echo get_option('rss_language'); ?>">
! 	<id><?php the_guid( $GLOBALS['post']->ID ); ?></id>
! <?php list($content_type, $content) = prep_atom_text_construct(get_the_title()); ?>
! 	<title type="<?php echo $content_type ?>"><?php echo $content ?></title>
! 	<updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated>
! 	<published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
! 	<app:edited><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></app:edited>
! 	<app:control>
! 		<app:draft><?php echo ($GLOBALS['post']->post_status == 'draft' ? 'yes' : 'no') ?></app:draft>
! 	</app:control>
! 	<author>
! 		<name><?php the_author()?></name>
! <?php if ( get_the_author_meta('url') && get_the_author_meta('url') != 'http://' ) { ?>
! 		<uri><?php the_author_meta('url') ?></uri>
! <?php } ?>
! 	</author>
! <?php if ($GLOBALS['post']->post_type == 'attachment') { ?>
! 	<link rel="edit-media" href="<?php $this->the_media_url() ?>" />
! 	<content type="<?php echo $GLOBALS['post']->post_mime_type ?>" src="<?php the_guid() ; ?>"/>
! <?php } else { ?>
! 	<link href="<?php the_permalink_rss() ?>" />
! <?php if ( strlen( $GLOBALS['post']->post_content ) ) :
! list($content_type, $content) = prep_atom_text_construct(get_the_content()); ?>
! 	<content type="<?php echo $content_type ?>"><?php echo $content ?></content>
! <?php endif; ?>
! <?php } ?>
! 	<link rel="edit" href="<?php $this->the_entry_url() ?>" />
! 	<?php the_category_rss( 'atom' ); ?>
! <?php list($content_type, $content) = prep_atom_text_construct(get_the_excerpt()); ?>
! 	<summary type="<?php echo $content_type ?>"><?php echo $content ?></summary>
! 	<?php do_action('app_entry'); ?>
! </entry>
! <?php }
! 
! 	/**
! 	 * Set 'OK' (200) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function ok() {
! 		log_app('Status','200: OK');
! 		header('Content-Type: text/plain');
! 		status_header('200');
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'No Content' (204) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function no_content() {
! 		log_app('Status','204: No Content');
! 		header('Content-Type: text/plain');
! 		status_header('204');
! 		echo "Moved to Trash.";
! 		exit;
! 	}
! 
! 	/**
! 	 * Display 'Internal Server Error' (500) status header.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param string $msg Optional. Status string.
! 	 */
! 	function internal_error($msg = 'Internal Server Error') {
! 		log_app('Status','500: Server Error');
! 		header('Content-Type: text/plain');
! 		status_header('500');
! 		echo $msg;
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Bad Request' (400) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function bad_request() {
! 		log_app('Status','400: Bad Request');
! 		header('Content-Type: text/plain');
! 		status_header('400');
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Length Required' (411) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function length_required() {
! 		log_app('Status','411: Length Required');
! 		header("HTTP/1.1 411 Length Required");
! 		header('Content-Type: text/plain');
! 		status_header('411');
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Unsupported Media Type' (415) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function invalid_media() {
! 		log_app('Status','415: Unsupported Media Type');
! 		header("HTTP/1.1 415 Unsupported Media Type");
! 		header('Content-Type: text/plain');
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Forbidden' (403) status header.
! 	 *
! 	 * @since 2.6.0
! 	 */
! 	function forbidden($reason='') {
! 		log_app('Status','403: Forbidden');
! 		header('Content-Type: text/plain');
! 		status_header('403');
! 		echo $reason;
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Not Found' (404) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function not_found() {
! 		log_app('Status','404: Not Found');
! 		header('Content-Type: text/plain');
! 		status_header('404');
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Not Allowed' (405) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function not_allowed($allow) {
! 		log_app('Status','405: Not Allowed');
! 		header('Allow: ' . join(',', $allow));
! 		status_header('405');
! 		exit;
! 	}
! 
! 	/**
! 	 * Display Redirect (302) content and set status headers.
! 	 *
! 	 * @since 2.3.0
! 	 */
! 	function redirect($url) {
! 
! 		log_app('Status','302: Redirect');
! 		$escaped_url = esc_attr($url);
! 		$content = <<<EOD
! <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
! <html>
!   <head>
!     <title>302 Found</title>
!   </head>
! <body>
!   <h1>Found</h1>
!   <p>The document has moved <a href="$escaped_url">here</a>.</p>
!   </body>
! </html>
! 
! EOD;
! 		header('HTTP/1.1 302 Moved');
! 		header('Content-Type: text/html');
! 		header('Location: ' . $url);
! 		echo $content;
! 		exit;
! 
! 	}
! 
! 	/**
! 	 * Set 'Client Error' (400) status header.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function client_error($msg = 'Client Error') {
! 		log_app('Status','400: Client Error');
! 		header('Content-Type: text/plain');
! 		status_header('400');
! 		exit;
! 	}
! 
! 	/**
! 	 * Set created status headers (201).
! 	 *
! 	 * Sets the 'content-type', 'content-location', and 'location'.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function created($post_ID, $content, $post_type = 'post') {
! 		log_app('created()::$post_ID',"$post_ID, $post_type");
! 		$edit = $this->get_entry_url($post_ID);
! 		switch($post_type) {
! 			case 'post':
! 				$ctloc = $this->get_entry_url($post_ID);
! 				break;
! 			case 'attachment':
! 				$edit = $this->app_base . "attachments/$post_ID";
! 				break;
! 		}
! 		header("Content-Type: $this->ATOM_CONTENT_TYPE");
! 		if (isset($ctloc))
! 			header('Content-Location: ' . $ctloc);
! 		header('Location: ' . $edit);
! 		status_header('201');
! 		echo $content;
! 		exit;
! 	}
! 
! 	/**
! 	 * Set 'Auth Required' (401) headers.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param string $msg Status header content and HTML content.
! 	 */
! 	function auth_required($msg) {
! 		log_app('Status','401: Auth Required');
! 		nocache_headers();
! 		header('WWW-Authenticate: Basic realm="WordPress Atom Protocol"');
! 		header("HTTP/1.1 401 $msg");
! 		header('Status: 401 ' . $msg);
! 		header('Content-Type: text/html');
! 		$content = <<<EOD
! <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
! <html>
!   <head>
!     <title>401 Unauthorized</title>
!   </head>
! <body>
!     <h1>401 Unauthorized</h1>
!     <p>$msg</p>
!   </body>
! </html>
! 
! EOD;
! 		echo $content;
! 		exit;
! 	}
! 
! 	/**
! 	 * Display XML and set headers with content type.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param string $xml Display feed content.
! 	 * @param string $ctype Optional, default is 'atom+xml'. Feed content type.
! 	 */
! 	function output($xml, $ctype = 'application/atom+xml') {
! 			status_header('200');
! 			$xml = '<?xml version="1.0" encoding="' . strtolower(get_option('blog_charset')) . '"?>'."\n".$xml;
! 			header('Connection: close');
! 			header('Content-Length: '. strlen($xml));
! 			header('Content-Type: ' . $ctype);
! 			header('Content-Disposition: attachment; filename=atom.xml');
! 			header('Date: '. date('r'));
! 			if ($this->do_output)
! 				echo $xml;
! 			log_app('function', "output:\n$xml");
! 			exit;
! 	}
! 
! 	/**
! 	 * Sanitize content for database usage.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param array $array Sanitize array and multi-dimension array.
! 	 */
! 	function escape(&$array) {
! 		global $wpdb;
! 
! 		foreach ($array as $k => $v) {
! 				if (is_array($v)) {
! 						$this->escape($array[$k]);
! 				} else if (is_object($v)) {
! 						//skip
! 				} else {
! 						$array[$k] = $wpdb->escape($v);
! 				}
! 		}
! 	}
! 
! 	/**
! 	 * Access credential through various methods and perform login.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @return bool
! 	 */
! 	function authenticate() {
! 		log_app("authenticate()",print_r($_ENV, true));
! 
! 		// if using mod_rewrite/ENV hack
! 		// http://www.besthostratings.com/articles/http-auth-php-cgi.html
! 		if (isset($_SERVER['HTTP_AUTHORIZATION'])) {
! 			list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
! 				explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
! 		} else if (isset($_SERVER['REDIRECT_REMOTE_USER'])) {
! 			// Workaround for setups that do not forward HTTP_AUTHORIZATION
! 			// See http://trac.wordpress.org/ticket/7361
! 			list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
! 				explode(':', base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6)));
! 		}
! 
! 		// If Basic Auth is working...
! 		if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
! 			log_app("Basic Auth",$_SERVER['PHP_AUTH_USER']);
! 
! 			$user = wp_authenticate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
! 			if ( $user && !is_wp_error($user) ) {
! 				wp_set_current_user($user->ID);
! 				log_app("authenticate()", $user->user_login);
! 				return true;
! 			}
! 		}
! 
! 		return false;
! 	}
! 
! 	/**
! 	 * Retrieve accepted content types.
! 	 *
! 	 * @since 2.2.0
! 	 *
! 	 * @param array $types Optional. Content Types.
! 	 * @return string
! 	 */
! 	function get_accepted_content_type($types = null) {
! 
! 		if (!isset($types)) {
! 			$types = $this->media_content_types;
! 		}
! 
! 		if (!isset($_SERVER['CONTENT_LENGTH']) || !isset($_SERVER['CONTENT_TYPE'])) {
! 			$this->length_required();
! 		}
! 
! 		$type = $_SERVER['CONTENT_TYPE'];
! 		list($type,$subtype) = explode('/',$type);
! 		list($subtype) = explode(";",$subtype); // strip MIME parameters
! 		log_app("get_accepted_content_type", "type=$type, subtype=$subtype");
! 
! 		foreach($types as $t) {
! 			list($acceptedType,$acceptedSubtype) = explode('/',$t);
! 			if ($acceptedType == '*' || $acceptedType == $type) {
! 				if ($acceptedSubtype == '*' || $acceptedSubtype == $subtype)
! 					return $type . "/" . $subtype;
! 			}
! 		}
! 
! 		$this->invalid_media();
! 	}
! 
! 	/**
! 	 * Process conditionals for posts.
! 	 *
! 	 * @since 2.2.0
! 	 */
! 	function process_conditionals() {
! 
! 		if (empty($this->params)) return;
! 		if ($_SERVER['REQUEST_METHOD'] == 'DELETE') return;
! 
! 		switch($this->params[0]) {
! 			case $this->ENTRY_PATH:
! 				global $post;
! 				$post = wp_get_single_post($this->params[1]);
! 				$wp_last_modified = get_post_modified_time('D, d M Y H:i:s', true);
! 				$post = NULL;
! 				break;
! 			case $this->ENTRIES_PATH:
! 				$wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastpostmodified('GMT'), 0).' GMT';
! 				break;
! 			default:
! 				return;
! 		}
! 		$wp_etag = md5($wp_last_modified);
! 		@header("Last-Modified: $wp_last_modified");
! 		@header("ETag: $wp_etag");
! 
! 		// Support for Conditional GET
! 		if (isset($_SERVER['HTTP_IF_NONE_MATCH']))
! 			$client_etag = stripslashes($_SERVER['HTTP_IF_NONE_MATCH']);
! 		else
! 			$client_etag = false;
! 
! 		$client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE']);
! 		// If string is empty, return 0. If not, attempt to parse into a timestamp
! 		$client_modified_timestamp = $client_last_modified ? strtotime($client_last_modified) : 0;
! 
! 		// Make a timestamp for our most recent modification...
! 		$wp_modified_timestamp = strtotime($wp_last_modified);
! 
! 		if ( ($client_last_modified && $client_etag) ?
! 		(($client_modified_timestamp >= $wp_modified_timestamp) && ($client_etag == $wp_etag)) :
! 		(($client_modified_timestamp >= $wp_modified_timestamp) || ($client_etag == $wp_etag)) ) {
! 			status_header( 304 );
! 			exit;
! 		}
! 	}
! 
! 	/**
! 	 * Convert RFC3339 time string to timestamp.
! 	 *
! 	 * @since 2.3.0
! 	 *
! 	 * @param string $str String to time.
! 	 * @return bool|int false if format is incorrect.
! 	 */
! 	function rfc3339_str2time($str) {
! 
! 		$match = false;
! 		if (!preg_match("/(\d{4}-\d{2}-\d{2})T(\d{2}\:\d{2}\:\d{2})\.?\d{0,3}(Z|[+-]+\d{2}\:\d{2})/", $str, $match))
! 			return false;
! 
! 		if ($match[3] == 'Z')
! 			$match[3] = '+0000';
! 
! 		return strtotime($match[1] . " " . $match[2] . " " . $match[3]);
! 	}
! 
! 	/**
! 	 * Retrieve published time to display in XML.
! 	 *
! 	 * @since 2.3.0
! 	 *
! 	 * @param string $published Time string.
! 	 * @return string
! 	 */
! 	function get_publish_time($published) {
! 
! 		$pubtime = $this->rfc3339_str2time($published);
! 
! 		if (!$pubtime) {
! 			return array(current_time('mysql'),current_time('mysql',1));
! 		} else {
! 			return array(date("Y-m-d H:i:s", $pubtime), gmdate("Y-m-d H:i:s", $pubtime));
! 		}
! 	}
! 
  }
- 
- /**
-  * AtomServer
-  * @var AtomServer
-  * @global object $server
-  */
- $server = new AtomServer();
- $server->handle_request();
- 
- ?>
--- 18,53 ----
  /** Atom Publishing Protocol Class */
  require_once(ABSPATH . WPINC . '/atomlib.php');
  
+ /** Atom Server **/
+ require_once(ABSPATH . WPINC . '/class-wp-atom-server.php');
+ 
  /** Admin Image API for metadata updating */
  require_once(ABSPATH . '/wp-admin/includes/image.php');
  
  $_SERVER['PATH_INFO'] = preg_replace( '/.*\/wp-app\.php/', '', $_SERVER['REQUEST_URI'] );
  
! // Allow for a plugin to insert a different class to handle requests.
! $wp_atom_server_class = apply_filters('wp_atom_server_class', 'wp_atom_server');
! $wp_atom_server = new $wp_atom_server_class;
  
! // Handle the request
! $wp_atom_server->handle_request();
! 
! exit;
  
  /**
   * Writes logging info to a file.
   *
   * @since 2.2.0
!  * @deprecated 3.4.0
!  * @deprecated Use error_log()
!  * @link http://www.php.net/manual/en/function.error-log.php
   *
   * @param string $label Type of logging
   * @param string $msg Information describing logging reason.
   */
! function log_app( $label, $msg ) {
! 	_deprecated_function( __FUNCTION__, '3.4', 'error_log()' );
! 	if ( ! empty( $GLOBALS['app_logging'] ) )
! 		error_log( $label . ' - ' . $msg );
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-blog-header.php ./wordpress-3.4/wp-blog-header.php
*** ./wordpress-3.3.2/wp-blog-header.php	2010-11-20 15:44:11.000000000 -0600
--- ./wordpress-3.4/wp-blog-header.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 16,20 ****
  	require_once( ABSPATH . WPINC . '/template-loader.php' );
  
  }
- 
- ?>
\ No newline at end of file
--- 16,18 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-comments-post.php ./wordpress-3.4/wp-comments-post.php
*** ./wordpress-3.3.2/wp-comments-post.php	2012-04-16 17:12:25.000000000 -0500
--- ./wordpress-3.4/wp-comments-post.php	2012-04-10 12:21:17.000000000 -0500
***************
*** 54,60 ****
  
  // If the user is logged in
  $user = wp_get_current_user();
! if ( $user->ID ) {
  	if ( empty( $user->display_name ) )
  		$user->display_name=$user->user_login;
  	$comment_author       = $wpdb->escape($user->display_name);
--- 54,60 ----
  
  // If the user is logged in
  $user = wp_get_current_user();
! if ( $user->exists() ) {
  	if ( empty( $user->display_name ) )
  		$user->display_name=$user->user_login;
  	$comment_author       = $wpdb->escape($user->display_name);
***************
*** 73,79 ****
  
  $comment_type = '';
  
! if ( get_option('require_name_email') && !$user->ID ) {
  	if ( 6 > strlen($comment_author_email) || '' == $comment_author )
  		wp_die( __('<strong>ERROR</strong>: please fill the required fields (name, email).') );
  	elseif ( !is_email($comment_author_email))
--- 73,79 ----
  
  $comment_type = '';
  
! if ( get_option('require_name_email') && !$user->exists() ) {
  	if ( 6 > strlen($comment_author_email) || '' == $comment_author )
  		wp_die( __('<strong>ERROR</strong>: please fill the required fields (name, email).') );
  	elseif ( !is_email($comment_author_email))
***************
*** 90,105 ****
  $comment_id = wp_new_comment( $commentdata );
  
  $comment = get_comment($comment_id);
! if ( !$user->ID ) {
! 	$comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
! 	setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
! 	setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
! 	setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
! }
  
  $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
  $location = apply_filters('comment_post_redirect', $location, $comment);
  
  wp_safe_redirect( $location );
  exit;
- ?>
--- 90,99 ----
  $comment_id = wp_new_comment( $commentdata );
  
  $comment = get_comment($comment_id);
! do_action('set_comment_cookies', $comment, $user);
  
  $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
  $location = apply_filters('comment_post_redirect', $location, $comment);
  
  wp_safe_redirect( $location );
  exit;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/index.php ./wordpress-3.4/wp-content/index.php
*** ./wordpress-3.3.2/wp-content/index.php	2007-05-04 16:48:43.000000000 -0500
--- ./wordpress-3.4/wp-content/index.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 1,3 ****
  <?php
  // Silence is golden.
- ?>
\ No newline at end of file
--- 1,2 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/admin.php ./wordpress-3.4/wp-content/plugins/akismet/admin.php
*** ./wordpress-3.3.2/wp-content/plugins/akismet/admin.php	2011-02-02 17:53:20.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/admin.php	2012-04-25 08:35:26.000000000 -0500
***************
*** 1,6 ****
  <?php
! add_action( 'admin_menu', 'akismet_config_page' );
! add_action( 'admin_menu', 'akismet_stats_page' );
  akismet_admin_warnings();
  
  function akismet_admin_init() {
--- 1,6 ----
  <?php
! add_action( 'admin_menu', 'akismet_admin_menu' );
! 	
  akismet_admin_warnings();
  
  function akismet_admin_init() {
***************
*** 25,48 ****
          $hook = 'dashboard_page_akismet-stats-display';
      add_action('admin_head-'.$hook, 'akismet_stats_script');
      add_meta_box('akismet-status', __('Comment History'), 'akismet_comment_status_meta_box', 'comment', 'normal');
- 	wp_register_style('akismet.css', AKISMET_PLUGIN_URL . 'akismet.css');
- 	wp_enqueue_style('akismet.css');
- 	wp_register_script('akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'));
- 	wp_enqueue_script('akismet.js');
  }
  add_action('admin_init', 'akismet_admin_init');
  
  function akismet_nonce_field($action = -1) { return wp_nonce_field($action); }
  $akismet_nonce = 'akismet-update-key';
  
- function akismet_config_page() {
- 	if ( function_exists('add_submenu_page') )
- 		add_submenu_page('plugins.php', __('Akismet Configuration'), __('Akismet Configuration'), 'manage_options', 'akismet-key-config', 'akismet_conf');
- }
- 
  function akismet_plugin_action_links( $links, $file ) {
  	if ( $file == plugin_basename( dirname(__FILE__).'/akismet.php' ) ) {
! 		$links[] = '<a href="plugins.php?page=akismet-key-config">'.__('Settings').'</a>';
  	}
  
  	return $links;
--- 25,62 ----
          $hook = 'dashboard_page_akismet-stats-display';
      add_action('admin_head-'.$hook, 'akismet_stats_script');
      add_meta_box('akismet-status', __('Comment History'), 'akismet_comment_status_meta_box', 'comment', 'normal');
  }
  add_action('admin_init', 'akismet_admin_init');
  
+ add_action( 'admin_enqueue_scripts', 'akismet_load_js_and_css' );
+ function akismet_load_js_and_css() {
+ 	global $hook_suffix;
+ 
+ 	if (
+ 		$hook_suffix == 'index.php'	# dashboard
+ 		|| $hook_suffix == 'edit-comments.php' 
+ 		|| $hook_suffix == 'comment.php' 
+ 		|| $hook_suffix == 'post.php' 
+ 		|| $hook_suffix == 'plugins_page_akismet-key-config'
+ 	) {
+ 		wp_register_style( 'akismet.css', AKISMET_PLUGIN_URL . 'akismet.css', array(), '2.5.4.4' );
+ 		wp_enqueue_style( 'akismet.css');
+ 	
+ 		wp_register_script( 'akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'), '2.5.4.6' );
+ 		wp_enqueue_script( 'akismet.js' );
+ 		wp_localize_script( 'akismet.js', 'WPAkismet', array(
+ 			'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' )
+ 		) );
+ 	}
+ }
+ 
+ 
  function akismet_nonce_field($action = -1) { return wp_nonce_field($action); }
  $akismet_nonce = 'akismet-update-key';
  
  function akismet_plugin_action_links( $links, $file ) {
  	if ( $file == plugin_basename( dirname(__FILE__).'/akismet.php' ) ) {
! 		$links[] = '<a href="admin.php?page=akismet-key-config">'.__('Settings').'</a>';
  	}
  
  	return $links;
***************
*** 111,118 ****
  		if ( $key_status == 'valid' ) {
  			$ms[] = 'key_valid';
  		} else if ( $key_status == 'invalid' ) {
! 			delete_option('wordpress_api_key');
! 			$ms[] = 'key_empty';
  		} else if ( !empty($key) && $key_status == 'failed' ) {
  			$ms[] = 'key_failed';
  		}
--- 125,131 ----
  		if ( $key_status == 'valid' ) {
  			$ms[] = 'key_valid';
  		} else if ( $key_status == 'invalid' ) {
! 			$ms[] = 'key_invalid';
  		} else if ( !empty($key) && $key_status == 'failed' ) {
  			$ms[] = 'key_failed';
  		}
***************
*** 124,131 ****
  		'new_key_invalid' => array('color' => '888', 'text' => __('The key you entered is invalid. Please double-check it.')),
  		'new_key_failed' => array('color' => '888', 'text' => __('The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.')),
  		'no_connection' => array('color' => '888', 'text' => __('There was a problem connecting to the Akismet server. Please check your server configuration.')),
! 		'key_empty' => array('color' => 'aa0', 'text' => sprintf(__('Please enter an API key. (<a href="%s" style="color:#fff">Get your key.</a>)'), 'http://akismet.com/get/')),
  		'key_valid' => array('color' => '4AB915', 'text' => __('This key is valid.')),
  		'key_failed' => array('color' => 'aa0', 'text' => __('The key below was previously validated but a connection to akismet.com can not be established at this time. Please check your server configuration.')),
  		'bad_home_url' => array('color' => '888', 'text' => sprintf( __('Your WordPress home URL %s is invalid.  Please fix the <a href="%s">home option</a>.'), esc_html( get_bloginfo('url') ), admin_url('options.php#home') ) ),
  	);
--- 137,145 ----
  		'new_key_invalid' => array('color' => '888', 'text' => __('The key you entered is invalid. Please double-check it.')),
  		'new_key_failed' => array('color' => '888', 'text' => __('The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.')),
  		'no_connection' => array('color' => '888', 'text' => __('There was a problem connecting to the Akismet server. Please check your server configuration.')),
! 		'key_empty' => array('color' => 'aa0', 'text' => sprintf(__('Please enter an API key. (<a href="%s" style="color:#fff">Get your key.</a>)'), 'http://akismet.com/get/?return=true')),
  		'key_valid' => array('color' => '4AB915', 'text' => __('This key is valid.')),
+ 		'key_invalid' => array('color' => '888', 'text' => __('This key is invalid.')),
  		'key_failed' => array('color' => 'aa0', 'text' => __('The key below was previously validated but a connection to akismet.com can not be established at this time. Please check your server configuration.')),
  		'bad_home_url' => array('color' => '888', 'text' => sprintf( __('Your WordPress home URL %s is invalid.  Please fix the <a href="%s">home option</a>.'), esc_html( get_bloginfo('url') ), admin_url('options.php#home') ) ),
  	);
***************
*** 141,153 ****
  <div class="narrow">
  <form action="" method="post" id="akismet-conf" style="margin: auto; width: 400px; ">
  <?php if ( !$wpcom_api_key ) { ?>
! 	<p><?php printf(__('For many people, <a href="%1$s">Akismet</a> will greatly reduce or even completely eliminate the comment and trackback spam you get on your site. If one does happen to get through, simply mark it as "spam" on the moderation screen and Akismet will learn from the mistakes. If you don\'t have an API key yet, you can get one at <a href="%2$s">Akismet.com</a>.'), 'http://akismet.com/', 'http://akismet.com/get/'); ?></p>
  
  <h3><label for="key"><?php _e('Akismet API Key'); ?></label></h3>
  <?php foreach ( $ms as $m ) : ?>
  	<p style="padding: .5em; background-color: #<?php echo $messages[$m]['color']; ?>; color: #fff; font-weight: bold;"><?php echo $messages[$m]['text']; ?></p>
  <?php endforeach; ?>
! <p><input id="key" name="key" type="text" size="15" maxlength="12" value="<?php echo get_option('wordpress_api_key'); ?>" style="font-family: 'Courier New', Courier, mono; font-size: 1.5em;" /> (<?php _e('<a href="http://akismet.com/get/">What is this?</a>'); ?>)</p>
  <?php if ( isset( $invalid_key) && $invalid_key ) { ?>
  <h3><?php _e('Why might my key be invalid?'); ?></h3>
  <p><?php _e('This can mean one of two things, either you copied the key wrong or that the plugin is unable to reach the Akismet servers, which is most often caused by an issue with your web host around firewalls or similar.'); ?></p>
--- 155,167 ----
  <div class="narrow">
  <form action="" method="post" id="akismet-conf" style="margin: auto; width: 400px; ">
  <?php if ( !$wpcom_api_key ) { ?>
! 	<p><?php printf(__('For many people, <a href="%1$s">Akismet</a> will greatly reduce or even completely eliminate the comment and trackback spam you get on your site. If one does happen to get through, simply mark it as "spam" on the moderation screen and Akismet will learn from the mistakes. If you don\'t have an API key yet, you can get one at <a href="%2$s">Akismet.com</a>.'), 'http://akismet.com/?return=true', 'http://akismet.com/get/?return=true'); ?></p>
  
  <h3><label for="key"><?php _e('Akismet API Key'); ?></label></h3>
  <?php foreach ( $ms as $m ) : ?>
  	<p style="padding: .5em; background-color: #<?php echo $messages[$m]['color']; ?>; color: #fff; font-weight: bold;"><?php echo $messages[$m]['text']; ?></p>
  <?php endforeach; ?>
! <p><input id="key" name="key" type="text" size="15" maxlength="12" value="<?php echo get_option('wordpress_api_key'); ?>" style="font-family: 'Courier New', Courier, mono; font-size: 1.5em;" /> (<?php _e('<a href="http://akismet.com/get/?return=true">What is this?</a>'); ?>)</p>
  <?php if ( isset( $invalid_key) && $invalid_key ) { ?>
  <h3><?php _e('Why might my key be invalid?'); ?></h3>
  <p><?php _e('This can mean one of two things, either you copied the key wrong or that the plugin is unable to reach the Akismet servers, which is most often caused by an issue with your web host around firewalls or similar.'); ?></p>
***************
*** 226,237 ****
  <?php
  }
  
- function akismet_stats_page() {
- 	if ( function_exists('add_submenu_page') )
- 		add_submenu_page('index.php', __('Akismet Stats'), __('Akismet Stats'), 'manage_options', 'akismet-stats-display', 'akismet_stats_display');
- 
- }
- 
  function akismet_stats_script() {
  	?>
  <script type="text/javascript">
--- 240,245 ----
***************
*** 278,293 ****
  		$link = 'edit-comments.php';
  	else
  		$link = 'edit.php';
! 	echo '<p>'.sprintf( _n( '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.', '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.', $count ), 'http://akismet.com/', clean_url("$link?page=akismet-admin"), number_format_i18n($count) ).'</p>';
  }
  add_action('activity_box_end', 'akismet_stats');
  
  function akismet_admin_warnings() {
! 	global $wpcom_api_key;
  	if ( !get_option('wordpress_api_key') && !$wpcom_api_key && !isset($_POST['submit']) ) {
  		function akismet_warning() {
  			echo "
! 			<div id='akismet-warning' class='updated fade'><p><strong>".__('Akismet is almost ready.')."</strong> ".sprintf(__('You must <a href="%1$s">enter your Akismet API key</a> for it to work.'), "plugins.php?page=akismet-key-config")."</p></div>
  			";
  		}
  		add_action('admin_notices', 'akismet_warning');
--- 286,326 ----
  		$link = 'edit-comments.php';
  	else
  		$link = 'edit.php';
! 	echo '<p>'.sprintf( _n( '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.', '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.', $count ), 'http://akismet.com/?return=true', clean_url("$link?page=akismet-admin"), number_format_i18n($count) ).'</p>';
  }
  add_action('activity_box_end', 'akismet_stats');
  
  function akismet_admin_warnings() {
! 	global $wpcom_api_key, $pagenow;
! 
! 	if (
! 		$pagenow == 'edit-comments.php'
! 		|| ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-key-config' )
! 		|| ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-stats-display' )
! 	) {
! 		if ( get_option( 'akismet_alert_code' ) ) {
! 			function akismet_alert() {
! 				$alert = array(
! 					'code' => (int) get_option( 'akismet_alert_code' ),
! 					'msg' => get_option( 'akismet_alert_msg' )
! 				);
! 			?>
! 				<div class='error'>
! 					<p><strong>Akismet Error Code: <?php echo $alert['code']; ?></strong></p>
! 					<p><?php esc_html_e( $alert['msg'] ); ?></p>
! 					<p>More information is available at <a href="https://akismet.com/errors/<?php echo $alert['code']; ?>">https://akismet.com/errors/<?php echo $alert['code']; ?></a></p>
! 				</div>
! 			<?php
! 			}
! 
! 			add_action( 'admin_notices', 'akismet_alert' );
! 		}
! 	}
! 
  	if ( !get_option('wordpress_api_key') && !$wpcom_api_key && !isset($_POST['submit']) ) {
  		function akismet_warning() {
  			echo "
! 			<div id='akismet-warning' class='updated fade'><p><strong>".__('Akismet is almost ready.')."</strong> ".sprintf(__('You must <a href="%1$s">enter your Akismet API key</a> for it to work.'), "admin.php?page=akismet-key-config")."</p></div>
  			";
  		}
  		add_action('admin_notices', 'akismet_warning');
***************
*** 295,305 ****
  	} elseif ( ( empty($_SERVER['SCRIPT_FILENAME']) || basename($_SERVER['SCRIPT_FILENAME']) == 'edit-comments.php' ) &&  wp_next_scheduled('akismet_schedule_cron_recheck') ) {
  		function akismet_warning() {
  			global $wpdb;
  				$waiting = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" ) );
! 				$next_check = human_time_diff( wp_next_scheduled('akismet_schedule_cron_recheck') );
! 				if ( $waiting > 0 )
  					echo "
! 			<div id='akismet-warning' class='updated fade'><p><strong>".__('Akismet has detected a problem.')."</strong> ".sprintf(_n('A server or network problem prevented Akismet from checking %d comment. It has been temporarily held for moderation and will be automatically re-checked in %s.', 'A server or network problem prevented Akismet from checking %d comments. They have been temporarily held for moderation and will be automatically re-checked in %s.', $waiting), number_format_i18n( $waiting ), $next_check)."</p></div>
  			";
  		}
  		add_action('admin_notices', 'akismet_warning');
--- 328,339 ----
  	} elseif ( ( empty($_SERVER['SCRIPT_FILENAME']) || basename($_SERVER['SCRIPT_FILENAME']) == 'edit-comments.php' ) &&  wp_next_scheduled('akismet_schedule_cron_recheck') ) {
  		function akismet_warning() {
  			global $wpdb;
+ 				akismet_fix_scheduled_recheck();
  				$waiting = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" ) );
! 				$next_check = wp_next_scheduled('akismet_schedule_cron_recheck');
! 				if ( $waiting > 0 && $next_check > time() )
  					echo "
! 			<div id='akismet-warning' class='updated fade'><p><strong>".__('Akismet has detected a problem.')."</strong> ".sprintf(__('Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation. Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.'), 'admin.php?page=akismet-key-config')."</p></div>
  			";
  		}
  		add_action('admin_notices', 'akismet_warning');
***************
*** 316,325 ****
  		return $a;
  
  	$akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true );
  	$user_result = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true);
  	$comment_status = wp_get_comment_status( $comment->comment_ID );
  	$desc = null;
! 	if ( !$user_result || $user_result == $akismet_result ) {
  		// Show the original Akismet result if the user hasn't overridden it, or if their decision was the same
  		if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' )
  			$desc = __( 'Flagged as spam by Akismet' );
--- 350,362 ----
  		return $a;
  
  	$akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true );
+ 	$akismet_error = get_comment_meta( $comment->comment_ID, 'akismet_error', true );
  	$user_result = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true);
  	$comment_status = wp_get_comment_status( $comment->comment_ID );
  	$desc = null;
! 	if ( $akismet_error ) {
! 		$desc = __( 'Awaiting spam check' );
! 	} elseif ( !$user_result || $user_result == $akismet_result ) {
  		// Show the original Akismet result if the user hasn't overridden it, or if their decision was the same
  		if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' )
  			$desc = __( 'Flagged as spam by Akismet' );
***************
*** 338,345 ****
  		$b = array();
  		foreach ( $a as $k => $item ) {
  			$b[ $k ] = $item;
! 			if ( $k == 'edit' )
  				$b['history'] = '<a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="'. esc_attr__( 'View comment history' ) . '"> '. __('History') . '</a>';
  		}
  		
  		$a = $b;
--- 375,386 ----
  		$b = array();
  		foreach ( $a as $k => $item ) {
  			$b[ $k ] = $item;
! 			if (
! 				$k == 'edit'
! 				|| ( $k == 'unspam' && $GLOBALS['wp_version'] >= 3.4 )
! 			) {
  				$b['history'] = '<a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="'. esc_attr__( 'View comment history' ) . '"> '. __('History') . '</a>';
+ 			}
  		}
  		
  		$a = $b;
***************
*** 428,438 ****
  function akismet_rightnow() {
  	global $submenu, $wp_db_version;
  
- 	// clean_url was deprecated in WP 3.0
- 	$esc_url = 'clean_url';
- 	if ( function_exists( 'esc_url' ) )
- 		$esc_url = 'esc_url';
- 
  	if ( 8645 < $wp_db_version  ) // 2.7
  		$link = 'edit-comments.php?comment_status=spam';
  	elseif ( isset( $submenu['edit-comments.php'] ) )
--- 469,474 ----
***************
*** 445,463 ****
  			'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comment already. ',
  			'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',
  			$count
! 		), 'http://akismet.com/', number_format_i18n( $count ) );
  	} else {
! 		$intro = sprintf( __('<a href="%1$s">Akismet</a> blocks spam from getting to your blog. '), 'http://akismet.com/' );
  	}
  
  	if ( $queue_count = akismet_spam_count() ) {
  		$queue_text = sprintf( _n(
  			'There\'s <a href="%2$s">%1$s comment</a> in your spam queue right now.',
  			'There are <a href="%2$s">%1$s comments</a> in your spam queue right now.',
  			$queue_count
! 		), number_format_i18n( $queue_count ), $esc_url($link) );
  	} else {
! 		$queue_text = sprintf( __( "There's nothing in your <a href='%1\$s'>spam queue</a> at the moment." ), $esc_url($link) );
  	}
  
  	$text = $intro . '<br />' . $queue_text;
--- 481,500 ----
  			'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comment already. ',
  			'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',
  			$count
! 		), 'http://akismet.com/?return=true', number_format_i18n( $count ) );
  	} else {
! 		$intro = sprintf( __('<a href="%1$s">Akismet</a> blocks spam from getting to your blog. '), 'http://akismet.com/?return=true' );
  	}
  
+ 	$link = function_exists( 'esc_url' ) ? esc_url( $link ) : clean_url( $link );
  	if ( $queue_count = akismet_spam_count() ) {
  		$queue_text = sprintf( _n(
  			'There\'s <a href="%2$s">%1$s comment</a> in your spam queue right now.',
  			'There are <a href="%2$s">%1$s comments</a> in your spam queue right now.',
  			$queue_count
! 		), number_format_i18n( $queue_count ), $link );
  	} else {
! 		$queue_text = sprintf( __( "There's nothing in your <a href='%1\$s'>spam queue</a> at the moment." ), $link );
  	}
  
  	$text = $intro . '<br />' . $queue_text;
***************
*** 512,517 ****
--- 549,557 ----
  	if ( akismet_test_mode() )
  		$comment->is_test = 'true';
  
+ 	$post = get_post( $comment->comment_post_ID );
+ 	$comment->comment_post_modified_gmt = $post->post_modified_gmt;
+ 
  	$query_string = '';
  	foreach ( $comment as $key => $data )
  		$query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
***************
*** 561,566 ****
--- 601,609 ----
  	if ( akismet_test_mode() )
  		$comment->is_test = 'true';
  
+ 	$post = get_post( $comment->comment_post_ID );
+ 	$comment->comment_post_modified_gmt = $post->post_modified_gmt;
+ 
  	$query_string = '';
  	foreach ( $comment as $key => $data )
  		$query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
***************
*** 591,596 ****
--- 634,643 ----
  
  	if ( defined('WP_IMPORTING') && WP_IMPORTING == true )
  		return;
+ 
+ 	// if this is present, it means the status has been changed by a re-check, not an explicit user action
+ 	if ( get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) )
+ 		return;
  		
  	global $current_user;
  	$reporter = '';
***************
*** 611,618 ****
  		}
  	}
  	
! 	if ( !get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) )
! 		akismet_update_comment_history( $comment->comment_ID, sprintf( __('%s changed the comment status to %s'), $reporter, $new_status ), 'status-' . $new_status );
  }
  
  add_action( 'transition_comment_status', 'akismet_transition_comment_status', 10, 3 );
--- 658,664 ----
  		}
  	}
  	
! 	akismet_update_comment_history( $comment->comment_ID, sprintf( __('%s changed the comment status to %s'), $reporter, $new_status ), 'status-' . $new_status );
  }
  
  add_action( 'transition_comment_status', 'akismet_transition_comment_status', 10, 3 );
***************
*** 647,652 ****
--- 693,700 ----
  function akismet_recheck_queue() {
  	global $wpdb, $akismet_api_host, $akismet_api_port;
  
+ 	akismet_fix_scheduled_recheck();
+ 
  	if ( ! ( isset( $_GET['recheckqueue'] ) || ( isset( $_REQUEST['action'] ) && 'akismet_recheck_queue' == $_REQUEST['action'] ) ) )
  		return;
  		
***************
*** 673,700 ****
  		foreach ( $c as $key => $data )
  		$query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
  
  		$response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
  		if ( 'true' == $response[1] ) {
  			wp_set_comment_status($c['comment_ID'], 'spam');
  			update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' );
  			akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and caught this comment as spam'), 'check-spam' );
  		
  		} elseif ( 'false' == $response[1] ) {
  			update_comment_meta( $c['comment_ID'], 'akismet_result', 'false' );
  			akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and cleared this comment'), 'check-ham' );
  		// abnormal result: error
  		} else {
  			update_comment_meta( $c['comment_ID'], 'akismet_result', 'error' );
! 			akismet_update_comment_history( $c['comment_ID'], sprintf( __('Akismet was unable to re-check this comment (response: %s)'), $response[1]), 'check-error' );
  		}
  
  	}
! 	wp_redirect( $_SERVER['HTTP_REFERER'] );
  	exit;
  }
  
  add_action('admin_action_akismet_recheck_queue', 'akismet_recheck_queue');
  
  // Check connectivity between the WordPress blog and Akismet's servers.
  // Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect).
  function akismet_check_server_connectivity() {
--- 721,783 ----
  		foreach ( $c as $key => $data )
  		$query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
  
+ 		add_comment_meta( $c['comment_ID'], 'akismet_rechecking', true );
  		$response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
  		if ( 'true' == $response[1] ) {
  			wp_set_comment_status($c['comment_ID'], 'spam');
  			update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' );
+ 			delete_comment_meta( $c['comment_ID'], 'akismet_error' );
  			akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and caught this comment as spam'), 'check-spam' );
  		
  		} elseif ( 'false' == $response[1] ) {
  			update_comment_meta( $c['comment_ID'], 'akismet_result', 'false' );
+ 			delete_comment_meta( $c['comment_ID'], 'akismet_error' );
  			akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and cleared this comment'), 'check-ham' );
  		// abnormal result: error
  		} else {
  			update_comment_meta( $c['comment_ID'], 'akismet_result', 'error' );
! 			akismet_update_comment_history( $c['comment_ID'], sprintf( __('Akismet was unable to re-check this comment (response: %s)'), substr($response[1], 0, 50)), 'check-error' );
  		}
  
+ 		delete_comment_meta( $c['comment_ID'], 'akismet_rechecking' );
  	}
! 	wp_safe_redirect( $_SERVER['HTTP_REFERER'] );
  	exit;
  }
  
  add_action('admin_action_akismet_recheck_queue', 'akismet_recheck_queue');
  
+ // Adds an 'x' link next to author URLs, clicking will remove the author URL and show an undo link
+ function akismet_remove_comment_author_url() {
+     if ( !empty($_POST['id'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
+         global $wpdb;
+         $comment = get_comment( intval($_POST['id']), ARRAY_A );
+         if (current_user_can('edit_comment', $comment['comment_ID'])) {
+             $comment['comment_author_url'] = '';
+             do_action( 'comment_remove_author_url' );
+             print(wp_update_comment( $comment ));
+             die();
+         }
+     }
+ }
+ 
+ add_action('wp_ajax_comment_author_deurl', 'akismet_remove_comment_author_url');
+ 
+ function akismet_add_comment_author_url() {
+     if ( !empty( $_POST['id'] ) && !empty( $_POST['url'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
+         global $wpdb;
+         $comment = get_comment( intval($_POST['id']), ARRAY_A );
+         if (current_user_can('edit_comment', $comment['comment_ID'])) {
+             $comment['comment_author_url'] = esc_url($_POST['url']);
+             do_action( 'comment_add_author_url' );
+             print(wp_update_comment( $comment ));
+             die();
+         }
+     }
+ }
+ 
+ add_action('wp_ajax_comment_author_reurl', 'akismet_add_comment_author_url');
+ 
  // Check connectivity between the WordPress blog and Akismet's servers.
  // Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect).
  function akismet_check_server_connectivity() {
***************
*** 748,750 ****
--- 831,850 ----
  	return !( empty($servers) || !count($servers) || count( array_filter($servers) ) < count($servers) );
  }
  
+ function akismet_admin_menu() {
+ 	if ( class_exists( 'Jetpack' ) ) {
+ 		add_action( 'jetpack_admin_menu', 'akismet_load_menu' );
+ 	} else {
+ 		akismet_load_menu();
+ 	}
+ }
+ 
+ function akismet_load_menu() {
+ 	if ( class_exists( 'Jetpack' ) ) {
+ 		add_submenu_page( 'jetpack', __( 'Akismet Configuration' ), __( 'Akismet Configuration' ), 'manage_options', 'akismet-key-config', 'akismet_conf' );
+ 		add_submenu_page( 'jetpack', __( 'Akismet Stats' ), __( 'Akismet Stats' ), 'manage_options', 'akismet-stats-display', 'akismet_stats_display' );
+ 	} else {
+ 		add_submenu_page('plugins.php', __('Akismet Configuration'), __('Akismet Configuration'), 'manage_options', 'akismet-key-config', 'akismet_conf');
+ 		add_submenu_page('index.php', __('Akismet Stats'), __('Akismet Stats'), 'manage_options', 'akismet-stats-display', 'akismet_stats_display');
+ 	}
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/akismet.css ./wordpress-3.4/wp-content/plugins/akismet/akismet.css
*** ./wordpress-3.3.2/wp-content/plugins/akismet/akismet.css	2011-01-10 09:32:58.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/akismet.css	2011-08-22 14:07:19.000000000 -0500
***************
*** 1,7 ****
--- 1,12 ----
  #submitted-on { position: relative; }
  #the-comment-list .author .akismet-user-comment-count { display: inline; }
+ #the-comment-list .author a span { text-decoration: none; color: #999; }
+ #the-comment-list .remove_url { margin-left: 3px; color: #999; padding: 2px 3px 2px 0; }
+ #the-comment-list .remove_url:hover { color: #A7301F; font-weight: bold; padding: 2px 2px 2px 0; }
  #dashboard_recent_comments .akismet-status { display: none; } /* never show the flagged by text on the dashboard */
  .akismet-status { float: right; }
  .akismet-status a { color: #AAA; font-style: italic; }
  span.comment-link a { text-decoration: underline; }
  span.comment-link:after { content: " " attr(title) " "; color: #aaa; text-decoration: none; }
+ .mshot-arrow { width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-right:10px solid #5C5C5C; position: absolute; left: -6px; top: 91px; }
+ .mshot-container { background: #5C5C5C; position: absolute; top: -94px; padding: 7px; width: 450px; height: 338px; z-index: 20000; -moz-border-radius:6px; border-radius:6px; -webkit-border-radius:6px; }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/akismet.js ./wordpress-3.4/wp-content/plugins/akismet/akismet.js
*** ./wordpress-3.3.2/wp-content/plugins/akismet/akismet.js	2010-12-16 15:46:48.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/akismet.js	2012-02-27 18:57:40.000000000 -0600
***************
*** 7,10 ****
--- 7,112 ----
  		var thisId = jQuery(this).attr('commentid');
  		jQuery(this).insertAfter('#comment-' + thisId + ' .author strong:first').show();
  	});
+ 	jQuery('#the-comment-list tr.comment .column-author a[title ^= "http://"]').each(function () {
+  		var thisTitle = jQuery(this).attr('title');
+  		    thisCommentId = jQuery(this).parents('tr:first').attr('id').split("-");
+  		
+  		jQuery(this).attr("id", "author_comment_url_"+ thisCommentId[1]);
+  		
+  		if (thisTitle) {
+  			jQuery(this).after(' <a href="#" class="remove_url" commentid="'+ thisCommentId[1] +'" title="Remove this URL">x</a>');
+  		}
+  	});
+  	jQuery('.remove_url').live('click', function () {
+  		var thisId = jQuery(this).attr('commentid');
+  		var data = {
+  			action: 'comment_author_deurl',
+ 			_wpnonce: WPAkismet.comment_author_url_nonce,
+  			id: thisId
+  		};
+  		jQuery.ajax({
+ 		    url: ajaxurl,
+ 		    type: 'POST',
+ 		    data: data,
+ 		    beforeSend: function () {
+ 		        // Removes "x" link
+ 	 			jQuery("a[commentid='"+ thisId +"']").hide();
+ 	 			// Show temp status
+ 		        jQuery("#author_comment_url_"+ thisId).html('<span>Removing...</span>');
+ 		    },
+ 		    success: function (response) {
+ 		        if (response) {
+ 	 				// Show status/undo link
+ 	 				jQuery("#author_comment_url_"+ thisId).attr('cid', thisId).addClass('akismet_undo_link_removal').html('<span>URL removed (</span>undo<span>)</span>');
+ 	 			}
+ 		    }
+ 		});
+ 
+  		return false;
+  	});
+  	jQuery('.akismet_undo_link_removal').live('click', function () {
+  		var thisId = jQuery(this).attr('cid');
+ 		var thisUrl = jQuery(this).attr('href').replace("http://www.", "").replace("http://", "");
+  		var data = {
+  			action: 'comment_author_reurl',
+ 			_wpnonce: WPAkismet.comment_author_url_nonce,
+  			id: thisId,
+  			url: thisUrl
+  		};
+ 		jQuery.ajax({
+ 		    url: ajaxurl,
+ 		    type: 'POST',
+ 		    data: data,
+ 		    beforeSend: function () {
+ 	 			// Show temp status
+ 		        jQuery("#author_comment_url_"+ thisId).html('<span>Re-addingâ€¦</span>');
+ 		    },
+ 		    success: function (response) {
+ 		        if (response) {
+ 	 				// Add "x" link
+ 					jQuery("a[commentid='"+ thisId +"']").show();
+ 					// Show link
+ 					jQuery("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').html(thisUrl);
+ 	 			}
+ 		    }
+ 		});
+  		
+  		return false;
+  	});
+  	jQuery('a[id^="author_comment_url"]').mouseover(function () {
+ 		// Need to determine size of author column
+ 		var thisParentWidth = jQuery(this).parent().width();
+ 		// It changes based on if there is a gravatar present
+ 		thisParentWidth = (jQuery(this).parent().find('.grav-hijack').length) ? thisParentWidth - 42 + 'px' : thisParentWidth + 'px';
+ 		if (jQuery(this).find('.mShot').length == 0 && !jQuery(this).hasClass('akismet_undo_link_removal')) {
+ 			var thisId = jQuery(this).attr('id').replace('author_comment_url_', '');
+ 			jQuery('.widefat td').css('overflow', 'visible');
+ 			jQuery(this).css('position', 'relative');
+ 			var thisHref = jQuery.URLEncode(jQuery(this).attr('href'));
+ 			jQuery(this).append('<div class="mShot mshot-container" style="left: '+thisParentWidth+'"><div class="mshot-arrow"></div><img src="http://s.wordpress.com/mshots/v1/'+thisHref+'?w=450" width="450" class="mshot-image_'+thisId+'" style="margin: 0;" /></div>');
+ 			setTimeout(function () {
+ 				jQuery('.mshot-image_'+thisId).attr('src', 'http://s.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=2');
+ 			}, 6000);
+ 			setTimeout(function () {
+ 				jQuery('.mshot-image_'+thisId).attr('src', 'http://s.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=3');
+ 			}, 12000);
+ 		} else {
+ 			jQuery(this).find('.mShot').css('left', thisParentWidth).show();
+ 		}
+ 	}).mouseout(function () {
+ 		jQuery(this).find('.mShot').hide();
+ 	});
+ });
+ // URL encode plugin
+ jQuery.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
+   while(x<c.length){var m=r.exec(c.substr(x));
+     if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
+     }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
+     o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;}
  });
+ // Preload mshot images after everything else has loaded
+ jQuery(window).load(function() {
+ 	jQuery('a[id^="author_comment_url"]').each(function () {
+ 		jQuery.get('http://s.wordpress.com/mshots/v1/'+jQuery.URLEncode(jQuery(this).attr('href'))+'?w=450');
+ 	});
+ });
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/akismet.php ./wordpress-3.4/wp-content/plugins/akismet/akismet.php
*** ./wordpress-3.3.2/wp-content/plugins/akismet/akismet.php	2011-02-08 13:39:30.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/akismet.php	2012-04-25 23:42:07.000000000 -0500
***************
*** 4,12 ****
   */
  /*
  Plugin Name: Akismet
! Plugin URI: http://akismet.com/
! Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam</strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) <a href="http://akismet.com/get/?return=true">Sign up for an Akismet API key</a>, and 3) Go to your <a href="plugins.php?page=akismet-key-config">Akismet configuration</a> page, and save your API key.
! Version: 2.5.3
  Author: Automattic
  Author URI: http://automattic.com/wordpress-plugins/
  License: GPLv2 or later
--- 4,12 ----
   */
  /*
  Plugin Name: Akismet
! Plugin URI: http://akismet.com/?return=true
! Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam</strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) <a href="http://akismet.com/get/?return=true">Sign up for an Akismet API key</a>, and 3) Go to your <a href="admin.php?page=akismet-key-config">Akismet configuration</a> page, and save your API key.
! Version: 2.5.6
  Author: Automattic
  Author URI: http://automattic.com/wordpress-plugins/
  License: GPLv2 or later
***************
*** 28,34 ****
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
! define('AKISMET_VERSION', '2.5.3');
  define('AKISMET_PLUGIN_URL', plugin_dir_url( __FILE__ ));
  
  /** If you hardcode a WP.com API key here, all key config screens will be hidden */
--- 28,34 ----
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
! define('AKISMET_VERSION', '2.5.6');
  define('AKISMET_PLUGIN_URL', plugin_dir_url( __FILE__ ));
  
  /** If you hardcode a WP.com API key here, all key config screens will be hidden */
***************
*** 70,81 ****
  	return get_option('wordpress_api_key');
  }
  
! function akismet_verify_key( $key, $ip = null ) {
  	global $akismet_api_host, $akismet_api_port, $wpcom_api_key;
  	$blog = urlencode( get_option('home') );
  	if ( $wpcom_api_key )
  		$key = $wpcom_api_key;
  	$response = akismet_http_post("key=$key&blog=$blog", 'rest.akismet.com', '/1.1/verify-key', $akismet_api_port, $ip);
  	if ( !is_array($response) || !isset($response[1]) || $response[1] != 'valid' && $response[1] != 'invalid' )
  		return 'failed';
  	return $response[1];
--- 70,102 ----
  	return get_option('wordpress_api_key');
  }
  
! function akismet_check_key_status( $key, $ip = null ) {
  	global $akismet_api_host, $akismet_api_port, $wpcom_api_key;
  	$blog = urlencode( get_option('home') );
  	if ( $wpcom_api_key )
  		$key = $wpcom_api_key;
  	$response = akismet_http_post("key=$key&blog=$blog", 'rest.akismet.com', '/1.1/verify-key', $akismet_api_port, $ip);
+ 	return $response;
+ }
+ 
+ // given a response from an API call like akismet_check_key_status(), update the alert code options if an alert is present.
+ function akismet_update_alert( $response ) {
+ 	$code = $msg = null;
+ 	if ( isset($response[0]['x-akismet-alert-code']) ) {
+ 		$code = $response[0]['x-akismet-alert-code'];
+ 		$msg = $response[0]['x-akismet-alert-msg'];
+ 	}
+ 	
+ 	// only call update_option() if the value has changed
+ 	if ( $code != get_option( 'akismet_alert_code' ) ) {
+ 		update_option( 'akismet_alert_code', $code );
+ 		update_option( 'akismet_alert_msg', $msg );
+ 	}
+ }
+ 
+ function akismet_verify_key( $key, $ip = null ) {
+ 	$response = akismet_check_key_status( $key, $ip );
+ 	akismet_update_alert( $response );
  	if ( !is_array($response) || !isset($response[1]) || $response[1] != 'valid' && $response[1] != 'invalid' )
  		return 'failed';
  	return $response[1];
***************
*** 120,125 ****
--- 141,148 ----
  	$akismet_ua = "WordPress/{$wp_version} | ";
  	$akismet_ua .= 'Akismet/' . constant( 'AKISMET_VERSION' );
  
+ 	$akismet_ua = apply_filters( 'akismet_ua', $akismet_ua );
+ 
  	$content_length = strlen( $request );
  
  	$http_host = $host;
***************
*** 278,284 ****
  				// abnormal result: error
  				} else {
  					update_comment_meta( $comment->comment_ID, 'akismet_error', time() );
! 					akismet_update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.'), $akismet_last_comment['akismet_result']), 'check-error' );
  				}
  				
  				// record the complete original data as submitted for checking
--- 301,307 ----
  				// abnormal result: error
  				} else {
  					update_comment_meta( $comment->comment_ID, 'akismet_error', time() );
! 					akismet_update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.'), substr($akismet_last_comment['akismet_result'], 0, 50)), 'check-error' );
  				}
  				
  				// record the complete original data as submitted for checking
***************
*** 303,309 ****
  	$comment['blog_charset'] = get_option('blog_charset');
  	$comment['permalink']  = get_permalink($comment['comment_post_ID']);
  	
! 	$comment['user_role'] = akismet_get_user_roles($comment['user_ID']);
  
  	$akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
  	$comment['akismet_comment_nonce'] = 'inactive';
--- 326,334 ----
  	$comment['blog_charset'] = get_option('blog_charset');
  	$comment['permalink']  = get_permalink($comment['comment_post_ID']);
  	
! 	if ( !empty( $comment['user_ID'] ) ) {
! 		$comment['user_role'] = akismet_get_user_roles($comment['user_ID']);
! 	}
  
  	$akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
  	$comment['akismet_comment_nonce'] = 'inactive';
***************
*** 335,340 ****
--- 360,368 ----
  			$comment["$key"] = '';
  	}
  
+ 	$post = get_post( $comment['comment_post_ID'] );
+ 	$comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt;
+ 
  	$query_string = '';
  	foreach ( $comment as $key => $data )
  		$query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
***************
*** 342,347 ****
--- 370,376 ----
  	$commentdata['comment_as_submitted'] = $comment;
  
  	$response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
+ 	akismet_update_alert( $response );
  	$commentdata['akismet_result'] = $response[1];
  	if ( 'true' == $response[1] ) {
  		// akismet_spam_count will be incremented later by akismet_result_spam()
***************
*** 349,355 ****
  
  		do_action( 'akismet_spam_caught' );
  
- 		$post = get_post( $comment['comment_post_ID'] );
  		$last_updated = strtotime( $post->post_modified_gmt );
  		$diff = time() - $last_updated;
  		$diff = $diff / 86400;
--- 378,383 ----
***************
*** 358,372 ****
  			// akismet_result_spam() won't be called so bump the counter here
  			if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
  				update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
! 			wp_redirect( $_SERVER['HTTP_REFERER'] );
  			die();
  		}
  	}
  	
  	// if the response is neither true nor false, hold the comment for moderation and schedule a recheck
  	if ( 'true' != $response[1] && 'false' != $response[1] ) {
! 		add_filter('pre_comment_approved', 'akismet_result_hold');
! 		wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
  	}
  	
  	if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_event') ) {
--- 386,404 ----
  			// akismet_result_spam() won't be called so bump the counter here
  			if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
  				update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
! 			wp_safe_redirect( $_SERVER['HTTP_REFERER'] );
  			die();
  		}
  	}
  	
  	// if the response is neither true nor false, hold the comment for moderation and schedule a recheck
  	if ( 'true' != $response[1] && 'false' != $response[1] ) {
! 		if ( !current_user_can('moderate_comments') ) {
! 			add_filter('pre_comment_approved', 'akismet_result_hold');
! 		}
! 		if ( !wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
! 			wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
! 		}
  	}
  	
  	if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_event') ) {
***************
*** 378,383 ****
--- 410,417 ----
  		akismet_delete_old();
  	}
  	$akismet_last_comment = $commentdata;
+ 
+ 	akismet_fix_scheduled_recheck();
  	return $commentdata;
  }
  
***************
*** 402,408 ****
--- 436,477 ----
  
  }
  
+ function akismet_delete_old_metadata() { 
+ 	global $wpdb; 
+ 
+ 	$now_gmt = current_time( 'mysql', 1 ); 
+ 	$interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
+ 
+ 	# enfore a minimum of 1 day
+ 	$interval = absint( $interval );
+ 	if ( $interval < 1 ) {
+ 		return;
+ 	}
+ 
+ 	// akismet_as_submitted meta values are large, so expire them 
+ 	// after $interval days regardless of the comment status 
+ 	while ( TRUE ) {
+ 		$comment_ids = $wpdb->get_col( "SELECT $wpdb->comments.comment_id FROM $wpdb->commentmeta INNER JOIN $wpdb->comments USING(comment_id) WHERE meta_key = 'akismet_as_submitted' AND DATE_SUB('$now_gmt', INTERVAL {$interval} DAY) > comment_date_gmt LIMIT 10000" ); 
+ 
+ 		if ( empty( $comment_ids ) ) {
+ 			return; 
+ 		}
+ 
+ 		foreach ( $comment_ids as $comment_id ) {
+ 			delete_comment_meta( $comment_id, 'akismet_as_submitted' );
+ 		}
+ 	}
+ 
+ 	/*
+ 	$n = mt_rand( 1, 5000 ); 
+ 	if ( apply_filters( 'akismet_optimize_table', ( $n == 11 ), 'commentmeta' ) ) { // lucky number 
+ 		$wpdb->query( "OPTIMIZE TABLE $wpdb->commentmeta" ); 
+ 	}
+ 	*/
+ } 
+ 
  add_action('akismet_scheduled_delete', 'akismet_delete_old');
+ add_action('akismet_scheduled_delete', 'akismet_delete_old_metadata'); 
  
  function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
      global $wpdb, $akismet_api_host, $akismet_api_port;
***************
*** 435,440 ****
--- 504,516 ----
  function akismet_cron_recheck() {
  	global $wpdb;
  
+ 	$status = akismet_verify_key( akismet_get_key() );
+ 	if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) {
+ 		// since there is currently a problem with the key, reschedule a check for 6 hours hence
+ 		wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' );
+ 		return false;
+ 	}
+ 	
  	delete_option('akismet_available_servers');
  
  	$comment_errors = $wpdb->get_col( "
***************
*** 445,452 ****
  	" );
  	
  	foreach ( (array) $comment_errors as $comment_id ) {
! 		// if the comment no longer exists, remove the meta entry from the queue to avoid getting stuck
! 		if ( !get_comment( $comment_id ) ) {
  			delete_comment_meta( $comment_id, 'akismet_error' );
  			continue;
  		}
--- 521,529 ----
  	" );
  	
  	foreach ( (array) $comment_errors as $comment_id ) {
! 		// if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck
! 		$comment = get_comment( $comment_id );
! 		if ( !$comment || strtotime( $comment->comment_date_gmt ) < strtotime( "-15 days" ) ) {
  			delete_comment_meta( $comment_id, 'akismet_error' );
  			continue;
  		}
***************
*** 485,490 ****
--- 562,568 ----
  			wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
  			return;
  		}
+ 		delete_comment_meta( $comment_id, 'akismet_rechecking' );
  	}
  	
  	$remaining = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" ) );
***************
*** 505,512 ****
--- 583,608 ----
  if ( $akismet_comment_nonce_option == 'true' || $akismet_comment_nonce_option == '' )
  	add_action( 'comment_form', 'akismet_add_comment_nonce' );
  
+ global $wp_version;
  if ( '3.0.5' == $wp_version ) { 
  	remove_filter( 'comment_text', 'wp_kses_data' ); 
  	if ( is_admin() ) 
  		add_filter( 'comment_text', 'wp_kses_post' ); 
  }
+ 
+ function akismet_fix_scheduled_recheck() {
+ 	$future_check = wp_next_scheduled( 'akismet_schedule_cron_recheck' );
+ 	if ( !$future_check ) {
+ 		return;
+ 	}
+ 
+ 	if ( get_option( 'akismet_alert_code' ) > 0 ) {
+ 		return;
+ 	}
+ 
+ 	$check_range = time() + 1200;
+ 	if ( $future_check > $check_range ) {
+ 		wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' );
+ 		wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' );
+ 	}
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/index.php ./wordpress-3.4/wp-content/plugins/akismet/index.php
*** ./wordpress-3.3.2/wp-content/plugins/akismet/index.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/index.php	2011-12-21 13:17:17.000000000 -0600
***************
*** 0 ****
--- 1,2 ----
+ <?php
+ # Silence is golden.
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/legacy.php ./wordpress-3.4/wp-content/plugins/akismet/legacy.php
*** ./wordpress-3.3.2/wp-content/plugins/akismet/legacy.php	2010-08-23 02:26:28.000000000 -0500
--- ./wordpress-3.4/wp-content/plugins/akismet/legacy.php	2011-11-25 16:34:11.000000000 -0600
***************
*** 71,77 ****
  			++$i;
  		endforeach;
  		$to = add_query_arg( 'recovered', $i, $_SERVER['HTTP_REFERER'] );
! 		wp_redirect( $to );
  		exit;
  	}
  	if ('delete' == $_POST['action']) {
--- 71,77 ----
  			++$i;
  		endforeach;
  		$to = add_query_arg( 'recovered', $i, $_SERVER['HTTP_REFERER'] );
! 		wp_safe_redirect( $to );
  		exit;
  	}
  	if ('delete' == $_POST['action']) {
***************
*** 87,93 ****
  			wp_cache_delete( 'akismet_spam_count', 'widget' );
  		}
  		$to = add_query_arg( 'deleted', 'all', $_SERVER['HTTP_REFERER'] );
! 		wp_redirect( $to );
  		exit;
  	}
  
--- 87,93 ----
  			wp_cache_delete( 'akismet_spam_count', 'widget' );
  		}
  		$to = add_query_arg( 'deleted', 'all', $_SERVER['HTTP_REFERER'] );
! 		wp_safe_redirect( $to );
  		exit;
  	}
  
***************
*** 366,372 ****
  	// 2.7 redirect for people who might have bookmarked the old page
  	if ( 8204 < $wp_db_version && ( 'edit-comments.php' == $script_name || 'edit.php' == $script_name ) && 'akismet-admin' == $page ) {
  		$new_url = esc_url( 'edit-comments.php?comment_status=spam' );
! 		wp_redirect( $new_url, 301 );
  		exit;
  	}
  }
--- 366,372 ----
  	// 2.7 redirect for people who might have bookmarked the old page
  	if ( 8204 < $wp_db_version && ( 'edit-comments.php' == $script_name || 'edit.php' == $script_name ) && 'akismet-admin' == $page ) {
  		$new_url = esc_url( 'edit-comments.php?comment_status=spam' );
! 		wp_safe_redirect( $new_url, 301 );
  		exit;
  	}
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/readme.txt ./wordpress-3.4/wp-content/plugins/akismet/readme.txt
*** ./wordpress-3.3.2/wp-content/plugins/akismet/readme.txt	2011-02-08 13:39:30.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/readme.txt	2012-04-25 23:42:07.000000000 -0500
***************
*** 2,9 ****
  Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, automattic
  Tags: akismet, comments, spam
  Requires at least: 3.0
! Tested up to: 3.1
! Stable tag: 2.5.3
  License: GPLv2 or later
  
  Akismet checks your comments against the Akismet web service to see if they look like spam or not.
--- 2,9 ----
  Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, automattic
  Tags: akismet, comments, spam
  Requires at least: 3.0
! Tested up to: 3.4
! Stable tag: 2.5.6
  License: GPLv2 or later
  
  Akismet checks your comments against the Akismet web service to see if they look like spam or not.
***************
*** 31,36 ****
--- 31,59 ----
  
  == Changelog ==
  
+ = 2.5.6 =
+ * Prevent retry scheduling problems on sites where wp_cron is misbehaving
+ * Preload mshot previews
+ * Modernize the widget code
+ * Fix a bug where comments were not held for moderation during an error condition
+ * Improve the UX and display when comments are temporarily held due to an error
+ * Make the Check For Spam button force a retry when comments are held due to an error
+ * Handle errors caused by an invalid key
+ * Don't retry comments that are too old
+ * Improve error messages when verifying an API key
+ 
+ = 2.5.5 =
+ * Add nonce check for comment author URL remove action
+ * Fix the settings link
+ 
+ = 2.5.4 =
+ * Limit Akismet CSS and Javascript loading in wp-admin to just the pages that need it
+ * Added author URL quick removal functionality
+ * Added mShot preview on Author URL hover
+ * Added empty index.php to prevent directory listing
+ * Move wp-admin menu items under Jetpack, if it is installed
+ * Purge old Akismet comment meta data, default of 15 days
+ 
  = 2.5.3 = 
  * Specify the license is GPL v2 or later
  * Fix a bug that could result in orphaned commentmeta entries
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/plugins/akismet/widget.php ./wordpress-3.4/wp-content/plugins/akismet/widget.php
*** ./wordpress-3.3.2/wp-content/plugins/akismet/widget.php	2010-12-16 02:39:20.000000000 -0600
--- ./wordpress-3.4/wp-content/plugins/akismet/widget.php	2012-04-23 18:29:41.000000000 -0500
***************
*** 2,90 ****
  /**
   * @package Akismet
   */
! // Widget stuff
! function widget_akismet_register() {
! 	if ( function_exists('register_sidebar_widget') ) :
! 	function widget_akismet($args) {
! 		extract($args);
! 		$options = get_option('widget_akismet');
! 		$count = get_option('akismet_spam_count');
! 		?>
! 			<?php echo $before_widget; ?>
! 				<?php echo $before_title . $options['title'] . $after_title; ?>
!                 <div id="akismetwrap"><div id="akismetstats"><a id="aka" href="http://akismet.com" title=""><?php printf( _n( '%1$s%2$s%3$s %4$sspam comment%5$s %6$sblocked by%7$s<br />%8$sAkismet%9$s', '%1$s%2$s%3$s %4$sspam comments%5$s %6$sblocked by%7$s<br />%8$sAkismet%9$s', $count ), '<span id="akismet1"><span id="akismetcount">', number_format_i18n( $count ), '</span>', '<span id="akismetsc">', '</span></span>', '<span id="akismet2"><span id="akismetbb">', '</span>', '<span id="akismeta">', '</span></span>' ); ?></a></div></div> 
! 			<?php echo $after_widget; ?>
! 	<?php
  	}
  
! 	function widget_akismet_style() {
! 		$plugin_dir = '/wp-content/plugins';
! 		if ( defined( 'PLUGINDIR' ) )
! 			$plugin_dir = '/' . PLUGINDIR;
  
- 		?>
  <style type="text/css">
! #aka,#aka:link,#aka:hover,#aka:visited,#aka:active{color:#fff;text-decoration:none}
! #aka:hover{border:none;text-decoration:none}
! #aka:hover #akismet1{display:none}
! #aka:hover #akismet2,#akismet1{display:block}
! #akismet2{display:none;padding-top:2px}
! #akismeta{font-size:16px;font-weight:bold;line-height:18px;text-decoration:none}
! #akismetcount{display:block;font:15px Verdana,Arial,Sans-Serif;font-weight:bold;text-decoration:none}
! #akismetwrap #akismetstats{background:url(<?php echo get_option('siteurl'), $plugin_dir; ?>/akismet/akismet.gif) no-repeat top left;border:none;color:#fff;font:11px 'Trebuchet MS','Myriad Pro',sans-serif;height:40px;line-height:100%;overflow:hidden;padding:8px 0 0;text-align:center;width:120px}
  </style>
! 		<?php
  	}
  
! 	function widget_akismet_control() {
! 		$options = $newoptions = get_option('widget_akismet');
! 		if ( isset( $_POST['akismet-submit'] ) && $_POST["akismet-submit"] ) {
! 			$newoptions['title'] = strip_tags(stripslashes($_POST["akismet-title"]));
! 			if ( empty($newoptions['title']) ) $newoptions['title'] = __('Spam Blocked');
  		}
! 		if ( $options != $newoptions ) {
! 			$options = $newoptions;
! 			update_option('widget_akismet', $options);
  		}
! 		$title = htmlspecialchars($options['title'], ENT_QUOTES);
! 	?>
! 				<p><label for="akismet-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="akismet-title" name="akismet-title" type="text" value="<?php echo $title; ?>" /></label></p>
! 				<input type="hidden" id="akismet-submit" name="akismet-submit" value="1" />
! 	<?php
  	}
  
! 	if ( function_exists( 'wp_register_sidebar_widget' ) ) {
! 		wp_register_sidebar_widget( 'akismet', 'Akismet', 'widget_akismet', null, 'akismet');
! 		wp_register_widget_control( 'akismet', 'Akismet', 'widget_akismet_control', null, 75, 'akismet');
! 	} else {
! 		register_sidebar_widget('Akismet', 'widget_akismet', null, 'akismet');
! 		register_widget_control('Akismet', 'widget_akismet_control', null, 75, 'akismet');
  	}
- 	if ( is_active_widget('widget_akismet') )
- 		add_action('wp_head', 'widget_akismet_style');
- 	endif;
- }
  
! add_action('init', 'widget_akismet_register');
! 
! // Counter for non-widget users
! function akismet_counter() {
! 	$plugin_dir = '/wp-content/plugins';
! 	if ( defined( 'PLUGINDIR' ) )
! 		$plugin_dir = '/' . PLUGINDIR;
  
  ?>
! <style type="text/css">
! #akismetwrap #aka,#aka:link,#aka:hover,#aka:visited,#aka:active{color:#fff;text-decoration:none}
! #aka:hover{border:none;text-decoration:none}
! #aka:hover #akismet1{display:none}
! #aka:hover #akismet2,#akismet1{display:block}
! #akismet2{display:none;padding-top:2px}
! #akismeta{font-size:16px;font-weight:bold;line-height:18px;text-decoration:none}
! #akismetcount{display:block;font:15px Verdana,Arial,Sans-Serif;font-weight:bold;text-decoration:none}
! #akismetwrap #akismetstats{background:url(<?php echo get_option('siteurl'), $plugin_dir; ?>/akismet/akismet.gif) no-repeat top left;border:none;color:#fff;font:11px 'Trebuchet MS','Myriad Pro',sans-serif;height:40px;line-height:100%;overflow:hidden;padding:8px 0 0;text-align:center;width:120px}
! </style>
  <?php
! $count = get_option('akismet_spam_count');
! printf( _n( '<div id="akismetwrap"><div id="akismetstats"><a id="aka" href="http://akismet.com" title=""><div id="akismet1"><span id="akismetcount">%1$s</span> <span id="akismetsc">spam comment</span></div> <div id="akismet2"><span id="akismetbb">blocked by</span><br /><span id="akismeta">Akismet</span></div></a></div></div>', '<div id="akismetwrap"><div id="akismetstats"><a id="aka" href="http://akismet.com" title=""><div id="akismet1"><span id="akismetcount">%1$s</span> <span id="akismetsc">spam comments</span></div> <div id="akismet2"><span id="akismetbb">blocked by</span><br /><span id="akismeta">Akismet</span></div></a></div></div>', $count ), number_format_i18n( $count ) );
  }
--- 2,108 ----
  /**
   * @package Akismet
   */
! class Akismet_Widget extends WP_Widget {
! 
! 	function __construct() {
! 		parent::__construct(
! 			'akismet_widget',
! 			__( 'Akismet Widget' ),
! 			array( 'description' => __( 'Display the number of spam comments Akismet has caught' ) )
! 		);
! 
! 		if ( is_active_widget( false, false, $this->id_base ) ) {
! 			add_action( 'wp_head', array( $this, 'css' ) );
! 		}
  	}
  
! 	function css() {
! ?>
  
  <style type="text/css">
! .a-stats {
! 	width: auto;
! }
! .a-stats a { 
! 	background: #7CA821;
! 	background-image:-moz-linear-gradient(0% 100% 90deg,#5F8E14,#7CA821);
! 	background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#7CA821),to(#5F8E14));
! 	border: 1px solid #5F8E14;
! 	border-radius:3px;
! 	color: #CFEA93;
! 	cursor: pointer;
! 	display: block;
! 	font-weight: normal;
! 	height: 100%;
! 	-moz-border-radius:3px;
! 	padding: 7px 0 8px;
! 	text-align: center;
! 	text-decoration: none;
! 	-webkit-border-radius:3px;
! 	width: 100%;
! }
! .a-stats a:hover { 
! 	text-decoration: none;
! 	background-image:-moz-linear-gradient(0% 100% 90deg,#6F9C1B,#659417);
! 	background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#659417),to(#6F9C1B));
! }
! .a-stats .count {
! 	color: #FFF;
! 	display: block;
! 	font-size: 15px;
! 	line-height: 16px;
! 	padding: 0 13px;
! 	white-space: nowrap;
! }
  </style>
! 
! <?php
  	}
  
! 	function form( $instance ) {
! 		if ( $instance ) {
! 			$title = esc_attr( $instance['title'] );
  		}
! 		else {
! 			$title = __( 'Spam Blocked' );
  		}
! ?>
! 
! 		<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 $title; ?>" />
! 		</p>
! 
! <?php 
  	}
  
! 	function update( $new_instance, $old_instance ) {
! 		$instance['title'] = strip_tags( $new_instance['title'] );
! 		return $instance;
  	}
  
! 	function widget( $args, $instance ) {
! 		$count = get_option( 'akismet_spam_count' );
  
+ 		echo $args['before_widget'];
+ 		if ( ! empty( $instance['title'] ) ) {
+ 			echo $args['before_title'];
+ 			echo esc_html( $instance['title'] );
+ 			echo $args['after_title'];
+ 		}
  ?>
! 
! 	<div class="a-stats">
! 		<a href="http://akismet.com" target="_blank" title=""><?php printf( _n( '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', $count ), number_format_i18n( $count ) ); ?></a>
! 	</div>
! 
  <?php
! 		echo $args['after_widget'];
! 	}
  }
+ 
+ function akismet_register_widgets() {
+ 	register_widget( 'Akismet_Widget' );
+ }
+ 
+ add_action( 'widgets_init', 'akismet_register_widgets' );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/author.php ./wordpress-3.4/wp-content/themes/twentyeleven/author.php
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/author.php	2011-06-12 12:43:03.000000000 -0500
--- ./wordpress-3.4/wp-content/themes/twentyeleven/author.php	2012-02-20 23:44:31.000000000 -0600
***************
*** 49,55 ****
  						<h2><?php printf( __( 'About %s', 'twentyeleven' ), get_the_author() ); ?></h2>
  						<?php the_author_meta( 'description' ); ?>
  					</div><!-- #author-description	-->
! 				</div><!-- #entry-author-info -->
  				<?php endif; ?>
  
  				<?php /* Start the Loop */ ?>
--- 49,55 ----
  						<h2><?php printf( __( 'About %s', 'twentyeleven' ), get_the_author() ); ?></h2>
  						<?php the_author_meta( 'description' ); ?>
  					</div><!-- #author-description	-->
! 				</div><!-- #author-info -->
  				<?php endif; ?>
  
  				<?php /* Start the Loop */ ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/content-single.php ./wordpress-3.4/wp-content/themes/twentyeleven/content-single.php
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/content-single.php	2011-12-10 13:43:49.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/content-single.php	2012-02-20 23:44:31.000000000 -0600
***************
*** 65,71 ****
  					</a>
  				</div><!-- #author-link	-->
  			</div><!-- #author-description -->
! 		</div><!-- #entry-author-info -->
  		<?php endif; ?>
  	</footer><!-- .entry-meta -->
  </article><!-- #post-<?php the_ID(); ?> -->
--- 65,71 ----
  					</a>
  				</div><!-- #author-link	-->
  			</div><!-- #author-description -->
! 		</div><!-- #author-info -->
  		<?php endif; ?>
  	</footer><!-- .entry-meta -->
  </article><!-- #post-<?php the_ID(); ?> -->
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/editor-style.css ./wordpress-3.4/wp-content/themes/twentyeleven/editor-style.css
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/editor-style.css	2011-07-11 15:32:24.000000000 -0500
--- ./wordpress-3.4/wp-content/themes/twentyeleven/editor-style.css	2012-05-25 13:22:31.000000000 -0500
***************
*** 125,131 ****
  	margin-bottom: 1.625em;
  	padding: 0.75em 1.625em;
  }
! code, kbd, code var {
  	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  }
  abbr, acronym, dfn {
--- 125,131 ----
  	margin-bottom: 1.625em;
  	padding: 0.75em 1.625em;
  }
! code, kbd, samp, var {
  	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  }
  abbr, acronym, dfn {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/functions.php ./wordpress-3.4/wp-content/themes/twentyeleven/functions.php
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/functions.php	2011-12-10 13:18:51.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/functions.php	2012-06-04 09:43:19.000000000 -0500
***************
*** 62,71 ****
   *
   * @uses load_theme_textdomain() For translation/localization support.
   * @uses add_editor_style() To style the visual editor.
!  * @uses add_theme_support() To add support for post thumbnails, automatic feed links, and Post Formats.
   * @uses register_nav_menus() To add support for navigation menus.
-  * @uses add_custom_background() To add support for a custom background.
-  * @uses add_custom_image_header() To add support for a custom header.
   * @uses register_default_headers() To register the default custom header images provided with the theme.
   * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
   *
--- 62,70 ----
   *
   * @uses load_theme_textdomain() For translation/localization support.
   * @uses add_editor_style() To style the visual editor.
!  * @uses add_theme_support() To add support for post thumbnails, automatic feed links, custom headers
!  * 	and backgrounds, and post formats.
   * @uses register_nav_menus() To add support for navigation menus.
   * @uses register_default_headers() To register the default custom header images provided with the theme.
   * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
   *
***************
*** 80,90 ****
  	 */
  	load_theme_textdomain( 'twentyeleven', get_template_directory() . '/languages' );
  
- 	$locale = get_locale();
- 	$locale_file = get_template_directory() . "/languages/$locale.php";
- 	if ( is_readable( $locale_file ) )
- 		require_once( $locale_file );
- 
  	// This theme styles the visual editor with editor-style.css to match the theme style.
  	add_editor_style();
  
--- 79,84 ----
***************
*** 103,144 ****
  	// Add support for a variety of post formats
  	add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) );
  
! 	// Add support for custom backgrounds
! 	add_custom_background();
  
  	// This theme uses Featured Images (also known as post thumbnails) for per-post/per-page Custom Header images
  	add_theme_support( 'post-thumbnails' );
  
! 	// The next four constants set how Twenty Eleven supports custom headers.
! 
! 	// The default header text color
! 	define( 'HEADER_TEXTCOLOR', '000' );
! 
! 	// By leaving empty, we allow for random image rotation.
! 	define( 'HEADER_IMAGE', '' );
  
! 	// The height and width of your custom header.
! 	// Add a filter to twentyeleven_header_image_width and twentyeleven_header_image_height to change these values.
! 	define( 'HEADER_IMAGE_WIDTH', apply_filters( 'twentyeleven_header_image_width', 1000 ) );
! 	define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'twentyeleven_header_image_height', 288 ) );
  
  	// We'll be using post thumbnails for custom header images on posts and pages.
  	// We want them to be the size of the header image that we just defined
  	// Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
! 	set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );
! 
! 	// Add Twenty Eleven's custom image sizes
! 	add_image_size( 'large-feature', HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); // Used for large feature (header) images
! 	add_image_size( 'small-feature', 500, 300 ); // Used for featured posts if a large-feature doesn't exist
! 
! 	// Turn on random header image rotation by default.
! 	add_theme_support( 'custom-header', array( 'random-default' => true ) );
! 
! 	// Add a way for the custom header to be styled in the admin panel that controls
! 	// custom headers. See twentyeleven_admin_header_style(), below.
! 	add_custom_image_header( 'twentyeleven_header_style', 'twentyeleven_admin_header_style', 'twentyeleven_admin_header_image' );
  
! 	// ... and thus ends the changeable header business.
  
  	// Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
  	register_default_headers( array(
--- 97,159 ----
  	// Add support for a variety of post formats
  	add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) );
  
! 	$theme_options = twentyeleven_get_theme_options();
! 	if ( 'dark' == $theme_options['color_scheme'] )
! 		$default_background_color = '1d1d1d';
! 	else
! 		$default_background_color = 'f1f1f1';
! 
! 	// Add support for custom backgrounds.
! 	add_theme_support( 'custom-background', array(
! 		// Let WordPress know what our default background color is.
! 		// This is dependent on our current color scheme.
! 		'default-color' => $default_background_color,
! 	) );
  
  	// This theme uses Featured Images (also known as post thumbnails) for per-post/per-page Custom Header images
  	add_theme_support( 'post-thumbnails' );
  
! 	// Add support for custom headers.
! 	$custom_header_support = array(
! 		// The default header text color.
! 		'default-text-color' => '000',
! 		// The height and width of our custom header.
! 		'width' => apply_filters( 'twentyeleven_header_image_width', 1000 ),
! 		'height' => apply_filters( 'twentyeleven_header_image_height', 288 ),
! 		// Support flexible heights.
! 		'flex-height' => true,
! 		// Random image rotation by default.
! 		'random-default' => true,
! 		// Callback for styling the header.
! 		'wp-head-callback' => 'twentyeleven_header_style',
! 		// Callback for styling the header preview in the admin.
! 		'admin-head-callback' => 'twentyeleven_admin_header_style',
! 		// Callback used to display the header preview in the admin.
! 		'admin-preview-callback' => 'twentyeleven_admin_header_image',
! 	);
! 	
! 	add_theme_support( 'custom-header', $custom_header_support );
  
! 	if ( ! function_exists( 'get_custom_header' ) ) {
! 		// This is all for compatibility with versions of WordPress prior to 3.4.
! 		define( 'HEADER_TEXTCOLOR', $custom_header_support['default-text-color'] );
! 		define( 'HEADER_IMAGE', '' );
! 		define( 'HEADER_IMAGE_WIDTH', $custom_header_support['width'] );
! 		define( 'HEADER_IMAGE_HEIGHT', $custom_header_support['height'] );
! 		add_custom_image_header( $custom_header_support['wp-head-callback'], $custom_header_support['admin-head-callback'], $custom_header_support['admin-preview-callback'] );
! 		add_custom_background();
! 	}
  
  	// We'll be using post thumbnails for custom header images on posts and pages.
  	// We want them to be the size of the header image that we just defined
  	// Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
! 	set_post_thumbnail_size( $custom_header_support['width'], $custom_header_support['height'], true );
  
! 	// Add Twenty Eleven's custom image sizes.
! 	// Used for large feature (header) images.
! 	add_image_size( 'large-feature', $custom_header_support['width'], $custom_header_support['height'], true );
! 	// Used for featured posts if a large-feature doesn't exist.
! 	add_image_size( 'small-feature', 500, 300 );
  
  	// Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
  	register_default_headers( array(
***************
*** 201,217 ****
   * @since Twenty Eleven 1.0
   */
  function twentyeleven_header_style() {
  
! 	// If no custom options for text are set, let's bail
! 	// get_header_textcolor() options: HEADER_TEXTCOLOR is default, hide text (returns 'blank') or any hex value
! 	if ( HEADER_TEXTCOLOR == get_header_textcolor() )
  		return;
  	// If we get this far, we have custom styles. Let's do this.
  	?>
  	<style type="text/css">
  	<?php
  		// Has the text been hidden?
! 		if ( 'blank' == get_header_textcolor() ) :
  	?>
  		#site-title,
  		#site-description {
--- 216,233 ----
   * @since Twenty Eleven 1.0
   */
  function twentyeleven_header_style() {
+ 	$text_color = get_header_textcolor();
  
! 	// If no custom options for text are set, let's bail.
! 	if ( $text_color == HEADER_TEXTCOLOR )
  		return;
+ 		
  	// If we get this far, we have custom styles. Let's do this.
  	?>
  	<style type="text/css">
  	<?php
  		// Has the text been hidden?
! 		if ( 'blank' == $text_color ) :
  	?>
  		#site-title,
  		#site-description {
***************
*** 225,231 ****
  	?>
  		#site-title a,
  		#site-description {
! 			color: #<?php echo get_header_textcolor(); ?> !important;
  		}
  	<?php endif; ?>
  	</style>
--- 241,247 ----
  	?>
  		#site-title a,
  		#site-description {
! 			color: #<?php echo $text_color; ?> !important;
  		}
  	<?php endif; ?>
  	</style>
***************
*** 237,243 ****
  /**
   * Styles the header image displayed on the Appearance > Header admin panel.
   *
!  * Referenced via add_custom_image_header() in twentyeleven_setup().
   *
   * @since Twenty Eleven 1.0
   */
--- 253,259 ----
  /**
   * Styles the header image displayed on the Appearance > Header admin panel.
   *
!  * Referenced via add_theme_support('custom-header') in twentyeleven_setup().
   *
   * @since Twenty Eleven 1.0
   */
***************
*** 287,309 ****
  /**
   * Custom header image markup displayed on the Appearance > Header admin panel.
   *
!  * Referenced via add_custom_image_header() in twentyeleven_setup().
   *
   * @since Twenty Eleven 1.0
   */
  function twentyeleven_admin_header_image() { ?>
  	<div id="headimg">
  		<?php
! 		if ( 'blank' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) || '' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) )
! 			$style = ' style="display:none;"';
  		else
! 			$style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"';
  		?>
  		<h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
  		<div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div>
! 		<?php $header_image = get_header_image();
! 		if ( ! empty( $header_image ) ) : ?>
! 			<img src="<?php echo esc_url( $header_image ); ?>" alt="" />
  		<?php endif; ?>
  	</div>
  <?php }
--- 303,326 ----
  /**
   * Custom header image markup displayed on the Appearance > Header admin panel.
   *
!  * Referenced via add_theme_support('custom-header') in twentyeleven_setup().
   *
   * @since Twenty Eleven 1.0
   */
  function twentyeleven_admin_header_image() { ?>
  	<div id="headimg">
  		<?php
! 		$color = get_header_textcolor();
! 		$image = get_header_image();
! 		if ( $color && $color != 'blank' )
! 			$style = ' style="color:#' . $color . '"';
  		else
! 			$style = ' style="display:none"';
  		?>
  		<h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
  		<div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div>
! 		<?php if ( $image ) : ?>
! 			<img src="<?php echo esc_url( $image ); ?>" alt="" />
  		<?php endif; ?>
  	</div>
  <?php }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/header.php ./wordpress-3.4/wp-content/themes/twentyeleven/header.php
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/header.php	2011-06-23 18:03:46.000000000 -0500
--- ./wordpress-3.4/wp-content/themes/twentyeleven/header.php	2012-06-04 09:43:19.000000000 -0500
***************
*** 78,97 ****
  			<?php
  				// Check to see if the header image has been removed
  				$header_image = get_header_image();
! 				if ( ! empty( $header_image ) ) :
! 			?>
  			<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
  				<?php
  					// The header image
  					// Check if this is a post or page, if it has a thumbnail, and if it's a big one
! 					if ( is_singular() &&
! 							has_post_thumbnail( $post->ID ) &&
! 							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( HEADER_IMAGE_WIDTH, HEADER_IMAGE_WIDTH ) ) ) &&
! 							$image[1] >= HEADER_IMAGE_WIDTH ) :
  						// Houston, we have a new header image!
  						echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
! 					else : ?>
! 					<img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
  				<?php endif; // end check for featured image or standard header ?>
  			</a>
  			<?php endif; // end check for removed header image ?>
--- 78,113 ----
  			<?php
  				// Check to see if the header image has been removed
  				$header_image = get_header_image();
! 				if ( $header_image ) :
! 					// Compatibility with versions of WordPress prior to 3.4.
! 					if ( function_exists( 'get_custom_header' ) ) {
! 						// We need to figure out what the minimum width should be for our featured image.
! 						// This result would be the suggested width if the theme were to implement flexible widths.
! 						$header_image_width = get_theme_support( 'custom-header', 'width' );
! 					} else {
! 						$header_image_width = HEADER_IMAGE_WIDTH;
! 					}
! 					?>
  			<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
  				<?php
  					// The header image
  					// Check if this is a post or page, if it has a thumbnail, and if it's a big one
! 					if ( is_singular() && has_post_thumbnail( $post->ID ) &&
! 							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) &&
! 							$image[1] >= $header_image_width ) :
  						// Houston, we have a new header image!
  						echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
! 					else :
! 						// Compatibility with versions of WordPress prior to 3.4.
! 						if ( function_exists( 'get_custom_header' ) ) {
! 							$header_image_width  = get_custom_header()->width;
! 							$header_image_height = get_custom_header()->height;
! 						} else {
! 							$header_image_width  = HEADER_IMAGE_WIDTH;
! 							$header_image_height = HEADER_IMAGE_HEIGHT;
! 						}
! 						?>
! 					<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
  				<?php endif; // end check for featured image or standard header ?>
  			</a>
  			<?php endif; // end check for removed header image ?>
***************
*** 100,106 ****
  				// Has the text been hidden?
  				if ( 'blank' == get_header_textcolor() ) :
  			?>
! 				<div class="only-search<?php if ( ! empty( $header_image ) ) : ?> with-image<?php endif; ?>">
  				<?php get_search_form(); ?>
  				</div>
  			<?php
--- 116,122 ----
  				// Has the text been hidden?
  				if ( 'blank' == get_header_textcolor() ) :
  			?>
! 				<div class="only-search<?php if ( $header_image ) : ?> with-image<?php endif; ?>">
  				<?php get_search_form(); ?>
  				</div>
  			<?php
***************
*** 111,123 ****
  
  			<nav id="access" role="navigation">
  				<h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3>
! 				<?php /*  Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?>
  				<div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div>
  				<div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div>
! 				<?php /* Our navigation menu.  If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?>
  				<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
  			</nav><!-- #access -->
  	</header><!-- #branding -->
  
  
! 	<div id="main">
\ No newline at end of file
--- 127,139 ----
  
  			<nav id="access" role="navigation">
  				<h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3>
! 				<?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?>
  				<div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div>
  				<div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div>
! 				<?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assigned to the primary location is the one used. If one isn't assigned, the menu with the lowest ID is used. */ ?>
  				<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
  			</nav><!-- #access -->
  	</header><!-- #branding -->
  
  
! 	<div id="main">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/inc/theme-customizer.js ./wordpress-3.4/wp-content/themes/twentyeleven/inc/theme-customizer.js
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/inc/theme-customizer.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/inc/theme-customizer.js	2012-05-25 16:50:01.000000000 -0500
***************
*** 0 ****
--- 1,12 ----
+ ( function( $ ){
+ 	wp.customize( 'blogname', function( value ) {
+ 		value.bind( function( to ) {
+ 			$( '#site-title a' ).html( to );
+ 		} );
+ 	} );
+ 	wp.customize( 'blogdescription', function( value ) {
+ 		value.bind( function( to ) {
+ 			$( '#site-description' ).html( to );
+ 		} );
+ 	} );
+ } )( jQuery );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/inc/theme-options.php ./wordpress-3.4/wp-content/themes/twentyeleven/inc/theme-options.php
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/inc/theme-options.php	2011-12-10 12:31:44.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/inc/theme-options.php	2012-05-26 13:44:31.000000000 -0500
***************
*** 31,46 ****
   * which is used when the option is saved, to ensure that our option values are complete, properly
   * formatted, and safe.
   *
-  * We also use this function to add our theme option if it doesn't already exist.
-  *
   * @since Twenty Eleven 1.0
   */
  function twentyeleven_theme_options_init() {
  
- 	// If we have no options in the database, let's add them now.
- 	if ( false === twentyeleven_get_theme_options() )
- 		add_option( 'twentyeleven_theme_options', twentyeleven_get_default_theme_options() );
- 
  	register_setting(
  		'twentyeleven_options',       // Options group, see settings_fields() call in twentyeleven_theme_options_render_page()
  		'twentyeleven_theme_options', // Database option, see twentyeleven_get_theme_options()
--- 31,40 ----
***************
*** 314,320 ****
  	?>
  	<div class="wrap">
  		<?php screen_icon(); ?>
! 		<h2><?php printf( __( '%s Theme Options', 'twentyeleven' ), get_current_theme() ); ?></h2>
  		<?php settings_errors(); ?>
  
  		<form method="post" action="options.php">
--- 308,315 ----
  	?>
  	<div class="wrap">
  		<?php screen_icon(); ?>
! 		<?php $theme_name = function_exists( 'wp_get_theme' ) ? wp_get_theme() : get_current_theme(); ?>
! 		<h2><?php printf( __( '%s Theme Options', 'twentyeleven' ), $theme_name ); ?></h2>
  		<?php settings_errors(); ?>
  
  		<form method="post" action="options.php">
***************
*** 446,449 ****
  
  	return array_merge( $existing_classes, $classes );
  }
! add_filter( 'body_class', 'twentyeleven_layout_classes' );
\ No newline at end of file
--- 441,531 ----
  
  	return array_merge( $existing_classes, $classes );
  }
! add_filter( 'body_class', 'twentyeleven_layout_classes' );
! 
! /**
!  * Implements Twenty Eleven theme options into Theme Customizer
!  *
!  * @param $wp_customize Theme Customizer object
!  * @return void
!  *
!  * @since Twenty Eleven 1.3
!  */
! function twentyeleven_customize_register( $wp_customize ) {
! 	$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
! 	$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
! 
! 	$options  = twentyeleven_get_theme_options();
! 	$defaults = twentyeleven_get_default_theme_options();
! 
! 	$wp_customize->add_setting( 'twentyeleven_theme_options[color_scheme]', array(
! 		'default'    => $defaults['color_scheme'],
! 		'type'       => 'option',
! 		'capability' => 'edit_theme_options',
! 	) );
! 
! 	$schemes = twentyeleven_color_schemes();
! 	$choices = array();
! 	foreach ( $schemes as $scheme ) {
! 		$choices[ $scheme['value'] ] = $scheme['label'];
! 	}
! 
! 	$wp_customize->add_control( 'twentyeleven_color_scheme', array(
! 		'label'    => __( 'Color Scheme', 'twentyeleven' ),
! 		'section'  => 'colors',
! 		'settings' => 'twentyeleven_theme_options[color_scheme]',
! 		'type'     => 'radio',
! 		'choices'  => $choices,
! 		'priority' => 5,
! 	) );
! 
! 	// Link Color (added to Color Scheme section in Theme Customizer)
! 	$wp_customize->add_setting( 'twentyeleven_theme_options[link_color]', array(
! 		'default'           => twentyeleven_get_default_link_color( $options['color_scheme'] ),
! 		'type'              => 'option',
! 		'sanitize_callback' => 'sanitize_hex_color',
! 		'capability'        => 'edit_theme_options',
! 	) );
! 
! 	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array(
! 		'label'    => __( 'Link Color', 'twentyeleven' ),
! 		'section'  => 'colors',
! 		'settings' => 'twentyeleven_theme_options[link_color]',
! 	) ) );
! 
! 	// Default Layout
! 	$wp_customize->add_section( 'twentyeleven_layout', array(
! 		'title'    => __( 'Layout', 'twentyeleven' ),
! 		'priority' => 50,
! 	) );
! 
! 	$wp_customize->add_setting( 'twentyeleven_theme_options[theme_layout]', array(
! 		'type'              => 'option',
! 		'default'           => $defaults['theme_layout'],
! 		'sanitize_callback' => 'sanitize_key',
! 	) );
! 
! 	$layouts = twentyeleven_layouts();
! 	$choices = array();
! 	foreach ( $layouts as $layout ) {
! 		$choices[$layout['value']] = $layout['label'];
! 	}
! 
! 	$wp_customize->add_control( 'twentyeleven_theme_options[theme_layout]', array(
! 		'section'    => 'twentyeleven_layout',
! 		'type'       => 'radio',
! 		'choices'    => $choices,
! 	) );
! }
! add_action( 'customize_register', 'twentyeleven_customize_register' );
! 
! /**
!  * Bind JS handlers to make Theme Customizer preview reload changes asynchronously.
!  * Used with blogname and blogdescription.
!  *
!  * @since Twenty Eleven 1.3
!  */
! function twentyeleven_customize_preview_js() {
! 	wp_enqueue_script( 'twentyeleven-customizer', get_template_directory_uri() . '/inc/theme-customizer.js', array( 'customize-preview' ), '20120523', true );
! }
! add_action( 'customize_preview_init', 'twentyeleven_customize_preview_js' );
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/languages/twentyeleven.pot ./wordpress-3.4/wp-content/themes/twentyeleven/languages/twentyeleven.pot
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/languages/twentyeleven.pot	2012-02-10 10:38:48.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/languages/twentyeleven.pot	2012-06-10 10:18:15.000000000 -0500
***************
*** 1,10 ****
  # Copyright (C) 2012 the WordPress team
! # This file is distributed under the GNU General Public License.
  msgid ""
  msgstr ""
! "Project-Id-Version: Twenty Eleven 1.3\n"
  "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyeleven\n"
! "POT-Creation-Date: 2012-02-10 16:30:53+00:00\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
--- 1,10 ----
  # Copyright (C) 2012 the WordPress team
! # This file is distributed under the GNU General Public License v2 or later.
  msgid ""
  msgstr ""
! "Project-Id-Version: Twenty Eleven 1.4\n"
  "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyeleven\n"
! "POT-Creation-Date: 2012-06-10 15:18:15+00:00\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
***************
*** 110,116 ****
  #: content-aside.php:16 content-featured.php:14 content-gallery.php:16
  #: content-gallery.php:48 content-image.php:15 content-link.php:16
  #: content-quote.php:14 content-status.php:15 content.php:15 content.php:19
! #: inc/widgets.php:89 showcase.php:115 showcase.php:194
  msgid "Permalink to %s"
  msgstr ""
  
--- 110,116 ----
  #: content-aside.php:16 content-featured.php:14 content-gallery.php:16
  #: content-gallery.php:48 content-image.php:15 content-link.php:16
  #: content-quote.php:14 content-status.php:15 content.php:15 content.php:19
! #: inc/widgets.php:89 showcase.php:120 showcase.php:199
  msgid "Permalink to %s"
  msgstr ""
  
***************
*** 137,143 ****
  
  #: content-aside.php:33 content-gallery.php:32 content-image.php:27
  #: content-link.php:33 content-quote.php:35 content-status.php:34
! #: content.php:41 functions.php:327
  msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
  msgstr ""
  
--- 137,143 ----
  
  #: content-aside.php:33 content-gallery.php:32 content-image.php:27
  #: content-link.php:33 content-quote.php:35 content-status.php:34
! #: content.php:41 functions.php:344
  msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
  msgstr ""
  
***************
*** 150,175 ****
  
  #: content-aside.php:42 content-gallery.php:87 content-image.php:64
  #: content-link.php:42 content-quote.php:69 content-status.php:43
! #: content.php:77 showcase.php:196
  msgid "Leave a reply"
  msgstr ""
  
  #: content-aside.php:42 content-gallery.php:87 content-image.php:64
  #: content-link.php:42 content-quote.php:69 content-status.php:43
! #: content.php:77 showcase.php:196
  msgid "<b>1</b> Reply"
  msgstr ""
  
  #: content-aside.php:42 content-gallery.php:87 content-image.php:64
  #: content-link.php:42 content-quote.php:69 content-status.php:43
! #: content.php:77 showcase.php:196
  msgid "<b>%</b> Replies"
  msgstr ""
  
  #: content-aside.php:44 content-featured.php:45 content-gallery.php:90
  #: content-image.php:68 content-intro.php:19 content-link.php:44
  #: content-page.php:21 content-quote.php:72 content-single.php:52
! #: content-status.php:45 content.php:80 functions.php:505 functions.php:533
  #: image.php:41
  msgid "Edit"
  msgstr ""
--- 150,175 ----
  
  #: content-aside.php:42 content-gallery.php:87 content-image.php:64
  #: content-link.php:42 content-quote.php:69 content-status.php:43
! #: content.php:77 showcase.php:201
  msgid "Leave a reply"
  msgstr ""
  
  #: content-aside.php:42 content-gallery.php:87 content-image.php:64
  #: content-link.php:42 content-quote.php:69 content-status.php:43
! #: content.php:77 showcase.php:201
  msgid "<b>1</b> Reply"
  msgstr ""
  
  #: content-aside.php:42 content-gallery.php:87 content-image.php:64
  #: content-link.php:42 content-quote.php:69 content-status.php:43
! #: content.php:77 showcase.php:201
  msgid "<b>%</b> Replies"
  msgstr ""
  
  #: content-aside.php:44 content-featured.php:45 content-gallery.php:90
  #: content-image.php:68 content-intro.php:19 content-link.php:44
  #: content-page.php:21 content-quote.php:72 content-single.php:52
! #: content-status.php:45 content.php:80 functions.php:522 functions.php:550
  #: image.php:41
  msgid "Edit"
  msgstr ""
***************
*** 226,232 ****
  "title=\"%5$s\" rel=\"author\">%6$s</a></span></span>"
  msgstr ""
  
! #: content-image.php:39 functions.php:570
  msgid "View all posts by %s"
  msgstr ""
  
--- 226,232 ----
  "title=\"%5$s\" rel=\"author\">%6$s</a></span></span>"
  msgstr ""
  
! #: content-image.php:39 functions.php:587
  msgid "View all posts by %s"
  msgstr ""
  
***************
*** 269,275 ****
  msgid "Featured"
  msgstr ""
  
! #. #-#-#-#-#  twentyeleven.pot (Twenty Eleven 1.3)  #-#-#-#-#
  #. Author URI of the plugin/theme
  #: footer.php:27
  msgid "http://wordpress.org/"
--- 269,275 ----
  msgid "Featured"
  msgstr ""
  
! #. #-#-#-#-#  twentyeleven.pot (Twenty Eleven 1.4)  #-#-#-#-#
  #. Author URI of the plugin/theme
  #: footer.php:27
  msgid "http://wordpress.org/"
***************
*** 283,395 ****
  msgid "Proudly powered by %s"
  msgstr ""
  
! #: functions.php:101
  msgid "Primary Menu"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:149
  msgid "Wheel"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:155
  msgid "Shore"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:161
  msgid "Trolley"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:167
  msgid "Pine Cone"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:173
  msgid "Chessboard"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:179
  msgid "Lanterns"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:185
  msgid "Willow"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:191
  msgid "Hanoi Plant"
  msgstr ""
  
! #: functions.php:374
  msgid "Main Sidebar"
  msgstr ""
  
! #: functions.php:383
  msgid "Showcase Sidebar"
  msgstr ""
  
! #: functions.php:385
  msgid "The sidebar for the optional Showcase Template"
  msgstr ""
  
! #: functions.php:393
  msgid "Footer Area One"
  msgstr ""
  
! #: functions.php:395 functions.php:405 functions.php:415
  msgid "An optional widget area for your site footer"
  msgstr ""
  
! #: functions.php:403
  msgid "Footer Area Two"
  msgstr ""
  
! #: functions.php:413
  msgid "Footer Area Three"
  msgstr ""
  
! #: functions.php:433 single.php:18
  msgid "Post navigation"
  msgstr ""
  
! #: functions.php:434
  msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
  msgstr ""
  
! #: functions.php:435
  msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
  msgstr ""
  
! #: functions.php:505
  msgid "Pingback:"
  msgstr ""
  
  #. translators: 1: comment author, 2: date and time
! #: functions.php:522
  msgid "%1$s on %2$s <span class=\"says\">said:</span>"
  msgstr ""
  
  #. translators: 1: date, 2: time
! #: functions.php:528
  msgid "%1$s at %2$s"
  msgstr ""
  
! #: functions.php:537
  msgid "Your comment is awaiting moderation."
  msgstr ""
  
! #: functions.php:546
  msgid "Reply <span>&darr;</span>"
  msgstr ""
  
! #: functions.php:564
  msgid ""
  "<span class=\"sep\">Posted on </span><a href=\"%1$s\" title=\"%2$s\" rel="
  "\"bookmark\"><time class=\"entry-date\" datetime=\"%3$s\" pubdate>%4$s</"
--- 283,395 ----
  msgid "Proudly powered by %s"
  msgstr ""
  
! #: functions.php:95
  msgid "Primary Menu"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:164
  msgid "Wheel"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:170
  msgid "Shore"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:176
  msgid "Trolley"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:182
  msgid "Pine Cone"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:188
  msgid "Chessboard"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:194
  msgid "Lanterns"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:200
  msgid "Willow"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:206
  msgid "Hanoi Plant"
  msgstr ""
  
! #: functions.php:391
  msgid "Main Sidebar"
  msgstr ""
  
! #: functions.php:400
  msgid "Showcase Sidebar"
  msgstr ""
  
! #: functions.php:402
  msgid "The sidebar for the optional Showcase Template"
  msgstr ""
  
! #: functions.php:410
  msgid "Footer Area One"
  msgstr ""
  
! #: functions.php:412 functions.php:422 functions.php:432
  msgid "An optional widget area for your site footer"
  msgstr ""
  
! #: functions.php:420
  msgid "Footer Area Two"
  msgstr ""
  
! #: functions.php:430
  msgid "Footer Area Three"
  msgstr ""
  
! #: functions.php:450 single.php:18
  msgid "Post navigation"
  msgstr ""
  
! #: functions.php:451
  msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
  msgstr ""
  
! #: functions.php:452
  msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
  msgstr ""
  
! #: functions.php:522
  msgid "Pingback:"
  msgstr ""
  
  #. translators: 1: comment author, 2: date and time
! #: functions.php:539
  msgid "%1$s on %2$s <span class=\"says\">said:</span>"
  msgstr ""
  
  #. translators: 1: date, 2: time
! #: functions.php:545
  msgid "%1$s at %2$s"
  msgstr ""
  
! #: functions.php:554
  msgid "Your comment is awaiting moderation."
  msgstr ""
  
! #: functions.php:563
  msgid "Reply <span>&darr;</span>"
  msgstr ""
  
! #: functions.php:581
  msgid ""
  "<span class=\"sep\">Posted on </span><a href=\"%1$s\" title=\"%2$s\" rel="
  "\"bookmark\"><time class=\"entry-date\" datetime=\"%3$s\" pubdate>%4$s</"
***************
*** 402,416 ****
  msgid "Page %s"
  msgstr ""
  
! #: header.php:113
  msgid "Main menu"
  msgstr ""
  
! #: header.php:115
  msgid "Skip to primary content"
  msgstr ""
  
! #: header.php:116
  msgid "Skip to secondary content"
  msgstr ""
  
--- 402,416 ----
  msgid "Page %s"
  msgstr ""
  
! #: header.php:129
  msgid "Main menu"
  msgstr ""
  
! #: header.php:131
  msgid "Skip to primary content"
  msgstr ""
  
! #: header.php:132
  msgid "Skip to secondary content"
  msgstr ""
  
***************
*** 434,456 ****
  "in <a href=\"%6$s\" title=\"Return to %7$s\" rel=\"gallery\">%8$s</a>"
  msgstr ""
  
! #: inc/theme-options.php:61
  msgid "Color Scheme"
  msgstr ""
  
! #: inc/theme-options.php:67
  msgid "Link Color"
  msgstr ""
  
! #: inc/theme-options.php:68
  msgid "Default Layout"
  msgstr ""
  
! #: inc/theme-options.php:100 inc/theme-options.php:101
  msgid "Theme Options"
  msgstr ""
  
! #: inc/theme-options.php:116
  msgid ""
  "Some themes provide customization options that are grouped together on a "
  "Theme Options screen. If you change themes, options may change or disappear, "
--- 434,456 ----
  "in <a href=\"%6$s\" title=\"Return to %7$s\" rel=\"gallery\">%8$s</a>"
  msgstr ""
  
! #: inc/theme-options.php:55 inc/theme-options.php:474
  msgid "Color Scheme"
  msgstr ""
  
! #: inc/theme-options.php:61 inc/theme-options.php:491
  msgid "Link Color"
  msgstr ""
  
! #: inc/theme-options.php:62
  msgid "Default Layout"
  msgstr ""
  
! #: inc/theme-options.php:94 inc/theme-options.php:95
  msgid "Theme Options"
  msgstr ""
  
! #: inc/theme-options.php:110
  msgid ""
  "Some themes provide customization options that are grouped together on a "
  "Theme Options screen. If you change themes, options may change or disappear, "
***************
*** 458,471 ****
  "following Theme Options:"
  msgstr ""
  
! #: inc/theme-options.php:118
  msgid ""
  "<strong>Color Scheme</strong>: You can choose a color palette of \"Light"
  "\" (light background with dark text) or \"Dark\" (dark background with light "
  "text) for your site."
  msgstr ""
  
! #: inc/theme-options.php:119
  msgid ""
  "<strong>Link Color</strong>: You can choose the color used for text links on "
  "your site. You can enter the HTML color or hex code, or you can choose "
--- 458,471 ----
  "following Theme Options:"
  msgstr ""
  
! #: inc/theme-options.php:112
  msgid ""
  "<strong>Color Scheme</strong>: You can choose a color palette of \"Light"
  "\" (light background with dark text) or \"Dark\" (dark background with light "
  "text) for your site."
  msgstr ""
  
! #: inc/theme-options.php:113
  msgid ""
  "<strong>Link Color</strong>: You can choose the color used for text links on "
  "your site. You can enter the HTML color or hex code, or you can choose "
***************
*** 473,542 ****
  "wheel."
  msgstr ""
  
! #: inc/theme-options.php:120
  msgid ""
  "<strong>Default Layout</strong>: You can choose if you want your site&#8217;"
  "s default layout to have a sidebar on the left, the right, or not at all."
  msgstr ""
  
! #: inc/theme-options.php:122
  msgid ""
  "Remember to click \"Save Changes\" to save any changes you have made to the "
  "theme options."
  msgstr ""
  
! #: inc/theme-options.php:124
  msgid "For more information:"
  msgstr ""
  
! #: inc/theme-options.php:125
  msgid ""
  "<a href=\"http://codex.wordpress.org/Appearance_Theme_Options_Screen\" "
  "target=\"_blank\">Documentation on Theme Options</a>"
  msgstr ""
  
! #: inc/theme-options.php:126
  msgid ""
  "<a href=\"http://wordpress.org/support/\" target=\"_blank\">Support Forums</"
  "a>"
  msgstr ""
  
! #: inc/theme-options.php:133
  msgid "Overview"
  msgstr ""
  
! #: inc/theme-options.php:155
  msgid "Light"
  msgstr ""
  
! #: inc/theme-options.php:161
  msgid "Dark"
  msgstr ""
  
! #: inc/theme-options.php:179
  msgid "Content on left"
  msgstr ""
  
! #: inc/theme-options.php:184
  msgid "Content on right"
  msgstr ""
  
! #: inc/theme-options.php:189
  msgid "One-column, no sidebar"
  msgstr ""
  
! #: inc/theme-options.php:279
  msgid "Select a Color"
  msgstr ""
  
! #: inc/theme-options.php:282
  msgid "Default color: %s"
  msgstr ""
  
! #: inc/theme-options.php:317
  msgid "%s Theme Options"
  msgstr ""
  
  #: inc/widgets.php:19
  msgid ""
  "Use this widget to list your recent Aside, Status, Quote, and Link posts"
--- 473,546 ----
  "wheel."
  msgstr ""
  
! #: inc/theme-options.php:114
  msgid ""
  "<strong>Default Layout</strong>: You can choose if you want your site&#8217;"
  "s default layout to have a sidebar on the left, the right, or not at all."
  msgstr ""
  
! #: inc/theme-options.php:116
  msgid ""
  "Remember to click \"Save Changes\" to save any changes you have made to the "
  "theme options."
  msgstr ""
  
! #: inc/theme-options.php:118
  msgid "For more information:"
  msgstr ""
  
! #: inc/theme-options.php:119
  msgid ""
  "<a href=\"http://codex.wordpress.org/Appearance_Theme_Options_Screen\" "
  "target=\"_blank\">Documentation on Theme Options</a>"
  msgstr ""
  
! #: inc/theme-options.php:120
  msgid ""
  "<a href=\"http://wordpress.org/support/\" target=\"_blank\">Support Forums</"
  "a>"
  msgstr ""
  
! #: inc/theme-options.php:127
  msgid "Overview"
  msgstr ""
  
! #: inc/theme-options.php:149
  msgid "Light"
  msgstr ""
  
! #: inc/theme-options.php:155
  msgid "Dark"
  msgstr ""
  
! #: inc/theme-options.php:173
  msgid "Content on left"
  msgstr ""
  
! #: inc/theme-options.php:178
  msgid "Content on right"
  msgstr ""
  
! #: inc/theme-options.php:183
  msgid "One-column, no sidebar"
  msgstr ""
  
! #: inc/theme-options.php:273
  msgid "Select a Color"
  msgstr ""
  
! #: inc/theme-options.php:276
  msgid "Default color: %s"
  msgstr ""
  
! #: inc/theme-options.php:312
  msgid "%s Theme Options"
  msgstr ""
  
+ #: inc/theme-options.php:498
+ msgid "Layout"
+ msgstr ""
+ 
  #: inc/widgets.php:19
  msgid ""
  "Use this widget to list your recent Aside, Status, Quote, and Link posts"
***************
*** 588,602 ****
  msgid "Search"
  msgstr ""
  
! #: showcase.php:72
  msgid "Featured Post"
  msgstr ""
  
! #: showcase.php:145
  msgid "Featuring: %s"
  msgstr ""
  
! #: showcase.php:155
  msgid "Recent Posts"
  msgstr ""
  
--- 592,606 ----
  msgid "Search"
  msgstr ""
  
! #: showcase.php:77
  msgid "Featured Post"
  msgstr ""
  
! #: showcase.php:150
  msgid "Featuring: %s"
  msgstr ""
  
! #: showcase.php:160
  msgid "Recent Posts"
  msgstr ""
  
***************
*** 655,657 ****
--- 659,669 ----
  "featured-images, full-width-template, microformats, post-formats, rtl-"
  "language-support, sticky-post, theme-options, translation-ready"
  msgstr ""
+ 
+ #. Template Name of the plugin/theme
+ msgid "Showcase Template"
+ msgstr ""
+ 
+ #. Template Name of the plugin/theme
+ msgid "Sidebar Template"
+ msgstr ""
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/showcase.php ./wordpress-3.4/wp-content/themes/twentyeleven/showcase.php
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/showcase.php	2011-11-21 10:20:49.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/showcase.php	2012-06-04 09:43:19.000000000 -0500
***************
*** 66,72 ****
  					 */
  					$counter_slider = 0;
  
! 					?>
  
  				<div class="featured-posts">
  					<h1 class="showcase-heading"><?php _e( 'Featured Post', 'twentyeleven' ); ?></h1>
--- 66,77 ----
  					 */
  					$counter_slider = 0;
  
! 					// Compatibility with versions of WordPress prior to 3.4.
! 					if ( function_exists( 'get_custom_header' ) )
! 						$header_image_width = get_theme_support( 'custom-header', 'width' );
! 					else
! 						$header_image_width = HEADER_IMAGE_WIDTH;
! 				?>
  
  				<div class="featured-posts">
  					<h1 class="showcase-heading"><?php _e( 'Featured Post', 'twentyeleven' ); ?></h1>
***************
*** 89,98 ****
  						$feature_class = 'feature-image small';
  
  						// Hang on. Let's check this here image out.
! 						$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( HEADER_IMAGE_WIDTH, HEADER_IMAGE_WIDTH ) );
  
  						// Is it bigger than or equal to our header?
! 						if ( $image[1] >= HEADER_IMAGE_WIDTH ) {
  							// If bigger, let's add a BIGGER class. It's EXTRA classy now.
  							$feature_class = 'feature-image large';
  						}
--- 94,103 ----
  						$feature_class = 'feature-image small';
  
  						// Hang on. Let's check this here image out.
! 						$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) );
  
  						// Is it bigger than or equal to our header?
! 						if ( $image[1] >= $header_image_width ) {
  							// If bigger, let's add a BIGGER class. It's EXTRA classy now.
  							$feature_class = 'feature-image large';
  						}
***************
*** 107,113 ****
  							 * make it a large featured post, otherwise render it small
  							 */
  							if ( has_post_thumbnail() ) {
! 								if ( $image[1] >= HEADER_IMAGE_WIDTH )
  									$thumbnail_size = 'large-feature';
  								else
  									$thumbnail_size = 'small-feature';
--- 112,118 ----
  							 * make it a large featured post, otherwise render it small
  							 */
  							if ( has_post_thumbnail() ) {
! 								if ( $image[1] >= $header_image_width )
  									$thumbnail_size = 'large-feature';
  								else
  									$thumbnail_size = 'small-feature';
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyeleven/style.css ./wordpress-3.4/wp-content/themes/twentyeleven/style.css
*** ./wordpress-3.3.2/wp-content/themes/twentyeleven/style.css	2011-12-10 13:18:51.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyeleven/style.css	2012-06-10 09:18:45.000000000 -0500
***************
*** 4,13 ****
  Author: the WordPress team
  Author URI: http://wordpress.org/
  Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. Make it yours with a custom menu, header image, and background -- then go further with available theme options for light or dark color scheme, custom link colors, and three layout choices. Twenty Eleven comes equipped with a Showcase page template that transforms your front page into a showcase to show off your best content, widget support galore (sidebar, three footer areas, and a Showcase page widget area), and a custom "Ephemera" widget to display your Aside, Link, Quote, or Status posts. Included are styles for print and for the admin editor, support for featured images (as custom header images on posts and pages and as large images on featured "sticky" posts), and special styles for six different post formats.
! Version: 1.3
! License: GNU General Public License
! License URI: license.txt
  Tags: dark, light, white, black, gray, one-column, two-columns, left-sidebar, right-sidebar, fixed-width, flexible-width, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready
  */
  
  /* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
--- 4,14 ----
  Author: the WordPress team
  Author URI: http://wordpress.org/
  Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. Make it yours with a custom menu, header image, and background -- then go further with available theme options for light or dark color scheme, custom link colors, and three layout choices. Twenty Eleven comes equipped with a Showcase page template that transforms your front page into a showcase to show off your best content, widget support galore (sidebar, three footer areas, and a Showcase page widget area), and a custom "Ephemera" widget to display your Aside, Link, Quote, or Status posts. Included are styles for print and for the admin editor, support for featured images (as custom header images on posts and pages and as large images on featured "sticky" posts), and special styles for six different post formats.
! Version: 1.4
! License: GNU General Public License v2 or later
! License URI: http://www.gnu.org/licenses/gpl-2.0.html
  Tags: dark, light, white, black, gray, one-column, two-columns, left-sidebar, right-sidebar, fixed-width, flexible-width, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready
+ Text Domain: twentyeleven
  */
  
  /* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
***************
*** 401,407 ****
  	overflow: auto;
  	padding: 0.75em 1.625em;
  }
! code, kbd {
  	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  }
  abbr, acronym, dfn {
--- 402,408 ----
  	overflow: auto;
  	padding: 0.75em 1.625em;
  }
! code, kbd, samp, var {
  	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  }
  abbr, acronym, dfn {
***************
*** 1118,1124 ****
  .pull.alignleft {
  	margin: 0 1.625em 0 0;
  	text-align: right;
- 	width: 33%;
  }
  .singular .pull.alignleft {
  	margin: 0 1.625em 0 -22.25%;
--- 1119,1124 ----
***************
*** 1126,1131 ****
--- 1126,1134 ----
  .pull.alignright {
  	margin: 0 0 0 1.625em;
  	text-align: left;
+ }
+ blockquote.pull.alignleft,
+ blockquote.pull.alignright {
  	width: 33%;
  }
  .singular .pull.alignright {
***************
*** 1237,1251 ****
  .indexed.format-image .entry-content {
  	padding-top: 0.5em;
  }
! .indexed.format-image p,
! .indexed.format-image p img {
! 	margin-bottom: 0;
  }
  .indexed.format-image footer.entry-meta {
  	background: #ddd;
- 	margin-top: -7px;
- 	padding: 20px 30px;
  	overflow: hidden;
  }
  .indexed.format-image div.entry-meta {
  	display: inline-block;
--- 1240,1263 ----
  .indexed.format-image .entry-content {
  	padding-top: 0.5em;
  }
! .indexed.format-image .entry-content p {
! 	margin: 1em 0;
! }
! .indexed.format-image .entry-content p:first-child,
! .indexed.format-image .entry-content p:first-child a,
! .indexed.format-image .entry-content p:first-child img {
! 	display: block;
! 	margin: 0;
! }
! .indexed.format-image .entry-content .wp-caption .wp-caption-text {
! 	margin: 0;
! 	padding-bottom: 1em;
  }
  .indexed.format-image footer.entry-meta {
  	background: #ddd;
  	overflow: hidden;
+ 	padding: 4%;
+ 	max-width: 96%;
  }
  .indexed.format-image div.entry-meta {
  	display: inline-block;
***************
*** 1276,1282 ****
  	background: #111;
  	margin-bottom: 0;
  	max-width: 96%;
! 	padding: 11px;
  }
  .indexed.format-image .wp-caption .wp-caption-text {
  	color: #ddd;
--- 1288,1294 ----
  	background: #111;
  	margin-bottom: 0;
  	max-width: 96%;
! 	padding: 2% 2% 0;
  }
  .indexed.format-image .wp-caption .wp-caption-text {
  	color: #ddd;
***************
*** 1722,1733 ****
  }
  #nav-single .nav-previous,
  #nav-single .nav-next {
- 	float: none;
  	width: auto;
  }
  #nav-single .nav-next {
  	padding-left: .5em;
  }
  
  
  /* =Widgets
--- 1734,1747 ----
  }
  #nav-single .nav-previous,
  #nav-single .nav-next {
  	width: auto;
  }
  #nav-single .nav-next {
  	padding-left: .5em;
  }
+ #nav-single .nav-previous {
+ 	padding-right: .5em;
+ }
  
  
  /* =Widgets
***************
*** 1838,1843 ****
--- 1852,1859 ----
  
  /* Widget Image */
  .widget_image img {
+ 	border: 0;
+ 	padding: 0;
  	height: auto;
  	max-width: 100%;
  }
***************
*** 2237,2251 ****
  	color: #555;
  	font-weight: bold;
  }
- #site-generator .sep {
- 	background: url(images/wordpress.png) center left no-repeat;
- 	color: transparent;
- 	display: inline-block;
- 	height: 16px;
- 	line-height: 16px;
- 	margin: 0 7px;
- 	width: 16px;
- }
  
  
  /* =Responsive Structure
--- 2253,2258 ----
***************
*** 2414,2419 ****
--- 2421,2427 ----
  	/* Floated content doesn't work well at this size */
  	.alignleft,
  	.alignright {
+ 		display: block;
  		float: none;
  		margin-left: 0;
  		margin-right: 0;
***************
*** 2677,2679 ****
--- 2685,2694 ----
  #ie7 section.recent-posts {
  	margin-right: 7.6%;
  }
+ 
+ /* =IE8 
+ ----------------------------------------------- */ 
+  
+ #ie8 section.feature-image.large img { 
+ 	width: 100%; 
+ } 
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/comments.php ./wordpress-3.4/wp-content/themes/twentyten/comments.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/comments.php	2010-06-05 09:55:18.000000000 -0500
--- ./wordpress-3.4/wp-content/themes/twentyten/comments.php	2011-12-16 11:13:16.000000000 -0600
***************
*** 3,9 ****
   * The template for displaying Comments.
   *
   * The area of the page that contains both current comments
!  * and the comment form.  The actual display of comments is
   * handled by a callback to twentyten_comment which is
   * located in the functions.php file.
   *
--- 3,9 ----
   * The template for displaying Comments.
   *
   * The area of the page that contains both current comments
!  * and the comment form. The actual display of comments is
   * handled by a callback to twentyten_comment which is
   * located in the functions.php file.
   *
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/footer.php ./wordpress-3.4/wp-content/themes/twentyten/footer.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/footer.php	2010-11-18 23:37:47.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/footer.php	2011-12-16 11:13:16.000000000 -0600
***************
*** 3,9 ****
   * The template for displaying the footer.
   *
   * Contains the closing of the id=main div and all content
!  * after.  Calls sidebar-footer.php for bottom widgets.
   *
   * @package WordPress
   * @subpackage Twenty_Ten
--- 3,9 ----
   * The template for displaying the footer.
   *
   * Contains the closing of the id=main div and all content
!  * after. Calls sidebar-footer.php for bottom widgets.
   *
   * @package WordPress
   * @subpackage Twenty_Ten
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/functions.php ./wordpress-3.4/wp-content/themes/twentyten/functions.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/functions.php	2011-12-10 13:18:51.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/functions.php	2012-06-04 09:43:19.000000000 -0500
***************
*** 61,72 ****
   * To override twentyten_setup() in a child theme, add your own twentyten_setup to your child theme's
   * functions.php file.
   *
!  * @uses add_theme_support() To add support for post thumbnails and automatic feed links.
   * @uses register_nav_menus() To add support for navigation menus.
-  * @uses add_custom_background() To add support for a custom background.
   * @uses add_editor_style() To style the visual editor.
   * @uses load_theme_textdomain() For translation/localization support.
-  * @uses add_custom_image_header() To add support for a custom header.
   * @uses register_default_headers() To register the default custom header images provided with the theme.
   * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
   *
--- 61,70 ----
   * To override twentyten_setup() in a child theme, add your own twentyten_setup to your child theme's
   * functions.php file.
   *
!  * @uses add_theme_support() To add support for post thumbnails, custom headers and backgrounds, and automatic feed links.
   * @uses register_nav_menus() To add support for navigation menus.
   * @uses add_editor_style() To style the visual editor.
   * @uses load_theme_textdomain() For translation/localization support.
   * @uses register_default_headers() To register the default custom header images provided with the theme.
   * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
   *
***************
*** 90,135 ****
  	// Translations can be filed in the /languages/ directory
  	load_theme_textdomain( 'twentyten', get_template_directory() . '/languages' );
  
- 	$locale = get_locale();
- 	$locale_file = get_template_directory() . "/languages/$locale.php";
- 	if ( is_readable( $locale_file ) )
- 		require_once( $locale_file );
- 
  	// This theme uses wp_nav_menu() in one location.
  	register_nav_menus( array(
  		'primary' => __( 'Primary Navigation', 'twentyten' ),
  	) );
  
! 	// This theme allows users to set a custom background
! 	add_custom_background();
  
! 	// Your changeable header business starts here
! 	if ( ! defined( 'HEADER_TEXTCOLOR' ) )
! 		define( 'HEADER_TEXTCOLOR', '' );
  
! 	// No CSS, just IMG call. The %s is a placeholder for the theme template directory URI.
! 	if ( ! defined( 'HEADER_IMAGE' ) )
! 		define( 'HEADER_IMAGE', '%s/images/headers/path.jpg' );
! 
! 	// The height and width of your custom header. You can hook into the theme's own filters to change these values.
! 	// Add a filter to twentyten_header_image_width and twentyten_header_image_height to change these values.
! 	define( 'HEADER_IMAGE_WIDTH', apply_filters( 'twentyten_header_image_width', 940 ) );
! 	define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'twentyten_header_image_height', 198 ) );
  
  	// We'll be using post thumbnails for custom header images on posts and pages.
  	// We want them to be 940 pixels wide by 198 pixels tall.
  	// Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
! 	set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true );
! 
! 	// Don't support text inside the header image.
! 	if ( ! defined( 'NO_HEADER_TEXT' ) )
! 		define( 'NO_HEADER_TEXT', true );
! 
! 	// Add a way for the custom header to be styled in the admin panel that controls
! 	// custom headers. See twentyten_admin_header_style(), below.
! 	add_custom_image_header( '', 'twentyten_admin_header_style' );
  
! 	// ... and thus ends the changeable header business.
  
  	// Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
  	register_default_headers( array(
--- 88,140 ----
  	// Translations can be filed in the /languages/ directory
  	load_theme_textdomain( 'twentyten', get_template_directory() . '/languages' );
  
  	// This theme uses wp_nav_menu() in one location.
  	register_nav_menus( array(
  		'primary' => __( 'Primary Navigation', 'twentyten' ),
  	) );
  
! 	// This theme allows users to set a custom background.
! 	add_theme_support( 'custom-background', array(
! 		// Let WordPress know what our default background color is.
! 		'default-color' => 'f1f1f1',
! 	) );
  
! 	// The custom header business starts here.
  
! 	$custom_header_support = array(
! 		// The default image to use.
! 		// The %s is a placeholder for the theme template directory URI.
! 		'default-image' => '%s/images/headers/path.jpg',
! 		// The height and width of our custom header.
! 		'width' => apply_filters( 'twentyten_header_image_width', 940 ),
! 		'height' => apply_filters( 'twentyten_header_image_height', 198 ),
! 		// Support flexible heights.
! 		'flex-height' => true,
! 		// Don't support text inside the header image.
! 		'header-text' => false,
! 		// Callback for styling the header preview in the admin.
! 		'admin-head-callback' => 'twentyten_admin_header_style',
! 	);
! 	
! 	add_theme_support( 'custom-header', $custom_header_support );
! 	
! 	if ( ! function_exists( 'get_custom_header' ) ) {
! 		// This is all for compatibility with versions of WordPress prior to 3.4.
! 		define( 'HEADER_TEXTCOLOR', '' );
! 		define( 'NO_HEADER_TEXT', true );
! 		define( 'HEADER_IMAGE', $custom_header_support['default-image'] );
! 		define( 'HEADER_IMAGE_WIDTH', $custom_header_support['width'] );
! 		define( 'HEADER_IMAGE_HEIGHT', $custom_header_support['height'] );
! 		add_custom_image_header( '', $custom_header_support['admin-head-callback'] );
! 		add_custom_background();
! 	}
  
  	// We'll be using post thumbnails for custom header images on posts and pages.
  	// We want them to be 940 pixels wide by 198 pixels tall.
  	// Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
! 	set_post_thumbnail_size( $custom_header_support['width'], $custom_header_support['height'], true );
  
! 	// ... and thus ends the custom header business.
  
  	// Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
  	register_default_headers( array(
***************
*** 201,207 ****
  	border-bottom: 1px solid #000;
  	border-top: 4px solid #000;
  }
! /* If NO_HEADER_TEXT is false, you would style the text with these selectors:
  	#headimg #name { }
  	#headimg #desc { }
  */
--- 206,212 ----
  	border-bottom: 1px solid #000;
  	border-top: 4px solid #000;
  }
! /* If header-text was supported, you would style the text with these selectors:
  	#headimg #name { }
  	#headimg #desc { }
  */
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/header.php ./wordpress-3.4/wp-content/themes/twentyten/header.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/header.php	2011-01-14 13:16:21.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/header.php	2012-06-04 09:43:19.000000000 -0500
***************
*** 66,87 ****
  				<div id="site-description"><?php bloginfo( 'description' ); ?></div>
  
  				<?php
  					// Check if this is a post or page, if it has a thumbnail, and if it's a big one
  					if ( is_singular() && current_theme_supports( 'post-thumbnails' ) &&
  							has_post_thumbnail( $post->ID ) &&
  							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
! 							$image[1] >= HEADER_IMAGE_WIDTH ) :
  						// Houston, we have a new header image!
  						echo get_the_post_thumbnail( $post->ID );
! 					elseif ( get_header_image() ) : ?>
! 						<img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
  					<?php endif; ?>
  			</div><!-- #branding -->
  
  			<div id="access" role="navigation">
! 			  <?php /*  Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
  				<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
! 				<?php /* Our navigation menu.  If one isn't filled out, wp_nav_menu falls back to wp_page_menu.  The menu assiged to the primary position is the one used.  If none is assigned, the menu with the lowest ID is used.  */ ?>
  				<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
  			</div><!-- #access -->
  		</div><!-- #masthead -->
--- 66,105 ----
  				<div id="site-description"><?php bloginfo( 'description' ); ?></div>
  
  				<?php
+ 					// Compatibility with versions of WordPress prior to 3.4.
+ 					if ( function_exists( 'get_custom_header' ) ) {
+ 						// We need to figure out what the minimum width should be for our featured image.
+ 						// This result would be the suggested width if the theme were to implement flexible widths.
+ 						$header_image_width = get_theme_support( 'custom-header', 'width' );
+ 					} else {
+ 						$header_image_width = HEADER_IMAGE_WIDTH;
+ 					}
+ 
  					// Check if this is a post or page, if it has a thumbnail, and if it's a big one
  					if ( is_singular() && current_theme_supports( 'post-thumbnails' ) &&
  							has_post_thumbnail( $post->ID ) &&
  							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
! 							$image[1] >= $header_image_width ) :
  						// Houston, we have a new header image!
  						echo get_the_post_thumbnail( $post->ID );
! 					elseif ( get_header_image() ) :
! 						// Compatibility with versions of WordPress prior to 3.4.
! 						if ( function_exists( 'get_custom_header' ) ) {
! 							$header_image_width  = get_custom_header()->width;
! 							$header_image_height = get_custom_header()->height;
! 						} else {
! 							$header_image_width  = HEADER_IMAGE_WIDTH;
! 							$header_image_height = HEADER_IMAGE_HEIGHT;
! 						}
! 					?>
! 						<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
  					<?php endif; ?>
  			</div><!-- #branding -->
  
  			<div id="access" role="navigation">
! 			  <?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
  				<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
! 				<?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?>
  				<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
  			</div><!-- #access -->
  		</div><!-- #masthead -->
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/languages/twentyten.pot ./wordpress-3.4/wp-content/themes/twentyten/languages/twentyten.pot
*** ./wordpress-3.3.2/wp-content/themes/twentyten/languages/twentyten.pot	2012-02-10 10:38:48.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/languages/twentyten.pot	2012-06-10 10:18:09.000000000 -0500
***************
*** 1,10 ****
  # Copyright (C) 2012 the WordPress team
! # This file is distributed under the GNU General Public License.
  msgid ""
  msgstr ""
! "Project-Id-Version: Twenty Ten 1.3\n"
  "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyten\n"
! "POT-Creation-Date: 2012-02-10 16:30:52+00:00\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
--- 1,10 ----
  # Copyright (C) 2012 the WordPress team
! # This file is distributed under the GNU General Public License v2 or later.
  msgid ""
  msgstr ""
! "Project-Id-Version: Twenty Ten 1.4\n"
  "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyten\n"
! "POT-Creation-Date: 2012-06-10 15:18:09+00:00\n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
***************
*** 83,89 ****
  msgid "Comments are closed."
  msgstr ""
  
! #. #-#-#-#-#  twentyten.pot (Twenty Ten 1.3)  #-#-#-#-#
  #. Theme URI of the plugin/theme
  #: footer.php:33
  msgid "http://wordpress.org/"
--- 83,89 ----
  msgid "Comments are closed."
  msgstr ""
  
! #. #-#-#-#-#  twentyten.pot (Twenty Ten 1.4)  #-#-#-#-#
  #. Theme URI of the plugin/theme
  #: footer.php:33
  msgid "http://wordpress.org/"
***************
*** 97,242 ****
  msgid "Proudly powered by %s."
  msgstr ""
  
! #: functions.php:100
  msgid "Primary Navigation"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:140
  msgid "Berries"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:146
  msgid "Cherry Blossoms"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:152
  msgid "Concave"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:158
  msgid "Fern"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:164
  msgid "Forest Floor"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:170
  msgid "Inkwell"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:176
  msgid "Path"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:182
  msgid "Sunset"
  msgstr ""
  
! #: functions.php:248 loop-attachment.php:104 loop.php:115 loop.php:143
  msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
  msgstr ""
  
! #: functions.php:330
  msgid "%s <span class=\"says\">says:</span>"
  msgstr ""
  
! #: functions.php:333
  msgid "Your comment is awaiting moderation."
  msgstr ""
  
  #. translators: 1: date, 2: time
! #: functions.php:340
  msgid "%1$s at %2$s"
  msgstr ""
  
! #: functions.php:340 functions.php:357
  msgid "(Edit)"
  msgstr ""
  
! #: functions.php:357
  msgid "Pingback:"
  msgstr ""
  
! #: functions.php:376
  msgid "Primary Widget Area"
  msgstr ""
  
! #: functions.php:378
  msgid "The primary widget area"
  msgstr ""
  
! #: functions.php:387
  msgid "Secondary Widget Area"
  msgstr ""
  
! #: functions.php:389
  msgid "The secondary widget area"
  msgstr ""
  
! #: functions.php:398
  msgid "First Footer Widget Area"
  msgstr ""
  
! #: functions.php:400
  msgid "The first footer widget area"
  msgstr ""
  
! #: functions.php:409
  msgid "Second Footer Widget Area"
  msgstr ""
  
! #: functions.php:411
  msgid "The second footer widget area"
  msgstr ""
  
! #: functions.php:420
  msgid "Third Footer Widget Area"
  msgstr ""
  
! #: functions.php:422
  msgid "The third footer widget area"
  msgstr ""
  
! #: functions.php:431
  msgid "Fourth Footer Widget Area"
  msgstr ""
  
! #: functions.php:433
  msgid "The fourth footer widget area"
  msgstr ""
  
! #: functions.php:467
  msgid ""
  "<span class=\"%1$s\">Posted on</span> %2$s <span class=\"meta-sep\">by</"
  "span> %3$s"
  msgstr ""
  
! #: functions.php:476 loop-attachment.php:36
  msgid "View all posts by %s"
  msgstr ""
  
! #: functions.php:493
  msgid ""
  "This entry was posted in %1$s and tagged %2$s. Bookmark the <a href=\"%3$s\" "
  "title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
  msgstr ""
  
! #: functions.php:495
  msgid ""
  "This entry was posted in %1$s. Bookmark the <a href=\"%3$s\" title="
  "\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
  msgstr ""
  
! #: functions.php:497
  msgid ""
  "Bookmark the <a href=\"%3$s\" title=\"Permalink to %4$s\" rel=\"bookmark"
  "\">permalink</a>."
--- 97,242 ----
  msgid "Proudly powered by %s."
  msgstr ""
  
! #: functions.php:93
  msgid "Primary Navigation"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:145
  msgid "Berries"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:151
  msgid "Cherry Blossoms"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:157
  msgid "Concave"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:163
  msgid "Fern"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:169
  msgid "Forest Floor"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:175
  msgid "Inkwell"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:181
  msgid "Path"
  msgstr ""
  
  #. translators: header image description
! #: functions.php:187
  msgid "Sunset"
  msgstr ""
  
! #: functions.php:253 loop-attachment.php:104 loop.php:115 loop.php:143
  msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
  msgstr ""
  
! #: functions.php:335
  msgid "%s <span class=\"says\">says:</span>"
  msgstr ""
  
! #: functions.php:338
  msgid "Your comment is awaiting moderation."
  msgstr ""
  
  #. translators: 1: date, 2: time
! #: functions.php:345
  msgid "%1$s at %2$s"
  msgstr ""
  
! #: functions.php:345 functions.php:362
  msgid "(Edit)"
  msgstr ""
  
! #: functions.php:362
  msgid "Pingback:"
  msgstr ""
  
! #: functions.php:381
  msgid "Primary Widget Area"
  msgstr ""
  
! #: functions.php:383
  msgid "The primary widget area"
  msgstr ""
  
! #: functions.php:392
  msgid "Secondary Widget Area"
  msgstr ""
  
! #: functions.php:394
  msgid "The secondary widget area"
  msgstr ""
  
! #: functions.php:403
  msgid "First Footer Widget Area"
  msgstr ""
  
! #: functions.php:405
  msgid "The first footer widget area"
  msgstr ""
  
! #: functions.php:414
  msgid "Second Footer Widget Area"
  msgstr ""
  
! #: functions.php:416
  msgid "The second footer widget area"
  msgstr ""
  
! #: functions.php:425
  msgid "Third Footer Widget Area"
  msgstr ""
  
! #: functions.php:427
  msgid "The third footer widget area"
  msgstr ""
  
! #: functions.php:436
  msgid "Fourth Footer Widget Area"
  msgstr ""
  
! #: functions.php:438
  msgid "The fourth footer widget area"
  msgstr ""
  
! #: functions.php:472
  msgid ""
  "<span class=\"%1$s\">Posted on</span> %2$s <span class=\"meta-sep\">by</"
  "span> %3$s"
  msgstr ""
  
! #: functions.php:481 loop-attachment.php:36
  msgid "View all posts by %s"
  msgstr ""
  
! #: functions.php:498
  msgid ""
  "This entry was posted in %1$s and tagged %2$s. Bookmark the <a href=\"%3$s\" "
  "title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
  msgstr ""
  
! #: functions.php:500
  msgid ""
  "This entry was posted in %1$s. Bookmark the <a href=\"%3$s\" title="
  "\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
  msgstr ""
  
! #: functions.php:502
  msgid ""
  "Bookmark the <a href=\"%3$s\" title=\"Permalink to %4$s\" rel=\"bookmark"
  "\">permalink</a>."
***************
*** 246,252 ****
  msgid "Page %s"
  msgstr ""
  
! #: header.php:83
  msgid "Skip to content"
  msgstr ""
  
--- 246,252 ----
  msgid "Page %s"
  msgstr ""
  
! #: header.php:101
  msgid "Skip to content"
  msgstr ""
  
***************
*** 416,418 ****
--- 416,422 ----
  "background, threaded-comments, sticky-post, translation-ready, microformats, "
  "rtl-language-support, editor-style, custom-menu"
  msgstr ""
+ 
+ #. Template Name of the plugin/theme
+ msgid "One column, no sidebar"
+ msgstr ""
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/loop-attachment.php ./wordpress-3.4/wp-content/themes/twentyten/loop-attachment.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/loop-attachment.php	2011-12-10 13:18:51.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/loop-attachment.php	2011-12-16 11:13:16.000000000 -0600
***************
*** 2,8 ****
  /**
   * The loop that displays an attachment.
   *
!  * The loop displays the posts and the post content.  See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
--- 2,8 ----
  /**
   * The loop that displays an attachment.
   *
!  * The loop displays the posts and the post content. See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
***************
*** 114,117 ****
  
  <?php comments_template(); ?>
  
! <?php endwhile; // end of the loop. ?>
\ No newline at end of file
--- 114,117 ----
  
  <?php comments_template(); ?>
  
! <?php endwhile; // end of the loop. ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/loop-page.php ./wordpress-3.4/wp-content/themes/twentyten/loop-page.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/loop-page.php	2010-10-09 04:17:42.000000000 -0500
--- ./wordpress-3.4/wp-content/themes/twentyten/loop-page.php	2011-12-16 11:13:16.000000000 -0600
***************
*** 2,8 ****
  /**
   * The loop that displays a page.
   *
!  * The loop displays the posts and the post content.  See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
--- 2,8 ----
  /**
   * The loop that displays a page.
   *
!  * The loop displays the posts and the post content. See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
***************
*** 33,36 ****
  
  				<?php comments_template( '', true ); ?>
  
! <?php endwhile; // end of the loop. ?>
\ No newline at end of file
--- 33,36 ----
  
  				<?php comments_template( '', true ); ?>
  
! <?php endwhile; // end of the loop. ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/loop.php ./wordpress-3.4/wp-content/themes/twentyten/loop.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/loop.php	2011-02-21 12:35:37.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/loop.php	2011-12-16 11:13:16.000000000 -0600
***************
*** 2,8 ****
  /**
   * The loop that displays posts.
   *
!  * The loop displays the posts and the post content.  See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
--- 2,8 ----
  /**
   * The loop that displays posts.
   *
!  * The loop displays the posts and the post content. See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/loop-single.php ./wordpress-3.4/wp-content/themes/twentyten/loop-single.php
*** ./wordpress-3.3.2/wp-content/themes/twentyten/loop-single.php	2011-12-10 13:18:51.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/loop-single.php	2011-12-16 11:13:16.000000000 -0600
***************
*** 2,8 ****
  /**
   * The loop that displays a single post.
   *
!  * The loop displays the posts and the post content.  See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
--- 2,8 ----
  /**
   * The loop that displays a single post.
   *
!  * The loop displays the posts and the post content. See
   * http://codex.wordpress.org/The_Loop to understand it and
   * http://codex.wordpress.org/Template_Tags to understand
   * the tags used in it.
***************
*** 64,67 ****
  
  				<?php comments_template( '', true ); ?>
  
! <?php endwhile; // end of the loop. ?>
\ No newline at end of file
--- 64,67 ----
  
  				<?php comments_template( '', true ); ?>
  
! <?php endwhile; // end of the loop. ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-content/themes/twentyten/style.css ./wordpress-3.4/wp-content/themes/twentyten/style.css
*** ./wordpress-3.3.2/wp-content/themes/twentyten/style.css	2011-12-10 13:18:51.000000000 -0600
--- ./wordpress-3.4/wp-content/themes/twentyten/style.css	2012-06-10 09:18:45.000000000 -0500
***************
*** 3,12 ****
  Theme URI: http://wordpress.org/
  Description: The 2010 theme for WordPress is stylish, customizable, simple, and readable -- make it yours with a custom menu, header image, and background. Twenty Ten supports six widgetized areas (two in the sidebar, four in the footer) and featured images (thumbnails for gallery posts and custom header images for posts and pages). It includes stylesheets for print and the admin Visual Editor, special styles for posts in the "Asides" and "Gallery" categories, and has an optional one-column page template that removes the sidebar.
  Author: the WordPress team
! Version: 1.3
! License: GNU General Public License
! License URI: license.txt
  Tags: black, blue, white, two-columns, fixed-width, custom-header, custom-background, threaded-comments, sticky-post, translation-ready, microformats, rtl-language-support, editor-style, custom-menu
  */
  
  
--- 3,13 ----
  Theme URI: http://wordpress.org/
  Description: The 2010 theme for WordPress is stylish, customizable, simple, and readable -- make it yours with a custom menu, header image, and background. Twenty Ten supports six widgetized areas (two in the sidebar, four in the footer) and featured images (thumbnails for gallery posts and custom header images for posts and pages). It includes stylesheets for print and the admin Visual Editor, special styles for posts in the "Asides" and "Gallery" categories, and has an optional one-column page template that removes the sidebar.
  Author: the WordPress team
! Version: 1.4
! License: GNU General Public License v2 or later
! License URI: http://www.gnu.org/licenses/gpl-2.0.html
  Tags: black, blue, white, two-columns, fixed-width, custom-header, custom-background, threaded-comments, sticky-post, translation-ready, microformats, rtl-language-support, editor-style, custom-menu
+ Text Domain: twentyten
  */
  
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-cron.php ./wordpress-3.4/wp-cron.php
*** ./wordpress-3.3.2/wp-cron.php	2011-09-09 14:59:44.000000000 -0500
--- ./wordpress-3.4/wp-cron.php	2012-01-09 13:02:31.000000000 -0600
***************
*** 48,54 ****
  	die();
  
  $keys = array_keys( $crons );
! $local_time = time();
  
  if ( isset($keys[0]) && $keys[0] > $local_time )
  	die();
--- 48,54 ----
  	die();
  
  $keys = array_keys( $crons );
! $local_time = microtime( true );
  
  if ( isset($keys[0]) && $keys[0] > $local_time )
  	die();
***************
*** 61,67 ****
  		// Called from external script/job. Try setting a lock.
  		if ( $doing_cron_transient && ( $doing_cron_transient + WP_CRON_LOCK_TIMEOUT > $local_time ) )
  			return;
! 		$doing_cron_transient = $doing_wp_cron = time();
  		set_transient( 'doing_cron', $doing_wp_cron );
  	} else {
  		$doing_wp_cron = $_GET[ 'doing_wp_cron' ];
--- 61,67 ----
  		// Called from external script/job. Try setting a lock.
  		if ( $doing_cron_transient && ( $doing_cron_transient + WP_CRON_LOCK_TIMEOUT > $local_time ) )
  			return;
! 		$doing_cron_transient = $doing_wp_cron = sprintf( '%.22F', microtime( true ) );
  		set_transient( 'doing_cron', $doing_wp_cron );
  	} else {
  		$doing_wp_cron = $_GET[ 'doing_wp_cron' ];
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/admin-bar.php ./wordpress-3.4/wp-includes/admin-bar.php
*** ./wordpress-3.3.2/wp-includes/admin-bar.php	2011-12-05 21:51:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/admin-bar.php	2012-06-08 13:45:12.000000000 -0500
***************
*** 64,70 ****
  	do_action( 'wp_after_admin_bar_render' );
  }
  add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
! add_action( 'admin_footer', 'wp_admin_bar_render', 1000 );
  
  /**
   * Add the WordPress logo menu.
--- 64,70 ----
  	do_action( 'wp_after_admin_bar_render' );
  }
  add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
! add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
  
  /**
   * Add the WordPress logo menu.
***************
*** 75,81 ****
  	$wp_admin_bar->add_menu( array(
  		'id'    => 'wp-logo',
  		'title' => '<span class="ab-icon"></span>',
! 		'href'  => admin_url( 'about.php' ),
  		'meta'  => array(
  			'title' => __('About WordPress'),
  		),
--- 75,81 ----
  	$wp_admin_bar->add_menu( array(
  		'id'    => 'wp-logo',
  		'title' => '<span class="ab-icon"></span>',
! 		'href'  => self_admin_url( 'about.php' ),
  		'meta'  => array(
  			'title' => __('About WordPress'),
  		),
***************
*** 87,93 ****
  			'parent' => 'wp-logo',
  			'id'     => 'about',
  			'title'  => __('About WordPress'),
! 			'href'   => admin_url('about.php'),
  		) );
  	}
  
--- 87,93 ----
  			'parent' => 'wp-logo',
  			'id'     => 'about',
  			'title'  => __('About WordPress'),
! 			'href'  => self_admin_url( 'about.php' ),
  		) );
  	}
  
***************
*** 96,102 ****
  		'parent'    => 'wp-logo-external',
  		'id'        => 'wporg',
  		'title'     => __('WordPress.org'),
! 		'href'      => __('http://wordpress.org'),
  	) );
  
  	// Add codex link
--- 96,102 ----
  		'parent'    => 'wp-logo-external',
  		'id'        => 'wporg',
  		'title'     => __('WordPress.org'),
! 		'href'      => __('http://wordpress.org/'),
  	) );
  
  	// Add codex link
***************
*** 104,110 ****
  		'parent'    => 'wp-logo-external',
  		'id'        => 'documentation',
  		'title'     => __('Documentation'),
! 		'href'      => __('http://codex.wordpress.org'),
  	) );
  
  	// Add forums link
--- 104,110 ----
  		'parent'    => 'wp-logo-external',
  		'id'        => 'documentation',
  		'title'     => __('Documentation'),
! 		'href'      => __('http://codex.wordpress.org/'),
  	) );
  
  	// Add forums link
***************
*** 248,256 ****
  			'href'   => home_url( '/' ),
  		) );
  
! 	// We're on the front end, print a copy of the admin menu.
  	} else {
! 		// Add the dashboard item.
  		$wp_admin_bar->add_menu( array(
  			'parent' => 'site-name',
  			'id'     => 'dashboard',
--- 248,264 ----
  			'href'   => home_url( '/' ),
  		) );
  
! 		if ( is_blog_admin() && is_multisite() && current_user_can( 'manage_sites' ) ) {
! 			$wp_admin_bar->add_menu( array(
! 				'parent' => 'site-name',
! 				'id'     => 'edit-site',
! 				'title'  => __( 'Edit Site' ),
! 				'href'   => network_admin_url( 'site-info.php?id=' . get_current_blog_id() ),
! 			) );
! 		}
! 
  	} else {
! 		// We're on the front end, link to the Dashboard.
  		$wp_admin_bar->add_menu( array(
  			'parent' => 'site-name',
  			'id'     => 'dashboard',
***************
*** 568,573 ****
--- 576,593 ----
  	if ( ! current_user_can( 'edit_theme_options' ) )
  		return;
  
+ 	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+ 	$wp_admin_bar->add_menu( array(
+ 		'parent' => 'appearance',
+ 		'id'     => 'customize',
+ 		'title'  => __('Customize'),
+ 		'href'   => add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ),
+ 		'meta'   => array(
+ 			'class' => 'hide-if-no-customize',
+ 		),
+ 	) );
+ 	add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+ 
  	if ( current_theme_supports( 'widgets' )  )
  		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) );
  
***************
*** 680,686 ****
  /**
   * Set the display status of the admin bar.
   *
!  * This can be called immediately upon plugin load.  It does not need to be called from a function hooked to the init action.
   *
   * @since 3.1.0
   *
--- 700,706 ----
  /**
   * Set the display status of the admin bar.
   *
!  * This can be called immediately upon plugin load. It does not need to be called from a function hooked to the init action.
   *
   * @since 3.1.0
   *
***************
*** 741,745 ****
  
  	return 'true' === $pref;
  }
- 
- ?>
--- 761,763 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/atomlib.php ./wordpress-3.4/wp-includes/atomlib.php
*** ./wordpress-3.3.2/wp-includes/atomlib.php	2008-06-20 15:56:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/atomlib.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 350,354 ****
                  $string );
      }
  }
- 
- ?>
--- 350,352 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/author-template.php ./wordpress-3.4/wp-includes/author-template.php
*** ./wordpress-3.3.2/wp-includes/author-template.php	2011-09-07 08:53:53.000000000 -0500
--- ./wordpress-3.4/wp-includes/author-template.php	2012-04-27 13:17:41.000000000 -0500
***************
*** 96,120 ****
   * @param int $user_id Optional. User ID.
   * @return string The author's field from the current author's DB object.
   */
! function get_the_author_meta($field = '', $user_id = false) {
! 	if ( ! $user_id )
  		global $authordata;
! 	else
  		$authordata = get_userdata( $user_id );
  
! 	// Keys used as object vars cannot have dashes.
! 	$field = str_replace('-', '', $field);
! 	$field = strtolower($field);
! 	$user_field = "user_$field";
! 
! 	if ( 'id' == $field )
! 		$value = isset($authordata->ID) ? (int)$authordata->ID : 0;
! 	elseif ( isset($authordata->$user_field) )
! 		$value = $authordata->$user_field;
! 	else
! 		$value = isset($authordata->$field) ? $authordata->$field : '';
  
! 	return apply_filters('get_the_author_' . $field, $value, $user_id);
  }
  
  /**
--- 96,115 ----
   * @param int $user_id Optional. User ID.
   * @return string The author's field from the current author's DB object.
   */
! function get_the_author_meta( $field = '', $user_id = false ) {
! 	if ( ! $user_id ) {
  		global $authordata;
! 		$user_id = isset( $authordata->ID ) ? $authordata->ID : 0;
! 	} else {
  		$authordata = get_userdata( $user_id );
+ 	}
  
! 	if ( in_array( $field, array( 'login', 'pass', 'nicename', 'email', 'url', 'registered', 'activation_key', 'status' ) ) )
! 		$field = 'user_' . $field;
  
! 	$value = isset( $authordata->$field ) ? $authordata->$field : '';
! 
! 	return apply_filters( 'get_the_author_' . $field, $value, $user_id );
  }
  
  /**
***************
*** 140,146 ****
   */
  function get_the_author_link() {
  	if ( get_the_author_meta('url') ) {
! 		return '<a href="' . get_the_author_meta('url') . '" title="' . esc_attr( sprintf(__("Visit %s&#8217;s website"), get_the_author()) ) . '" rel="external">' . get_the_author() . '</a>';
  	} else {
  		return get_the_author();
  	}
--- 135,141 ----
   */
  function get_the_author_link() {
  	if ( get_the_author_meta('url') ) {
! 		return '<a href="' . get_the_author_meta('url') . '" title="' . esc_attr( sprintf(__("Visit %s&#8217;s website"), get_the_author()) ) . '" rel="author external">' . get_the_author() . '</a>';
  	} else {
  		return get_the_author();
  	}
***************
*** 397,401 ****
  	wp_cache_delete('is_multi_author', 'posts');
  }
  add_action('transition_post_status', '__clear_multi_author_cache');
- 
- ?>
--- 392,394 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/bookmark.php ./wordpress-3.4/wp-includes/bookmark.php
*** ./wordpress-3.3.2/wp-includes/bookmark.php	2011-09-30 12:03:46.000000000 -0500
--- ./wordpress-3.4/wp-includes/bookmark.php	2012-01-11 15:26:18.000000000 -0600
***************
*** 101,109 ****
   *		links marked as 'invisible'.
   * 'show_updated' - Default is 0 (integer). Will show the time of when the
   *		bookmark was last updated.
!  * 'include' - Default is empty string (string). Include other categories
   *		separated by commas.
!  * 'exclude' - Default is empty string (string). Exclude other categories
   *		separated by commas.
   *
   * @since 2.1.0
--- 101,109 ----
   *		links marked as 'invisible'.
   * 'show_updated' - Default is 0 (integer). Will show the time of when the
   *		bookmark was last updated.
!  * 'include' - Default is empty string (string). Include bookmark ID(s)
   *		separated by commas.
!  * 'exclude' - Default is empty string (string). Exclude bookmark ID(s)
   *		separated by commas.
   *
   * @since 2.1.0
***************
*** 375,383 ****
   * @since 2.7.0
   * @uses wp_cache_delete() Deletes the contents of 'get_bookmarks'
   */
! function clean_bookmark_cache($bookmark_id) {
  	wp_cache_delete( $bookmark_id, 'bookmark' );
  	wp_cache_delete( 'get_bookmarks', 'bookmark' );
  }
- 
- ?>
--- 375,382 ----
   * @since 2.7.0
   * @uses wp_cache_delete() Deletes the contents of 'get_bookmarks'
   */
! function clean_bookmark_cache( $bookmark_id ) {
  	wp_cache_delete( $bookmark_id, 'bookmark' );
  	wp_cache_delete( 'get_bookmarks', 'bookmark' );
+ 	clean_object_term_cache( $bookmark_id, 'link');
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/bookmark-template.php ./wordpress-3.4/wp-includes/bookmark-template.php
*** ./wordpress-3.3.2/wp-includes/bookmark-template.php	2009-12-23 12:49:22.000000000 -0600
--- ./wordpress-3.4/wp-includes/bookmark-template.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 252,256 ****
  		return $output;
  	echo $output;
  }
- 
- ?>
--- 252,254 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/cache.php ./wordpress-3.4/wp-includes/cache.php
*** ./wordpress-3.3.2/wp-includes/cache.php	2011-10-18 15:20:59.000000000 -0500
--- ./wordpress-3.4/wp-includes/cache.php	2012-03-02 15:57:03.000000000 -0600
***************
*** 51,57 ****
   * @see WP_Object_Cache::decr()
   *
   * @param int|string $key The cache key to increment
!  * @param int $offset The amount by which to decrement the item's value.  Default is 1.
   * @param string $group The group the key is in.
   * @return false|int False on failure, the item's new value on success.
   */
--- 51,57 ----
   * @see WP_Object_Cache::decr()
   *
   * @param int|string $key The cache key to increment
!  * @param int $offset The amount by which to decrement the item's value. Default is 1.
   * @param string $group The group the key is in.
   * @return false|int False on failure, the item's new value on success.
   */
***************
*** 103,115 ****
   * @param int|string $key What the contents in the cache are called
   * @param string $group Where the cache contents are grouped
   * @param bool $force Whether to force an update of the local cache from the persistent cache (default is false)
   * @return bool|mixed False on failure to retrieve contents or the cache
   *		contents on success
   */
! function wp_cache_get( $key, $group = '', $force = false ) {
  	global $wp_object_cache;
  
! 	return $wp_object_cache->get( $key, $group, $force );
  }
  
  /**
--- 103,116 ----
   * @param int|string $key What the contents in the cache are called
   * @param string $group Where the cache contents are grouped
   * @param bool $force Whether to force an update of the local cache from the persistent cache (default is false)
+  * @param &bool $found Whether key was found in the cache. Disambiguates a return of false, a storable value.
   * @return bool|mixed False on failure to retrieve contents or the cache
   *		contents on success
   */
! function wp_cache_get( $key, $group = '', $force = false, &$found = null ) {
  	global $wp_object_cache;
  
! 	return $wp_object_cache->get( $key, $group, $force, $found );
  }
  
  /**
***************
*** 120,126 ****
   * @see WP_Object_Cache::incr()
   *
   * @param int|string $key The cache key to increment
!  * @param int $offset The amount by which to increment the item's value.  Default is 1.
   * @param string $group The group the key is in.
   * @return false|int False on failure, the item's new value on success.
   */
--- 121,127 ----
   * @see WP_Object_Cache::incr()
   *
   * @param int|string $key The cache key to increment
!  * @param int $offset The amount by which to increment the item's value. Default is 1.
   * @param string $group The group the key is in.
   * @return false|int False on failure, the item's new value on success.
   */
***************
*** 204,210 ****
  }
  
  /**
!  * Reset internal cache keys and structures.  If the cache backend uses global blog or site IDs as part of its cache keys,
   * this function instructs the backend to reset those keys and perform any cleanup since blog or site IDs have changed since cache init.
   *
   * @since 2.6.0
--- 205,211 ----
  }
  
  /**
!  * Reset internal cache keys and structures. If the cache backend uses global blog or site IDs as part of its cache keys,
   * this function instructs the backend to reset those keys and perform any cleanup since blog or site IDs have changed since cache init.
   *
   * @since 2.6.0
***************
*** 272,278 ****
  	/**
  	 * Adds data to the cache if it doesn't already exist.
  	 *
! 	 * @uses WP_Object_Cache::get Checks to see if the cache already has data.
  	 * @uses WP_Object_Cache::set Sets the data after the checking the cache
  	 *		contents existence.
  	 *
--- 273,279 ----
  	/**
  	 * Adds data to the cache if it doesn't already exist.
  	 *
! 	 * @uses WP_Object_Cache::_exists Checks to see if the cache already has data.
  	 * @uses WP_Object_Cache::set Sets the data after the checking the cache
  	 *		contents existence.
  	 *
***************
*** 288,297 ****
  		if ( wp_suspend_cache_addition() )
  			return false;
  
! 		if ( empty ($group) )
  			$group = 'default';
  
! 		if (false !== $this->get($key, $group))
  			return false;
  
  		return $this->set($key, $data, $group, $expire);
--- 289,298 ----
  		if ( wp_suspend_cache_addition() )
  			return false;
  
! 		if ( empty( $group ) )
  			$group = 'default';
  
! 		if ( $this->_exists($key, $group) )
  			return false;
  
  		return $this->set($key, $data, $group, $expire);
***************
*** 317,328 ****
  	 * @since 3.3.0
  	 *
  	 * @param int|string $key The cache key to increment
! 	 * @param int $offset The amount by which to decrement the item's value.  Default is 1.
  	 * @param string $group The group the key is in.
  	 * @return false|int False on failure, the item's new value on success.
  	 */
  	function decr( $key, $offset = 1, $group = 'default' ) {
! 		if ( ! isset( $this->cache[ $group ][ $key ] ) )
  			return false;
  
  		if ( ! is_numeric( $this->cache[ $group ][ $key ] ) )
--- 318,329 ----
  	 * @since 3.3.0
  	 *
  	 * @param int|string $key The cache key to increment
! 	 * @param int $offset The amount by which to decrement the item's value. Default is 1.
  	 * @param string $group The group the key is in.
  	 * @return false|int False on failure, the item's new value on success.
  	 */
  	function decr( $key, $offset = 1, $group = 'default' ) {
! 		if ( ! $this->_exists( $key, $group ) )
  			return false;
  
  		if ( ! is_numeric( $this->cache[ $group ][ $key ] ) )
***************
*** 354,366 ****
  	 * @return bool False if the contents weren't deleted and true on success
  	 */
  	function delete($key, $group = 'default', $force = false) {
! 		if (empty ($group))
  			$group = 'default';
  
! 		if (!$force && false === $this->get($key, $group))
  			return false;
  
! 		unset ($this->cache[$group][$key]);
  		return true;
  	}
  
--- 355,367 ----
  	 * @return bool False if the contents weren't deleted and true on success
  	 */
  	function delete($key, $group = 'default', $force = false) {
! 		if ( empty( $group ) )
  			$group = 'default';
  
! 		if ( ! $force && ! $this->_exists( $key, $group ) )
  			return false;
  
! 		unset( $this->cache[$group][$key] );
  		return true;
  	}
  
***************
*** 394,404 ****
  	 * @return bool|mixed False on failure to retrieve contents or the cache
  	 *		contents on success
  	 */
! 	function get( $key, $group = 'default', $force = false) {
! 		if ( empty ($group) )
  			$group = 'default';
  
! 		if ( isset ($this->cache[$group][$key]) ) {
  			$this->cache_hits += 1;
  			if ( is_object($this->cache[$group][$key]) )
  				return clone $this->cache[$group][$key];
--- 395,406 ----
  	 * @return bool|mixed False on failure to retrieve contents or the cache
  	 *		contents on success
  	 */
! 	function get( $key, $group = 'default', $force = false, &$found = null ) {
! 		if ( empty( $group ) )
  			$group = 'default';
  
! 		if ( $this->_exists( $key, $group ) ) {
! 			$found = true;
  			$this->cache_hits += 1;
  			if ( is_object($this->cache[$group][$key]) )
  				return clone $this->cache[$group][$key];
***************
*** 406,411 ****
--- 408,414 ----
  				return $this->cache[$group][$key];
  		}
  
+ 		$found = false;
  		$this->cache_misses += 1;
  		return false;
  	}
***************
*** 416,427 ****
  	 * @since 3.3.0
  	 *
  	 * @param int|string $key The cache key to increment
! 	 * @param int $offset The amount by which to increment the item's value.  Default is 1.
  	 * @param string $group The group the key is in.
  	 * @return false|int False on failure, the item's new value on success.
  	 */
  	function incr( $key, $offset = 1, $group = 'default' ) {
! 		if ( ! isset( $this->cache[ $group ][ $key ] ) )
  			return false;
  
  		if ( ! is_numeric( $this->cache[ $group ][ $key ] ) )
--- 419,433 ----
  	 * @since 3.3.0
  	 *
  	 * @param int|string $key The cache key to increment
! 	 * @param int $offset The amount by which to increment the item's value. Default is 1.
  	 * @param string $group The group the key is in.
  	 * @return false|int False on failure, the item's new value on success.
  	 */
  	function incr( $key, $offset = 1, $group = 'default' ) {
! 		if ( empty( $group ) )
! 			$group = 'default';
! 
! 		if ( ! $this->_exists( $key, $group ) )
  			return false;
  
  		if ( ! is_numeric( $this->cache[ $group ][ $key ] ) )
***************
*** 450,459 ****
  	 * @return bool False if not exists, true if contents were replaced
  	 */
  	function replace($key, $data, $group = 'default', $expire = '') {
! 		if (empty ($group))
  			$group = 'default';
  
! 		if ( false === $this->get($key, $group) )
  			return false;
  
  		return $this->set($key, $data, $group, $expire);
--- 456,465 ----
  	 * @return bool False if not exists, true if contents were replaced
  	 */
  	function replace($key, $data, $group = 'default', $expire = '') {
! 		if ( empty( $group ) )
  			$group = 'default';
  
! 		if ( ! $this->_exists( $key, $group ) )
  			return false;
  
  		return $this->set($key, $data, $group, $expire);
***************
*** 493,504 ****
  	 * @return bool Always returns true
  	 */
  	function set($key, $data, $group = 'default', $expire = '') {
! 		if ( empty ($group) )
  			$group = 'default';
  
- 		if ( NULL === $data )
- 			$data = '';
- 
  		if ( is_object($data) )
  			$data = clone $data;
  
--- 499,507 ----
  	 * @return bool Always returns true
  	 */
  	function set($key, $data, $group = 'default', $expire = '') {
! 		if ( empty( $group ) )
  			$group = 'default';
  
  		if ( is_object($data) )
  			$data = clone $data;
  
***************
*** 527,532 ****
--- 530,543 ----
  	}
  
  	/**
+ 	 * Utility function to determine whether a key exists in the cache.
+ 	 * @access private
+ 	 */
+ 	protected function _exists($key, $group) {
+ 		return isset( $this->cache[$group] ) && is_array( $this->cache[$group] ) && array_key_exists( $key, $this->cache[$group] );
+ 	}
+ 
+ 	/**
  	 * Sets up object properties; PHP 5 style constructor
  	 *
  	 * @since 2.0.8
***************
*** 553,556 ****
  		return true;
  	}
  }
- ?>
--- 564,566 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/canonical.php ./wordpress-3.4/wp-includes/canonical.php
*** ./wordpress-3.3.2/wp-includes/canonical.php	2011-11-20 12:32:42.000000000 -0600
--- ./wordpress-3.4/wp-includes/canonical.php	2012-05-02 12:39:43.000000000 -0500
***************
*** 66,71 ****
--- 66,78 ----
  	if ( !isset($redirect['query']) )
  		$redirect['query'] = '';
  
+ 	if ( is_feed() && ( $id = get_query_var( 'p' ) ) ) {
+ 		if ( $redirect_url = get_post_comments_feed_link( $id, get_query_var( 'feed' ) ) ) {
+ 			$redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type', 'feed'), $redirect_url );
+ 			$redirect['path'] = parse_url( $redirect_url, PHP_URL_PATH );
+ 		}
+ 	}
+ 
  	if ( is_singular() && 1 > $wp_query->post_count && ($id = get_query_var('p')) ) {
  
  		$vars = $wpdb->get_results( $wpdb->prepare("SELECT post_type, post_parent FROM $wpdb->posts WHERE ID = %d", $id) );
***************
*** 75,81 ****
  				$id = $vars->post_parent;
  
  			if ( $redirect_url = get_permalink($id) )
! 				$redirect['query'] = remove_query_arg(array('p', 'page_id', 'attachment_id', 'post_type'), $redirect['query']);
  		}
  	}
  
--- 82,88 ----
  				$id = $vars->post_parent;
  
  			if ( $redirect_url = get_permalink($id) )
! 				$redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url );
  		}
  	}
  
***************
*** 88,99 ****
  			$post_type_obj = get_post_type_object($redirect_post->post_type);
  			if ( $post_type_obj->public ) {
  				$redirect_url = get_permalink($redirect_post);
! 				$redirect['query'] = remove_query_arg(array('p', 'page_id', 'attachment_id', 'post_type'), $redirect['query']);
  			}
  		}
  
! 		if ( ! $redirect_url )
! 			$redirect_url = redirect_guess_404_permalink();
  
  	} elseif ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) {
  		// rewriting of old ?p=X, ?m=2004, ?m=200401, ?m=20040101
--- 95,109 ----
  			$post_type_obj = get_post_type_object($redirect_post->post_type);
  			if ( $post_type_obj->public ) {
  				$redirect_url = get_permalink($redirect_post);
! 				$redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url );
  			}
  		}
  
! 		if ( ! $redirect_url ) {
! 			if ( $redirect_url = redirect_guess_404_permalink( $requested_url ) ) {
! 				$redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'page', 'feed', 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url );
! 			}
! 		}
  
  	} elseif ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) {
  		// rewriting of old ?p=X, ?m=2004, ?m=200401, ?m=20040101
***************
*** 191,205 ****
  				}
  
  			}
! 		} elseif ( is_single() && strpos($wp_rewrite->permalink_structure, '%category%') !== false ) {
! 			$category = get_category_by_path(get_query_var('category_name'));
  			$post_terms = wp_get_object_terms($wp_query->get_queried_object_id(), 'category', array('fields' => 'tt_ids'));
  			if ( (!$category || is_wp_error($category)) || ( !is_wp_error($post_terms) && !empty($post_terms) && !in_array($category->term_taxonomy_id, $post_terms) ) )
  				$redirect_url = get_permalink($wp_query->get_queried_object_id());
  		}
  
  		// Post Paging
! 		if ( is_singular() && get_query_var('page') && $redirect_url ) {
  			$redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
  			$redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
  		}
--- 201,217 ----
  				}
  
  			}
! 		} elseif ( is_single() && strpos($wp_rewrite->permalink_structure, '%category%') !== false && $cat = get_query_var( 'category_name' ) ) {
! 			$category = get_category_by_path( $cat );
  			$post_terms = wp_get_object_terms($wp_query->get_queried_object_id(), 'category', array('fields' => 'tt_ids'));
  			if ( (!$category || is_wp_error($category)) || ( !is_wp_error($post_terms) && !empty($post_terms) && !in_array($category->term_taxonomy_id, $post_terms) ) )
  				$redirect_url = get_permalink($wp_query->get_queried_object_id());
  		}
  
  		// Post Paging
! 		if ( is_singular() && ! is_front_page() && get_query_var('page') ) {
! 			if ( !$redirect_url )
! 				$redirect_url = get_permalink( get_queried_object_id() );
  			$redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
  			$redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
  		}
***************
*** 216,222 ****
  			$addl_path = '';
  			if ( is_feed() && in_array( get_query_var('feed'), $wp_rewrite->feeds ) ) {
  				$addl_path = !empty( $addl_path ) ? trailingslashit($addl_path) : '';
! 				if ( get_query_var( 'withcomments' ) )
  					$addl_path .= 'comments/';
  				if ( ( 'rss' == get_default_feed() && 'feed' == get_query_var('feed') ) || 'rss' == get_query_var('feed') )
  					$addl_path .= user_trailingslashit( 'feed/' . ( ( get_default_feed() == 'rss2' ) ? '' : 'rss2' ), 'feed' );
--- 228,234 ----
  			$addl_path = '';
  			if ( is_feed() && in_array( get_query_var('feed'), $wp_rewrite->feeds ) ) {
  				$addl_path = !empty( $addl_path ) ? trailingslashit($addl_path) : '';
! 				if ( !is_singular() && get_query_var( 'withcomments' ) )
  					$addl_path .= 'comments/';
  				if ( ( 'rss' == get_default_feed() && 'feed' == get_query_var('feed') ) || 'rss' == get_query_var('feed') )
  					$addl_path .= user_trailingslashit( 'feed/' . ( ( get_default_feed() == 'rss2' ) ? '' : 'rss2' ), 'feed' );
***************
*** 265,270 ****
--- 277,291 ----
  				$redirect['path'] = trailingslashit($redirect['path']) . $addl_path;
  			$redirect_url = $redirect['scheme'] . '://' . $redirect['host'] . $redirect['path'];
  		}
+ 
+ 		if ( 'wp-register.php' == basename( $redirect['path'] ) ) {
+ 			if ( is_multisite() )
+ 				$redirect_url = apply_filters( 'wp_signup_location', site_url( 'wp-signup.php' ) );
+ 			else
+ 				$redirect_url = site_url( 'wp-login.php?action=register' );
+ 			wp_redirect( $redirect_url, 301 );
+ 			die();
+ 		}
  	}
  
  	// tack on any additional query vars
***************
*** 280,286 ****
  				unset( $_parsed_query['name'] );
  		}
  
! 		$_parsed_query = array_map( 'rawurlencode', $_parsed_query );
  		$redirect_url = add_query_arg( $_parsed_query, $redirect_url );
  	}
  
--- 301,307 ----
  				unset( $_parsed_query['name'] );
  		}
  
! 		$_parsed_query = rawurlencode_deep( $_parsed_query );
  		$redirect_url = add_query_arg( $_parsed_query, $redirect_url );
  	}
  
***************
*** 395,401 ****
  		$requested_url = preg_replace_callback('|%[a-fA-F0-9][a-fA-F0-9]|', 'lowercase_octets', $requested_url);
  	}
  
! 	// Note that you can use the "redirect_canonical" filter to cancel a canonical redirect for whatever reason by returning FALSE
  	$redirect_url = apply_filters('redirect_canonical', $redirect_url, $requested_url);
  
  	if ( !$redirect_url || $redirect_url == $requested_url ) // yes, again -- in case the filter aborted the request
--- 416,422 ----
  		$requested_url = preg_replace_callback('|%[a-fA-F0-9][a-fA-F0-9]|', 'lowercase_octets', $requested_url);
  	}
  
! 	// Note that you can use the "redirect_canonical" filter to cancel a canonical redirect for whatever reason by returning false
  	$redirect_url = apply_filters('redirect_canonical', $redirect_url, $requested_url);
  
  	if ( !$redirect_url || $redirect_url == $requested_url ) // yes, again -- in case the filter aborted the request
***************
*** 417,454 ****
  }
  
  /**
!  * Attempts to guess correct post based on query vars.
   *
   * @since 2.3.0
   * @uses $wpdb
   *
!  * @return bool|string Returns False, if it can't find post, returns correct
!  *		location on success.
   */
! function redirect_guess_404_permalink() {
! 	global $wpdb;
  
! 	if ( !get_query_var('name') )
! 		return false;
  
! 	$where = $wpdb->prepare("post_name LIKE %s", like_escape( get_query_var('name') ) . '%');
  
! 	// if any of post_type, year, monthnum, or day are set, use them to refine the query
! 	if ( get_query_var('post_type') )
! 		$where .= $wpdb->prepare(" AND post_type = %s", get_query_var('post_type'));
! 	if ( get_query_var('year') )
! 		$where .= $wpdb->prepare(" AND YEAR(post_date) = %d", get_query_var('year'));
! 	if ( get_query_var('monthnum') )
! 		$where .= $wpdb->prepare(" AND MONTH(post_date) = %d", get_query_var('monthnum'));
! 	if ( get_query_var('day') )
! 		$where .= $wpdb->prepare(" AND DAYOFMONTH(post_date) = %d", get_query_var('day'));
  
! 	$post_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE $where AND post_status = 'publish'");
! 	if ( !$post_id )
! 		return false;
! 	return get_permalink($post_id);
  }
  
  add_action('template_redirect', 'redirect_canonical');
  
! ?>
--- 438,549 ----
  }
  
  /**
!  * Removes arguments from a query string if they are not present in a URL
!  * DO NOT use this in plugin code.
!  *
!  * @since 3.4
!  * @access private
!  *
!  * @return string The altered query string
!  */
! function _remove_qs_args_if_not_in_url( $query_string, Array $args_to_check, $url ) {
! 	$parsed_url = @parse_url( $url );
! 	if ( ! empty( $parsed_url['query'] ) ) {
! 		parse_str( $parsed_url['query'], $parsed_query );
! 		foreach ( $args_to_check as $qv ) {
! 			if ( !isset( $parsed_query[$qv] ) )
! 				$query_string = remove_query_arg( $qv, $query_string );
! 		}
! 	} else {
! 		$query_string = remove_query_arg( $args_to_check, $query_string );
! 	}
! 	return $query_string;
! }
! 
! /**
!  * Attempts to guess the correct URL from the current URL (that produced a 404) or
!  * the current query variables.
   *
   * @since 2.3.0
   * @uses $wpdb
   *
!  * @param string $current_url Optional. The URL that has 404'd.
!  * @return bool|string The correct URL if one is found. False on failure.
   */
! function redirect_guess_404_permalink( $current_url = '' ) {
! 	global $wpdb, $wp_rewrite;
  
! 	if ( ! empty( $current_url ) )
! 		$parsed_url = @parse_url( $current_url );
  
! 	// Attempt to redirect bare category slugs if the permalink structure starts
! 	// with the %category% tag.
! 	if ( isset( $parsed_url['path'] )
! 		&& preg_match( '#^[^%]+%category%#', $wp_rewrite->permalink_structure )
! 		&& $cat = get_category_by_path( $parsed_url['path'] )
! 	) {
! 		if ( ! is_wp_error( $cat ) )
! 			return get_term_link( $cat );
! 	}
  
! 	if ( get_query_var('name') ) {
! 		$where = $wpdb->prepare("post_name LIKE %s", like_escape( get_query_var('name') ) . '%');
  
! 		// if any of post_type, year, monthnum, or day are set, use them to refine the query
! 		if ( get_query_var('post_type') )
! 			$where .= $wpdb->prepare(" AND post_type = %s", get_query_var('post_type'));
! 		else
! 			$where .= " AND post_type IN ('" . implode( "', '", get_post_types( array( 'public' => true ) ) ) . "')";
! 
! 		if ( get_query_var('year') )
! 			$where .= $wpdb->prepare(" AND YEAR(post_date) = %d", get_query_var('year'));
! 		if ( get_query_var('monthnum') )
! 			$where .= $wpdb->prepare(" AND MONTH(post_date) = %d", get_query_var('monthnum'));
! 		if ( get_query_var('day') )
! 			$where .= $wpdb->prepare(" AND DAYOFMONTH(post_date) = %d", get_query_var('day'));
! 
! 		$post_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE $where AND post_status = 'publish'");
! 		if ( ! $post_id )
! 			return false;
! 		if ( get_query_var( 'feed' ) )
! 			return get_post_comments_feed_link( $post_id, get_query_var( 'feed' ) );
! 		elseif ( get_query_var( 'page' ) )
! 			return trailingslashit( get_permalink( $post_id ) ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
! 		else
! 			return get_permalink( $post_id );
! 	}
! 
! 	return false;
  }
  
  add_action('template_redirect', 'redirect_canonical');
  
! function wp_redirect_admin_locations() {
! 	global $wp_rewrite;
! 	if ( ! ( is_404() && $wp_rewrite->using_permalinks() ) )
! 		return;
! 
! 	$admins = array(
! 		home_url( 'wp-admin', 'relative' ),
! 		home_url( 'dashboard', 'relative' ),
! 		home_url( 'admin', 'relative' ),
! 		site_url( 'dashboard', 'relative' ),
! 		site_url( 'admin', 'relative' ),
! 	);
! 	if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $admins ) ) {
! 		wp_redirect( admin_url() );
! 		exit;
! 	}
! 
! 	$logins = array(
! 		home_url( 'wp-login.php', 'relative' ),
! 		home_url( 'login', 'relative' ),
! 		site_url( 'login', 'relative' ),
! 	);
! 	if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $logins ) ) {
! 		wp_redirect( site_url( 'wp-login.php', 'login' ) );
! 		exit;
! 	}
! }
! 
! add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/capabilities.php ./wordpress-3.4/wp-includes/capabilities.php
*** ./wordpress-3.3.2/wp-includes/capabilities.php	2012-04-17 18:13:20.000000000 -0500
--- ./wordpress-3.4/wp-includes/capabilities.php	2012-06-12 08:50:51.000000000 -0500
***************
*** 599,604 ****
--- 599,616 ----
  	}
  
  	/**
+ 	 * Determine whether the user exists in the database.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return bool True if user exists in the database, false if not.
+ 	 */
+ 	function exists() {
+ 		return ! empty( $this->ID );
+ 	}
+ 
+ 	/**
  	 * Retrieve the value of a property or meta key.
  	 *
  	 * Retrieves from the users and usermeta table.
***************
*** 841,853 ****
  	 *
  	 * This is useful for looking up whether the user has a specific role
  	 * assigned to the user. The second optional parameter can also be used to
! 	 * check for capabilities against a specific post.
  	 *
  	 * @since 2.0.0
  	 * @access public
  	 *
  	 * @param string|int $cap Capability or role name to search.
- 	 * @param int $post_id Optional. Post ID to check capability against specific post.
  	 * @return bool True, if user has capability; false, if user does not have capability.
  	 */
  	function has_cap( $cap ) {
--- 853,864 ----
  	 *
  	 * This is useful for looking up whether the user has a specific role
  	 * assigned to the user. The second optional parameter can also be used to
! 	 * check for capabilities against a specific object, such as a post or user.
  	 *
  	 * @since 2.0.0
  	 * @access public
  	 *
  	 * @param string|int $cap Capability or role name to search.
  	 * @return bool True, if user has capability; false, if user does not have capability.
  	 */
  	function has_cap( $cap ) {
***************
*** 1065,1071 ****
  			break;
  		}
  
! 		if ( 'private' != $post->post_status ) {
  			$caps[] = $post_type->cap->read;
  			break;
  		}
--- 1076,1083 ----
  			break;
  		}
  
! 		$status_obj = get_post_status_object( $post->post_status );
! 		if ( $status_obj->public ) {
  			$caps[] = $post_type->cap->read;
  			break;
  		}
***************
*** 1079,1086 ****
  
  		if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID )
  			$caps[] = $post_type->cap->read;
! 		else
  			$caps[] = $post_type->cap->read_private_posts;
  		break;
  	case 'edit_post_meta':
  	case 'delete_post_meta':
--- 1091,1100 ----
  
  		if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID )
  			$caps[] = $post_type->cap->read;
! 		elseif ( $status_obj->private )
  			$caps[] = $post_type->cap->read_private_posts;
+ 		else
+ 			$caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
  		break;
  	case 'edit_post_meta':
  	case 'delete_post_meta':
***************
*** 1112,1117 ****
--- 1126,1138 ----
  		else
  			$caps[] = 'do_not_allow';
  		break;
+ 	case 'unfiltered_html' :
+ 		// Disallow unfiltered_html for all users, even admins and super admins.
+ 		if ( defined( 'DISALLOW_UNFILTERED_HTML' ) && DISALLOW_UNFILTERED_HTML )
+ 			$caps[] = 'do_not_allow';
+ 		else
+ 			$caps[] = $cap;
+ 		break;
  	case 'edit_files':
  	case 'edit_plugins':
  	case 'edit_themes':
***************
*** 1134,1146 ****
  			break;
  		}
  		// Fall through if not DISALLOW_FILE_MODS.
- 	case 'unfiltered_html':
- 		// Disallow unfiltered_html for all users, even admins and super admins.
- 		if ( defined('DISALLOW_UNFILTERED_HTML') && DISALLOW_UNFILTERED_HTML ) {
- 			$caps[] = 'do_not_allow';
- 			break;
- 		}
- 		// Fall through if not DISALLOW_UNFILTERED_HTML
  	case 'delete_user':
  	case 'delete_users':
  		// If multisite these caps are allowed only for super admins.
--- 1155,1160 ----
***************
*** 1213,1219 ****
  	// Create new object to avoid stomping the global current_user.
  	$user = new WP_User( $current_user->ID) ;
  
! 	// Set the blog id.  @todo add blog id arg to WP_User constructor?
  	$user->for_blog( $blog_id );
  
  	$args = array_slice( func_get_args(), 2 );
--- 1227,1233 ----
  	// Create new object to avoid stomping the global current_user.
  	$user = new WP_User( $current_user->ID) ;
  
! 	// Set the blog id. @todo add blog id arg to WP_User constructor?
  	$user->for_blog( $blog_id );
  
  	$args = array_slice( func_get_args(), 2 );
***************
*** 1259,1265 ****
  	if ( ! is_object( $user ) )
  		$user = new WP_User( $user );
  
! 	if ( ! $user || ! $user->ID )
  		return false;
  
  	$args = array_slice( func_get_args(), 2 );
--- 1273,1279 ----
  	if ( ! is_object( $user ) )
  		$user = new WP_User( $user );
  
! 	if ( ! $user || ! $user->exists() )
  		return false;
  
  	$args = array_slice( func_get_args(), 2 );
***************
*** 1356,1362 ****
  	else
  		$user = wp_get_current_user();
  
! 	if ( empty( $user->ID ) )
  		return false;
  
  	if ( is_multisite() ) {
--- 1370,1376 ----
  	else
  		$user = wp_get_current_user();
  
! 	if ( ! $user->exists() )
  		return false;
  
  	if ( is_multisite() ) {
***************
*** 1370,1374 ****
  
  	return false;
  }
- 
- ?>
--- 1384,1386 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/category.php ./wordpress-3.4/wp-includes/category.php
*** ./wordpress-3.3.2/wp-includes/category.php	2010-11-16 18:56:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/category.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 207,226 ****
   * @return bool Whether $cat2 is child of $cat1
   */
  function cat_is_ancestor_of( $cat1, $cat2 ) {
! 	if ( ! isset($cat1->term_id) )
! 		$cat1 = &get_category( $cat1 );
! 	if ( ! isset($cat2->parent) )
! 		$cat2 = &get_category( $cat2 );
! 
! 	if ( empty($cat1->term_id) || empty($cat2->parent) )
! 		return false;
! 	if ( $cat2->parent == $cat1->term_id )
! 		return true;
! 
! 	return cat_is_ancestor_of( $cat1, get_category( $cat2->parent ) );
  }
  
- 
  /**
   * Sanitizes category data based on context.
   *
--- 204,212 ----
   * @return bool Whether $cat2 is child of $cat1
   */
  function cat_is_ancestor_of( $cat1, $cat2 ) {
! 	return term_is_ancestor_of( $cat1, $cat2, 'category' );
  }
  
  /**
   * Sanitizes category data based on context.
   *
***************
*** 354,359 ****
  		$category['category_parent'] = &$category['parent'];
  	}
  }
- 
- 
- ?>
--- 334,336 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/category-template.php ./wordpress-3.4/wp-includes/category-template.php
*** ./wordpress-3.3.2/wp-includes/category-template.php	2011-11-14 11:24:14.000000000 -0600
--- ./wordpress-3.4/wp-includes/category-template.php	2012-05-01 17:09:55.000000000 -0500
***************
*** 56,62 ****
  	}
  
  	if ( $link )
! 		$chain .= '<a href="' . get_category_link( $parent->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
  	else
  		$chain .= $name.$separator;
  	return $chain;
--- 56,62 ----
  	}
  
  	if ( $link )
! 		$chain .= '<a href="' . esc_url( get_category_link( $parent->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
  	else
  		$chain .= $name.$separator;
  	return $chain;
***************
*** 153,162 ****
   */
  function get_the_category_list( $separator = '', $parents='', $post_id = false ) {
  	global $wp_rewrite;
! 	$categories = get_the_category( $post_id );
! 	if ( !is_object_in_taxonomy( get_post_type( $post_id ), 'category' ) )
  		return apply_filters( 'the_category', '', $separator, $parents );
  
  	if ( empty( $categories ) )
  		return apply_filters( 'the_category', __( 'Uncategorized' ), $separator, $parents );
  
--- 153,162 ----
   */
  function get_the_category_list( $separator = '', $parents='', $post_id = false ) {
  	global $wp_rewrite;
! 	if ( ! is_object_in_taxonomy( get_post_type( $post_id ), 'category' ) )
  		return apply_filters( 'the_category', '', $separator, $parents );
  
+ 	$categories = get_the_category( $post_id );
  	if ( empty( $categories ) )
  		return apply_filters( 'the_category', __( 'Uncategorized' ), $separator, $parents );
  
***************
*** 171,187 ****
  				case 'multiple':
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, true, $separator );
! 					$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
  					break;
  				case 'single':
! 					$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, false, $separator );
  					$thelist .= $category->name.'</a></li>';
  					break;
  				case '':
  				default:
! 					$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
  			}
  		}
  		$thelist .= '</ul>';
--- 171,187 ----
  				case 'multiple':
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, true, $separator );
! 					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
  					break;
  				case 'single':
! 					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, false, $separator );
  					$thelist .= $category->name.'</a></li>';
  					break;
  				case '':
  				default:
! 					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
  			}
  		}
  		$thelist .= '</ul>';
***************
*** 194,210 ****
  				case 'multiple':
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, true, $separator );
! 					$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
  					break;
  				case 'single':
! 					$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, false, $separator );
  					$thelist .= "$category->name</a>";
  					break;
  				case '':
  				default:
! 					$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
  			}
  			++$i;
  		}
--- 194,210 ----
  				case 'multiple':
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, true, $separator );
! 					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
  					break;
  				case 'single':
! 					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
  					if ( $category->parent )
  						$thelist .= get_category_parents( $category->parent, false, $separator );
  					$thelist .= "$category->name</a>";
  					break;
  				case '':
  				default:
! 					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
  			}
  			++$i;
  		}
***************
*** 228,234 ****
   * @since 1.2.0
   *
   * @param int|string|array $category Category ID, name or slug, or array of said.
!  * @param int|object $_post Optional. Post to check instead of the current post. (since 2.7.0)
   * @return bool True if the current post is in any of the given categories.
   */
  function in_category( $category, $post = null ) {
--- 227,233 ----
   * @since 1.2.0
   *
   * @param int|string|array $category Category ID, name or slug, or array of said.
!  * @param int|object $post Optional. Post to check instead of the current post. (since 2.7.0)
   * @return bool True if the current post is in any of the given categories.
   */
  function in_category( $category, $post = null ) {
***************
*** 272,278 ****
   *     'orderby' (string) default is 'ID' - What column to use for ordering the
   * categories.
   *     'order' (string) default is 'ASC' - What direction to order categories.
-  *     'show_last_update' (bool|int) default is 0 - See {@link get_categories()}
   *     'show_count' (bool|int) default is 0 - Whether to show how many posts are
   * in the category.
   *     'hide_empty' (bool|int) default is 1 - Whether to hide categories that
--- 271,276 ----
***************
*** 302,308 ****
  	$defaults = array(
  		'show_option_all' => '', 'show_option_none' => '',
  		'orderby' => 'id', 'order' => 'ASC',
! 		'show_last_update' => 0, 'show_count' => 0,
  		'hide_empty' => 1, 'child_of' => 0,
  		'exclude' => '', 'echo' => 1,
  		'selected' => 0, 'hierarchical' => 0,
--- 300,306 ----
  	$defaults = array(
  		'show_option_all' => '', 'show_option_none' => '',
  		'orderby' => 'id', 'order' => 'ASC',
! 		'show_count' => 0,
  		'hide_empty' => 1, 'child_of' => 0,
  		'exclude' => '', 'echo' => 1,
  		'selected' => 0, 'hierarchical' => 0,
***************
*** 326,332 ****
  		$r['pad_counts'] = true;
  	}
  
- 	$r['include_last_update_time'] = $r['show_last_update'];
  	extract( $r );
  
  	$tab_index_attribute = '';
--- 324,329 ----
***************
*** 389,396 ****
   *     'orderby' (string) default is 'ID' - What column to use for ordering the
   * categories.
   *     'order' (string) default is 'ASC' - What direction to order categories.
-  *     'show_last_update' (bool|int) default is 0 - See {@link
-  * walk_category_dropdown_tree()}
   *     'show_count' (bool|int) default is 0 - Whether to show how many posts are
   * in the category.
   *     'hide_empty' (bool|int) default is 1 - Whether to hide categories that
--- 386,391 ----
***************
*** 418,424 ****
  	$defaults = array(
  		'show_option_all' => '', 'show_option_none' => __('No categories'),
  		'orderby' => 'name', 'order' => 'ASC',
! 		'show_last_update' => 0, 'style' => 'list',
  		'show_count' => 0, 'hide_empty' => 1,
  		'use_desc_for_title' => 1, 'child_of' => 0,
  		'feed' => '', 'feed_type' => '',
--- 413,419 ----
  	$defaults = array(
  		'show_option_all' => '', 'show_option_none' => __('No categories'),
  		'orderby' => 'name', 'order' => 'ASC',
! 		'style' => 'list',
  		'show_count' => 0, 'hide_empty' => 1,
  		'use_desc_for_title' => 1, 'child_of' => 0,
  		'feed' => '', 'feed_type' => '',
***************
*** 434,442 ****
  	if ( !isset( $r['pad_counts'] ) && $r['show_count'] && $r['hierarchical'] )
  		$r['pad_counts'] = true;
  
- 	if ( isset( $r['show_date'] ) )
- 		$r['include_last_update_time'] = $r['show_date'];
- 
  	if ( true == $r['hierarchical'] ) {
  		$r['exclude_tree'] = $r['exclude'];
  		$r['exclude'] = '';
--- 429,434 ----
***************
*** 614,620 ****
   * @return string
   */
  function wp_generate_tag_cloud( $tags, $args = '' ) {
- 	global $wp_rewrite;
  	$defaults = array(
  		'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 0,
  		'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
--- 605,610 ----
***************
*** 682,688 ****
  		$tag_id = isset($tags[ $key ]->id) ? $tags[ $key ]->id : $key;
  		$tag_name = $tags[ $key ]->name;
  		$a[] = "<a href='$tag_link' class='tag-link-$tag_id' title='" . esc_attr( call_user_func( $topic_count_text_callback, $real_count ) ) . "' style='font-size: " .
! 			( $smallest + ( ( $count - $min_count ) * $font_step ) )
  			. "$unit;'>$tag_name</a>";
  	}
  
--- 672,678 ----
  		$tag_id = isset($tags[ $key ]->id) ? $tags[ $key ]->id : $key;
  		$tag_name = $tags[ $key ]->name;
  		$a[] = "<a href='$tag_link' class='tag-link-$tag_id' title='" . esc_attr( call_user_func( $topic_count_text_callback, $real_count ) ) . "' style='font-size: " .
! 			str_replace( ',', '.', ( $smallest + ( ( $count - $min_count ) * $font_step ) ) )
  			. "$unit;'>$tag_name</a>";
  	}
  
***************
*** 797,803 ****
  	 * @param int $depth Depth of category. Used for tab indentation.
  	 * @param array $args Will only append content if style argument value is 'list'.
  	 */
! 	function start_lvl(&$output, $depth, $args) {
  		if ( 'list' != $args['style'] )
  			return;
  
--- 787,793 ----
  	 * @param int $depth Depth of category. Used for tab indentation.
  	 * @param array $args Will only append content if style argument value is 'list'.
  	 */
! 	function start_lvl( &$output, $depth = 0, $args = array() ) {
  		if ( 'list' != $args['style'] )
  			return;
  
***************
*** 813,819 ****
  	 * @param int $depth Depth of category. Used for tab indentation.
  	 * @param array $args Will only append content if style argument value is 'list'.
  	 */
! 	function end_lvl(&$output, $depth, $args) {
  		if ( 'list' != $args['style'] )
  			return;
  
--- 803,809 ----
  	 * @param int $depth Depth of category. Used for tab indentation.
  	 * @param array $args Will only append content if style argument value is 'list'.
  	 */
! 	function end_lvl( &$output, $depth = 0, $args = array() ) {
  		if ( 'list' != $args['style'] )
  			return;
  
***************
*** 830,841 ****
  	 * @param int $depth Depth of category in reference to parents.
  	 * @param array $args
  	 */
! 	function start_el(&$output, $category, $depth, $args) {
  		extract($args);
  
  		$cat_name = esc_attr( $category->name );
  		$cat_name = apply_filters( 'list_cats', $cat_name, $category );
! 		$link = '<a href="' . esc_attr( get_term_link($category) ) . '" ';
  		if ( $use_desc_for_title == 0 || empty($category->description) )
  			$link .= 'title="' . esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
  		else
--- 820,831 ----
  	 * @param int $depth Depth of category in reference to parents.
  	 * @param array $args
  	 */
! 	function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
  		extract($args);
  
  		$cat_name = esc_attr( $category->name );
  		$cat_name = apply_filters( 'list_cats', $cat_name, $category );
! 		$link = '<a href="' . esc_url( get_term_link($category) ) . '" ';
  		if ( $use_desc_for_title == 0 || empty($category->description) )
  			$link .= 'title="' . esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
  		else
***************
*** 849,855 ****
  			if ( empty($feed_image) )
  				$link .= '(';
  
! 			$link .= '<a href="' . get_term_feed_link( $category->term_id, $category->taxonomy, $feed_type ) . '"';
  
  			if ( empty($feed) ) {
  				$alt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $cat_name ) . '"';
--- 839,845 ----
  			if ( empty($feed_image) )
  				$link .= '(';
  
! 			$link .= '<a href="' . esc_url( get_term_feed_link( $category->term_id, $category->taxonomy, $feed_type ) ) . '"';
  
  			if ( empty($feed) ) {
  				$alt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $cat_name ) . '"';
***************
*** 876,884 ****
  		if ( !empty($show_count) )
  			$link .= ' (' . intval($category->count) . ')';
  
- 		if ( !empty($show_date) )
- 			$link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp);
- 
  		if ( 'list' == $args['style'] ) {
  			$output .= "\t<li";
  			$class = 'cat-item cat-item-' . $category->term_id;
--- 866,871 ----
***************
*** 905,911 ****
  	 * @param int $depth Depth of category. Not used.
  	 * @param array $args Only uses 'list' for whether should append to output.
  	 */
! 	function end_el(&$output, $page, $depth, $args) {
  		if ( 'list' != $args['style'] )
  			return;
  
--- 892,898 ----
  	 * @param int $depth Depth of category. Not used.
  	 * @param array $args Only uses 'list' for whether should append to output.
  	 */
! 	function end_el( &$output, $page, $depth = 0, $args = array() ) {
  		if ( 'list' != $args['style'] )
  			return;
  
***************
*** 944,952 ****
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param object $category Category data object.
  	 * @param int $depth Depth of category. Used for padding.
! 	 * @param array $args Uses 'selected', 'show_count', and 'show_last_update' keys, if they exist.
  	 */
! 	function start_el(&$output, $category, $depth, $args) {
  		$pad = str_repeat('&nbsp;', $depth * 3);
  
  		$cat_name = apply_filters('list_cats', $category->name, $category);
--- 931,939 ----
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param object $category Category data object.
  	 * @param int $depth Depth of category. Used for padding.
! 	 * @param array $args Uses 'selected' and 'show_count' keys, if they exist.
  	 */
! 	function start_el( &$output, $category, $depth, $args, $id = 0 ) {
  		$pad = str_repeat('&nbsp;', $depth * 3);
  
  		$cat_name = apply_filters('list_cats', $category->name, $category);
***************
*** 957,966 ****
  		$output .= $pad.$cat_name;
  		if ( $args['show_count'] )
  			$output .= '&nbsp;&nbsp;('. $category->count .')';
- 		if ( $args['show_last_update'] ) {
- 			$format = 'Y-m-d';
- 			$output .= '&nbsp;&nbsp;' . gmdate($format, $category->last_update_timestamp);
- 		}
  		$output .= "</option>\n";
  	}
  }
--- 944,949 ----
***************
*** 1012,1021 ****
   * @param string $before Optional. Before tags.
   * @param string $sep Optional. Between tags.
   * @param string $after Optional. After tags.
   * @return string
   */
! function get_the_tag_list( $before = '', $sep = '', $after = '' ) {
! 	return apply_filters( 'the_tags', get_the_term_list( 0, 'post_tag', $before, $sep, $after ), $before, $sep, $after);
  }
  
  /**
--- 995,1005 ----
   * @param string $before Optional. Before tags.
   * @param string $sep Optional. Between tags.
   * @param string $after Optional. After tags.
+  * @param int $id Optional. Post ID. Defaults to the current post.
   * @return string
   */
! function get_the_tag_list( $before = '', $sep = '', $after = '', $id = 0 ) {
! 	return apply_filters( 'the_tags', get_the_term_list( $id, 'post_tag', $before, $sep, $after ), $before, $sep, $after, $id );
  }
  
  /**
***************
*** 1052,1057 ****
--- 1036,1042 ----
   * @since 2.8
   *
   * @param int $term Optional. Term ID. Will use global term ID by default.
+  * @param string $taxonomy Optional taxonomy name. Defaults to 'post_tag'.
   * @return string Term description, available.
   */
  function term_description( $term = 0, $taxonomy = 'post_tag' ) {
***************
*** 1069,1085 ****
   *
   * @since 2.5.0
   *
!  * @param int $id Post ID. Is not optional.
   * @param string $taxonomy Taxonomy name.
   * @return array|bool False on failure. Array of term objects on success.
   */
! function get_the_terms( $id = 0, $taxonomy ) {
  	global $post;
  
   	$id = (int) $id;
  
  	if ( !$id ) {
! 		if ( !$post->ID )
  			return false;
  		else
  			$id = (int) $post->ID;
--- 1054,1070 ----
   *
   * @since 2.5.0
   *
!  * @param int $id Post ID.
   * @param string $taxonomy Taxonomy name.
   * @return array|bool False on failure. Array of term objects on success.
   */
! function get_the_terms( $id, $taxonomy ) {
  	global $post;
  
   	$id = (int) $id;
  
  	if ( !$id ) {
! 		if ( empty( $post->ID ) )
  			return false;
  		else
  			$id = (int) $post->ID;
***************
*** 1111,1117 ****
   * @param string $after Optional. After list.
   * @return string
   */
! function get_the_term_list( $id = 0, $taxonomy, $before = '', $sep = '', $after = '' ) {
  	$terms = get_the_terms( $id, $taxonomy );
  
  	if ( is_wp_error( $terms ) )
--- 1096,1102 ----
   * @param string $after Optional. After list.
   * @return string
   */
! function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
  	$terms = get_the_terms( $id, $taxonomy );
  
  	if ( is_wp_error( $terms ) )
***************
*** 1124,1130 ****
  		$link = get_term_link( $term, $taxonomy );
  		if ( is_wp_error( $link ) )
  			return $link;
! 		$term_links[] = '<a href="' . $link . '" rel="tag">' . $term->name . '</a>';
  	}
  
  	$term_links = apply_filters( "term_links-$taxonomy", $term_links );
--- 1109,1115 ----
  		$link = get_term_link( $term, $taxonomy );
  		if ( is_wp_error( $link ) )
  			return $link;
! 		$term_links[] = '<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
  	}
  
  	$term_links = apply_filters( "term_links-$taxonomy", $term_links );
***************
*** 1144,1150 ****
   * @param string $after Optional. After list.
   * @return null|bool False on WordPress error. Returns null when displaying.
   */
! function the_terms( $id = 0, $taxonomy, $before = '', $sep = ', ', $after = '' ) {
  	$term_list = get_the_term_list( $id, $taxonomy, $before, $sep, $after );
  
  	if ( is_wp_error( $term_list ) )
--- 1129,1135 ----
   * @param string $after Optional. After list.
   * @return null|bool False on WordPress error. Returns null when displaying.
   */
! function the_terms( $id, $taxonomy, $before = '', $sep = ', ', $after = '' ) {
  	$term_list = get_the_term_list( $id, $taxonomy, $before, $sep, $after );
  
  	if ( is_wp_error( $term_list ) )
***************
*** 1159,1165 ****
   *
   * @since 3.1.0
   *
!  * @param string|int|array $tag Optional. The category name/term_id/slug or array of them to check for.
   * @param int|object $post Optional. Post to check instead of the current post.
   * @return bool True if the current post has any of the given categories (or any category, if no category specified).
   */
--- 1143,1149 ----
   *
   * @since 3.1.0
   *
!  * @param string|int|array $category Optional. The category name/term_id/slug or array of them to check for.
   * @param int|object $post Optional. Post to check instead of the current post.
   * @return bool True if the current post has any of the given categories (or any category, if no category specified).
   */
***************
*** 1214,1218 ****
  
  	return $r;
  }
- 
- ?>
--- 1198,1200 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-http.php ./wordpress-3.4/wp-includes/class-http.php
*** ./wordpress-3.3.2/wp-includes/class-http.php	2011-10-31 14:38:46.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-http.php	2012-05-10 16:32:02.000000000 -0500
***************
*** 201,207 ****
  	 * @param array $args Request arguments
  	 * @param string $url URL to Request
  	 *
! 	 * @return string|false Class name for the first transport that claims to support the request.  False if no transport claims to support the request.
  	 */
  	public function _get_first_available_transport( $args, $url = null ) {
  		$request_order = array( 'curl', 'streams', 'fsockopen' );
--- 200,206 ----
  	 * @param array $args Request arguments
  	 * @param string $url URL to Request
  	 *
! 	 * @return string|false Class name for the first transport that claims to support the request. False if no transport claims to support the request.
  	 */
  	public function _get_first_available_transport( $args, $url = null ) {
  		$request_order = array( 'curl', 'streams', 'fsockopen' );
***************
*** 535,542 ****
--- 534,588 ----
  		else
  			return !in_array( $check['host'], $accessible_hosts ); //Inverse logic, If its in the array, then we can't access it.
  
+ 	}
  
+ 	static function make_absolute_url( $maybe_relative_path, $url ) {
+ 		if ( empty( $url ) )
+ 			return $maybe_relative_path;
+ 
+ 		// Check for a scheme
+ 		if ( false !== strpos( $maybe_relative_path, '://' ) )
+ 			return $maybe_relative_path;
+ 
+ 		if ( ! $url_parts = @parse_url( $url ) )
+ 			return $maybe_relative_path;
+ 
+ 		if ( ! $relative_url_parts = @parse_url( $maybe_relative_path ) )
+ 			return $maybe_relative_path;
+ 
+ 		$absolute_path = $url_parts['scheme'] . '://' . $url_parts['host'];
+ 		if ( isset( $url_parts['port'] ) )
+ 			$absolute_path .= ':' . $url_parts['port'];
+ 
+ 		// Start off with the Absolute URL path
+ 		$path = ! empty( $url_parts['path'] ) ? $url_parts['path'] : '/';
+ 
+ 		// If the it's a root-relative path, then great
+ 		if ( ! empty( $relative_url_parts['path'] ) && '/' == $relative_url_parts['path'][0] ) {
+ 			$path = $relative_url_parts['path'];
+ 
+ 		// Else it's a relative path
+ 		} elseif ( ! empty( $relative_url_parts['path'] ) ) {
+ 			// Strip off any file components from the absolute path
+ 			$path = substr( $path, 0, strrpos( $path, '/' ) + 1 );
+ 
+ 			// Build the new path
+ 			$path .= $relative_url_parts['path'];
+ 
+ 			// Strip all /path/../ out of the path
+ 			while ( strpos( $path, '../' ) > 1 ) {
+ 				$path = preg_replace( '![^/]+/\.\./!', '', $path );
+ 			}
  
+ 			// Strip any final leading ../ from the path
+ 			$path = preg_replace( '!^/(\.\./)+!', '', $path );
+ 		}
+ 
+ 		// Add the Query string
+ 		if ( ! empty( $relative_url_parts['query'] ) )
+ 			$path .= '?' . $relative_url_parts['query'];
+ 
+ 		return $absolute_path . '/' . ltrim( $path, '/' );
  	}
  }
  
***************
*** 733,739 ****
  		// If location is found, then assume redirect and redirect to location.
  		if ( isset($arrHeaders['headers']['location']) && 0 !== $r['_redirection'] ) {
  			if ( $r['redirection']-- > 0 ) {
! 				return $this->request($arrHeaders['headers']['location'], $r);
  			} else {
  				return new WP_Error('http_request_failed', __('Too many redirects.'));
  			}
--- 779,785 ----
  		// If location is found, then assume redirect and redirect to location.
  		if ( isset($arrHeaders['headers']['location']) && 0 !== $r['_redirection'] ) {
  			if ( $r['redirection']-- > 0 ) {
! 				return $this->request( WP_HTTP::make_absolute_url( $arrHeaders['headers']['location'], $url ), $r);
  			} else {
  				return new WP_Error('http_request_failed', __('Too many redirects.'));
  			}
***************
*** 1023,1037 ****
  			}
  		}
  
! 		$is_local = isset($args['local']) && $args['local'];
! 		$ssl_verify = isset($args['sslverify']) && $args['sslverify'];
  		if ( $is_local )
  			$ssl_verify = apply_filters('https_local_ssl_verify', $ssl_verify);
  		elseif ( ! $is_local )
  			$ssl_verify = apply_filters('https_ssl_verify', $ssl_verify);
  
! 
! 		// CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT expect integers.  Have to use ceil since
  		// a value of 0 will allow an unlimited timeout.
  		$timeout = (int) ceil( $r['timeout'] );
  		curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, $timeout );
--- 1069,1082 ----
  			}
  		}
  
! 		$is_local = isset($r['local']) && $r['local'];
! 		$ssl_verify = isset($r['sslverify']) && $r['sslverify'];
  		if ( $is_local )
  			$ssl_verify = apply_filters('https_local_ssl_verify', $ssl_verify);
  		elseif ( ! $is_local )
  			$ssl_verify = apply_filters('https_ssl_verify', $ssl_verify);
  
! 		// CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT expect integers. Have to use ceil since
  		// a value of 0 will allow an unlimited timeout.
  		$timeout = (int) ceil( $r['timeout'] );
  		curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, $timeout );
***************
*** 1042,1048 ****
  		curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, ( $ssl_verify === true ) ? 2 : false );
  		curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify );
  		curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] );
! 		curl_setopt( $handle, CURLOPT_MAXREDIRS, $r['redirection'] );
  
  		switch ( $r['method'] ) {
  			case 'HEAD':
--- 1087,1095 ----
  		curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, ( $ssl_verify === true ) ? 2 : false );
  		curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify );
  		curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] );
! 		// The option doesn't work with safe mode or when open_basedir is set, and there's a
! 		// bug #17490 with redirected POST requests, so handle redirections outside Curl.
! 		curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, false );
  
  		switch ( $r['method'] ) {
  			case 'HEAD':
***************
*** 1056,1061 ****
--- 1103,1113 ----
  				curl_setopt( $handle, CURLOPT_CUSTOMREQUEST, 'PUT' );
  				curl_setopt( $handle, CURLOPT_POSTFIELDS, $r['body'] );
  				break;
+ 			default:
+ 				curl_setopt( $handle, CURLOPT_CUSTOMREQUEST, $r['method'] );
+ 				if ( ! empty( $r['body'] ) )
+ 					curl_setopt( $handle, CURLOPT_POSTFIELDS, $r['body'] );
+ 				break;
  		}
  
  		if ( true === $r['blocking'] )
***************
*** 1074,1083 ****
  			curl_setopt( $handle, CURLOPT_FILE, $stream_handle );
  		}
  
- 		// The option doesn't work with safe mode or when open_basedir is set.
- 		if ( !ini_get('safe_mode') && !ini_get('open_basedir') && 0 !== $r['_redirection'] )
- 			curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, true );
- 
  		if ( !empty( $r['headers'] ) ) {
  			// cURL expects full header strings in each element
  			$headers = array();
--- 1126,1131 ----
***************
*** 1110,1121 ****
  		if ( strlen($theResponse) > 0 && ! is_bool( $theResponse ) ) // is_bool: when using $args['stream'], curl_exec will return (bool)true
  			$theBody = $theResponse;
  
! 		// If no response, and It's not a HEAD request with valid headers returned
! 		if ( 0 == strlen($theResponse) && ('HEAD' != $args['method'] || empty($this->headers)) ) {
! 			if ( $curl_error = curl_error($handle) )
! 				return new WP_Error('http_request_failed', $curl_error);
! 			if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array(301, 302) ) )
! 				return new WP_Error('http_request_failed', __('Too many redirects.'));
  		}
  
  		$this->headers = '';
--- 1158,1169 ----
  		if ( strlen($theResponse) > 0 && ! is_bool( $theResponse ) ) // is_bool: when using $args['stream'], curl_exec will return (bool)true
  			$theBody = $theResponse;
  
! 		// If no response
! 		if ( 0 == strlen( $theResponse ) && empty( $theHeaders['headers'] ) ) {
! 			if ( $curl_error = curl_error( $handle ) )
! 				return new WP_Error( 'http_request_failed', $curl_error );
! 			if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array( 301, 302 ) ) )
! 				return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) );
  		}
  
  		$this->headers = '';
***************
*** 1130,1138 ****
  			fclose( $stream_handle );
  
  		// See #11305 - When running under safe mode, redirection is disabled above. Handle it manually.
! 		if ( ! empty( $theHeaders['headers']['location'] ) && ( ini_get( 'safe_mode' ) || ini_get( 'open_basedir' ) ) && 0 !== $r['_redirection'] ) {
  			if ( $r['redirection']-- > 0 ) {
! 				return $this->request( $theHeaders['headers']['location'], $r );
  			} else {
  				return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) );
  			}
--- 1178,1186 ----
  			fclose( $stream_handle );
  
  		// See #11305 - When running under safe mode, redirection is disabled above. Handle it manually.
! 		if ( ! empty( $theHeaders['headers']['location'] ) && 0 !== $r['_redirection'] ) { // _redirection: The requested number of redirections
  			if ( $r['redirection']-- > 0 ) {
! 				return $this->request( WP_HTTP::make_absolute_url( $theHeaders['headers']['location'], $url ), $r );
  			} else {
  				return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) );
  			}
***************
*** 1494,1500 ****
  	 * @since 2.8.0
  	 *
  	 * @param string $url URL you intend to send this cookie to
! 	 * @return boolean TRUE if allowed, FALSE otherwise.
  	 */
  	function test( $url ) {
  		// Expires - if expired then nothing else matters
--- 1542,1548 ----
  	 * @since 2.8.0
  	 *
  	 * @param string $url URL you intend to send this cookie to
! 	 * @return boolean true if allowed, false otherwise.
  	 */
  	function test( $url ) {
  		// Expires - if expired then nothing else matters
***************
*** 1541,1547 ****
  		if ( empty( $this->name ) || empty( $this->value ) )
  			return '';
  
! 		return $this->name . '=' . urlencode( $this->value );
  	}
  
  	/**
--- 1589,1595 ----
  		if ( empty( $this->name ) || empty( $this->value ) )
  			return '';
  
! 		return $this->name . '=' . apply_filters( 'wp_http_cookie_value', $this->value, $this->name );
  	}
  
  	/**
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-IXR.php ./wordpress-3.4/wp-includes/class-IXR.php
*** ./wordpress-3.3.2/wp-includes/class-IXR.php	2010-12-08 13:27:49.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-IXR.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 1061,1065 ****
          return parent::query('system.multicall', $this->calls);
      }
  }
- 
- ?>
--- 1061,1063 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-json.php ./wordpress-3.4/wp-includes/class-json.php
*** ./wordpress-3.3.2/wp-includes/class-json.php	2011-07-06 18:33:05.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-json.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 860,863 ****
  
  }
  endif;
- ?>
--- 860,862 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-oembed.php ./wordpress-3.4/wp-includes/class-oembed.php
*** ./wordpress-3.3.2/wp-includes/class-oembed.php	2011-10-28 15:05:43.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-oembed.php	2012-05-24 02:14:10.000000000 -0500
***************
*** 30,52 ****
  		// The WP_Embed class disables discovery for non-unfiltered_html users, so only providers in this array will be used for them.
  		// Add to this list using the wp_oembed_add_provider() function (see its PHPDoc for details).
  		$this->providers = apply_filters( 'oembed_providers', array(
! 			'#http://(www\.)?youtube.com/watch.*#i'         => array( 'http://www.youtube.com/oembed',            true  ),
! 			'http://youtu.be/*'                             => array( 'http://www.youtube.com/oembed',            false ),
! 			'http://blip.tv/*'                              => array( 'http://blip.tv/oembed/',                   false ),
! 			'#http://(www\.)?vimeo\.com/.*#i'               => array( 'http://vimeo.com/api/oembed.{format}',     true  ),
! 			'#http://(www\.)?dailymotion\.com/.*#i'         => array( 'http://www.dailymotion.com/api/oembed',    true  ),
! 			'#http://(www\.)?flickr\.com/.*#i'              => array( 'http://www.flickr.com/services/oembed/',   true  ),
! 			'#http://(.+\.)?smugmug\.com/.*#i'              => array( 'http://api.smugmug.com/services/oembed/',  true  ),
! 			'#http://(www\.)?hulu\.com/watch/.*#i'          => array( 'http://www.hulu.com/api/oembed.{format}',  true  ),
! 			'#http://(www\.)?viddler\.com/.*#i'             => array( 'http://lab.viddler.com/services/oembed/',  true  ),
! 			'http://qik.com/*'                              => array( 'http://qik.com/api/oembed.{format}',       false ),
! 			'http://revision3.com/*'                        => array( 'http://revision3.com/api/oembed/',         false ),
! 			'http://i*.photobucket.com/albums/*'            => array( 'http://photobucket.com/oembed',            false ),
! 			'http://gi*.photobucket.com/groups/*'           => array( 'http://photobucket.com/oembed',            false ),
! 			'#http://(www\.)?scribd\.com/.*#i'              => array( 'http://www.scribd.com/services/oembed',    true  ),
! 			'http://wordpress.tv/*'                         => array( 'http://wordpress.tv/oembed/',              false ),
! 			'#http://(.+\.)?polldaddy\.com/.*#i'            => array( 'http://polldaddy.com/oembed/',             true  ),
! 			'#http://(www\.)?funnyordie\.com/videos/.*#i'   => array( 'http://www.funnyordie.com/oembed',         true  ),
  		) );
  
  		// Fix any embeds that contain new lines in the middle of the HTML which breaks wpautop().
--- 30,53 ----
  		// The WP_Embed class disables discovery for non-unfiltered_html users, so only providers in this array will be used for them.
  		// Add to this list using the wp_oembed_add_provider() function (see its PHPDoc for details).
  		$this->providers = apply_filters( 'oembed_providers', array(
! 			'#http://(www\.)?youtube.com/watch.*#i'              => array( 'http://www.youtube.com/oembed',                     true  ),
! 			'http://youtu.be/*'                                  => array( 'http://www.youtube.com/oembed',                     false ),
! 			'http://blip.tv/*'                                   => array( 'http://blip.tv/oembed/',                            false ),
! 			'#http://(www\.)?vimeo\.com/.*#i'                    => array( 'http://vimeo.com/api/oembed.{format}',              true  ),
! 			'#http://(www\.)?dailymotion\.com/.*#i'              => array( 'http://www.dailymotion.com/services/oembed',        true  ),
! 			'#http://(www\.)?flickr\.com/.*#i'                   => array( 'http://www.flickr.com/services/oembed/',            true  ),
! 			'#http://(.+\.)?smugmug\.com/.*#i'                   => array( 'http://api.smugmug.com/services/oembed/',           true  ),
! 			'#http://(www\.)?hulu\.com/watch/.*#i'               => array( 'http://www.hulu.com/api/oembed.{format}',           true  ),
! 			'#http://(www\.)?viddler\.com/.*#i'                  => array( 'http://lab.viddler.com/services/oembed/',           true  ),
! 			'http://qik.com/*'                                   => array( 'http://qik.com/api/oembed.{format}',                false ),
! 			'http://revision3.com/*'                             => array( 'http://revision3.com/api/oembed/',                  false ),
! 			'http://i*.photobucket.com/albums/*'                 => array( 'http://photobucket.com/oembed',                     false ),
! 			'http://gi*.photobucket.com/groups/*'                => array( 'http://photobucket.com/oembed',                     false ),
! 			'#http://(www\.)?scribd\.com/.*#i'                   => array( 'http://www.scribd.com/services/oembed',             true  ),
! 			'http://wordpress.tv/*'                              => array( 'http://wordpress.tv/oembed/',                       false ),
! 			'#http://(.+\.)?polldaddy\.com/.*#i'                 => array( 'http://polldaddy.com/oembed/',                      true  ),
! 			'#http://(www\.)?funnyordie\.com/videos/.*#i'        => array( 'http://www.funnyordie.com/oembed',                  true  ),
! 			'#https?://(www\.)?twitter.com/.+?/status(es)?/.*#i' => array( 'http://api.twitter.com/1/statuses/oembed.{format}', true  ),
  		) );
  
  		// Fix any embeds that contain new lines in the middle of the HTML which breaks wpautop().
***************
*** 226,253 ****
  	 * @return bool|string False on error, otherwise the HTML needed to embed.
  	 */
  	function data2html( $data, $url ) {
! 		if ( !is_object($data) || empty($data->type) )
  			return false;
  
  		switch ( $data->type ) {
  			case 'photo':
! 				if ( empty($data->url) || empty($data->width) || empty($data->height) )
! 					return false;
  
! 				$title = ( !empty($data->title) ) ? $data->title : '';
  				$return = '<a href="' . esc_url( $url ) . '"><img src="' . esc_url( $data->url ) . '" alt="' . esc_attr($title) . '" width="' . esc_attr($data->width) . '" height="' . esc_attr($data->height) . '" /></a>';
  				break;
  
  			case 'video':
  			case 'rich':
! 				$return = ( !empty($data->html) ) ? $data->html : false;
  				break;
  
  			case 'link':
! 				$return = ( !empty($data->title) ) ? '<a href="' . esc_url($url) . '">' . esc_html($data->title) . '</a>' : false;
  				break;
  
! 			default;
  				$return = false;
  		}
  
--- 227,260 ----
  	 * @return bool|string False on error, otherwise the HTML needed to embed.
  	 */
  	function data2html( $data, $url ) {
! 		if ( ! is_object( $data ) || empty( $data->type ) )
  			return false;
  
+ 		$return = false;
+ 
  		switch ( $data->type ) {
  			case 'photo':
! 				if ( empty( $data->url ) || empty( $data->width ) || empty( $data->height ) )
! 					break;
! 				if ( ! is_string( $data->url ) || ! is_numeric( $data->width ) || ! is_numeric( $data->height ) )
! 					break;
  
! 				$title = ! empty( $data->title ) && is_string( $data->title ) ? $data->title : '';
  				$return = '<a href="' . esc_url( $url ) . '"><img src="' . esc_url( $data->url ) . '" alt="' . esc_attr($title) . '" width="' . esc_attr($data->width) . '" height="' . esc_attr($data->height) . '" /></a>';
  				break;
  
  			case 'video':
  			case 'rich':
! 				if ( ! empty( $data->html ) && is_string( $data->html ) )
! 					$return = $data->html;
  				break;
  
  			case 'link':
! 				if ( ! empty( $data->title ) && is_string( $data->title ) )
! 					$return = '<a href="' . esc_url( $url ) . '">' . esc_html( $data->title ) . '</a>';
  				break;
  
! 			default:
  				$return = false;
  		}
  
***************
*** 291,295 ****
  
  	return $wp_oembed;
  }
- 
- ?>
\ No newline at end of file
--- 298,300 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-phpmailer.php ./wordpress-3.4/wp-includes/class-phpmailer.php
*** ./wordpress-3.3.2/wp-includes/class-phpmailer.php	2011-06-01 15:42:47.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-phpmailer.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 2,16 ****
  /*~ class.phpmailer.php
  .---------------------------------------------------------------------------.
  |  Software: PHPMailer - PHP email class                                    |
! |   Version: 5.1                                                            |
! |   Contact: via sourceforge.net support pages (also www.worxware.com)      |
! |      Info: http://phpmailer.sourceforge.net                               |
! |   Support: http://sourceforge.net/projects/phpmailer/                     |
  | ------------------------------------------------------------------------- |
! |     Admin: Andy Prevost (project admininistrator)                         |
  |   Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net |
  |          : Marcus Bointon (coolbru) coolbru@users.sourceforge.net         |
  |   Founder: Brent R. Matzelle (original founder)                           |
  | Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved.               |
  | Copyright (c) 2001-2003, Brent R. Matzelle                                |
  | ------------------------------------------------------------------------- |
--- 2,16 ----
  /*~ class.phpmailer.php
  .---------------------------------------------------------------------------.
  |  Software: PHPMailer - PHP email class                                    |
! |   Version: 5.2.1                                                          |
! |      Site: https://code.google.com/a/apache-extras.org/p/phpmailer/       |
  | ------------------------------------------------------------------------- |
! |     Admin: Jim Jagielski (project admininistrator)                        |
  |   Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net |
  |          : Marcus Bointon (coolbru) coolbru@users.sourceforge.net         |
+ |          : Jim Jagielski (jimjag) jimjag@gmail.com                        |
  |   Founder: Brent R. Matzelle (original founder)                           |
+ | Copyright (c) 2010-2012, Jim Jagielski. All Rights Reserved.              |
  | Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved.               |
  | Copyright (c) 2001-2003, Brent R. Matzelle                                |
  | ------------------------------------------------------------------------- |
***************
*** 19,29 ****
  | This program is distributed in the hope that it will be useful - WITHOUT  |
  | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
  | FITNESS FOR A PARTICULAR PURPOSE.                                         |
- | ------------------------------------------------------------------------- |
- | We offer a number of paid services (www.worxware.com):                    |
- | - Web Hosting on highly optimized fast and secure servers                 |
- | - Technology Consulting                                                   |
- | - Oursourcing (highly qualified programmers and graphic designers)        |
  '---------------------------------------------------------------------------'
  */
  
--- 19,24 ----
***************
*** 33,40 ****
   * @package PHPMailer
   * @author Andy Prevost
   * @author Marcus Bointon
   * @copyright 2004 - 2009 Andy Prevost
!  * @version $Id: class.phpmailer.php 447 2009-05-25 01:36:38Z codeworxtech $
   * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
   */
  
--- 28,37 ----
   * @package PHPMailer
   * @author Andy Prevost
   * @author Marcus Bointon
+  * @author Jim Jagielski
+  * @copyright 2010 - 2012 Jim Jagielski
   * @copyright 2004 - 2009 Andy Prevost
!  * @version $Id: class.phpmailer.php 450 2010-06-23 16:46:33Z coolbru $
   * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
   */
  
***************
*** 119,124 ****
--- 116,142 ----
    public $AltBody           = '';
  
    /**
+    * Stores the complete compiled MIME message body.
+    * @var string
+    * @access protected
+    */
+   protected $MIMEBody       = '';
+ 
+   /**
+    * Stores the complete compiled MIME message headers.
+    * @var string
+    * @access protected
+    */
+   protected $MIMEHeader     = '';
+ 
+   /**
+    * Stores the complete sent MIME message (Body and Headers)
+    * @var string
+    * @access protected
+   */
+   protected $SentMIMEMessage     = '';
+ 
+   /**
     * Sets word wrapping on the body of the message to a given number of
     * characters.
     * @var int
***************
*** 271,276 ****
--- 289,300 ----
  
    /**
     * Used with DKIM DNS Resource Record
+    * @var string
+    */
+   public $DKIM_passphrase   = '';
+ 
+   /**
+    * Used with DKIM DNS Resource Record
     * optional, in format of email address 'you@yourdomain.com'
     * @var string
     */
***************
*** 300,327 ****
     * Sets the PHPMailer Version number
     * @var string
     */
!   public $Version         = '5.1';
  
    /////////////////////////////////////////////////
    // PROPERTIES, PRIVATE AND PROTECTED
    /////////////////////////////////////////////////
  
!   private   $smtp           = NULL;
!   private   $to             = array();
!   private   $cc             = array();
!   private   $bcc            = array();
!   private   $ReplyTo        = array();
!   private   $all_recipients = array();
!   private   $attachment     = array();
!   private   $CustomHeader   = array();
!   private   $message_type   = '';
!   private   $boundary       = array();
!   protected $language       = array();
!   private   $error_count    = 0;
!   private   $sign_cert_file = "";
!   private   $sign_key_file  = "";
!   private   $sign_key_pass  = "";
!   private   $exceptions     = false;
  
    /////////////////////////////////////////////////
    // CONSTANTS
--- 324,357 ----
     * Sets the PHPMailer Version number
     * @var string
     */
!   public $Version         = '5.2.1';
! 
!   /**
!    * What to use in the X-Mailer header
!    * @var string
!    */
!   public $XMailer         = '';
  
    /////////////////////////////////////////////////
    // PROPERTIES, PRIVATE AND PROTECTED
    /////////////////////////////////////////////////
  
!   protected   $smtp           = NULL;
!   protected   $to             = array();
!   protected   $cc             = array();
!   protected   $bcc            = array();
!   protected   $ReplyTo        = array();
!   protected   $all_recipients = array();
!   protected   $attachment     = array();
!   protected   $CustomHeader   = array();
!   protected   $message_type   = '';
!   protected   $boundary       = array();
!   protected   $language       = array();
!   protected   $error_count    = 0;
!   protected   $sign_cert_file = '';
!   protected   $sign_key_file  = '';
!   protected   $sign_key_pass  = '';
!   protected   $exceptions     = false;
  
    /////////////////////////////////////////////////
    // CONSTANTS
***************
*** 437,443 ****
     * @return boolean
     */
    public function AddReplyTo($address, $name = '') {
!     return $this->AddAnAddress('ReplyTo', $address, $name);
    }
  
    /**
--- 467,473 ----
     * @return boolean
     */
    public function AddReplyTo($address, $name = '') {
!     return $this->AddAnAddress('Reply-To', $address, $name);
    }
  
    /**
***************
*** 447,457 ****
     * @param string $address The email address to send to
     * @param string $name
     * @return boolean true on success, false if address already used or invalid in some way
!    * @access private
     */
!   private function AddAnAddress($kind, $address, $name = '') {
!     if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) {
!       echo 'Invalid recipient array: ' . $kind;
        return false;
      }
      $address = trim($address);
--- 477,493 ----
     * @param string $address The email address to send to
     * @param string $name
     * @return boolean true on success, false if address already used or invalid in some way
!    * @access protected
     */
!   protected function AddAnAddress($kind, $address, $name = '') {
!     if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
!       $this->SetError($this->Lang('Invalid recipient array').': '.$kind);
!       if ($this->exceptions) {
!         throw new phpmailerException('Invalid recipient array: ' . $kind);
!       }
! 	  if ($this->SMTPDebug) {
!         echo $this->Lang('Invalid recipient array').': '.$kind;
!       }
        return false;
      }
      $address = trim($address);
***************
*** 461,470 ****
        if ($this->exceptions) {
          throw new phpmailerException($this->Lang('invalid_address').': '.$address);
        }
!       echo $this->Lang('invalid_address').': '.$address;
        return false;
      }
!     if ($kind != 'ReplyTo') {
        if (!isset($this->all_recipients[strtolower($address)])) {
          array_push($this->$kind, array($address, $name));
          $this->all_recipients[strtolower($address)] = true;
--- 497,508 ----
        if ($this->exceptions) {
          throw new phpmailerException($this->Lang('invalid_address').': '.$address);
        }
! 	  if ($this->SMTPDebug) {
!         echo $this->Lang('invalid_address').': '.$address;
!       }
        return false;
      }
!     if ($kind != 'Reply-To') {
        if (!isset($this->all_recipients[strtolower($address)])) {
          array_push($this->$kind, array($address, $name));
          $this->all_recipients[strtolower($address)] = true;
***************
*** 485,491 ****
   * @param string $name
   * @return boolean
   */
!   public function SetFrom($address, $name = '',$auto=1) {
      $address = trim($address);
      $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
      if (!self::ValidateAddress($address)) {
--- 523,529 ----
   * @param string $name
   * @return boolean
   */
!   public function SetFrom($address, $name = '', $auto = 1) {
      $address = trim($address);
      $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
      if (!self::ValidateAddress($address)) {
***************
*** 493,506 ****
        if ($this->exceptions) {
          throw new phpmailerException($this->Lang('invalid_address').': '.$address);
        }
!       echo $this->Lang('invalid_address').': '.$address;
        return false;
      }
      $this->From = $address;
      $this->FromName = $name;
      if ($auto) {
        if (empty($this->ReplyTo)) {
!         $this->AddAnAddress('ReplyTo', $address, $name);
        }
        if (empty($this->Sender)) {
          $this->Sender = $address;
--- 531,546 ----
        if ($this->exceptions) {
          throw new phpmailerException($this->Lang('invalid_address').': '.$address);
        }
! 	  if ($this->SMTPDebug) {
!         echo $this->Lang('invalid_address').': '.$address;
!       }
        return false;
      }
      $this->From = $address;
      $this->FromName = $name;
      if ($auto) {
        if (empty($this->ReplyTo)) {
!         $this->AddAnAddress('Reply-To', $address, $name);
        }
        if (empty($this->Sender)) {
          $this->Sender = $address;
***************
*** 544,549 ****
--- 584,604 ----
     */
    public function Send() {
      try {
+       if(!$this->PreSend()) return false;
+       return $this->PostSend();
+     } catch (phpmailerException $e) {
+ 	  $this->SentMIMEMessage = '';
+       $this->SetError($e->getMessage());
+       if ($this->exceptions) {
+         throw $e;
+       }
+       return false;
+     }
+   }
+ 
+   protected function PreSend() {
+     try {
+ 	  $mailHeader = "";
        if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
          throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL);
        }
***************
*** 555,581 ****
  
        $this->error_count = 0; // reset errors
        $this->SetMessageType();
!       $header = $this->CreateHeader();
!       $body = $this->CreateBody();
! 
        if (empty($this->Body)) {
          throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL);
        }
  
        // digitally sign with DKIM if enabled
        if ($this->DKIM_domain && $this->DKIM_private) {
!         $header_dkim = $this->DKIM_Add($header,$this->Subject,$body);
!         $header = str_replace("\r\n","\n",$header_dkim) . $header;
        }
  
        // Choose the mailer and send through it
        switch($this->Mailer) {
          case 'sendmail':
!           return $this->SendmailSend($header, $body);
          case 'smtp':
!           return $this->SmtpSend($header, $body);
          default:
!           return $this->MailSend($header, $body);
        }
  
      } catch (phpmailerException $e) {
--- 610,667 ----
  
        $this->error_count = 0; // reset errors
        $this->SetMessageType();
!       //Refuse to send an empty message
        if (empty($this->Body)) {
          throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL);
        }
  
+       $this->MIMEHeader = $this->CreateHeader();
+       $this->MIMEBody = $this->CreateBody();
+ 
+       // To capture the complete message when using mail(), create
+ 	  // an extra header list which CreateHeader() doesn't fold in
+       if ($this->Mailer == 'mail') {
+         if (count($this->to) > 0) {
+           $mailHeader .= $this->AddrAppend("To", $this->to);
+         } else {
+           $mailHeader .= $this->HeaderLine("To", "undisclosed-recipients:;");
+         }
+         $mailHeader .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader(trim($this->Subject))));
+         // if(count($this->cc) > 0) {
+             // $mailHeader .= $this->AddrAppend("Cc", $this->cc);
+         // }
+       }
+ 
        // digitally sign with DKIM if enabled
        if ($this->DKIM_domain && $this->DKIM_private) {
!         $header_dkim = $this->DKIM_Add($this->MIMEHeader, $this->EncodeHeader($this->SecureHeader($this->Subject)), $this->MIMEBody);
!         $this->MIMEHeader = str_replace("\r\n", "\n", $header_dkim) . $this->MIMEHeader;
!       }
! 
!       $this->SentMIMEMessage = sprintf("%s%s\r\n\r\n%s",$this->MIMEHeader,$mailHeader,$this->MIMEBody);
!       return true;
! 
!     } catch (phpmailerException $e) {
!       $this->SetError($e->getMessage());
!       if ($this->exceptions) {
!         throw $e;
        }
+       return false;
+     }
+   }
  
+   protected function PostSend() {
+     try {
        // Choose the mailer and send through it
        switch($this->Mailer) {
          case 'sendmail':
!           return $this->SendmailSend($this->MIMEHeader, $this->MIMEBody);
          case 'smtp':
!           return $this->SmtpSend($this->MIMEHeader, $this->MIMEBody);
!         case 'mail':
!           return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
          default:
!           return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
        }
  
      } catch (phpmailerException $e) {
***************
*** 583,589 ****
        if ($this->exceptions) {
          throw $e;
        }
!       echo $e->getMessage()."\n";
        return false;
      }
    }
--- 669,677 ----
        if ($this->exceptions) {
          throw $e;
        }
! 	  if ($this->SMTPDebug) {
!         echo $e->getMessage()."\n";
!       }
        return false;
      }
    }
***************
*** 612,618 ****
          $result = pclose($mail);
          // implement call back function if it exists
          $isSent = ($result == 0) ? 1 : 0;
!         $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body);
          if($result != 0) {
            throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
          }
--- 700,706 ----
          $result = pclose($mail);
          // implement call back function if it exists
          $isSent = ($result == 0) ? 1 : 0;
!         $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
          if($result != 0) {
            throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
          }
***************
*** 626,632 ****
        $result = pclose($mail);
        // implement call back function if it exists
        $isSent = ($result == 0) ? 1 : 0;
!       $this->doCallback($isSent,$this->to,$this->cc,$this->bcc,$this->Subject,$body);
        if($result != 0) {
          throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
        }
--- 714,720 ----
        $result = pclose($mail);
        // implement call back function if it exists
        $isSent = ($result == 0) ? 1 : 0;
!       $this->doCallback($isSent, $this->to, $this->cc, $this->bcc, $this->Subject, $body);
        if($result != 0) {
          throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
        }
***************
*** 648,655 ****
      }
      $to = implode(', ', $toArr);
  
!     $params = sprintf("-oi -f %s", $this->Sender);
!     if ($this->Sender != '' && strlen(ini_get('safe_mode'))< 1) {
        $old_from = ini_get('sendmail_from');
        ini_set('sendmail_from', $this->Sender);
        if ($this->SingleTo === true && count($toArr) > 1) {
--- 736,747 ----
      }
      $to = implode(', ', $toArr);
  
!     if (empty($this->Sender)) {
!       $params = "-oi ";
!     } else {
!       $params = sprintf("-oi -f %s", $this->Sender);
!     }
!     if ($this->Sender != '' and !ini_get('safe_mode')) {
        $old_from = ini_get('sendmail_from');
        ini_set('sendmail_from', $this->Sender);
        if ($this->SingleTo === true && count($toArr) > 1) {
***************
*** 657,669 ****
            $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
            // implement call back function if it exists
            $isSent = ($rt == 1) ? 1 : 0;
!           $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body);
          }
        } else {
          $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
          // implement call back function if it exists
          $isSent = ($rt == 1) ? 1 : 0;
!         $this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body);
        }
      } else {
        if ($this->SingleTo === true && count($toArr) > 1) {
--- 749,761 ----
            $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
            // implement call back function if it exists
            $isSent = ($rt == 1) ? 1 : 0;
!           $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
          }
        } else {
          $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
          // implement call back function if it exists
          $isSent = ($rt == 1) ? 1 : 0;
!         $this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body);
        }
      } else {
        if ($this->SingleTo === true && count($toArr) > 1) {
***************
*** 671,683 ****
            $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
            // implement call back function if it exists
            $isSent = ($rt == 1) ? 1 : 0;
!           $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body);
          }
        } else {
!         $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header);
          // implement call back function if it exists
          $isSent = ($rt == 1) ? 1 : 0;
!         $this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body);
        }
      }
      if (isset($old_from)) {
--- 763,775 ----
            $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
            // implement call back function if it exists
            $isSent = ($rt == 1) ? 1 : 0;
!           $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
          }
        } else {
!         $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
          // implement call back function if it exists
          $isSent = ($rt == 1) ? 1 : 0;
!         $this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body);
        }
      }
      if (isset($old_from)) {
***************
*** 716,726 ****
          $bad_rcpt[] = $to[0];
          // implement call back function if it exists
          $isSent = 0;
!         $this->doCallback($isSent,$to[0],'','',$this->Subject,$body);
        } else {
          // implement call back function if it exists
          $isSent = 1;
!         $this->doCallback($isSent,$to[0],'','',$this->Subject,$body);
        }
      }
      foreach($this->cc as $cc) {
--- 808,818 ----
          $bad_rcpt[] = $to[0];
          // implement call back function if it exists
          $isSent = 0;
!         $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body);
        } else {
          // implement call back function if it exists
          $isSent = 1;
!         $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body);
        }
      }
      foreach($this->cc as $cc) {
***************
*** 728,738 ****
          $bad_rcpt[] = $cc[0];
          // implement call back function if it exists
          $isSent = 0;
!         $this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body);
        } else {
          // implement call back function if it exists
          $isSent = 1;
!         $this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body);
        }
      }
      foreach($this->bcc as $bcc) {
--- 820,830 ----
          $bad_rcpt[] = $cc[0];
          // implement call back function if it exists
          $isSent = 0;
!         $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body);
        } else {
          // implement call back function if it exists
          $isSent = 1;
!         $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body);
        }
      }
      foreach($this->bcc as $bcc) {
***************
*** 740,750 ****
          $bad_rcpt[] = $bcc[0];
          // implement call back function if it exists
          $isSent = 0;
!         $this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body);
        } else {
          // implement call back function if it exists
          $isSent = 1;
!         $this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body);
        }
      }
  
--- 832,842 ----
          $bad_rcpt[] = $bcc[0];
          // implement call back function if it exists
          $isSent = 0;
!         $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body);
        } else {
          // implement call back function if it exists
          $isSent = 1;
!         $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body);
        }
      }
  
***************
*** 822,828 ****
        }
      } catch (phpmailerException $e) {
        $this->smtp->Reset();
!       throw $e;
      }
      return true;
    }
--- 914,922 ----
        }
      } catch (phpmailerException $e) {
        $this->smtp->Reset();
! 	  if ($this->exceptions) {
!         throw $e;
!       }
      }
      return true;
    }
***************
*** 942,948 ****
  
      $line = explode($this->LE, $message);
      $message = '';
!     for ($i=0 ;$i < count($line); $i++) {
        $line_part = explode(' ', $line[$i]);
        $buf = '';
        for ($e = 0; $e<count($line_part); $e++) {
--- 1036,1042 ----
  
      $line = explode($this->LE, $message);
      $message = '';
!     for ($i = 0 ;$i < count($line); $i++) {
        $line_part = explode(' ', $line[$i]);
        $buf = '';
        for ($e = 0; $e<count($line_part); $e++) {
***************
*** 1056,1062 ****
  
      switch($this->message_type) {
        case 'alt':
!       case 'alt_attachments':
          $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap);
          break;
        default:
--- 1150,1158 ----
  
      switch($this->message_type) {
        case 'alt':
!       case 'alt_inline':
!       case 'alt_attach':
!       case 'alt_inline_attach':
          $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap);
          break;
        default:
***************
*** 1077,1082 ****
--- 1173,1179 ----
      $uniq_id = md5(uniqid(time()));
      $this->boundary[1] = 'b1_' . $uniq_id;
      $this->boundary[2] = 'b2_' . $uniq_id;
+     $this->boundary[3] = 'b3_' . $uniq_id;
  
      $result .= $this->HeaderLine('Date', self::RFCDate());
      if($this->Sender == '') {
***************
*** 1098,1104 ****
            $result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
          }
        }
!     }
  
      $from = array();
      $from[0][0] = trim($this->From);
--- 1195,1201 ----
            $result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
          }
        }
! 	}
  
      $from = array();
      $from[0][0] = trim($this->From);
***************
*** 1116,1122 ****
      }
  
      if(count($this->ReplyTo) > 0) {
!       $result .= $this->AddrAppend('Reply-to', $this->ReplyTo);
      }
  
      // mail() sets the subject itself
--- 1213,1219 ----
      }
  
      if(count($this->ReplyTo) > 0) {
!       $result .= $this->AddrAppend('Reply-To', $this->ReplyTo);
      }
  
      // mail() sets the subject itself
***************
*** 1125,1136 ****
      }
  
      if($this->MessageID != '') {
!       $result .= $this->HeaderLine('Message-ID',$this->MessageID);
      } else {
        $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
      }
      $result .= $this->HeaderLine('X-Priority', $this->Priority);
!     $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (phpmailer.sourceforge.net)');
  
      if($this->ConfirmReadingTo != '') {
        $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
--- 1222,1237 ----
      }
  
      if($this->MessageID != '') {
!       $result .= $this->HeaderLine('Message-ID', $this->MessageID);
      } else {
        $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
      }
      $result .= $this->HeaderLine('X-Priority', $this->Priority);
!     if($this->XMailer) {
!       $result .= $this->HeaderLine('X-Mailer', $this->XMailer);
!     } else {
!       $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (http://code.google.com/a/apache-extras.org/p/phpmailer/)');
!     }
  
      if($this->ConfirmReadingTo != '') {
        $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
***************
*** 1158,1175 ****
      switch($this->message_type) {
        case 'plain':
          $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding);
!         $result .= sprintf("Content-Type: %s; charset=\"%s\"", $this->ContentType, $this->CharSet);
          break;
!       case 'attachments':
!       case 'alt_attachments':
!         if($this->InlineImageExists()){
!           $result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", 'multipart/related', $this->LE, $this->LE, $this->boundary[1], $this->LE);
!         } else {
!           $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;');
!           $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
!         }
          break;
        case 'alt':
          $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
          $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
          break;
--- 1259,1279 ----
      switch($this->message_type) {
        case 'plain':
          $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding);
!         $result .= $this->TextLine('Content-Type: '.$this->ContentType.'; charset="'.$this->CharSet.'"');
          break;
!       case 'inline':
!         $result .= $this->HeaderLine('Content-Type', 'multipart/related;');
!         $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
!         break;
!       case 'attach':
!       case 'inline_attach':
!       case 'alt_attach':
!       case 'alt_inline_attach':
!         $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;');
!         $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
          break;
        case 'alt':
+       case 'alt_inline':
          $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
          $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
          break;
***************
*** 1183,1188 ****
--- 1287,1302 ----
    }
  
    /**
+    * Returns the MIME message (headers and body). Only really valid post PreSend().
+    * @access public
+    * @return string
+    */
+   public function GetSentMIMEMessage() {
+     return $this->SentMIMEMessage;
+   }
+ 
+ 
+   /**
     * Assembles the message body.  Returns an empty string on failure.
     * @access public
     * @return string The assembled message body
***************
*** 1197,1202 ****
--- 1311,1343 ----
      $this->SetWordWrap();
  
      switch($this->message_type) {
+       case 'plain':
+         $body .= $this->EncodeString($this->Body, $this->Encoding);
+         break;
+       case 'inline':
+         $body .= $this->GetBoundary($this->boundary[1], '', '', '');
+         $body .= $this->EncodeString($this->Body, $this->Encoding);
+         $body .= $this->LE.$this->LE;
+         $body .= $this->AttachAll("inline", $this->boundary[1]);
+         break;
+       case 'attach':
+         $body .= $this->GetBoundary($this->boundary[1], '', '', '');
+         $body .= $this->EncodeString($this->Body, $this->Encoding);
+         $body .= $this->LE.$this->LE;
+         $body .= $this->AttachAll("attachment", $this->boundary[1]);
+         break;
+       case 'inline_attach':
+         $body .= $this->TextLine("--" . $this->boundary[1]);
+         $body .= $this->HeaderLine('Content-Type', 'multipart/related;');
+         $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
+         $body .= $this->LE;
+         $body .= $this->GetBoundary($this->boundary[2], '', '', '');
+         $body .= $this->EncodeString($this->Body, $this->Encoding);
+         $body .= $this->LE.$this->LE;
+         $body .= $this->AttachAll("inline", $this->boundary[2]);
+         $body .= $this->LE;
+         $body .= $this->AttachAll("attachment", $this->boundary[1]);
+         break;
        case 'alt':
          $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', '');
          $body .= $this->EncodeString($this->AltBody, $this->Encoding);
***************
*** 1206,1231 ****
          $body .= $this->LE.$this->LE;
          $body .= $this->EndBoundary($this->boundary[1]);
          break;
!       case 'plain':
          $body .= $this->EncodeString($this->Body, $this->Encoding);
          break;
!       case 'attachments':
!         $body .= $this->GetBoundary($this->boundary[1], '', '', '');
          $body .= $this->EncodeString($this->Body, $this->Encoding);
          $body .= $this->LE;
!         $body .= $this->AttachAll();
          break;
!       case 'alt_attachments':
!         $body .= sprintf("--%s%s", $this->boundary[1], $this->LE);
!         $body .= sprintf("Content-Type: %s;%s" . "\tboundary=\"%s\"%s", 'multipart/alternative', $this->LE, $this->boundary[2], $this->LE.$this->LE);
!         $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '') . $this->LE; // Create text body
          $body .= $this->EncodeString($this->AltBody, $this->Encoding);
          $body .= $this->LE.$this->LE;
!         $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '') . $this->LE; // Create the HTML body
          $body .= $this->EncodeString($this->Body, $this->Encoding);
          $body .= $this->LE.$this->LE;
          $body .= $this->EndBoundary($this->boundary[2]);
!         $body .= $this->AttachAll();
          break;
      }
  
--- 1347,1402 ----
          $body .= $this->LE.$this->LE;
          $body .= $this->EndBoundary($this->boundary[1]);
          break;
!       case 'alt_inline':
!         $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', '');
!         $body .= $this->EncodeString($this->AltBody, $this->Encoding);
!         $body .= $this->LE.$this->LE;
!         $body .= $this->TextLine("--" . $this->boundary[1]);
!         $body .= $this->HeaderLine('Content-Type', 'multipart/related;');
!         $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
!         $body .= $this->LE;
!         $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '');
          $body .= $this->EncodeString($this->Body, $this->Encoding);
+         $body .= $this->LE.$this->LE;
+         $body .= $this->AttachAll("inline", $this->boundary[2]);
+         $body .= $this->LE;
+         $body .= $this->EndBoundary($this->boundary[1]);
          break;
!       case 'alt_attach':
!         $body .= $this->TextLine("--" . $this->boundary[1]);
!         $body .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
!         $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
!         $body .= $this->LE;
!         $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '');
!         $body .= $this->EncodeString($this->AltBody, $this->Encoding);
!         $body .= $this->LE.$this->LE;
!         $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '');
          $body .= $this->EncodeString($this->Body, $this->Encoding);
+         $body .= $this->LE.$this->LE;
+         $body .= $this->EndBoundary($this->boundary[2]);
          $body .= $this->LE;
!         $body .= $this->AttachAll("attachment", $this->boundary[1]);
          break;
!       case 'alt_inline_attach':
!         $body .= $this->TextLine("--" . $this->boundary[1]);
!         $body .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
!         $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
!         $body .= $this->LE;
!         $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '');
          $body .= $this->EncodeString($this->AltBody, $this->Encoding);
          $body .= $this->LE.$this->LE;
!         $body .= $this->TextLine("--" . $this->boundary[2]);
!         $body .= $this->HeaderLine('Content-Type', 'multipart/related;');
!         $body .= $this->TextLine("\tboundary=\"" . $this->boundary[3] . '"');
!         $body .= $this->LE;
!         $body .= $this->GetBoundary($this->boundary[3], '', 'text/html', '');
          $body .= $this->EncodeString($this->Body, $this->Encoding);
          $body .= $this->LE.$this->LE;
+         $body .= $this->AttachAll("inline", $this->boundary[3]);
+         $body .= $this->LE;
          $body .= $this->EndBoundary($this->boundary[2]);
!         $body .= $this->LE;
!         $body .= $this->AttachAll("attachment", $this->boundary[1]);
          break;
      }
  
***************
*** 1238,1245 ****
          $signed = tempnam("", "signed");
          if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) {
            @unlink($file);
-           @unlink($signed);
            $body = file_get_contents($signed);
          } else {
            @unlink($file);
            @unlink($signed);
--- 1409,1416 ----
          $signed = tempnam("", "signed");
          if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) {
            @unlink($file);
            $body = file_get_contents($signed);
+           @unlink($signed);
          } else {
            @unlink($file);
            @unlink($signed);
***************
*** 1258,1266 ****
  
    /**
     * Returns the start of a message boundary.
!    * @access private
     */
!   private function GetBoundary($boundary, $charSet, $contentType, $encoding) {
      $result = '';
      if($charSet == '') {
        $charSet = $this->CharSet;
--- 1429,1438 ----
  
    /**
     * Returns the start of a message boundary.
!    * @access protected
!    * @return string
     */
!   protected function GetBoundary($boundary, $charSet, $contentType, $encoding) {
      $result = '';
      if($charSet == '') {
        $charSet = $this->CharSet;
***************
*** 1272,1278 ****
        $encoding = $this->Encoding;
      }
      $result .= $this->TextLine('--' . $boundary);
!     $result .= sprintf("Content-Type: %s; charset = \"%s\"", $contentType, $charSet);
      $result .= $this->LE;
      $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding);
      $result .= $this->LE;
--- 1444,1450 ----
        $encoding = $this->Encoding;
      }
      $result .= $this->TextLine('--' . $boundary);
!     $result .= sprintf("Content-Type: %s; charset=\"%s\"", $contentType, $charSet);
      $result .= $this->LE;
      $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding);
      $result .= $this->LE;
***************
*** 1282,1312 ****
  
    /**
     * Returns the end of a message boundary.
!    * @access private
     */
!   private function EndBoundary($boundary) {
      return $this->LE . '--' . $boundary . '--' . $this->LE;
    }
  
    /**
     * Sets the message type.
!    * @access private
     * @return void
     */
!   private function SetMessageType() {
!     if(count($this->attachment) < 1 && strlen($this->AltBody) < 1) {
!       $this->message_type = 'plain';
!     } else {
!       if(count($this->attachment) > 0) {
!         $this->message_type = 'attachments';
!       }
!       if(strlen($this->AltBody) > 0 && count($this->attachment) < 1) {
!         $this->message_type = 'alt';
!       }
!       if(strlen($this->AltBody) > 0 && count($this->attachment) > 0) {
!         $this->message_type = 'alt_attachments';
!       }
!     }
    }
  
    /**
--- 1454,1478 ----
  
    /**
     * Returns the end of a message boundary.
!    * @access protected
!    * @return string
     */
!   protected function EndBoundary($boundary) {
      return $this->LE . '--' . $boundary . '--' . $this->LE;
    }
  
    /**
     * Sets the message type.
!    * @access protected
     * @return void
     */
!   protected function SetMessageType() {
!     $this->message_type = array();
!     if($this->AlternativeExists()) $this->message_type[] = "alt";
!     if($this->InlineImageExists()) $this->message_type[] = "inline";
!     if($this->AttachmentExists()) $this->message_type[] = "attach";
!     $this->message_type = implode("_", $this->message_type);
!     if($this->message_type == "") $this->message_type = "plain";
    }
  
    /**
***************
*** 1367,1373 ****
        if ($this->exceptions) {
          throw $e;
        }
!       echo $e->getMessage()."\n";
        if ( $e->getCode() == self::STOP_CRITICAL ) {
          return false;
        }
--- 1533,1541 ----
        if ($this->exceptions) {
          throw $e;
        }
! 	  if ($this->SMTPDebug) {
!         echo $e->getMessage()."\n";
!       }
        if ( $e->getCode() == self::STOP_CRITICAL ) {
          return false;
        }
***************
*** 1386,1395 ****
    /**
     * Attaches all fs, string, and binary attachments to the message.
     * Returns an empty string on failure.
!    * @access private
     * @return string
     */
!   private function AttachAll() {
      // Return text of body
      $mime = array();
      $cidUniq = array();
--- 1554,1563 ----
    /**
     * Attaches all fs, string, and binary attachments to the message.
     * Returns an empty string on failure.
!    * @access protected
     * @return string
     */
!   protected function AttachAll($disposition_type, $boundary) {
      // Return text of body
      $mime = array();
      $cidUniq = array();
***************
*** 1397,1450 ****
  
      // Add all attachments
      foreach ($this->attachment as $attachment) {
!       // Check for string attachment
!       $bString = $attachment[5];
!       if ($bString) {
!         $string = $attachment[0];
!       } else {
!         $path = $attachment[0];
!       }
! 
!       if (in_array($attachment[0], $incl)) { continue; }
!       $filename    = $attachment[1];
!       $name        = $attachment[2];
!       $encoding    = $attachment[3];
!       $type        = $attachment[4];
!       $disposition = $attachment[6];
!       $cid         = $attachment[7];
!       $incl[]      = $attachment[0];
!       if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; }
!       $cidUniq[$cid] = true;
! 
!       $mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE);
!       $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE);
!       $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
! 
!       if($disposition == 'inline') {
!         $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
!       }
! 
!       $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
! 
!       // Encode as string attachment
!       if($bString) {
!         $mime[] = $this->EncodeString($string, $encoding);
!         if($this->IsError()) {
!           return '';
          }
!         $mime[] = $this->LE.$this->LE;
!       } else {
!         $mime[] = $this->EncodeFile($path, $encoding);
!         if($this->IsError()) {
!           return '';
          }
-         $mime[] = $this->LE.$this->LE;
        }
      }
  
!     $mime[] = sprintf("--%s--%s", $this->boundary[1], $this->LE);
  
!     return join('', $mime);
    }
  
    /**
--- 1565,1622 ----
  
      // Add all attachments
      foreach ($this->attachment as $attachment) {
!       // CHECK IF IT IS A VALID DISPOSITION_FILTER
!       if($attachment[6] == $disposition_type) {
!         // Check for string attachment
!         $bString = $attachment[5];
!         if ($bString) {
!           $string = $attachment[0];
!         } else {
!           $path = $attachment[0];
          }
! 
!         $inclhash = md5(serialize($attachment));
!         if (in_array($inclhash, $incl)) { continue; }
!         $incl[]      = $inclhash;
!         $filename    = $attachment[1];
!         $name        = $attachment[2];
!         $encoding    = $attachment[3];
!         $type        = $attachment[4];
!         $disposition = $attachment[6];
!         $cid         = $attachment[7];
!         if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; }
!         $cidUniq[$cid] = true;
! 
!         $mime[] = sprintf("--%s%s", $boundary, $this->LE);
!         $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE);
!         $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
! 
!         if($disposition == 'inline') {
!           $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
!         }
! 
!         $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
! 
!         // Encode as string attachment
!         if($bString) {
!           $mime[] = $this->EncodeString($string, $encoding);
!           if($this->IsError()) {
!             return '';
!           }
!           $mime[] = $this->LE.$this->LE;
!         } else {
!           $mime[] = $this->EncodeFile($path, $encoding);
!           if($this->IsError()) {
!             return '';
!           }
!           $mime[] = $this->LE.$this->LE;
          }
        }
      }
  
!     $mime[] = sprintf("--%s--%s", $boundary, $this->LE);
  
!     return implode("", $mime);
    }
  
    /**
***************
*** 1453,1462 ****
     * @param string $path The full path to the file
     * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
     * @see EncodeFile()
!    * @access private
     * @return string
     */
!   private function EncodeFile($path, $encoding = 'base64') {
      try {
        if (!is_readable($path)) {
          throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE);
--- 1625,1634 ----
     * @param string $path The full path to the file
     * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
     * @see EncodeFile()
!    * @access protected
     * @return string
     */
!   protected function EncodeFile($path, $encoding = 'base64') {
      try {
        if (!is_readable($path)) {
          throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE);
***************
*** 1466,1478 ****
            return false;
          }
        }
!       if (PHP_VERSION < 6) {
!         $magic_quotes = get_magic_quotes_runtime();
!         set_magic_quotes_runtime(0);
!       }
        $file_buffer  = file_get_contents($path);
        $file_buffer  = $this->EncodeString($file_buffer, $encoding);
!       if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); }
        return $file_buffer;
      } catch (Exception $e) {
        $this->SetError($e->getMessage());
--- 1638,1660 ----
            return false;
          }
        }
! 	  $magic_quotes = get_magic_quotes_runtime();
! 	  if ($magic_quotes) {
!         if (version_compare(PHP_VERSION, '5.3.0', '<')) {
!           set_magic_quotes_runtime(0);
!         } else {
! 		  ini_set('magic_quotes_runtime', 0);
! 		}
! 	  }
        $file_buffer  = file_get_contents($path);
        $file_buffer  = $this->EncodeString($file_buffer, $encoding);
! 	  if ($magic_quotes) {
!         if (version_compare(PHP_VERSION, '5.3.0', '<')) {
!           set_magic_quotes_runtime($magic_quotes);
!         } else {
! 		  ini_set('magic_quotes_runtime', $magic_quotes);
! 	    }
! 	  }
        return $file_buffer;
      } catch (Exception $e) {
        $this->SetError($e->getMessage());
***************
*** 1488,1494 ****
     * @access public
     * @return string
     */
!   public function EncodeString ($str, $encoding = 'base64') {
      $encoded = '';
      switch(strtolower($encoding)) {
        case 'base64':
--- 1670,1676 ----
     * @access public
     * @return string
     */
!   public function EncodeString($str, $encoding = 'base64') {
      $encoded = '';
      switch(strtolower($encoding)) {
        case 'base64':
***************
*** 1637,1643 ****
    * @return string
    */
    public function EncodeQPphp( $input = '', $line_max = 76, $space_conv = false) {
!     $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
      $lines = preg_split('/(?:\r\n|\r|\n)/', $input);
      $eol = "\r\n";
      $escape = '=';
--- 1819,1825 ----
    * @return string
    */
    public function EncodeQPphp( $input = '', $line_max = 76, $space_conv = false) {
!     $hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
      $lines = preg_split('/(?:\r\n|\r|\n)/', $input);
      $eol = "\r\n";
      $escape = '=';
***************
*** 1718,1724 ****
     * @access public
     * @return string
     */
!   public function EncodeQ ($str, $position = 'text') {
      // There should not be any EOL in the string
      $encoded = preg_replace('/[\r\n]*/', '', $str);
  
--- 1900,1906 ----
     * @access public
     * @return string
     */
!   public function EncodeQ($str, $position = 'text') {
      // There should not be any EOL in the string
      $encoded = preg_replace('/[\r\n]*/', '', $str);
  
***************
*** 1733,1739 ****
          // Replace every high ascii, control =, ? and _ characters
          //TODO using /e (equivalent to eval()) is probably not a good idea
          $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',
!               "'='.sprintf('%02X', ord('\\1'))", $encoded);
          break;
      }
  
--- 1915,1921 ----
          // Replace every high ascii, control =, ? and _ characters
          //TODO using /e (equivalent to eval()) is probably not a good idea
          $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e',
!                                 "'='.sprintf('%02X', ord(stripslashes('\\1')))", $encoded);
          break;
      }
  
***************
*** 1807,1812 ****
--- 1989,2008 ----
      return true;
    }
  
+   public function AddStringEmbeddedImage($string, $cid, $filename = '', $encoding = 'base64', $type = 'application/octet-stream') {
+     // Append to $attachment array
+     $this->attachment[] = array(
+       0 => $string,
+       1 => $filename,
+       2 => basename($filename),
+       3 => $encoding,
+       4 => $type,
+       5 => true,  // isStringAttachment
+       6 => 'inline',
+       7 => $cid
+     );
+   }
+ 
    /**
     * Returns true if an inline attachment is present.
     * @access public
***************
*** 1821,1826 ****
--- 2017,2035 ----
      return false;
    }
  
+   public function AttachmentExists() {
+     foreach($this->attachment as $attachment) {
+       if ($attachment[6] == 'attachment') {
+         return true;
+       }
+     }
+     return false;
+   }
+ 
+   public function AlternativeExists() {
+     return strlen($this->AltBody)>0;
+   }
+ 
    /////////////////////////////////////////////////
    // CLASS METHODS, MESSAGE RESET
    /////////////////////////////////////////////////
***************
*** 1933,1942 ****
  
    /**
     * Returns the server hostname or 'localhost.localdomain' if unknown.
!    * @access private
     * @return string
     */
!   private function ServerHostname() {
      if (!empty($this->Hostname)) {
        $result = $this->Hostname;
      } elseif (isset($_SERVER['SERVER_NAME'])) {
--- 2142,2151 ----
  
    /**
     * Returns the server hostname or 'localhost.localdomain' if unknown.
!    * @access protected
     * @return string
     */
!   protected function ServerHostname() {
      if (!empty($this->Hostname)) {
        $result = $this->Hostname;
      } elseif (isset($_SERVER['SERVER_NAME'])) {
***************
*** 1950,1959 ****
  
    /**
     * Returns a message in the appropriate language.
!    * @access private
     * @return string
     */
!   private function Lang($key) {
      if(count($this->language) < 1) {
        $this->SetLanguage('en'); // set the default language
      }
--- 2159,2168 ----
  
    /**
     * Returns a message in the appropriate language.
!    * @access protected
     * @return string
     */
!   protected function Lang($key) {
      if(count($this->language) < 1) {
        $this->SetLanguage('en'); // set the default language
      }
***************
*** 1976,1985 ****
  
    /**
     * Changes every end of line from CR or LF to CRLF.
!    * @access private
     * @return string
     */
!   private function FixEOL($str) {
      $str = str_replace("\r\n", "\n", $str);
      $str = str_replace("\r", "\n", $str);
      $str = str_replace("\n", $this->LE, $str);
--- 2185,2194 ----
  
    /**
     * Changes every end of line from CR or LF to CRLF.
!    * @access public
     * @return string
     */
!   public function FixEOL($str) {
      $str = str_replace("\r\n", "\n", $str);
      $str = str_replace("\r", "\n", $str);
      $str = str_replace("\n", $this->LE, $str);
***************
*** 2001,2034 ****
     * @return $message
     */
    public function MsgHTML($message, $basedir = '') {
!     preg_match_all("/(src|background)=\"(.*)\"/Ui", $message, $images);
      if(isset($images[2])) {
        foreach($images[2] as $i => $url) {
          // do not change urls for absolute images (thanks to corvuscorax)
!         if (!preg_match('#^[A-z]+://#',$url)) {
            $filename = basename($url);
            $directory = dirname($url);
!           ($directory == '.')?$directory='':'';
            $cid = 'cid:' . md5($filename);
            $ext = pathinfo($filename, PATHINFO_EXTENSION);
            $mimeType  = self::_mime_types($ext);
!           if ( strlen($basedir) > 1 && substr($basedir,-1) != '/') { $basedir .= '/'; }
!           if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; }
!           if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64',$mimeType) ) {
!             $message = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $message);
            }
          }
        }
      }
      $this->IsHTML(true);
      $this->Body = $message;
!     $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s','',$message)));
!     if (!empty($textMsg) && empty($this->AltBody)) {
!       $this->AltBody = html_entity_decode($textMsg);
!     }
      if (empty($this->AltBody)) {
        $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n";
      }
    }
  
    /**
--- 2210,2246 ----
     * @return $message
     */
    public function MsgHTML($message, $basedir = '') {
!     preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images);
      if(isset($images[2])) {
        foreach($images[2] as $i => $url) {
          // do not change urls for absolute images (thanks to corvuscorax)
!         if (!preg_match('#^[A-z]+://#', $url)) {
            $filename = basename($url);
            $directory = dirname($url);
!           ($directory == '.') ? $directory='': '';
            $cid = 'cid:' . md5($filename);
            $ext = pathinfo($filename, PATHINFO_EXTENSION);
            $mimeType  = self::_mime_types($ext);
!           if ( strlen($basedir) > 1 && substr($basedir, -1) != '/') { $basedir .= '/'; }
!           if ( strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
!           if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64', $mimeType) ) {
!             $message = preg_replace("/".$images[1][$i]."=[\"']".preg_quote($url, '/')."[\"']/Ui", $images[1][$i]."=\"".$cid."\"", $message);
            }
          }
        }
      }
      $this->IsHTML(true);
      $this->Body = $message;
! 	if (empty($this->AltBody)) {
! 		$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message)));
! 		if (!empty($textMsg)) {
! 			$this->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $this->CharSet);
! 		}
! 	}
      if (empty($this->AltBody)) {
        $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n";
      }
+ 	return $message;
    }
  
    /**
***************
*** 2192,2205 ****
     * @param string $key_pass Password for private key
     */
    public function DKIM_QP($txt) {
!     $tmp="";
!     $line="";
!     for ($i=0;$i<strlen($txt);$i++) {
!       $ord=ord($txt[$i]);
        if ( ((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E)) ) {
!         $line.=$txt[$i];
        } else {
!         $line.="=".sprintf("%02X",$ord);
        }
      }
      return $line;
--- 2404,2417 ----
     * @param string $key_pass Password for private key
     */
    public function DKIM_QP($txt) {
!     $tmp = '';
!     $line = '';
!     for ($i = 0; $i < strlen($txt); $i++) {
!       $ord = ord($txt[$i]);
        if ( ((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E)) ) {
!         $line .= $txt[$i];
        } else {
!         $line .= "=".sprintf("%02X", $ord);
        }
      }
      return $line;
***************
*** 2213,2220 ****
     */
    public function DKIM_Sign($s) {
      $privKeyStr = file_get_contents($this->DKIM_private);
!     if ($this->DKIM_passphrase!='') {
!       $privKey = openssl_pkey_get_private($privKeyStr,$this->DKIM_passphrase);
      } else {
        $privKey = $privKeyStr;
      }
--- 2425,2432 ----
     */
    public function DKIM_Sign($s) {
      $privKeyStr = file_get_contents($this->DKIM_private);
!     if ($this->DKIM_passphrase != '') {
!       $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
      } else {
        $privKey = $privKeyStr;
      }
***************
*** 2230,2244 ****
     * @param string $s Header
     */
    public function DKIM_HeaderC($s) {
!     $s=preg_replace("/\r\n\s+/"," ",$s);
!     $lines=explode("\r\n",$s);
!     foreach ($lines as $key=>$line) {
!       list($heading,$value)=explode(":",$line,2);
!       $heading=strtolower($heading);
!       $value=preg_replace("/\s+/"," ",$value) ; // Compress useless spaces
!       $lines[$key]=$heading.":".trim($value) ; // Don't forget to remove WSP around the value
      }
!     $s=implode("\r\n",$lines);
      return $s;
    }
  
--- 2442,2456 ----
     * @param string $s Header
     */
    public function DKIM_HeaderC($s) {
!     $s = preg_replace("/\r\n\s+/", " ", $s);
!     $lines = explode("\r\n", $s);
!     foreach ($lines as $key => $line) {
!       list($heading, $value) = explode(":", $line, 2);
!       $heading = strtolower($heading);
!       $value = preg_replace("/\s+/", " ", $value) ; // Compress useless spaces
!       $lines[$key] = $heading.":".trim($value) ; // Don't forget to remove WSP around the value
      }
!     $s = implode("\r\n", $lines);
      return $s;
    }
  
***************
*** 2251,2261 ****
    public function DKIM_BodyC($body) {
      if ($body == '') return "\r\n";
      // stabilize line endings
!     $body=str_replace("\r\n","\n",$body);
!     $body=str_replace("\n","\r\n",$body);
      // END stabilize line endings
!     while (substr($body,strlen($body)-4,4) == "\r\n\r\n") {
!       $body=substr($body,0,strlen($body)-2);
      }
      return $body;
    }
--- 2463,2473 ----
    public function DKIM_BodyC($body) {
      if ($body == '') return "\r\n";
      // stabilize line endings
!     $body = str_replace("\r\n", "\n", $body);
!     $body = str_replace("\n", "\r\n", $body);
      // END stabilize line endings
!     while (substr($body, strlen($body) - 4, 4) == "\r\n\r\n") {
!       $body = substr($body, 0, strlen($body) - 2);
      }
      return $body;
    }
***************
*** 2268,2290 ****
     * @param string $subject Subject
     * @param string $body Body
     */
!   public function DKIM_Add($headers_line,$subject,$body) {
      $DKIMsignatureType    = 'rsa-sha1'; // Signature & hash algorithms
      $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body
      $DKIMquery            = 'dns/txt'; // Query method
      $DKIMtime             = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone)
      $subject_header       = "Subject: $subject";
!     $headers              = explode("\r\n",$headers_line);
      foreach($headers as $header) {
!       if (strpos($header,'From:') === 0) {
!         $from_header=$header;
!       } elseif (strpos($header,'To:') === 0) {
!         $to_header=$header;
        }
      }
!     $from     = str_replace('|','=7C',$this->DKIM_QP($from_header));
!     $to       = str_replace('|','=7C',$this->DKIM_QP($to_header));
!     $subject  = str_replace('|','=7C',$this->DKIM_QP($subject_header)) ; // Copied header fields (dkim-quoted-printable
      $body     = $this->DKIM_BodyC($body);
      $DKIMlen  = strlen($body) ; // Length of body
      $DKIMb64  = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body
--- 2480,2502 ----
     * @param string $subject Subject
     * @param string $body Body
     */
!   public function DKIM_Add($headers_line, $subject, $body) {
      $DKIMsignatureType    = 'rsa-sha1'; // Signature & hash algorithms
      $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body
      $DKIMquery            = 'dns/txt'; // Query method
      $DKIMtime             = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone)
      $subject_header       = "Subject: $subject";
!     $headers              = explode($this->LE, $headers_line);
      foreach($headers as $header) {
!       if (strpos($header, 'From:') === 0) {
!         $from_header = $header;
!       } elseif (strpos($header, 'To:') === 0) {
!         $to_header = $header;
        }
      }
!     $from     = str_replace('|', '=7C', $this->DKIM_QP($from_header));
!     $to       = str_replace('|', '=7C', $this->DKIM_QP($to_header));
!     $subject  = str_replace('|', '=7C', $this->DKIM_QP($subject_header)) ; // Copied header fields (dkim-quoted-printable
      $body     = $this->DKIM_BodyC($body);
      $DKIMlen  = strlen($body) ; // Length of body
      $DKIMb64  = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body
***************
*** 2303,2312 ****
      return "X-PHPMAILER-DKIM: phpmailer.worxware.com\r\n".$dkimhdrs.$signed."\r\n";
    }
  
!   protected function doCallback($isSent,$to,$cc,$bcc,$subject,$body) {
      if (!empty($this->action_function) && function_exists($this->action_function)) {
!       $params = array($isSent,$to,$cc,$bcc,$subject,$body);
!       call_user_func_array($this->action_function,$params);
      }
    }
  }
--- 2515,2524 ----
      return "X-PHPMAILER-DKIM: phpmailer.worxware.com\r\n".$dkimhdrs.$signed."\r\n";
    }
  
!   protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body) {
      if (!empty($this->action_function) && function_exists($this->action_function)) {
!       $params = array($isSent, $to, $cc, $bcc, $subject, $body);
!       call_user_func_array($this->action_function, $params);
      }
    }
  }
***************
*** 2317,2320 ****
      return $errorMsg;
    }
  }
! ?>
\ No newline at end of file
--- 2529,2532 ----
      return $errorMsg;
    }
  }
! ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-simplepie.php ./wordpress-3.4/wp-includes/class-simplepie.php
*** ./wordpress-3.3.2/wp-includes/class-simplepie.php	2010-12-02 17:30:21.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-simplepie.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 1,12 ****
  <?php
! if ( !class_exists( 'SimplePie' ) ) :
  /**
   * SimplePie
   *
   * A PHP-Based RSS and Atom Feed Framework.
   * Takes the hard work out of managing a complete RSS/Atom solution.
   *
!  * Copyright (c) 2004-2009, Ryan Parman and Geoffrey Sneddon
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modification, are
--- 1,12 ----
  <?php
! if ( ! class_exists( 'SimplePie' ) ) :
  /**
   * SimplePie
   *
   * A PHP-Based RSS and Atom Feed Framework.
   * Takes the hard work out of managing a complete RSS/Atom solution.
   *
!  * Copyright (c) 2004-2011, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modification, are
***************
*** 34,43 ****
   * POSSIBILITY OF SUCH DAMAGE.
   *
   * @package SimplePie
!  * @version 1.2
!  * @copyright 2004-2009 Ryan Parman, Geoffrey Sneddon
   * @author Ryan Parman
   * @author Geoffrey Sneddon
   * @link http://simplepie.org/ SimplePie
   * @link http://simplepie.org/support/ Please submit all bug reports and feature requests to the SimplePie forums
   * @license http://www.opensource.org/licenses/bsd-license.php BSD License
--- 34,44 ----
   * POSSIBILITY OF SUCH DAMAGE.
   *
   * @package SimplePie
!  * @version 1.2.1
!  * @copyright 2004-2011 Ryan Parman, Geoffrey Sneddon, Ryan McCue
   * @author Ryan Parman
   * @author Geoffrey Sneddon
+  * @author Ryan McCue
   * @link http://simplepie.org/ SimplePie
   * @link http://simplepie.org/support/ Please submit all bug reports and feature requests to the SimplePie forums
   * @license http://www.opensource.org/licenses/bsd-license.php BSD License
***************
*** 52,63 ****
  /**
   * SimplePie Version
   */
! define('SIMPLEPIE_VERSION', '1.2');
  
  /**
   * SimplePie Build
   */
! define('SIMPLEPIE_BUILD', '20090627192103');
  
  /**
   * SimplePie Website URL
--- 53,64 ----
  /**
   * SimplePie Version
   */
! define('SIMPLEPIE_VERSION', '1.2.1');
  
  /**
   * SimplePie Build
   */
! define('SIMPLEPIE_BUILD', '20111015034325');
  
  /**
   * SimplePie Website URL
***************
*** 1672,1678 ****
  								$this->data = array('url' => $this->feed_url, 'feed_url' => $file->url, 'build' => SIMPLEPIE_BUILD);
  								if (!$cache->save($this))
  								{
! 									trigger_error("$this->cache_location is not writeable", E_USER_WARNING);
  								}
  								$cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc');
  							}
--- 1673,1679 ----
  								$this->data = array('url' => $this->feed_url, 'feed_url' => $file->url, 'build' => SIMPLEPIE_BUILD);
  								if (!$cache->save($this))
  								{
! 									trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
  								}
  								$cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc');
  							}
***************
*** 1680,1686 ****
  						}
  						else
  						{
! 							$this->error = "A feed could not be found at $this->feed_url";
  							SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
  							return false;
  						}
--- 1681,1687 ----
  						}
  						else
  						{
! 							$this->error = "A feed could not be found at $this->feed_url. A feed with an invalid mime type may fall victim to this error, or " . SIMPLEPIE_NAME . " was unable to auto-discover it.. Use force_feed() if you are certain this URL is a real feed.";
  							SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
  							return false;
  						}
***************
*** 1777,1803 ****
  							// Cache the file if caching is enabled
  							if ($cache && !$cache->save($this))
  							{
! 								trigger_error("$cache->name is not writeable", E_USER_WARNING);
  							}
  							return true;
  						}
  						else
  						{
! 							$this->error = "A feed could not be found at $this->feed_url";
  							SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
  							return false;
  						}
  					}
  				}
  			}
! 			if(isset($parser))
  			{
  				// We have an error, just set SimplePie_Misc::error to it and quit
! 				$this->error = sprintf('XML error: %s at line %d, column %d', $parser->get_error_string(), $parser->get_current_line(), $parser->get_current_column());
  			}
  			else
  			{
! 				$this->error = 'The data could not be converted to UTF-8';
  			}
  			SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
  			return false;
--- 1778,1804 ----
  							// Cache the file if caching is enabled
  							if ($cache && !$cache->save($this))
  							{
! 								trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
  							}
  							return true;
  						}
  						else
  						{
! 							$this->error = "A feed could not be found at $this->feed_url. This does not appear to be a valid RSS or Atom feed.";
  							SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
  							return false;
  						}
  					}
  				}
  			}
! 			if (isset($parser))
  			{
  				// We have an error, just set SimplePie_Misc::error to it and quit
! 				$this->error = sprintf('This XML document is invalid, likely due to invalid characters. XML error: %s at line %d, column %d', $parser->get_error_string(), $parser->get_current_line(), $parser->get_current_column());
  			}
  			else
  			{
! 				$this->error = 'The data could not be converted to UTF-8. You MUST have either the iconv or mbstring extension installed. Upgrading to PHP 5.x (which includes iconv) is highly recommended.';
  			}
  			SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
  			return false;
***************
*** 1831,1837 ****
  	}
  
  	/**
! 	 * Return the error message for the occurred error
  	 *
  	 * @access public
  	 * @return string Error message
--- 1832,1838 ----
  	}
  
  	/**
! 	 * Return the error message for the occured error
  	 *
  	 * @access public
  	 * @return string Error message
***************
*** 1984,1990 ****
  							}
  							else
  							{
! 								trigger_error("$cache->name is not writeable", E_USER_WARNING);
  								return $this->sanitize($favicon, SIMPLEPIE_CONSTRUCT_IRI);
  							}
  						}
--- 1985,1991 ----
  							}
  							else
  							{
! 								trigger_error("$cache->name is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
  								return $this->sanitize($favicon, SIMPLEPIE_CONSTRUCT_IRI);
  							}
  						}
***************
*** 2778,2784 ****
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', $return[0]['data'], $match))
  		{
  			return (float) $match[1];
  		}
--- 2780,2786 ----
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
  		{
  			return (float) $match[1];
  		}
***************
*** 2798,2804 ****
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', $return[0]['data'], $match))
  		{
  			return (float) $match[2];
  		}
--- 2800,2806 ----
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
  		{
  			return (float) $match[2];
  		}
***************
*** 3278,3283 ****
--- 3280,3290 ----
  		{
  			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  		}
+ 		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
+ 		{
+ 			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
+ 		}
+ 
  		elseif (!$description_only)
  		{
  			return $this->get_content(true);
***************
*** 3642,3648 ****
  		{
  			return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
  		}
! 		elseif (($date = $this->get_date('U')) !== null)
  		{
  			return strftime($date_format, $date);
  		}
--- 3649,3655 ----
  		{
  			return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
  		}
! 		elseif (($date = $this->get_date('U')) !== null && $date !== false)
  		{
  			return strftime($date_format, $date);
  		}
***************
*** 4428,5048 ****
  			// If we have media:group tags, loop through them.
  			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group') as $group)
  			{
! 				// If we have media:content tags, loop through them.
! 				foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
  				{
! 					if (isset($content['attribs']['']['url']))
  					{
! 						// Attributes
! 						$bitrate = null;
! 						$channels = null;
! 						$duration = null;
! 						$expression = null;
! 						$framerate = null;
! 						$height = null;
! 						$javascript = null;
! 						$lang = null;
! 						$length = null;
! 						$medium = null;
! 						$samplingrate = null;
! 						$type = null;
! 						$url = null;
! 						$width = null;
! 
! 						// Elements
! 						$captions = null;
! 						$categories = null;
! 						$copyrights = null;
! 						$credits = null;
! 						$description = null;
! 						$hashes = null;
! 						$keywords = null;
! 						$player = null;
! 						$ratings = null;
! 						$restrictions = null;
! 						$thumbnails = null;
! 						$title = null;
! 
! 						// Start checking the attributes of media:content
! 						if (isset($content['attribs']['']['bitrate']))
  						{
! 							$bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['channels']))
! 						{
! 							$channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['duration']))
! 						{
! 							$duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						else
! 						{
! 							$duration = $duration_parent;
! 						}
! 						if (isset($content['attribs']['']['expression']))
! 						{
! 							$expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['framerate']))
! 						{
! 							$framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['height']))
! 						{
! 							$height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['lang']))
! 						{
! 							$lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['fileSize']))
! 						{
! 							$length = ceil($content['attribs']['']['fileSize']);
! 						}
! 						if (isset($content['attribs']['']['medium']))
! 						{
! 							$medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['samplingrate']))
! 						{
! 							$samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['type']))
! 						{
! 							$type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						if (isset($content['attribs']['']['width']))
! 						{
! 							$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
  
! 						// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
  
! 						// CAPTIONS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
! 						{
! 							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
  							{
! 								$caption_type = null;
! 								$caption_lang = null;
! 								$caption_startTime = null;
! 								$caption_endTime = null;
! 								$caption_text = null;
! 								if (isset($caption['attribs']['']['type']))
! 								{
! 									$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['attribs']['']['lang']))
! 								{
! 									$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['attribs']['']['start']))
! 								{
! 									$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['attribs']['']['end']))
! 								{
! 									$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['data']))
! 								{
! 									$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
  							}
! 							if (is_array($captions))
  							{
! 								$captions = array_values(SimplePie_Misc::array_unique($captions));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
! 						{
! 							foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
  							{
! 								$caption_type = null;
! 								$caption_lang = null;
! 								$caption_startTime = null;
! 								$caption_endTime = null;
! 								$caption_text = null;
! 								if (isset($caption['attribs']['']['type']))
! 								{
! 									$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['attribs']['']['lang']))
! 								{
! 									$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['attribs']['']['start']))
! 								{
! 									$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['attribs']['']['end']))
! 								{
! 									$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($caption['data']))
! 								{
! 									$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
  							}
! 							if (is_array($captions))
  							{
! 								$captions = array_values(SimplePie_Misc::array_unique($captions));
  							}
! 						}
! 						else
! 						{
! 							$captions = $captions_parent;
! 						}
! 
! 						// CATEGORIES
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
! 						{
! 							foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
  							{
! 								$term = null;
! 								$scheme = null;
! 								$label = null;
! 								if (isset($category['data']))
! 								{
! 									$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($category['attribs']['']['scheme']))
! 								{
! 									$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								else
! 								{
! 									$scheme = 'http://search.yahoo.com/mrss/category_schema';
! 								}
! 								if (isset($category['attribs']['']['label']))
! 								{
! 									$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								$categories[] =& new $this->feed->category_class($term, $scheme, $label);
  							}
! 						}
! 						if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
! 						{
! 							foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
  							{
! 								$term = null;
! 								$scheme = null;
! 								$label = null;
! 								if (isset($category['data']))
! 								{
! 									$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($category['attribs']['']['scheme']))
! 								{
! 									$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								else
! 								{
! 									$scheme = 'http://search.yahoo.com/mrss/category_schema';
! 								}
! 								if (isset($category['attribs']['']['label']))
! 								{
! 									$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								$categories[] =& new $this->feed->category_class($term, $scheme, $label);
  							}
! 						}
! 						if (is_array($categories) && is_array($categories_parent))
! 						{
! 							$categories = array_values(SimplePie_Misc::array_unique(array_merge($categories, $categories_parent)));
! 						}
! 						elseif (is_array($categories))
! 						{
! 							$categories = array_values(SimplePie_Misc::array_unique($categories));
! 						}
! 						elseif (is_array($categories_parent))
! 						{
! 							$categories = array_values(SimplePie_Misc::array_unique($categories_parent));
! 						}
! 
! 						// COPYRIGHTS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
! 						{
! 							$copyright_url = null;
! 							$copyright_label = null;
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
  							{
! 								$copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
  							{
! 								$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
! 						{
! 							$copyright_url = null;
! 							$copyright_label = null;
! 							if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
  							{
! 								$copyright_url = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
  							{
! 								$copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
! 						}
! 						else
! 						{
! 							$copyrights = $copyrights_parent;
! 						}
  
! 						// CREDITS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
! 						{
! 							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
  							{
! 								$credit_role = null;
! 								$credit_scheme = null;
! 								$credit_name = null;
! 								if (isset($credit['attribs']['']['role']))
  								{
! 									$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($credit['attribs']['']['scheme']))
  								{
! 									$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								else
  								{
! 									$credit_scheme = 'urn:ebu';
  								}
! 								if (isset($credit['data']))
  								{
! 									$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
- 								$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
  							}
! 							if (is_array($credits))
  							{
! 								$credits = array_values(SimplePie_Misc::array_unique($credits));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
! 						{
! 							foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
  							{
! 								$credit_role = null;
! 								$credit_scheme = null;
! 								$credit_name = null;
! 								if (isset($credit['attribs']['']['role']))
  								{
! 									$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								if (isset($credit['attribs']['']['scheme']))
! 								{
! 									$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								else
! 								{
! 									$credit_scheme = 'urn:ebu';
  								}
! 								if (isset($credit['data']))
  								{
! 									$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
- 								$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
  							}
! 							if (is_array($credits))
  							{
! 								$credits = array_values(SimplePie_Misc::array_unique($credits));
  							}
- 						}
- 						else
- 						{
- 							$credits = $credits_parent;
- 						}
- 
- 						// DESCRIPTION
- 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
- 						{
- 							$description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
- 						}
- 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
- 						{
- 							$description = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
- 						}
- 						else
- 						{
- 							$description = $description_parent;
- 						}
  
! 						// HASHES
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
! 						{
! 							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
  							{
! 								$value = null;
! 								$algo = null;
! 								if (isset($hash['data']))
  								{
! 									$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($hash['attribs']['']['algo']))
  								{
! 									$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								else
  								{
! 									$algo = 'md5';
  								}
! 								$hashes[] = $algo.':'.$value;
  							}
! 							if (is_array($hashes))
  							{
! 								$hashes = array_values(SimplePie_Misc::array_unique($hashes));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
! 						{
! 							foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
  							{
! 								$value = null;
! 								$algo = null;
! 								if (isset($hash['data']))
  								{
! 									$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($hash['attribs']['']['algo']))
  								{
! 									$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								else
  								{
! 									$algo = 'md5';
  								}
- 								$hashes[] = $algo.':'.$value;
  							}
! 							if (is_array($hashes))
  							{
! 								$hashes = array_values(SimplePie_Misc::array_unique($hashes));
  							}
- 						}
- 						else
- 						{
- 							$hashes = $hashes_parent;
- 						}
  
! 						// KEYWORDS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
! 						{
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
  							{
! 								$temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
! 								foreach ($temp as $word)
! 								{
! 									$keywords[] = trim($word);
! 								}
! 								unset($temp);
  							}
! 							if (is_array($keywords))
  							{
! 								$keywords = array_values(SimplePie_Misc::array_unique($keywords));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
! 						{
! 							if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
  							{
! 								$temp = explode(',', $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
! 								foreach ($temp as $word)
  								{
! 									$keywords[] = trim($word);
  								}
- 								unset($temp);
  							}
! 							if (is_array($keywords))
  							{
! 								$keywords = array_values(SimplePie_Misc::array_unique($keywords));
! 							}
! 						}
! 						else
! 						{
! 							$keywords = $keywords_parent;
! 						}
! 
! 						// PLAYER
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
! 						{
! 							$player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
! 						{
! 							$player = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 						}
! 						else
! 						{
! 							$player = $player_parent;
! 						}
  
! 						// RATINGS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
! 						{
! 							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
  							{
! 								$rating_scheme = null;
! 								$rating_value = null;
! 								if (isset($rating['attribs']['']['scheme']))
  								{
! 									$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								else
  								{
! 									$rating_scheme = 'urn:simple';
  								}
! 								if (isset($rating['data']))
  								{
! 									$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
- 								$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
  							}
! 							if (is_array($ratings))
  							{
! 								$ratings = array_values(SimplePie_Misc::array_unique($ratings));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
! 						{
! 							foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
  							{
! 								$rating_scheme = null;
! 								$rating_value = null;
! 								if (isset($rating['attribs']['']['scheme']))
  								{
! 									$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								else
  								{
! 									$rating_scheme = 'urn:simple';
  								}
! 								if (isset($rating['data']))
  								{
! 									$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
- 								$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
  							}
! 							if (is_array($ratings))
  							{
! 								$ratings = array_values(SimplePie_Misc::array_unique($ratings));
  							}
- 						}
- 						else
- 						{
- 							$ratings = $ratings_parent;
- 						}
  
! 						// RESTRICTIONS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
! 						{
! 							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
  							{
! 								$restriction_relationship = null;
! 								$restriction_type = null;
! 								$restriction_value = null;
! 								if (isset($restriction['attribs']['']['relationship']))
  								{
! 									$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($restriction['attribs']['']['type']))
  								{
! 									$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($restriction['data']))
  								{
! 									$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
- 								$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
  							}
! 							if (is_array($restrictions))
  							{
! 								$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
! 						{
! 							foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
  							{
! 								$restriction_relationship = null;
! 								$restriction_type = null;
! 								$restriction_value = null;
! 								if (isset($restriction['attribs']['']['relationship']))
  								{
! 									$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($restriction['attribs']['']['type']))
  								{
! 									$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($restriction['data']))
  								{
! 									$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
- 								$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
  							}
! 							if (is_array($restrictions))
  							{
! 								$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
  							}
- 						}
- 						else
- 						{
- 							$restrictions = $restrictions_parent;
- 						}
  
! 						// THUMBNAILS
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
! 						{
! 							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
! 							{
! 								$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 							}
! 							if (is_array($thumbnails))
  							{
! 								$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
  							}
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
! 						{
! 							foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
  							{
! 								$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
  							}
! 							if (is_array($thumbnails))
  							{
! 								$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
  							}
- 						}
- 						else
- 						{
- 							$thumbnails = $thumbnails_parent;
- 						}
  
! 						// TITLES
! 						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
! 						{
! 							$title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 						}
! 						elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
! 						{
! 							$title = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  						}
- 						else
- 						{
- 							$title = $title_parent;
- 						}
- 
- 						$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
  					}
  				}
  			}
--- 4435,5058 ----
  			// If we have media:group tags, loop through them.
  			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group') as $group)
  			{
! 				if(isset($group['child']) && isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
  				{
! 					// If we have media:content tags, loop through them.
! 					foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
  					{
! 						if (isset($content['attribs']['']['url']))
  						{
! 							// Attributes
! 							$bitrate = null;
! 							$channels = null;
! 							$duration = null;
! 							$expression = null;
! 							$framerate = null;
! 							$height = null;
! 							$javascript = null;
! 							$lang = null;
! 							$length = null;
! 							$medium = null;
! 							$samplingrate = null;
! 							$type = null;
! 							$url = null;
! 							$width = null;
  
! 							// Elements
! 							$captions = null;
! 							$categories = null;
! 							$copyrights = null;
! 							$credits = null;
! 							$description = null;
! 							$hashes = null;
! 							$keywords = null;
! 							$player = null;
! 							$ratings = null;
! 							$restrictions = null;
! 							$thumbnails = null;
! 							$title = null;
  
! 							// Start checking the attributes of media:content
! 							if (isset($content['attribs']['']['bitrate']))
  							{
! 								$bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['channels']))
  							{
! 								$channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['duration']))
  							{
! 								$duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							else
  							{
! 								$duration = $duration_parent;
  							}
! 							if (isset($content['attribs']['']['expression']))
  							{
! 								$expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['framerate']))
  							{
! 								$framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['height']))
  							{
! 								$height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['lang']))
  							{
! 								$lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['fileSize']))
  							{
! 								$length = ceil($content['attribs']['']['fileSize']);
  							}
! 							if (isset($content['attribs']['']['medium']))
  							{
! 								$medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							if (isset($content['attribs']['']['samplingrate']))
! 							{
! 								$samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
! 							}
! 							if (isset($content['attribs']['']['type']))
! 							{
! 								$type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 							}
! 							if (isset($content['attribs']['']['width']))
! 							{
! 								$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
! 							}
! 							$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
  
! 							// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
! 
! 							// CAPTIONS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
  							{
! 								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
  								{
! 									$caption_type = null;
! 									$caption_lang = null;
! 									$caption_startTime = null;
! 									$caption_endTime = null;
! 									$caption_text = null;
! 									if (isset($caption['attribs']['']['type']))
! 									{
! 										$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['attribs']['']['lang']))
! 									{
! 										$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['attribs']['']['start']))
! 									{
! 										$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['attribs']['']['end']))
! 									{
! 										$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['data']))
! 									{
! 										$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
  								}
! 								if (is_array($captions))
  								{
! 									$captions = array_values(SimplePie_Misc::array_unique($captions));
  								}
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
! 							{
! 								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
  								{
! 									$caption_type = null;
! 									$caption_lang = null;
! 									$caption_startTime = null;
! 									$caption_endTime = null;
! 									$caption_text = null;
! 									if (isset($caption['attribs']['']['type']))
! 									{
! 										$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['attribs']['']['lang']))
! 									{
! 										$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['attribs']['']['start']))
! 									{
! 										$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['attribs']['']['end']))
! 									{
! 										$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($caption['data']))
! 									{
! 										$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
  								}
! 								if (is_array($captions))
  								{
! 									$captions = array_values(SimplePie_Misc::array_unique($captions));
  								}
  							}
! 							else
  							{
! 								$captions = $captions_parent;
  							}
! 
! 							// CATEGORIES
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
  							{
! 								foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
  								{
! 									$term = null;
! 									$scheme = null;
! 									$label = null;
! 									if (isset($category['data']))
! 									{
! 										$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($category['attribs']['']['scheme']))
! 									{
! 										$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$scheme = 'http://search.yahoo.com/mrss/category_schema';
! 									}
! 									if (isset($category['attribs']['']['label']))
! 									{
! 										$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$categories[] =& new $this->feed->category_class($term, $scheme, $label);
  								}
! 							}
! 							if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
! 							{
! 								foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
  								{
! 									$term = null;
! 									$scheme = null;
! 									$label = null;
! 									if (isset($category['data']))
! 									{
! 										$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($category['attribs']['']['scheme']))
! 									{
! 										$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$scheme = 'http://search.yahoo.com/mrss/category_schema';
! 									}
! 									if (isset($category['attribs']['']['label']))
! 									{
! 										$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$categories[] =& new $this->feed->category_class($term, $scheme, $label);
  								}
  							}
! 							if (is_array($categories) && is_array($categories_parent))
  							{
! 								$categories = array_values(SimplePie_Misc::array_unique(array_merge($categories, $categories_parent)));
! 							}
! 							elseif (is_array($categories))
! 							{
! 								$categories = array_values(SimplePie_Misc::array_unique($categories));
! 							}
! 							elseif (is_array($categories_parent))
! 							{
! 								$categories = array_values(SimplePie_Misc::array_unique($categories_parent));
  							}
  
! 							// COPYRIGHTS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
  							{
! 								$copyright_url = null;
! 								$copyright_label = null;
! 								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
  								{
! 									$copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
  								{
! 									$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
! 							{
! 								$copyright_url = null;
! 								$copyright_label = null;
! 								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
  								{
! 									$copyright_url = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
  								}
! 								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
! 								{
! 									$copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 								}
! 								$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
  							}
! 							else
  							{
! 								$copyrights = $copyrights_parent;
  							}
! 
! 							// CREDITS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
  							{
! 								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
  								{
! 									$credit_role = null;
! 									$credit_scheme = null;
! 									$credit_name = null;
! 									if (isset($credit['attribs']['']['role']))
! 									{
! 										$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($credit['attribs']['']['scheme']))
! 									{
! 										$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$credit_scheme = 'urn:ebu';
! 									}
! 									if (isset($credit['data']))
! 									{
! 										$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
  								}
! 								if (is_array($credits))
  								{
! 									$credits = array_values(SimplePie_Misc::array_unique($credits));
  								}
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
! 							{
! 								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
  								{
! 									$credit_role = null;
! 									$credit_scheme = null;
! 									$credit_name = null;
! 									if (isset($credit['attribs']['']['role']))
! 									{
! 										$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($credit['attribs']['']['scheme']))
! 									{
! 										$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$credit_scheme = 'urn:ebu';
! 									}
! 									if (isset($credit['data']))
! 									{
! 										$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
! 								}
! 								if (is_array($credits))
! 								{
! 									$credits = array_values(SimplePie_Misc::array_unique($credits));
  								}
  							}
! 							else
  							{
! 								$credits = $credits_parent;
  							}
  
! 							// DESCRIPTION
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
  							{
! 								$description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
  							{
! 								$description = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							else
  							{
! 								$description = $description_parent;
! 							}
! 
! 							// HASHES
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
! 							{
! 								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
  								{
! 									$value = null;
! 									$algo = null;
! 									if (isset($hash['data']))
! 									{
! 										$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($hash['attribs']['']['algo']))
! 									{
! 										$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$algo = 'md5';
! 									}
! 									$hashes[] = $algo.':'.$value;
! 								}
! 								if (is_array($hashes))
! 								{
! 									$hashes = array_values(SimplePie_Misc::array_unique($hashes));
  								}
  							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
  							{
! 								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
! 								{
! 									$value = null;
! 									$algo = null;
! 									if (isset($hash['data']))
! 									{
! 										$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($hash['attribs']['']['algo']))
! 									{
! 										$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$algo = 'md5';
! 									}
! 									$hashes[] = $algo.':'.$value;
! 								}
! 								if (is_array($hashes))
! 								{
! 									$hashes = array_values(SimplePie_Misc::array_unique($hashes));
! 								}
! 							}
! 							else
! 							{
! 								$hashes = $hashes_parent;
! 							}
  
! 							// KEYWORDS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
  							{
! 								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
  								{
! 									$temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
! 									foreach ($temp as $word)
! 									{
! 										$keywords[] = trim($word);
! 									}
! 									unset($temp);
  								}
! 								if (is_array($keywords))
  								{
! 									$keywords = array_values(SimplePie_Misc::array_unique($keywords));
  								}
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
! 							{
! 								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
  								{
! 									$temp = explode(',', $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
! 									foreach ($temp as $word)
! 									{
! 										$keywords[] = trim($word);
! 									}
! 									unset($temp);
! 								}
! 								if (is_array($keywords))
! 								{
! 									$keywords = array_values(SimplePie_Misc::array_unique($keywords));
  								}
  							}
! 							else
  							{
! 								$keywords = $keywords_parent;
  							}
! 
! 							// PLAYER
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
  							{
! 								$player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
! 							{
! 								$player = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 							}
! 							else
! 							{
! 								$player = $player_parent;
! 							}
! 
! 							// RATINGS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
! 							{
! 								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
  								{
! 									$rating_scheme = null;
! 									$rating_value = null;
! 									if (isset($rating['attribs']['']['scheme']))
! 									{
! 										$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$rating_scheme = 'urn:simple';
! 									}
! 									if (isset($rating['data']))
! 									{
! 										$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
  								}
! 								if (is_array($ratings))
  								{
! 									$ratings = array_values(SimplePie_Misc::array_unique($ratings));
  								}
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
! 							{
! 								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
  								{
! 									$rating_scheme = null;
! 									$rating_value = null;
! 									if (isset($rating['attribs']['']['scheme']))
! 									{
! 										$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									else
! 									{
! 										$rating_scheme = 'urn:simple';
! 									}
! 									if (isset($rating['data']))
! 									{
! 										$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
! 								}
! 								if (is_array($ratings))
! 								{
! 									$ratings = array_values(SimplePie_Misc::array_unique($ratings));
  								}
  							}
! 							else
  							{
! 								$ratings = $ratings_parent;
  							}
  
! 							// RESTRICTIONS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
  							{
! 								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
  								{
! 									$restriction_relationship = null;
! 									$restriction_type = null;
! 									$restriction_value = null;
! 									if (isset($restriction['attribs']['']['relationship']))
! 									{
! 										$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($restriction['attribs']['']['type']))
! 									{
! 										$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($restriction['data']))
! 									{
! 										$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
  								}
! 								if (is_array($restrictions))
  								{
! 									$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
  								}
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
! 							{
! 								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
  								{
! 									$restriction_relationship = null;
! 									$restriction_type = null;
! 									$restriction_value = null;
! 									if (isset($restriction['attribs']['']['relationship']))
! 									{
! 										$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($restriction['attribs']['']['type']))
! 									{
! 										$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									if (isset($restriction['data']))
! 									{
! 										$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
! 									}
! 									$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
! 								}
! 								if (is_array($restrictions))
! 								{
! 									$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
  								}
  							}
! 							else
  							{
! 								$restrictions = $restrictions_parent;
  							}
! 
! 							// THUMBNAILS
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
  							{
! 								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
  								{
! 									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
  								}
! 								if (is_array($thumbnails))
  								{
! 									$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
  								}
! 							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
! 							{
! 								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
  								{
! 									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 								}
! 								if (is_array($thumbnails))
! 								{
! 									$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
  								}
  							}
! 							else
  							{
! 								$thumbnails = $thumbnails_parent;
  							}
  
! 							// TITLES
! 							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
  							{
! 								$title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
  							{
! 								$title = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
  							}
! 							else
  							{
! 								$title = $title_parent;
  							}
  
! 							$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
  						}
  					}
  				}
  			}
***************
*** 5052,5058 ****
  			{
  				foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
  				{
! 					if (isset($content['attribs']['']['url']))
  					{
  						// Attributes
  						$bitrate = null;
--- 5062,5068 ----
  			{
  				foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
  				{
! 					if (isset($content['attribs']['']['url']) || isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
  					{
  						// Attributes
  						$bitrate = null;
***************
*** 5137,5144 ****
  						{
  							$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
  						}
! 						$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 
  						// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
  
  						// CAPTIONS
--- 5147,5156 ----
  						{
  							$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
  						}
! 						if (isset($content['attribs']['']['url']))
! 						{
! 							$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
! 						}
  						// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
  
  						// CAPTIONS
***************
*** 5580,5586 ****
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', $return[0]['data'], $match))
  		{
  			return (float) $match[1];
  		}
--- 5592,5598 ----
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
  		{
  			return (float) $match[1];
  		}
***************
*** 5600,5606 ****
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', $return[0]['data'], $match))
  		{
  			return (float) $match[2];
  		}
--- 5612,5618 ----
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
  		{
  			return (float) $match[2];
  		}
***************
*** 6223,6229 ****
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', $return[0]['data'], $match))
  		{
  			return (float) $match[1];
  		}
--- 6235,6241 ----
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
  		{
  			return (float) $match[1];
  		}
***************
*** 6243,6249 ****
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', $return[0]['data'], $match))
  		{
  			return (float) $match[2];
  		}
--- 6255,6261 ----
  		{
  			return (float) $return[0]['data'];
  		}
! 		elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
  		{
  			return (float) $match[2];
  		}
***************
*** 7727,7742 ****
  			{
  				$this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
  				$url_parts = parse_url($url);
  				if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https')
  				{
! 					$url_parts['host'] = "ssl://$url_parts[host]";
  					$url_parts['port'] = 443;
  				}
  				if (!isset($url_parts['port']))
  				{
  					$url_parts['port'] = 80;
  				}
! 				$fp = @fsockopen($url_parts['host'], $url_parts['port'], $errno, $errstr, $timeout);
  				if (!$fp)
  				{
  					$this->error = 'fsockopen error: ' . $errstr;
--- 7739,7755 ----
  			{
  				$this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
  				$url_parts = parse_url($url);
+ 				$socket_host = $url_parts['host'];
  				if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https')
  				{
! 					$socket_host = "ssl://$url_parts[host]";
  					$url_parts['port'] = 443;
  				}
  				if (!isset($url_parts['port']))
  				{
  					$url_parts['port'] = 80;
  				}
! 				$fp = @fsockopen($socket_host, $url_parts['port'], $errno, $errstr, $timeout);
  				if (!$fp)
  				{
  					$this->error = 'fsockopen error: ' . $errstr;
***************
*** 8482,8488 ****
  
  				// Get the length of the extra field
  				$len = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
! 				$position += 2;
  
  				// Check the length of the string is still valid
  				$this->min_compressed_size += $len + 4;
--- 8495,8501 ----
  
  				// Get the length of the extra field
  				$len = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
! 				$this->position += 2;
  
  				// Check the length of the string is still valid
  				$this->min_compressed_size += $len + 4;
***************
*** 9234,9241 ****
  					$note = 'Unknown Error';
  					break;
  			}
! 			error_log("$note: $message in $file on line $line", 0);
  		}
  		return $message;
  	}
  
--- 9247,9271 ----
  					$note = 'Unknown Error';
  					break;
  			}
! 
! 			$log_error = true;
! 			if (!function_exists('error_log'))
! 			{
! 				$log_error = false;
! 			}
! 
! 			$log_file = @ini_get('error_log');
! 			if (!empty($log_file) && ('syslog' != $log_file) && !@is_writable($log_file))
! 			{
! 				$log_error = false;
! 			}
! 
! 			if ($log_error)
! 			{
! 				@error_log("$note: $message in $file on line $line", 0);
! 			}
  		}
+ 
  		return $message;
  	}
  
***************
*** 9432,9438 ****
  			return SimplePie_Misc::windows_1252_to_utf8($data);
  		}
  		// This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
! 		elseif (function_exists('mb_convert_encoding') && @mb_convert_encoding("\x80", 'UTF-16BE', $input) !== "\x00\x80" && ($return = @mb_convert_encoding($data, $output, $input)))
  		{
  			return $return;
  		}
--- 9462,9468 ----
  			return SimplePie_Misc::windows_1252_to_utf8($data);
  		}
  		// This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
! 		elseif (function_exists('mb_convert_encoding') && @mb_convert_encoding("\x80", 'UTF-16BE', $input) !== "\x00\x80" && in_array($input, mb_list_encodings()) && ($return = @mb_convert_encoding($data, $output, $input)))
  		{
  			return $return;
  		}
***************
*** 9448,9453 ****
--- 9478,9494 ----
  		}
  	}
  
+ 	/**
+ 	 * Normalize an encoding name
+ 	 *
+ 	 * This is automatically generated by create.php
+ 	 *
+ 	 * To generate it, run `php create.php` on the command line, and copy the
+ 	 * output to replace this function.
+ 	 *
+ 	 * @param string $charset Character set to standardise
+ 	 * @return string Standardised name
+ 	 */
  	function encoding($charset)
  	{
  		// Normalization from UTS #22
***************
*** 9481,9487 ****
  
  			case 'big5':
  			case 'csbig5':
- 			case 'xxbig5':
  				return 'Big5';
  
  			case 'big5hkscs':
--- 9522,9527 ----
***************
*** 9637,9650 ****
  			case 'isoir85':
  				return 'ES2';
  
- 			case 'cseucfixwidjapanese':
- 			case 'extendedunixcodefixedwidthforjapanese':
- 				return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
- 
  			case 'cseucpkdfmtjapanese':
  			case 'eucjp':
  			case 'extendedunixcodepackedformatforjapanese':
! 				return 'Extended_UNIX_Code_Packed_Format_for_Japanese';
  
  			case 'gb18030':
  				return 'GB18030';
--- 9677,9690 ----
  			case 'isoir85':
  				return 'ES2';
  
  			case 'cseucpkdfmtjapanese':
  			case 'eucjp':
  			case 'extendedunixcodepackedformatforjapanese':
! 				return 'EUC-JP';
! 
! 			case 'cseucfixwidjapanese':
! 			case 'extendedunixcodefixedwidthforjapanese':
! 				return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
  
  			case 'gb18030':
  				return 'GB18030';
***************
*** 9698,9801 ****
  			case 'hplegal':
  				return 'HP-Legal';
  
! 			case 'cshpmath8':
! 			case 'hpmath8':
! 				return 'HP-Math8';
! 
! 			case 'cshppifont':
! 			case 'hppifont':
! 				return 'HP-Pi-font';
! 
! 			case 'cshproman8':
! 			case 'hproman8':
! 			case 'r8':
! 			case 'roman8':
! 				return 'hp-roman8';
! 
! 			case 'hzgb2312':
! 				return 'HZ-GB-2312';
! 
! 			case 'csibmsymbols':
! 			case 'ibmsymbols':
! 				return 'IBM-Symbols';
! 
! 			case 'csibmthai':
! 			case 'ibmthai':
! 				return 'IBM-Thai';
! 
! 			case 'ccsid858':
! 			case 'cp858':
! 			case 'ibm858':
! 			case 'pcmultilingual850euro':
! 				return 'IBM00858';
! 
! 			case 'ccsid924':
! 			case 'cp924':
! 			case 'ebcdiclatin9euro':
! 			case 'ibm924':
! 				return 'IBM00924';
! 
! 			case 'ccsid1140':
! 			case 'cp1140':
! 			case 'ebcdicus37euro':
! 			case 'ibm1140':
! 				return 'IBM01140';
! 
! 			case 'ccsid1141':
! 			case 'cp1141':
! 			case 'ebcdicde273euro':
! 			case 'ibm1141':
! 				return 'IBM01141';
! 
! 			case 'ccsid1142':
! 			case 'cp1142':
! 			case 'ebcdicdk277euro':
! 			case 'ebcdicno277euro':
! 			case 'ibm1142':
! 				return 'IBM01142';
! 
! 			case 'ccsid1143':
! 			case 'cp1143':
! 			case 'ebcdicfi278euro':
! 			case 'ebcdicse278euro':
! 			case 'ibm1143':
! 				return 'IBM01143';
! 
! 			case 'ccsid1144':
! 			case 'cp1144':
! 			case 'ebcdicit280euro':
! 			case 'ibm1144':
! 				return 'IBM01144';
  
! 			case 'ccsid1145':
! 			case 'cp1145':
! 			case 'ebcdices284euro':
! 			case 'ibm1145':
! 				return 'IBM01145';
  
! 			case 'ccsid1146':
! 			case 'cp1146':
! 			case 'ebcdicgb285euro':
! 			case 'ibm1146':
! 				return 'IBM01146';
  
! 			case 'ccsid1147':
! 			case 'cp1147':
! 			case 'ebcdicfr297euro':
! 			case 'ibm1147':
! 				return 'IBM01147';
  
! 			case 'ccsid1148':
! 			case 'cp1148':
! 			case 'ebcdicinternational500euro':
! 			case 'ibm1148':
! 				return 'IBM01148';
  
! 			case 'ccsid1149':
! 			case 'cp1149':
! 			case 'ebcdicis871euro':
! 			case 'ibm1149':
! 				return 'IBM01149';
  
  			case 'cp37':
  			case 'csibm37':
--- 9738,9767 ----
  			case 'hplegal':
  				return 'HP-Legal';
  
! 			case 'cshpmath8':
! 			case 'hpmath8':
! 				return 'HP-Math8';
  
! 			case 'cshppifont':
! 			case 'hppifont':
! 				return 'HP-Pi-font';
  
! 			case 'cshproman8':
! 			case 'hproman8':
! 			case 'r8':
! 			case 'roman8':
! 				return 'hp-roman8';
  
! 			case 'hzgb2312':
! 				return 'HZ-GB-2312';
  
! 			case 'csibmsymbols':
! 			case 'ibmsymbols':
! 				return 'IBM-Symbols';
  
! 			case 'csibmthai':
! 			case 'ibmthai':
! 				return 'IBM-Thai';
  
  			case 'cp37':
  			case 'csibm37':
***************
*** 9944,9949 ****
--- 9910,9921 ----
  			case 'ibm857':
  				return 'IBM857';
  
+ 			case 'ccsid858':
+ 			case 'cp858':
+ 			case 'ibm858':
+ 			case 'pcmultilingual850euro':
+ 				return 'IBM00858';
+ 
  			case '860':
  			case 'cp860':
  			case 'csibm860':
***************
*** 10046,10051 ****
--- 10018,10029 ----
  			case 'ibm918':
  				return 'IBM918';
  
+ 			case 'ccsid924':
+ 			case 'cp924':
+ 			case 'ebcdiclatin9euro':
+ 			case 'ibm924':
+ 				return 'IBM00924';
+ 
  			case 'cp1026':
  			case 'csibm1026':
  			case 'ibm1026':
***************
*** 10054,10059 ****
--- 10032,10099 ----
  			case 'ibm1047':
  				return 'IBM1047';
  
+ 			case 'ccsid1140':
+ 			case 'cp1140':
+ 			case 'ebcdicus37euro':
+ 			case 'ibm1140':
+ 				return 'IBM01140';
+ 
+ 			case 'ccsid1141':
+ 			case 'cp1141':
+ 			case 'ebcdicde273euro':
+ 			case 'ibm1141':
+ 				return 'IBM01141';
+ 
+ 			case 'ccsid1142':
+ 			case 'cp1142':
+ 			case 'ebcdicdk277euro':
+ 			case 'ebcdicno277euro':
+ 			case 'ibm1142':
+ 				return 'IBM01142';
+ 
+ 			case 'ccsid1143':
+ 			case 'cp1143':
+ 			case 'ebcdicfi278euro':
+ 			case 'ebcdicse278euro':
+ 			case 'ibm1143':
+ 				return 'IBM01143';
+ 
+ 			case 'ccsid1144':
+ 			case 'cp1144':
+ 			case 'ebcdicit280euro':
+ 			case 'ibm1144':
+ 				return 'IBM01144';
+ 
+ 			case 'ccsid1145':
+ 			case 'cp1145':
+ 			case 'ebcdices284euro':
+ 			case 'ibm1145':
+ 				return 'IBM01145';
+ 
+ 			case 'ccsid1146':
+ 			case 'cp1146':
+ 			case 'ebcdicgb285euro':
+ 			case 'ibm1146':
+ 				return 'IBM01146';
+ 
+ 			case 'ccsid1147':
+ 			case 'cp1147':
+ 			case 'ebcdicfr297euro':
+ 			case 'ibm1147':
+ 				return 'IBM01147';
+ 
+ 			case 'ccsid1148':
+ 			case 'cp1148':
+ 			case 'ebcdicinternational500euro':
+ 			case 'ibm1148':
+ 				return 'IBM01148';
+ 
+ 			case 'ccsid1149':
+ 			case 'cp1149':
+ 			case 'ebcdicis871euro':
+ 			case 'ibm1149':
+ 				return 'IBM01149';
+ 
  			case 'csiso143iecp271':
  			case 'iecp271':
  			case 'isoir143':
***************
*** 10596,10606 ****
  			case 'sen850200c':
  				return 'SEN_850200_C';
  
- 			case 'csshiftjis':
- 			case 'mskanji':
- 			case 'shiftjis':
- 				return 'Shift_JIS';
- 
  			case 'csiso102t617bit':
  			case 'isoir102':
  			case 't617bit':
--- 10636,10641 ----
***************
*** 10699,10705 ****
--- 10734,10743 ----
  			case 'viscii':
  				return 'VISCII';
  
+ 			case 'csshiftjis':
  			case 'cswindows31j':
+ 			case 'mskanji':
+ 			case 'shiftjis':
  			case 'windows31j':
  				return 'Windows-31J';
  
***************
*** 11360,11365 ****
--- 11398,11455 ----
  }
  		<?php
  	}
+ 
+ 
+ 
+ 	/**
+ 	 * Format debugging information
+ 	 */
+ 	function debug($sp)
+ 	{
+ 		$info = 'SimplePie ' . SIMPLEPIE_VERSION . ' Build ' . SIMPLEPIE_BUILD . "\n";
+ 		$info .= 'PHP ' . PHP_VERSION . "\n";
+ 		if ($sp->error() !== null)
+ 		{
+ 			$info .= 'Error occurred: ' . $sp->error() . "\n";
+ 		}
+ 		else
+ 		{
+ 			$info .= "No error found.\n";
+ 		}
+ 		$info .= "Extensions:\n";
+ 		$extensions = array('pcre', 'curl', 'zlib', 'mbstring', 'iconv', 'xmlreader', 'xml');
+ 		foreach ($extensions as $ext)
+ 		{
+ 			if (extension_loaded($ext))
+ 			{
+ 				$info .= "    $ext loaded\n";
+ 				switch ($ext)
+ 				{
+ 					case 'pcre':
+ 						$info .= '      Version ' . PCRE_VERSION . "\n";
+ 						break;
+ 					case 'curl':
+ 						$version = curl_version();
+ 						$info .= '      Version ' . $version['version'] . "\n";
+ 						break;
+ 					case 'mbstring':
+ 						$info .= '      Overloading: ' . mb_get_info('func_overload') . "\n";
+ 						break;
+ 					case 'iconv':
+ 						$info .= '      Version ' . ICONV_VERSION . "\n";
+ 						break;
+ 					case 'xml':
+ 						$info .= '      Version ' . LIBXML_DOTTED_VERSION . "\n";
+ 						break;
+ 				}
+ 			}
+ 			else
+ 			{
+ 				$info .= "    $ext not loaded\n";
+ 			}
+ 		}
+ 		return $info;
+ 	}
  }
  
  /**
***************
*** 11831,11844 ****
  	/**
  	 * Replace invalid character with percent encoding
  	 *
- 	 * @access private
  	 * @param string $string Input string
  	 * @param string $valid_chars Valid characters
  	 * @param int $case Normalise case
  	 * @return string
  	 */
! 	function replace_invalid_with_pct_encoding($string, $valid_chars, $case = SIMPLEPIE_SAME_CASE)
  	{
  		// Normalise case
  		if ($case & SIMPLEPIE_LOWERCASE)
  		{
--- 11921,12055 ----
  	/**
  	 * Replace invalid character with percent encoding
  	 *
  	 * @param string $string Input string
  	 * @param string $valid_chars Valid characters
  	 * @param int $case Normalise case
  	 * @return string
  	 */
! 	function replace_invalid_with_pct_encoding($string, $valid_chars, $case = SIMPLEPIE_SAME_CASE, $iprivate = false)
  	{
+ 		// Normalize as many pct-encoded sections as possible
+ 		$string = preg_replace_callback('/(?:%[A-Fa-f0-9]{2})+/', array(&$this, 'remove_iunreserved_percent_encoded'), $string);
+ 
+ 		// Replace invalid percent characters
+ 		$string = preg_replace('/%(?![A-Fa-f0-9]{2})/', '%25', $string);
+ 
+ 		// Add unreserved and % to $valid_chars (the latter is safe because all
+ 		// pct-encoded sections are now valid).
+ 		$valid_chars .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~%';
+ 
+ 		// Now replace any bytes that aren't allowed with their pct-encoded versions
+ 		$position = 0;
+ 		$strlen = strlen($string);
+ 		while (($position += strspn($string, $valid_chars, $position)) < $strlen)
+ 		{
+ 			$value = ord($string[$position]);
+ 
+ 			// Start position
+ 			$start = $position;
+ 
+ 			// By default we are valid
+ 			$valid = true;
+ 
+ 			// No one byte sequences are valid due to the while.
+ 			// Two byte sequence:
+ 			if (($value & 0xE0) === 0xC0)
+ 			{
+ 				$character = ($value & 0x1F) << 6;
+ 				$length = 2;
+ 				$remaining = 1;
+ 			}
+ 			// Three byte sequence:
+ 			elseif (($value & 0xF0) === 0xE0)
+ 			{
+ 				$character = ($value & 0x0F) << 12;
+ 				$length = 3;
+ 				$remaining = 2;
+ 			}
+ 			// Four byte sequence:
+ 			elseif (($value & 0xF8) === 0xF0)
+ 			{
+ 				$character = ($value & 0x07) << 18;
+ 				$length = 4;
+ 				$remaining = 3;
+ 			}
+ 			// Invalid byte:
+ 			else
+ 			{
+ 				$valid = false;
+ 				$length = 1;
+ 				$remaining = 0;
+ 			}
+ 
+ 			if ($remaining)
+ 			{
+ 				if ($position + $length <= $strlen)
+ 				{
+ 					for ($position++; $remaining; $position++)
+ 					{
+ 						$value = ord($string[$position]);
+ 
+ 						// Check that the byte is valid, then add it to the character:
+ 						if (($value & 0xC0) === 0x80)
+ 						{
+ 							$character |= ($value & 0x3F) << (--$remaining * 6);
+ 						}
+ 						// If it is invalid, count the sequence as invalid and reprocess the current byte:
+ 						else
+ 						{
+ 							$valid = false;
+ 							$position--;
+ 							break;
+ 						}
+ 					}
+ 				}
+ 				else
+ 				{
+ 					$position = $strlen - 1;
+ 					$valid = false;
+ 				}
+ 			}
+ 
+ 			// Percent encode anything invalid or not in ucschar
+ 			if (
+ 				// Invalid sequences
+ 				!$valid
+ 				// Non-shortest form sequences are invalid
+ 				|| $length > 1 && $character <= 0x7F
+ 				|| $length > 2 && $character <= 0x7FF
+ 				|| $length > 3 && $character <= 0xFFFF
+ 				// Outside of range of ucschar codepoints
+ 				// Noncharacters
+ 				|| ($character & 0xFFFE) === 0xFFFE
+ 				|| $character >= 0xFDD0 && $character <= 0xFDEF
+ 				|| (
+ 					// Everything else not in ucschar
+ 					   $character > 0xD7FF && $character < 0xF900
+ 					|| $character < 0xA0
+ 					|| $character > 0xEFFFD
+ 				)
+ 				&& (
+ 					// Everything not in iprivate, if it applies
+ 					   !$iprivate
+ 					|| $character < 0xE000
+ 					|| $character > 0x10FFFD
+ 				)
+ 			)
+ 			{
+ 				// If we were a character, pretend we weren't, but rather an error.
+ 				if ($valid)
+ 					$position--;
+ 
+ 				for ($j = $start; $j <= $position; $j++)
+ 				{
+ 					$string = substr_replace($string, sprintf('%%%02X', ord($string[$j])), $j, 1);
+ 					$j += 2;
+ 					$position += 2;
+ 					$strlen += 2;
+ 				}
+ 			}
+ 		}
+ 
  		// Normalise case
  		if ($case & SIMPLEPIE_LOWERCASE)
  		{
***************
*** 11849,11909 ****
  			$string = strtoupper($string);
  		}
  
! 		// Store position and string length (to avoid constantly recalculating this)
! 		$position = 0;
! 		$strlen = strlen($string);
  
! 		// Loop as long as we have invalid characters, advancing the position to the next invalid character
! 		while (($position += strspn($string, $valid_chars, $position)) < $strlen)
  		{
! 			// If we have a % character
! 			if ($string[$position] === '%')
  			{
! 				// If we have a pct-encoded section
! 				if ($position + 2 < $strlen && strspn($string, '0123456789ABCDEFabcdef', $position + 1, 2) === 2)
! 				{
! 					// Get the the represented character
! 					$chr = chr(hexdec(substr($string, $position + 1, 2)));
  
! 					// If the character is valid, replace the pct-encoded with the actual character while normalising case
! 					if (strpos($valid_chars, $chr) !== false)
! 					{
! 						if ($case & SIMPLEPIE_LOWERCASE)
! 						{
! 							$chr = strtolower($chr);
! 						}
! 						elseif ($case & SIMPLEPIE_UPPERCASE)
! 						{
! 							$chr = strtoupper($chr);
! 						}
! 						$string = substr_replace($string, $chr, $position, 3);
! 						$strlen -= 2;
! 						$position++;
! 					}
  
! 					// Otherwise just normalise the pct-encoded to uppercase
! 					else
  					{
! 						$string = substr_replace($string, strtoupper(substr($string, $position + 1, 2)), $position + 1, 2);
! 						$position += 3;
  					}
  				}
- 				// If we don't have a pct-encoded section, just replace the % with its own esccaped form
  				else
  				{
! 					$string = substr_replace($string, '%25', $position, 1);
! 					$strlen += 2;
! 					$position += 3;
  				}
  			}
! 			// If we have an invalid character, change into its pct-encoded form
! 			else
  			{
! 				$replacement = sprintf("%%%02X", ord($string[$position]));
! 				$string = str_replace($string[$position], $replacement, $string);
! 				$strlen = strlen($string);
  			}
  		}
  		return $string;
  	}
  
--- 12060,12207 ----
  			$string = strtoupper($string);
  		}
  
! 		return $string;
! 	}
  
! 	/**
! 	 * Callback function for preg_replace_callback.
! 	 *
! 	 * Removes sequences of percent encoded bytes that represent UTF-8
! 	 * encoded characters in iunreserved
! 	 *
! 	 * @access private
! 	 * @param array $match PCRE match
! 	 * @return string Replacement
! 	 */
! 	function remove_iunreserved_percent_encoded($match)
! 	{
! 		// As we just have valid percent encoded sequences we can just explode
! 		// and ignore the first member of the returned array (an empty string).
! 		$bytes = explode('%', $match[0]);
! 
! 		// Initialize the new string (this is what will be returned) and that
! 		// there are no bytes remaining in the current sequence (unsurprising
! 		// at the first byte!).
! 		$string = '';
! 		$remaining = 0;
! 
! 		// Loop over each and every byte, and set $value to its value
! 		for ($i = 1, $len = count($bytes); $i < $len; $i++)
  		{
! 			$value = hexdec($bytes[$i]);
! 
! 			// If we're the first byte of sequence:
! 			if (!$remaining)
  			{
! 				// Start position
! 				$start = $i;
  
! 				// By default we are valid
! 				$valid = true;
  
! 				// One byte sequence:
! 				if ($value <= 0x7F)
! 				{
! 					$character = $value;
! 					$length = 1;
! 				}
! 				// Two byte sequence:
! 				elseif (($value & 0xE0) === 0xC0)
! 				{
! 					$character = ($value & 0x1F) << 6;
! 					$length = 2;
! 					$remaining = 1;
! 				}
! 				// Three byte sequence:
! 				elseif (($value & 0xF0) === 0xE0)
! 				{
! 					$character = ($value & 0x0F) << 12;
! 					$length = 3;
! 					$remaining = 2;
! 				}
! 				// Four byte sequence:
! 				elseif (($value & 0xF8) === 0xF0)
! 				{
! 					$character = ($value & 0x07) << 18;
! 					$length = 4;
! 					$remaining = 3;
! 				}
! 				// Invalid byte:
! 				else
! 				{
! 					$valid = false;
! 					$remaining = 0;
! 				}
! 			}
! 			// Continuation byte:
! 			else
! 			{
! 				// Check that the byte is valid, then add it to the character:
! 				if (($value & 0xC0) === 0x80)
! 				{
! 					$remaining--;
! 					$character |= ($value & 0x3F) << ($remaining * 6);
! 				}
! 				// If it is invalid, count the sequence as invalid and reprocess the current byte as the start of a sequence:
! 				else
! 				{
! 					$valid = false;
! 					$remaining = 0;
! 					$i--;
! 				}
! 			}
! 
! 			// If we've reached the end of the current byte sequence, append it to Unicode::$data
! 			if (!$remaining)
! 			{
! 				// Percent encode anything invalid or not in iunreserved
! 				if (
! 					// Invalid sequences
! 					!$valid
! 					// Non-shortest form sequences are invalid
! 					|| $length > 1 && $character <= 0x7F
! 					|| $length > 2 && $character <= 0x7FF
! 					|| $length > 3 && $character <= 0xFFFF
! 					// Outside of range of iunreserved codepoints
! 					|| $character < 0x2D
! 					|| $character > 0xEFFFD
! 					// Noncharacters
! 					|| ($character & 0xFFFE) === 0xFFFE
! 					|| $character >= 0xFDD0 && $character <= 0xFDEF
! 					// Everything else not in iunreserved (this is all BMP)
! 					|| $character === 0x2F
! 					|| $character > 0x39 && $character < 0x41
! 					|| $character > 0x5A && $character < 0x61
! 					|| $character > 0x7A && $character < 0x7E
! 					|| $character > 0x7E && $character < 0xA0
! 					|| $character > 0xD7FF && $character < 0xF900
! 				)
! 				{
! 					for ($j = $start; $j <= $i; $j++)
  					{
! 						$string .= '%' . strtoupper($bytes[$j]);
  					}
  				}
  				else
  				{
! 					for ($j = $start; $j <= $i; $j++)
! 					{
! 						$string .= chr(hexdec($bytes[$j]));
! 					}
  				}
  			}
! 		}
! 
! 		// If we have any bytes left over they are invalid (i.e., we are
! 		// mid-way through a multi-byte sequence)
! 		if ($remaining)
! 		{
! 			for ($j = $start; $j < $len; $j++)
  			{
! 				$string .= '%' . strtoupper($bytes[$j]);
  			}
  		}
+ 
  		return $string;
  	}
  
***************
*** 12031,12037 ****
  		}
  		elseif ($host[0] === '[' && substr($host, -1) === ']')
  		{
! 			if (Net_IPv6::checkIPv6(substr($host, 1, -1)))
  			{
  				$this->host = $host;
  				$this->valid[__FUNCTION__] = true;
--- 12329,12335 ----
  		}
  		elseif ($host[0] === '[' && substr($host, -1) === ']')
  		{
! 			if (SimplePie_Net_IPv6::checkIPv6(substr($host, 1, -1)))
  			{
  				$this->host = $host;
  				$this->valid[__FUNCTION__] = true;
***************
*** 12130,12136 ****
  		}
  		else
  		{
! 			$this->query = $this->replace_invalid_with_pct_encoding($query, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=:@/?');
  		}
  		$this->valid[__FUNCTION__] = true;
  		return true;
--- 12428,12434 ----
  		}
  		else
  		{
! 			$this->query = $this->replace_invalid_with_pct_encoding($query, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$\'()*+,;:@/?&=');
  		}
  		$this->valid[__FUNCTION__] = true;
  		return true;
***************
*** 13933,13939 ****
  		}
  		else
  		{
! 			$this->state = 'standalone_name';
  		}
  	}
  
--- 14231,14237 ----
  		}
  		else
  		{
! 			$this->state = false;
  		}
  	}
  
***************
*** 13947,13953 ****
  		}
  		else
  		{
! 			$this->state = false;
  		}
  	}
  
--- 14245,14251 ----
  		}
  		else
  		{
! 			$this->state = 'standalone_name';
  		}
  	}
  
***************
*** 14425,14431 ****
  					case constant('XMLReader::END_ELEMENT'):
  						if ($xml->namespaceURI !== '')
  						{
! 							$tagName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
  						}
  						else
  						{
--- 14723,14729 ----
  					case constant('XMLReader::END_ELEMENT'):
  						if ($xml->namespaceURI !== '')
  						{
! 							$tagName = $xml->namespaceURI . $this->separator . $xml->localName;
  						}
  						else
  						{
***************
*** 14437,14443 ****
  						$empty = $xml->isEmptyElement;
  						if ($xml->namespaceURI !== '')
  						{
! 							$tagName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
  						}
  						else
  						{
--- 14735,14741 ----
  						$empty = $xml->isEmptyElement;
  						if ($xml->namespaceURI !== '')
  						{
! 							$tagName = $xml->namespaceURI . $this->separator . $xml->localName;
  						}
  						else
  						{
***************
*** 14448,14454 ****
  						{
  							if ($xml->namespaceURI !== '')
  							{
! 								$attrName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
  							}
  							else
  							{
--- 14746,14752 ----
  						{
  							if ($xml->namespaceURI !== '')
  							{
! 								$attrName = $xml->namespaceURI . $this->separator . $xml->localName;
  							}
  							else
  							{
***************
*** 14913,14919 ****
  									}
  									else
  									{
! 										trigger_error("$this->cache_location is not writeable", E_USER_WARNING);
  									}
  								}
  							}
--- 15211,15217 ----
  									}
  									else
  									{
! 										trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
  									}
  								}
  							}
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-smtp.php ./wordpress-3.4/wp-includes/class-smtp.php
*** ./wordpress-3.3.2/wp-includes/class-smtp.php	2011-04-21 15:29:30.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-smtp.php	2012-02-07 10:13:51.000000000 -0600
***************
*** 2,16 ****
  /*~ class.smtp.php
  .---------------------------------------------------------------------------.
  |  Software: PHPMailer - PHP email class                                    |
! |   Version: 5.1                                                            |
! |   Contact: via sourceforge.net support pages (also www.codeworxtech.com)  |
! |      Info: http://phpmailer.sourceforge.net                               |
! |   Support: http://sourceforge.net/projects/phpmailer/                     |
  | ------------------------------------------------------------------------- |
! |     Admin: Andy Prevost (project admininistrator)                         |
  |   Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net |
  |          : Marcus Bointon (coolbru) coolbru@users.sourceforge.net         |
  |   Founder: Brent R. Matzelle (original founder)                           |
  | Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved.               |
  | Copyright (c) 2001-2003, Brent R. Matzelle                                |
  | ------------------------------------------------------------------------- |
--- 2,16 ----
  /*~ class.smtp.php
  .---------------------------------------------------------------------------.
  |  Software: PHPMailer - PHP email class                                    |
! |   Version: 5.2.1                                                          |
! |      Site: https://code.google.com/a/apache-extras.org/p/phpmailer/       |
  | ------------------------------------------------------------------------- |
! |     Admin: Jim Jagielski (project admininistrator)                        |
  |   Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net |
  |          : Marcus Bointon (coolbru) coolbru@users.sourceforge.net         |
+ |          : Jim Jagielski (jimjag) jimjag@gmail.com                        |
  |   Founder: Brent R. Matzelle (original founder)                           |
+ | Copyright (c) 2010-2012, Jim Jagielski. All Rights Reserved.              |
  | Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved.               |
  | Copyright (c) 2001-2003, Brent R. Matzelle                                |
  | ------------------------------------------------------------------------- |
***************
*** 19,29 ****
  | This program is distributed in the hope that it will be useful - WITHOUT  |
  | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or     |
  | FITNESS FOR A PARTICULAR PURPOSE.                                         |
- | ------------------------------------------------------------------------- |
- | We offer a number of paid services (www.codeworxtech.com):                |
- | - Web Hosting on highly optimized fast and secure servers                 |
- | - Technology Consulting                                                   |
- | - Oursourcing (highly qualified programmers and graphic designers)        |
  '---------------------------------------------------------------------------'
  */
  
--- 19,24 ----
***************
*** 34,41 ****
   * @author Andy Prevost
   * @author Marcus Bointon
   * @copyright 2004 - 2008 Andy Prevost
   * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
!  * @version $Id: class.smtp.php 444 2009-05-05 11:22:26Z coolbru $
   */
  
  /**
--- 29,38 ----
   * @author Andy Prevost
   * @author Marcus Bointon
   * @copyright 2004 - 2008 Andy Prevost
+  * @author Jim Jagielski
+  * @copyright 2010 - 2012 Jim Jagielski
   * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
!  * @version $Id: class.smtp.php 450 2010-06-23 16:46:33Z coolbru $
   */
  
  /**
***************
*** 71,76 ****
--- 68,79 ----
     */
    public $do_verp = false;
  
+   /**
+    * Sets the SMTP PHPMailer Version number
+    * @var string
+    */
+   public $Version         = '5.2.1';
+ 
    /////////////////////////////////////////////////
    // PROPERTIES, PRIVATE AND PROTECTED
    /////////////////////////////////////////////////
***************
*** 794,800 ****
     */
    private function get_lines() {
      $data = "";
!     while($str = @fgets($this->smtp_conn,515)) {
        if($this->do_debug >= 4) {
          echo "SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . '<br />';
          echo "SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '<br />';
--- 797,804 ----
     */
    private function get_lines() {
      $data = "";
!     while(!feof($this->smtp_conn)) {
!       $str = @fgets($this->smtp_conn,515);
        if($this->do_debug >= 4) {
          echo "SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . '<br />';
          echo "SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '<br />';
***************
*** 811,814 ****
  
  }
  
! ?>
\ No newline at end of file
--- 815,818 ----
  
  }
  
! ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-admin-bar.php ./wordpress-3.4/wp-includes/class-wp-admin-bar.php
*** ./wordpress-3.3.2/wp-includes/class-wp-admin-bar.php	2012-01-02 15:37:16.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-admin-bar.php	2012-04-09 20:19:30.000000000 -0500
***************
*** 321,327 ****
  	}
  
  	final protected function _render( $root ) {
! 		global $is_IE, $is_iphone;
  
  		// Add browser classes.
  		// We have to do this here since admin bar shows on the front end.
--- 321,327 ----
  	}
  
  	final protected function _render( $root ) {
! 		global $is_IE;
  
  		// Add browser classes.
  		// We have to do this here since admin bar shows on the front end.
***************
*** 333,339 ****
  				$class .= ' ie8';
  			elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE 9' ) )
  				$class .= ' ie9';
! 		} elseif ( $is_iphone ) {
  			$class .= ' mobile';
  		}
  
--- 333,339 ----
  				$class .= ' ie8';
  			elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE 9' ) )
  				$class .= ' ie9';
! 		} elseif ( wp_is_mobile() ) {
  			$class .= ' mobile';
  		}
  
***************
*** 471,474 ****
  		do_action( 'add_admin_bar_menus' );
  	}
  }
- ?>
--- 471,473 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-ajax-response.php ./wordpress-3.4/wp-includes/class-wp-ajax-response.php
*** ./wordpress-3.3.2/wp-includes/class-wp-ajax-response.php	2011-04-29 15:05:12.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-wp-ajax-response.php	2012-02-12 13:02:07.000000000 -0600
***************
*** 131,138 ****
  		foreach ( (array) $this->responses as $response )
  			echo $response;
  		echo '</wp_ajax>';
! 		die();
  	}
  }
- 
- ?>
--- 131,139 ----
  		foreach ( (array) $this->responses as $response )
  			echo $response;
  		echo '</wp_ajax>';
! 		if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
! 			wp_die();
! 		else
! 			die();
  	}
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-atom-server.php ./wordpress-3.4/wp-includes/class-wp-atom-server.php
*** ./wordpress-3.3.2/wp-includes/class-wp-atom-server.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-atom-server.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 0 ****
--- 1,1487 ----
+ <?php
+ 
+ /**
+  * WordPress AtomPub API implementation.
+  *
+  * @package WordPress
+  * @subpackage Publishing
+  * @since 2.2.0
+  */
+ class wp_atom_server {
+ 
+ 	/**
+ 	 * ATOM content type.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $ATOM_CONTENT_TYPE = 'application/atom+xml';
+ 
+ 	/**
+ 	 * Categories ATOM content type.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $CATEGORIES_CONTENT_TYPE = 'application/atomcat+xml';
+ 
+ 	/**
+ 	 * Service ATOM content type.
+ 	 *
+ 	 * @since 2.3.0
+ 	 * @var string
+ 	 */
+ 	var $SERVICE_CONTENT_TYPE = 'application/atomsvc+xml';
+ 
+ 	/**
+ 	 * ATOM XML namespace.
+ 	 *
+ 	 * @since 2.3.0
+ 	 * @var string
+ 	 */
+ 	var $ATOM_NS = 'http://www.w3.org/2005/Atom';
+ 
+ 	/**
+ 	 * ATOMPUB XML namespace.
+ 	 *
+ 	 * @since 2.3.0
+ 	 * @var string
+ 	 */
+ 	var $ATOMPUB_NS = 'http://www.w3.org/2007/app';
+ 
+ 	/**
+ 	 * Entries path.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $ENTRIES_PATH = "posts";
+ 
+ 	/**
+ 	 * Categories path.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $CATEGORIES_PATH = "categories";
+ 
+ 	/**
+ 	 * Media path.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $MEDIA_PATH = "attachments";
+ 
+ 	/**
+ 	 * Entry path.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $ENTRY_PATH = "post";
+ 
+ 	/**
+ 	 * Service path.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $SERVICE_PATH = "service";
+ 
+ 	/**
+ 	 * Media single path.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var string
+ 	 */
+ 	var $MEDIA_SINGLE_PATH = "attachment";
+ 
+ 	/**
+ 	 * ATOMPUB parameters.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var array
+ 	 */
+ 	var $params = array();
+ 
+ 	/**
+ 	 * Supported ATOMPUB media types.
+ 	 *
+ 	 * @since 2.3.0
+ 	 * @var array
+ 	 */
+ 	var $media_content_types = array('image/*','audio/*','video/*');
+ 
+ 	/**
+ 	 * ATOMPUB content type(s).
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var array
+ 	 */
+ 	var $atom_content_types = array('application/atom+xml');
+ 
+ 	/**
+ 	 * ATOMPUB methods.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var unknown_type
+ 	 */
+ 	var $selectors = array();
+ 
+ 	/**
+ 	 * Whether to do output.
+ 	 *
+ 	 * Support for head.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @var bool
+ 	 */
+ 	var $do_output = true;
+ 
+ 	/**
+ 	 * Constructor - Sets up object properties.
+ 	 *
+ 	 * @since 2.2.0
+ 	 * @return AtomServer
+ 	 */
+ 	function __construct() {
+ 
+ 		$var_by_ref = explode( '/', $_SERVER['SCRIPT_NAME'] );
+ 		$this->script_name = array_pop( $var_by_ref );
+ 		$this->app_base = site_url( $this->script_name . '/' );
+ 
+ 		$this->selectors = array(
+ 			'@/service$@' =>
+ 				array('GET' => 'get_service'),
+ 			'@/categories$@' =>
+ 				array('GET' => 'get_categories_xml'),
+ 			'@/post/(\d+)$@' =>
+ 				array('GET' => 'get_post',
+ 						'PUT' => 'put_post',
+ 						'DELETE' => 'delete_post'),
+ 			'@/posts/?(\d+)?$@' =>
+ 				array('GET' => 'get_posts',
+ 						'POST' => 'create_post'),
+ 			'@/attachments/?(\d+)?$@' =>
+ 				array('GET' => 'get_attachment',
+ 						'POST' => 'create_attachment'),
+ 			'@/attachment/file/(\d+)$@' =>
+ 				array('GET' => 'get_file',
+ 						'PUT' => 'put_file',
+ 						'DELETE' => 'delete_file'),
+ 			'@/attachment/(\d+)$@' =>
+ 				array('GET' => 'get_attachment',
+ 						'PUT' => 'put_attachment',
+ 						'DELETE' => 'delete_attachment'),
+ 		);
+ 	}
+ 
+ 	/**
+ 	 * Handle ATOMPUB request.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function handle_request() {
+ 
+ 		if ( !empty( $_SERVER['ORIG_PATH_INFO'] ) )
+ 			$path = $_SERVER['ORIG_PATH_INFO'];
+ 		else
+ 			$path = $_SERVER['PATH_INFO'];
+ 
+ 		$method = $_SERVER['REQUEST_METHOD'];
+ 
+ 		$this->process_conditionals();
+ 		//$this->process_conditionals();
+ 
+ 		// exception case for HEAD (treat exactly as GET, but don't output)
+ 		if ($method == 'HEAD') {
+ 			$this->do_output = false;
+ 			$method = 'GET';
+ 		}
+ 
+ 		// redirect to /service in case no path is found.
+ 		if (strlen($path) == 0 || $path == '/')
+ 			$this->redirect($this->get_service_url());
+ 
+ 		// check to see if AtomPub is enabled
+ 		if ( !get_option( 'enable_app' ) )
+ 			$this->forbidden( sprintf( __( 'AtomPub services are disabled on this site. An admin user can enable them at %s' ), admin_url('options-writing.php') ) );
+ 
+ 		// dispatch
+ 		foreach ( $this->selectors as $regex => $funcs ) {
+ 			if ( preg_match($regex, $path, $matches) ) {
+ 				if ( isset($funcs[$method]) ) {
+ 
+ 					// authenticate regardless of the operation and set the current
+ 					// user. each handler will decide if auth is required or not.
+ 					if ( !$this->authenticate() ) {
+ 						$this->auth_required('Credentials required.');
+ 					}
+ 
+ 					array_shift($matches);
+ 					call_user_func_array(array($this,$funcs[$method]), $matches);
+ 					wp_die();
+ 				} else {
+ 					// only allow what we have handlers for...
+ 					$this->not_allowed(array_keys($funcs));
+ 				}
+ 			}
+ 		}
+ 
+ 		// oops, nothing found
+ 		$this->not_found();
+ 	}
+ 
+ 	/**
+ 	 * Retrieve XML for ATOMPUB service.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function get_service() {
+ 
+ 		if ( !current_user_can( 'edit_posts' ) )
+ 			$this->auth_required( __( 'Sorry, you do not have the right to access this site.' ) );
+ 
+ 		$entries_url = esc_attr($this->get_entries_url());
+ 		$categories_url = esc_attr($this->get_categories_url());
+ 		$media_url = esc_attr($this->get_attachments_url());
+ 		$accepted_media_types = '';
+ 		foreach ($this->media_content_types as $med) {
+ 			$accepted_media_types = $accepted_media_types . "<accept>" . $med . "</accept>";
+ 		}
+ 		$atom_prefix="atom";
+ 		$atom_blogname = get_bloginfo('name');
+ 		$service_doc = <<<EOD
+ <service xmlns="$this->ATOMPUB_NS" xmlns:$atom_prefix="$this->ATOM_NS">
+   <workspace>
+     <$atom_prefix:title>$atom_blogname Workspace</$atom_prefix:title>
+     <collection href="$entries_url">
+       <$atom_prefix:title>$atom_blogname Posts</$atom_prefix:title>
+       <accept>$this->ATOM_CONTENT_TYPE;type=entry</accept>
+       <categories href="$categories_url" />
+     </collection>
+     <collection href="$media_url">
+       <$atom_prefix:title>$atom_blogname Media</$atom_prefix:title>
+       $accepted_media_types
+     </collection>
+   </workspace>
+ </service>
+ 
+ EOD;
+ 
+ 		$this->output($service_doc, $this->SERVICE_CONTENT_TYPE);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve categories list in XML format.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function get_categories_xml() {
+ 
+ 		if ( !current_user_can( 'edit_posts' ) )
+ 			$this->auth_required( __( 'Sorry, you do not have the right to access this site.' ) );
+ 
+ 		$home = esc_attr(get_bloginfo_rss('url'));
+ 
+ 		$categories = "";
+ 		$cats = get_categories(array('hierarchical' => 0, 'hide_empty' => 0));
+ 		foreach ( (array) $cats as $cat ) {
+ 			$categories .= "    <category term=\"" . esc_attr($cat->name) . "\" />\n";
+ 		}
+ 		$output = <<<EOD
+ <app:categories xmlns:app="$this->ATOMPUB_NS"
+ 	xmlns="$this->ATOM_NS"
+ 	fixed="yes" scheme="$home">
+ 	$categories
+ </app:categories>
+ EOD;
+ 		$this->output($output, $this->CATEGORIES_CONTENT_TYPE);
+ 	}
+ 
+ 	/**
+ 	 * Create new post.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function create_post() {
+ 		global $user_ID;
+ 		$this->get_accepted_content_type($this->atom_content_types);
+ 
+ 		$parser = new AtomParser();
+ 		if ( !$parser->parse() )
+ 			$this->client_error();
+ 
+ 		$entry = array_pop($parser->feed->entries);
+ 
+ 		$catnames = array();
+ 		if ( !empty( $entry->categories ) ) {
+ 			foreach ( $entry->categories as $cat ) {
+ 				array_push($catnames, $cat["term"]);
+ 			}
+ 		}
+ 
+ 		$wp_cats = get_categories(array('hide_empty' => false));
+ 
+ 		$post_category = array();
+ 
+ 		foreach ( $wp_cats as $cat ) {
+ 			if ( in_array($cat->name, $catnames) )
+ 				array_push($post_category, $cat->term_id);
+ 		}
+ 
+ 		$publish = ! ( isset( $entry->draft ) && 'yes' == trim( $entry->draft ) );
+ 
+ 		$cap = ($publish) ? 'publish_posts' : 'edit_posts';
+ 
+ 		if ( !current_user_can($cap) )
+ 			$this->auth_required(__('Sorry, you do not have the right to edit/publish new posts.'));
+ 
+ 		$blog_ID = get_current_blog_id();
+ 		$post_status = ($publish) ? 'publish' : 'draft';
+ 		$post_author = (int) $user_ID;
+ 
+ 		$post_title   = '';
+ 		$post_content = '';
+ 		$post_excerpt = '';
+ 		$pubtimes     = '';
+ 
+ 		if ( isset( $entry->title ) && is_array( $entry->title ) && !empty( $entry->title[1] ) )
+ 			$post_title = (string) $entry->title[1];
+ 		if ( isset( $entry->content ) && is_array( $entry->content ) && !empty( $entry->content[1] ) )
+ 			$post_content = (string) $entry->content[1];
+ 		if ( isset( $entry->summary ) && is_array( $entry->summary ) && !empty( $entry->summary[1] ) )
+ 			$post_excerpt = (string) $entry->summary[1];
+ 		if ( !empty( $entry->published ) )
+ 			$pubtimes = (string) $entry->published;
+ 
+ 		$pubtimes = $this->get_publish_time( $pubtimes );
+ 
+ 		$post_date = $pubtimes[0];
+ 		$post_date_gmt = $pubtimes[1];
+ 
+ 		if ( isset( $_SERVER['HTTP_SLUG'] ) )
+ 			$post_name = $_SERVER['HTTP_SLUG'];
+ 
+ 		$post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_name');
+ 
+ 		$this->escape($post_data);
+ 
+ 		$postID = wp_insert_post($post_data);
+ 		if ( is_wp_error( $postID ) )
+ 			$this->internal_error($postID->get_error_message());
+ 
+ 		if ( !$postID )
+ 			$this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
+ 
+ 		// getting warning here about unable to set headers
+ 		// because something in the cache is printing to the buffer
+ 		// could we clean up wp_set_post_categories or cache to not print
+ 		// this could affect our ability to send back the right headers
+ 		@wp_set_post_categories($postID, $post_category);
+ 
+ 		do_action( 'atompub_create_post', $postID, $entry );
+ 
+ 		$output = $this->get_entry($postID);
+ 
+ 		$this->created($postID, $output);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve post.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function get_post($postID) {
+ 		global $entry;
+ 
+ 		if ( !current_user_can( 'edit_post', $postID ) )
+ 			$this->auth_required( __( 'Sorry, you do not have the right to access this post.' ) );
+ 
+ 		$this->set_current_entry($postID);
+ 		$output = $this->get_entry($postID);
+ 		$this->output($output);
+ 
+ 	}
+ 
+ 	/**
+ 	 * Update post.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function put_post($postID) {
+ 		// checked for valid content-types (atom+xml)
+ 		// quick check and exit
+ 		$this->get_accepted_content_type($this->atom_content_types);
+ 
+ 		$parser = new AtomParser();
+ 		if ( !$parser->parse() )
+ 			$this->bad_request();
+ 
+ 		$parsed = array_pop($parser->feed->entries);
+ 
+ 		// check for not found
+ 		global $entry;
+ 		$this->set_current_entry($postID);
+ 
+ 		if ( !current_user_can('edit_post', $entry['ID']) )
+ 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
+ 
+ 		$publish = ! ( isset($parsed->draft) && 'yes' == trim($parsed->draft) );
+ 		$post_status = ($publish) ? 'publish' : 'draft';
+ 
+ 		extract($entry);
+ 
+ 		$post_title = $parsed->title[1];
+ 		$post_content = $parsed->content[1];
+ 		$post_excerpt = $parsed->summary[1];
+ 		$pubtimes = $this->get_publish_time($entry->published);
+ 		$post_date = $pubtimes[0];
+ 		$post_date_gmt = $pubtimes[1];
+ 		$pubtimes = $this->get_publish_time($parsed->updated);
+ 		$post_modified = $pubtimes[0];
+ 		$post_modified_gmt = $pubtimes[1];
+ 
+ 		$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt');
+ 		$this->escape($postdata);
+ 
+ 		$result = wp_update_post($postdata);
+ 
+ 		if ( !$result )
+ 			$this->internal_error(__('For some strange yet very annoying reason, this post could not be edited.'));
+ 
+ 		do_action( 'atompub_put_post', $ID, $parsed );
+ 
+ 		$this->ok();
+ 	}
+ 
+ 	/**
+ 	 * Remove post.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function delete_post($postID) {
+ 
+ 		// check for not found
+ 		global $entry;
+ 		$this->set_current_entry($postID);
+ 
+ 		if ( !current_user_can('edit_post', $postID) )
+ 			$this->auth_required(__('Sorry, you do not have the right to delete this post.'));
+ 
+ 		if ( $entry['post_type'] == 'attachment' ) {
+ 			$this->delete_attachment($postID);
+ 		} else {
+ 			$result = wp_delete_post($postID);
+ 
+ 			if ( !$result ) {
+ 				$this->internal_error(__('For some strange yet very annoying reason, this post could not be deleted.'));
+ 			}
+ 
+ 			$this->ok();
+ 		}
+ 
+ 	}
+ 
+ 	/**
+ 	 * Retrieve attachment.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Optional. Post ID.
+ 	 */
+ 	function get_attachment($postID = null) {
+ 		if ( !current_user_can( 'upload_files' ) )
+ 			$this->auth_required( __( 'You do not have permission to upload files.' ) );
+ 
+ 		if ( !isset($postID) ) {
+ 			$this->get_attachments();
+ 		} else {
+ 			$this->set_current_entry($postID);
+ 			$output = $this->get_entry($postID, 'attachment');
+ 			$this->output($output);
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Create new attachment.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function create_attachment() {
+ 
+ 		$type = $this->get_accepted_content_type();
+ 
+ 		if ( !current_user_can('upload_files') )
+ 			$this->auth_required( __( 'You do not have permission to upload files.' ) );
+ 
+ 		$fp = fopen("php://input", "rb");
+ 		$bits = null;
+ 		while ( !feof($fp) ) {
+ 			$bits .= fread($fp, 4096);
+ 		}
+ 		fclose($fp);
+ 
+ 		$slug = '';
+ 		if ( isset( $_SERVER['HTTP_SLUG'] ) )
+ 			$slug = $_SERVER['HTTP_SLUG'];
+ 		elseif ( isset( $_SERVER['HTTP_TITLE'] ) )
+ 			$slug = $_SERVER['HTTP_TITLE'];
+ 		elseif ( empty( $slug ) ) // just make a random name
+ 			$slug = substr( md5( uniqid( microtime() ) ), 0, 7);
+ 		$ext = preg_replace( '|.*/([a-z0-9]+)|', '$1', $_SERVER['CONTENT_TYPE'] );
+ 		$slug = sanitize_file_name( "$slug.$ext" );
+ 		$file = wp_upload_bits( $slug, null, $bits);
+ 
+ 		$url = $file['url'];
+ 		$file = $file['file'];
+ 
+ 		do_action('wp_create_file_in_uploads', $file); // replicate
+ 
+ 		// Construct the attachment array
+ 		$attachment = array(
+ 			'post_title' => $slug,
+ 			'post_content' => $slug,
+ 			'post_status' => 'attachment',
+ 			'post_parent' => 0,
+ 			'post_mime_type' => $type,
+ 			'guid' => $url
+ 			);
+ 
+ 		// Save the data
+ 		$postID = wp_insert_attachment($attachment, $file);
+ 
+ 		if (!$postID)
+ 			$this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
+ 
+ 		$output = $this->get_entry($postID, 'attachment');
+ 
+ 		$this->created($postID, $output, 'attachment');
+ 	}
+ 
+ 	/**
+ 	 * Update attachment.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function put_attachment($postID) {
+ 		// checked for valid content-types (atom+xml)
+ 		// quick check and exit
+ 		$this->get_accepted_content_type($this->atom_content_types);
+ 
+ 		$parser = new AtomParser();
+ 		if (!$parser->parse()) {
+ 			$this->bad_request();
+ 		}
+ 
+ 		$parsed = array_pop($parser->feed->entries);
+ 
+ 		// check for not found
+ 		global $entry;
+ 		$this->set_current_entry($postID);
+ 
+ 		if ( !current_user_can('edit_post', $entry['ID']) )
+ 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
+ 
+ 		extract($entry);
+ 
+ 		$post_title = $parsed->title[1];
+ 		$post_content = $parsed->summary[1];
+ 		$pubtimes = $this->get_publish_time($parsed->updated);
+ 		$post_modified = $pubtimes[0];
+ 		$post_modified_gmt = $pubtimes[1];
+ 
+ 		$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'post_modified', 'post_modified_gmt');
+ 		$this->escape($postdata);
+ 
+ 		$result = wp_update_post($postdata);
+ 
+ 		if ( !$result )
+ 			$this->internal_error(__('For some strange yet very annoying reason, this post could not be edited.'));
+ 
+ 		$this->ok();
+ 	}
+ 
+ 	/**
+ 	 * Remove attachment.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function delete_attachment($postID) {
+ 
+ 		// check for not found
+ 		global $entry;
+ 		$this->set_current_entry($postID);
+ 
+ 		if ( !current_user_can('edit_post', $postID) )
+ 			$this->auth_required(__('Sorry, you do not have the right to delete this post.'));
+ 
+ 		$location = get_post_meta($entry['ID'], '_wp_attached_file', true);
+ 		$filetype = wp_check_filetype($location);
+ 
+ 		if ( !isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']) )
+ 			$this->internal_error(__('Error occurred while accessing post metadata for file location.'));
+ 
+ 		// delete file
+ 		@unlink($location);
+ 
+ 		// delete attachment
+ 		$result = wp_delete_post($postID);
+ 
+ 		if ( !$result )
+ 			$this->internal_error(__('For some strange yet very annoying reason, this post could not be deleted.'));
+ 
+ 		$this->ok();
+ 	}
+ 
+ 	/**
+ 	 * Retrieve attachment from post.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function get_file($postID) {
+ 
+ 		// check for not found
+ 		global $entry;
+ 		$this->set_current_entry($postID);
+ 
+ 		// then whether user can edit the specific post
+ 		if ( !current_user_can('edit_post', $postID) )
+ 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
+ 
+ 		$location = get_post_meta($entry['ID'], '_wp_attached_file', true);
+ 		$location = get_option ('upload_path') . '/' . $location;
+ 		$filetype = wp_check_filetype($location);
+ 
+ 		if ( !isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']) )
+ 			$this->internal_error(__('Error occurred while accessing post metadata for file location.'));
+ 
+ 		status_header('200');
+ 		header('Content-Type: ' . $entry['post_mime_type']);
+ 		header('Connection: close');
+ 
+ 		if ( $fp = fopen($location, "rb") ) {
+ 			status_header('200');
+ 			header('Content-Type: ' . $entry['post_mime_type']);
+ 			header('Connection: close');
+ 
+ 			while ( !feof($fp) ) {
+ 				echo fread($fp, 4096);
+ 			}
+ 
+ 			fclose($fp);
+ 		} else {
+ 			status_header ('404');
+ 		}
+ 
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Upload file to blog and add attachment to post.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function put_file($postID) {
+ 
+ 		// first check if user can upload
+ 		if ( !current_user_can('upload_files') )
+ 			$this->auth_required(__('You do not have permission to upload files.'));
+ 
+ 		// check for not found
+ 		global $entry;
+ 		$this->set_current_entry($postID);
+ 
+ 		// then whether user can edit the specific post
+ 		if ( !current_user_can('edit_post', $postID) )
+ 			$this->auth_required(__('Sorry, you do not have the right to edit this post.'));
+ 
+ 		$upload_dir = wp_upload_dir( );
+ 		$location = get_post_meta($entry['ID'], '_wp_attached_file', true);
+ 		$filetype = wp_check_filetype($location);
+ 
+ 		$location = "{$upload_dir['basedir']}/{$location}";
+ 
+ 		if (!isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']))
+ 			$this->internal_error(__('Error occurred while accessing post metadata for file location.'));
+ 
+ 		$fp = fopen("php://input", "rb");
+ 		$localfp = fopen($location, "w+");
+ 		while ( !feof($fp) ) {
+ 			fwrite($localfp,fread($fp, 4096));
+ 		}
+ 		fclose($fp);
+ 		fclose($localfp);
+ 
+ 		$ID = $entry['ID'];
+ 		$pubtimes = $this->get_publish_time($entry->published);
+ 		$post_date = $pubtimes[0];
+ 		$post_date_gmt = $pubtimes[1];
+ 		$pubtimes = $this->get_publish_time($parsed->updated);
+ 		$post_modified = $pubtimes[0];
+ 		$post_modified_gmt = $pubtimes[1];
+ 
+ 		$post_data = compact('ID', 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt');
+ 		$result = wp_update_post($post_data);
+ 
+ 		if ( !$result )
+ 			$this->internal_error(__('Sorry, your entry could not be posted. Something wrong happened.'));
+ 
+ 		wp_update_attachment_metadata( $postID, wp_generate_attachment_metadata( $postID, $location ) );
+ 
+ 		$this->ok();
+ 	}
+ 
+ 	/**
+ 	 * Retrieve entries URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Page ID.
+ 	 * @return string
+ 	 */
+ 	function get_entries_url($page = null) {
+ 		if ( isset($GLOBALS['post_type']) && ( $GLOBALS['post_type'] == 'attachment' ) )
+ 			$path = $this->MEDIA_PATH;
+ 		else
+ 			$path = $this->ENTRIES_PATH;
+ 		$url = $this->app_base . $path;
+ 		if ( isset($page) && is_int($page) )
+ 			$url .= "/$page";
+ 		return $url;
+ 	}
+ 
+ 	/**
+ 	 * Display entries URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Page ID.
+ 	 */
+ 	function the_entries_url($page = null) {
+ 		echo $this->get_entries_url($page);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve categories URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param mixed $deprecated Not used.
+ 	 * @return string
+ 	 */
+ 	function get_categories_url($deprecated = '') {
+ 		if ( !empty( $deprecated ) )
+ 			_deprecated_argument( __FUNCTION__, '2.5' );
+ 		return $this->app_base . $this->CATEGORIES_PATH;
+ 	}
+ 
+ 	/**
+ 	 * Display category URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function the_categories_url() {
+ 		echo $this->get_categories_url();
+ 	}
+ 
+ 	/**
+ 	 * Retrieve attachment URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Page ID.
+ 	 * @return string
+ 	 */
+ 	function get_attachments_url($page = null) {
+ 		$url = $this->app_base . $this->MEDIA_PATH;
+ 		if (isset($page) && is_int($page)) {
+ 			$url .= "/$page";
+ 		}
+ 		return $url;
+ 	}
+ 
+ 	/**
+ 	 * Display attachment URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Page ID.
+ 	 */
+ 	function the_attachments_url($page = null) {
+ 		echo $this->get_attachments_url($page);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve service URL.
+ 	 *
+ 	 * @since 2.3.0
+ 	 *
+ 	 * @return string
+ 	 */
+ 	function get_service_url() {
+ 		return $this->app_base . $this->SERVICE_PATH;
+ 	}
+ 
+ 	/**
+ 	 * Retrieve entry URL.
+ 	 *
+ 	 * @since 2.7.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 * @return string
+ 	 */
+ 	function get_entry_url($postID = null) {
+ 		if (!isset($postID)) {
+ 			global $post;
+ 			$postID = (int) $post->ID;
+ 		}
+ 
+ 		$url = $this->app_base . $this->ENTRY_PATH . "/$postID";
+ 
+ 		return $url;
+ 	}
+ 
+ 	/**
+ 	 * Display entry URL.
+ 	 *
+ 	 * @since 2.7.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function the_entry_url($postID = null) {
+ 		echo $this->get_entry_url($postID);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve media URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 * @return string
+ 	 */
+ 	function get_media_url($postID = null) {
+ 		if (!isset($postID)) {
+ 			global $post;
+ 			$postID = (int) $post->ID;
+ 		}
+ 
+ 		$url = $this->app_base . $this->MEDIA_SINGLE_PATH ."/file/$postID";
+ 
+ 		return $url;
+ 	}
+ 
+ 	/**
+ 	 * Display the media URL.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function the_media_url($postID = null) {
+ 		echo $this->get_media_url($postID);
+ 	}
+ 
+ 	/**
+ 	 * Set the current entry to post ID.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 */
+ 	function set_current_entry($postID) {
+ 		global $entry;
+ 
+ 		if (!isset($postID)) {
+ 			// $this->bad_request();
+ 			$this->not_found();
+ 		}
+ 
+ 		$entry = wp_get_single_post($postID,ARRAY_A);
+ 
+ 		if (!isset($entry) || !isset($entry['ID']))
+ 			$this->not_found();
+ 
+ 		return;
+ 	}
+ 
+ 	/**
+ 	 * Display posts XML.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Optional. Page ID.
+ 	 * @param string $post_type Optional, default is 'post'. Post Type.
+ 	 */
+ 	function get_posts($page = 1, $post_type = 'post') {
+ 		$feed = $this->get_feed($page, $post_type);
+ 		$this->output($feed);
+ 	}
+ 
+ 	/**
+ 	 * Display attachment XML.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Page ID.
+ 	 * @param string $post_type Optional, default is 'attachment'. Post type.
+ 	 */
+ 	function get_attachments($page = 1, $post_type = 'attachment') {
+ 		$GLOBALS['post_type'] = $post_type;
+ 		$feed = $this->get_feed($page, $post_type);
+ 		$this->output($feed);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve feed XML.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $page Page ID.
+ 	 * @param string $post_type Optional, default is post. Post type.
+ 	 * @return string
+ 	 */
+ 	function get_feed($page = 1, $post_type = 'post') {
+ 		global $post, $wp, $wp_query, $posts, $wpdb, $blog_id;
+ 		ob_start();
+ 
+ 		$this->ENTRY_PATH = $post_type;
+ 
+ 		if (!isset($page)) {
+ 			$page = 1;
+ 		}
+ 		$page = (int) $page;
+ 
+ 		$count = get_option('posts_per_rss');
+ 
+ 		wp('posts_per_page=' . $count . '&offset=' . ($count * ($page-1)) . '&orderby=modified&post_status=any');
+ 
+ 		$post = $GLOBALS['post'];
+ 		$posts = $GLOBALS['posts'];
+ 		$wp = $GLOBALS['wp'];
+ 		$wp_query = $GLOBALS['wp_query'];
+ 		$wpdb = $GLOBALS['wpdb'];
+ 		$blog_id = (int) $GLOBALS['blog_id'];
+ 
+ 		$last_page = $wp_query->max_num_pages;
+ 		$next_page = (($page + 1) > $last_page) ? null : $page + 1;
+ 		$prev_page = ($page - 1) < 1 ? null : $page - 1;
+ 		$last_page = ((int)$last_page == 1 || (int)$last_page == 0) ? null : (int) $last_page;
+ 		$self_page = $page > 1 ? $page : null;
+ ?><feed xmlns="<?php echo $this->ATOM_NS ?>" xmlns:app="<?php echo $this->ATOMPUB_NS ?>" xml:lang="<?php bloginfo_rss( 'language' ); ?>" <?php do_action('app_ns'); ?> >
+ <id><?php $this->the_entries_url() ?></id>
+ <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></updated>
+ <title type="text"><?php bloginfo_rss('name') ?></title>
+ <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
+ <link rel="first" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url() ?>" />
+ <?php if (isset($prev_page)): ?>
+ <link rel="previous" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($prev_page) ?>" />
+ <?php endif; ?>
+ <?php if (isset($next_page)): ?>
+ <link rel="next" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($next_page) ?>" />
+ <?php endif; ?>
+ <link rel="last" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($last_page) ?>" />
+ <link rel="self" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($self_page) ?>" />
+ <rights type="text">Copyright <?php echo date('Y'); ?></rights>
+ <?php do_action('app_head'); ?>
+ <?php if ( have_posts() ) {
+ 			while ( have_posts() ) {
+ 				the_post();
+ 				$this->echo_entry();
+ 			}
+ 		}
+ ?></feed>
+ <?php
+ 		$feed = ob_get_contents();
+ 		ob_end_clean();
+ 		return $feed;
+ 	}
+ 
+ 	/**
+ 	 * Display entry XML.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param int $postID Post ID.
+ 	 * @param string $post_type Optional, default is post. Post type.
+ 	 * @return string.
+ 	 */
+ 	function get_entry($postID, $post_type = 'post') {
+ 		ob_start();
+ 		switch($post_type) {
+ 			case 'post':
+ 				$varname = 'p';
+ 				break;
+ 			case 'attachment':
+ 				$this->ENTRY_PATH = 'attachment';
+ 				$varname = 'attachment_id';
+ 				break;
+ 		}
+ 		query_posts($varname . '=' . $postID);
+ 		if ( have_posts() ) {
+ 			while ( have_posts() ) {
+ 				the_post();
+ 				$this->echo_entry();
+ 				$entry = ob_get_contents();
+ 				break;
+ 			}
+ 		}
+ 		ob_end_clean();
+ 
+ 		return $entry;
+ 	}
+ 
+ 	/**
+ 	 * Display post content XML.
+ 	 *
+ 	 * @since 2.3.0
+ 	 */
+ 	function echo_entry() { ?>
+ <entry xmlns="<?php echo $this->ATOM_NS ?>"
+        xmlns:app="<?php echo $this->ATOMPUB_NS ?>" xml:lang="<?php bloginfo_rss( 'language' ); ?>">
+ 	<id><?php the_guid( $GLOBALS['post']->ID ); ?></id>
+ <?php list($content_type, $content) = prep_atom_text_construct(get_the_title()); ?>
+ 	<title type="<?php echo $content_type ?>"><?php echo $content ?></title>
+ 	<updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated>
+ 	<published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
+ 	<app:edited><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></app:edited>
+ 	<app:control>
+ 		<app:draft><?php echo ($GLOBALS['post']->post_status == 'draft' ? 'yes' : 'no') ?></app:draft>
+ 	</app:control>
+ 	<author>
+ 		<name><?php the_author()?></name>
+ <?php if ( get_the_author_meta('url') && get_the_author_meta('url') != 'http://' ) { ?>
+ 		<uri><?php the_author_meta('url') ?></uri>
+ <?php } ?>
+ 	</author>
+ <?php if ($GLOBALS['post']->post_type == 'attachment') { ?>
+ 	<link rel="edit-media" href="<?php $this->the_media_url() ?>" />
+ 	<content type="<?php echo $GLOBALS['post']->post_mime_type ?>" src="<?php the_guid() ; ?>"/>
+ <?php } else { ?>
+ 	<link href="<?php the_permalink_rss() ?>" />
+ <?php if ( strlen( $GLOBALS['post']->post_content ) ) :
+ list($content_type, $content) = prep_atom_text_construct(get_the_content()); ?>
+ 	<content type="<?php echo $content_type ?>"><?php echo $content ?></content>
+ <?php endif; ?>
+ <?php } ?>
+ 	<link rel="edit" href="<?php $this->the_entry_url() ?>" />
+ 	<?php the_category_rss( 'atom' ); ?>
+ <?php list($content_type, $content) = prep_atom_text_construct(get_the_excerpt()); ?>
+ 	<summary type="<?php echo $content_type ?>"><?php echo $content ?></summary>
+ 	<?php do_action('app_entry'); ?>
+ </entry>
+ <?php }
+ 
+ 	/**
+ 	 * Set 'OK' (200) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function ok() {
+ 		header('Content-Type: text/plain');
+ 		status_header('200');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'No Content' (204) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function no_content() {
+ 		header('Content-Type: text/plain');
+ 		status_header('204');
+ 		echo "Moved to Trash.";
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Display 'Internal Server Error' (500) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param string $msg Optional. Status string.
+ 	 */
+ 	function internal_error($msg = 'Internal Server Error') {
+ 		header('Content-Type: text/plain');
+ 		status_header('500');
+ 		echo $msg;
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Bad Request' (400) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function bad_request() {
+ 		header('Content-Type: text/plain');
+ 		status_header('400');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Length Required' (411) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function length_required() {
+ 		header("HTTP/1.1 411 Length Required");
+ 		header('Content-Type: text/plain');
+ 		status_header('411');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Unsupported Media Type' (415) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function invalid_media() {
+ 		header("HTTP/1.1 415 Unsupported Media Type");
+ 		header('Content-Type: text/plain');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Forbidden' (403) status header.
+ 	 *
+ 	 * @since 2.6.0
+ 	 */
+ 	function forbidden($reason='') {
+ 		header('Content-Type: text/plain');
+ 		status_header('403');
+ 		echo $reason;
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Not Found' (404) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function not_found() {
+ 		header('Content-Type: text/plain');
+ 		status_header('404');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Not Allowed' (405) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function not_allowed($allow) {
+ 		header('Allow: ' . join(',', $allow));
+ 		status_header('405');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Display Redirect (302) content and set status headers.
+ 	 *
+ 	 * @since 2.3.0
+ 	 */
+ 	function redirect($url) {
+ 		$escaped_url = esc_attr($url);
+ 		$content = <<<EOD
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <html>
+   <head>
+     <title>302 Found</title>
+   </head>
+ <body>
+   <h1>Found</h1>
+   <p>The document has moved <a href="$escaped_url">here</a>.</p>
+   </body>
+ </html>
+ 
+ EOD;
+ 		header('HTTP/1.1 302 Moved');
+ 		header('Content-Type: text/html');
+ 		header('Location: ' . $url);
+ 		echo $content;
+ 		wp_die();
+ 
+ 	}
+ 
+ 	/**
+ 	 * Set 'Client Error' (400) status header.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function client_error($msg = 'Client Error') {
+ 		header('Content-Type: text/plain');
+ 		status_header('400');
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set created status headers (201).
+ 	 *
+ 	 * Sets the 'content-type', 'content-location', and 'location'.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function created($post_ID, $content, $post_type = 'post') {
+ 		$edit = $this->get_entry_url($post_ID);
+ 		switch($post_type) {
+ 			case 'post':
+ 				$ctloc = $this->get_entry_url($post_ID);
+ 				break;
+ 			case 'attachment':
+ 				$edit = $this->app_base . "attachments/$post_ID";
+ 				break;
+ 		}
+ 		header("Content-Type: $this->ATOM_CONTENT_TYPE");
+ 		if (isset($ctloc))
+ 			header('Content-Location: ' . $ctloc);
+ 		header('Location: ' . $edit);
+ 		status_header('201');
+ 		echo $content;
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Set 'Auth Required' (401) headers.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param string $msg Status header content and HTML content.
+ 	 */
+ 	function auth_required($msg) {
+ 		nocache_headers();
+ 		header('WWW-Authenticate: Basic realm="WordPress Atom Protocol"');
+ 		header("HTTP/1.1 401 $msg");
+ 		header('Status: 401 ' . $msg);
+ 		header('Content-Type: text/html');
+ 		$content = <<<EOD
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <html>
+   <head>
+     <title>401 Unauthorized</title>
+   </head>
+ <body>
+     <h1>401 Unauthorized</h1>
+     <p>$msg</p>
+   </body>
+ </html>
+ 
+ EOD;
+ 		echo $content;
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Display XML and set headers with content type.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param string $xml Display feed content.
+ 	 * @param string $ctype Optional, default is 'atom+xml'. Feed content type.
+ 	 */
+ 	function output($xml, $ctype = 'application/atom+xml') {
+ 		status_header('200');
+ 		$xml = '<?xml version="1.0" encoding="' . strtolower(get_option('blog_charset')) . '"?>'."\n".$xml;
+ 		header('Connection: close');
+ 		header('Content-Length: '. strlen($xml));
+ 		header('Content-Type: ' . $ctype);
+ 		header('Content-Disposition: attachment; filename=atom.xml');
+ 		header('Date: '. date('r'));
+ 		if ($this->do_output)
+ 			echo $xml;
+ 		wp_die();
+ 	}
+ 
+ 	/**
+ 	 * Sanitize content for database usage.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param array $array Sanitize array and multi-dimension array.
+ 	 */
+ 	function escape(&$array) {
+ 		global $wpdb;
+ 
+ 		foreach ($array as $k => $v) {
+ 				if (is_array($v)) {
+ 						$this->escape($array[$k]);
+ 				} else if (is_object($v)) {
+ 						//skip
+ 				} else {
+ 						$array[$k] = $wpdb->escape($v);
+ 				}
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Access credential through various methods and perform login.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @return bool
+ 	 */
+ 	function authenticate() {
+ 
+ 		// if using mod_rewrite/ENV hack
+ 		// http://www.besthostratings.com/articles/http-auth-php-cgi.html
+ 		if (isset($_SERVER['HTTP_AUTHORIZATION'])) {
+ 			list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
+ 				explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
+ 		} else if (isset($_SERVER['REDIRECT_REMOTE_USER'])) {
+ 			// Workaround for setups that do not forward HTTP_AUTHORIZATION
+ 			// See http://trac.wordpress.org/ticket/7361
+ 			list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
+ 				explode(':', base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6)));
+ 		}
+ 
+ 		// If Basic Auth is working...
+ 		if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
+ 
+ 			$user = wp_authenticate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
+ 			if ( $user && !is_wp_error($user) ) {
+ 				wp_set_current_user($user->ID);
+ 				return true;
+ 			}
+ 		}
+ 
+ 		return false;
+ 	}
+ 
+ 	/**
+ 	 * Retrieve accepted content types.
+ 	 *
+ 	 * @since 2.2.0
+ 	 *
+ 	 * @param array $types Optional. Content Types.
+ 	 * @return string
+ 	 */
+ 	function get_accepted_content_type($types = null) {
+ 
+ 		if (!isset($types)) {
+ 			$types = $this->media_content_types;
+ 		}
+ 
+ 		if (!isset($_SERVER['CONTENT_LENGTH']) || !isset($_SERVER['CONTENT_TYPE'])) {
+ 			$this->length_required();
+ 		}
+ 
+ 		$type = $_SERVER['CONTENT_TYPE'];
+ 		list($type,$subtype) = explode('/',$type);
+ 		list($subtype) = explode(";",$subtype); // strip MIME parameters
+ 
+ 		foreach($types as $t) {
+ 			list($acceptedType,$acceptedSubtype) = explode('/',$t);
+ 			if ($acceptedType == '*' || $acceptedType == $type) {
+ 				if ($acceptedSubtype == '*' || $acceptedSubtype == $subtype)
+ 					return $type . "/" . $subtype;
+ 			}
+ 		}
+ 
+ 		$this->invalid_media();
+ 	}
+ 
+ 	/**
+ 	 * Process conditionals for posts.
+ 	 *
+ 	 * @since 2.2.0
+ 	 */
+ 	function process_conditionals() {
+ 
+ 		if (empty($this->params)) return;
+ 		if ($_SERVER['REQUEST_METHOD'] == 'DELETE') return;
+ 
+ 		switch($this->params[0]) {
+ 			case $this->ENTRY_PATH:
+ 				global $post;
+ 				$post = wp_get_single_post($this->params[1]);
+ 				$wp_last_modified = get_post_modified_time('D, d M Y H:i:s', true);
+ 				$post = null;
+ 				break;
+ 			case $this->ENTRIES_PATH:
+ 				$wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastpostmodified('GMT'), 0).' GMT';
+ 				break;
+ 			default:
+ 				return;
+ 		}
+ 		$wp_etag = md5($wp_last_modified);
+ 		@header("Last-Modified: $wp_last_modified");
+ 		@header("ETag: $wp_etag");
+ 
+ 		// Support for Conditional GET
+ 		if (isset($_SERVER['HTTP_IF_NONE_MATCH']))
+ 			$client_etag = stripslashes($_SERVER['HTTP_IF_NONE_MATCH']);
+ 		else
+ 			$client_etag = false;
+ 
+ 		$client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE']);
+ 		// If string is empty, return 0. If not, attempt to parse into a timestamp
+ 		$client_modified_timestamp = $client_last_modified ? strtotime($client_last_modified) : 0;
+ 
+ 		// Make a timestamp for our most recent modification...
+ 		$wp_modified_timestamp = strtotime($wp_last_modified);
+ 
+ 		if ( ($client_last_modified && $client_etag) ?
+ 		(($client_modified_timestamp >= $wp_modified_timestamp) && ($client_etag == $wp_etag)) :
+ 		(($client_modified_timestamp >= $wp_modified_timestamp) || ($client_etag == $wp_etag)) ) {
+ 			status_header( 304 );
+ 			wp_die();
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Convert RFC3339 time string to timestamp.
+ 	 *
+ 	 * @since 2.3.0
+ 	 *
+ 	 * @param string $str String to time.
+ 	 * @return bool|int false if format is incorrect.
+ 	 */
+ 	function rfc3339_str2time($str) {
+ 
+ 		$match = false;
+ 		if (!preg_match("/(\d{4}-\d{2}-\d{2})T(\d{2}\:\d{2}\:\d{2})\.?\d{0,3}(Z|[+-]+\d{2}\:\d{2})/", $str, $match))
+ 			return false;
+ 
+ 		if ($match[3] == 'Z')
+ 			$match[3] = '+0000';
+ 
+ 		return strtotime($match[1] . " " . $match[2] . " " . $match[3]);
+ 	}
+ 
+ 	/**
+ 	 * Retrieve published time to display in XML.
+ 	 *
+ 	 * @since 2.3.0
+ 	 *
+ 	 * @param string $published Time string.
+ 	 * @return string
+ 	 */
+ 	function get_publish_time($published) {
+ 
+ 		$pubtime = $this->rfc3339_str2time($published);
+ 
+ 		if (!$pubtime) {
+ 			return array(current_time('mysql'),current_time('mysql',1));
+ 		} else {
+ 			return array(date("Y-m-d H:i:s", $pubtime), gmdate("Y-m-d H:i:s", $pubtime));
+ 		}
+ 	}
+ 
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-customize-control.php ./wordpress-3.4/wp-includes/class-wp-customize-control.php
*** ./wordpress-3.3.2/wp-includes/class-wp-customize-control.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-customize-control.php	2012-06-09 19:32:19.000000000 -0500
***************
*** 0 ****
--- 1,516 ----
+ <?php
+ /**
+  * Customize Control Class
+  *
+  * @package WordPress
+  * @subpackage Customize
+  * @since 3.4.0
+  */
+ 
+ class WP_Customize_Control {
+ 	public $manager;
+ 	public $id;
+ 
+ 	// All settings tied to the control.
+ 	public $settings;
+ 
+ 	// The primary setting for the control (if there is one).
+ 	public $setting = 'default';
+ 
+ 	public $priority          = 10;
+ 	public $section           = '';
+ 	public $label             = '';
+ 	// @todo: remove choices
+ 	public $choices           = array();
+ 
+ 	public $json = array();
+ 
+ 	public $type = 'text';
+ 
+ 
+ 	/**
+ 	 * Constructor.
+ 	 *
+ 	 * If $args['settings'] is not defined, use the $id as the setting ID.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	function __construct( $manager, $id, $args = array() ) {
+ 		$keys = array_keys( get_object_vars( $this ) );
+ 		foreach ( $keys as $key ) {
+ 			if ( isset( $args[ $key ] ) )
+ 				$this->$key = $args[ $key ];
+ 		}
+ 
+ 		$this->manager = $manager;
+ 		$this->id = $id;
+ 
+ 
+ 		// Process settings.
+ 		if ( empty( $this->settings ) )
+ 			$this->settings = $id;
+ 
+ 		$settings = array();
+ 		if ( is_array( $this->settings ) ) {
+ 			foreach ( $this->settings as $key => $setting ) {
+ 				$settings[ $key ] = $this->manager->get_setting( $setting );
+ 			}
+ 		} else {
+ 			$this->setting = $this->manager->get_setting( $this->settings );
+ 			$settings['default'] = $this->setting;
+ 		}
+ 		$this->settings = $settings;
+ 	}
+ 
+ 	/**
+ 	 * Enqueue control related scripts/styles.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function enqueue() {}
+ 
+ 
+ 	/**
+ 	 * Fetch a setting's value.
+ 	 * Grabs the main setting by default.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public final function value( $setting_key = 'default' ) {
+ 		if ( isset( $this->settings[ $setting_key ] ) )
+ 			return $this->settings[ $setting_key ]->value();
+ 	}
+ 
+ 	/**
+ 	 * Refresh the parameters passed to the JavaScript via JSON.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function to_json() {
+ 		$this->json['settings'] = array();
+ 		foreach ( $this->settings as $key => $setting ) {
+ 			$this->json['settings'][ $key ] = $setting->id;
+ 		}
+ 
+ 		$this->json['type'] = $this->type;
+ 	}
+ 
+ 	/**
+ 	 * Check if the theme supports the control and check user capabilities.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return bool False if theme doesn't support the control or user doesn't have the required permissions, otherwise true.
+ 	 */
+ 	public final function check_capabilities() {
+ 		foreach ( $this->settings as $setting ) {
+ 			if ( ! $setting->check_capabilities() )
+ 				return false;
+ 		}
+ 
+ 		$section = $this->manager->get_section( $this->section );
+ 		if ( isset( $section ) && ! $section->check_capabilities() )
+ 			return false;
+ 
+ 		return true;
+ 	}
+ 
+ 	/**
+ 	 * Check capabilities and render the control.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public final function maybe_render() {
+ 		if ( ! $this->check_capabilities() )
+ 			return;
+ 
+ 		do_action( 'customize_render_control', $this );
+ 		do_action( 'customize_render_control_' . $this->id, $this );
+ 
+ 		$this->render();
+ 	}
+ 
+ 	/**
+ 	 * Render the control. Renders the control wrapper, then calls $this->render_content().
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	protected function render() {
+ 		$id    = 'customize-control-' . str_replace( '[', '-', str_replace( ']', '', $this->id ) );
+ 		$class = 'customize-control customize-control-' . $this->type;
+ 
+ 		?><li id="<?php echo esc_attr( $id ); ?>" class="<?php echo esc_attr( $class ); ?>">
+ 			<?php $this->render_content(); ?>
+ 		</li><?php
+ 	}
+ 
+ 	public function get_link( $setting_key = 'default' ) {
+ 		if ( ! isset( $this->settings[ $setting_key ] ) )
+ 			return '';
+ 
+ 		return 'data-customize-setting-link="' . esc_attr( $this->settings[ $setting_key ]->id ) . '"';
+ 	}
+ 
+ 	public function link( $setting_key = 'default' ) {
+ 		echo $this->get_link( $setting_key );
+ 	}
+ 
+ 	/**
+ 	 * Render the control's content.
+ 	 *
+ 	 * Allows the content to be overriden without having to rewrite the wrapper.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	protected function render_content() {
+ 		switch( $this->type ) {
+ 			case 'text':
+ 				?>
+ 				<label>
+ 					<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+ 					<input type="text" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
+ 				</label>
+ 				<?php
+ 				break;
+ 			case 'checkbox':
+ 				?>
+ 				<label>
+ 					<input type="checkbox" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); checked( $this->value() ); ?> />
+ 					<?php echo esc_html( $this->label ); ?>
+ 				</label>
+ 				<?php
+ 				break;
+ 			case 'radio':
+ 				if ( empty( $this->choices ) )
+ 					return;
+ 
+ 				$name = '_customize-radio-' . $this->id;
+ 
+ 				?>
+ 				<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+ 				<?php
+ 				foreach ( $this->choices as $value => $label ) :
+ 					?>
+ 					<label>
+ 						<input type="radio" value="<?php echo esc_attr( $value ); ?>" name="<?php echo esc_attr( $name ); ?>" <?php $this->link(); checked( $this->value(), $value ); ?> />
+ 						<?php echo esc_html( $label ); ?><br/>
+ 					</label>
+ 					<?php
+ 				endforeach;
+ 				break;
+ 			case 'select':
+ 				if ( empty( $this->choices ) )
+ 					return;
+ 
+ 				?>
+ 				<label>
+ 					<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+ 					<select <?php $this->link(); ?>>
+ 						<?php
+ 						foreach ( $this->choices as $value => $label )
+ 							echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
+ 						?>
+ 					</select>
+ 				</label>
+ 				<?php
+ 				break;
+ 			case 'dropdown-pages':
+ 				$dropdown = wp_dropdown_pages(
+ 					array(
+ 						'name'              => '_customize-dropdown-pages-' . $this->id,
+ 						'echo'              => 0,
+ 						'show_option_none'  => __( '&mdash; Select &mdash;' ),
+ 						'option_none_value' => '0',
+ 						'selected'          => $this->value(),
+ 					)
+ 				);
+ 
+ 				// Hackily add in the data link parameter.
+ 				$dropdown = str_replace( '<select', '<select ' . $this->get_link(), $dropdown );
+ 
+ 				printf(
+ 					'<label class="customize-control-select"><span class="customize-control-title">%s</span> %s</label>',
+ 					$this->label,
+ 					$dropdown
+ 				);
+ 				break;
+ 		}
+ 	}
+ }
+ 
+ class WP_Customize_Color_Control extends WP_Customize_Control {
+ 	public $type = 'color';
+ 	public $statuses;
+ 
+ 	public function __construct( $manager, $id, $args = array() ) {
+ 		$this->statuses = array( '' => __('Default') );
+ 		parent::__construct( $manager, $id, $args );
+ 	}
+ 
+ 	public function enqueue() {
+ 		wp_enqueue_script( 'farbtastic' );
+ 		wp_enqueue_style( 'farbtastic' );
+ 	}
+ 
+ 	public function to_json() {
+ 		parent::to_json();
+ 		$this->json['statuses'] = $this->statuses;
+ 	}
+ 
+ 	public function render_content() {
+ 		?>
+ 		<label>
+ 			<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+ 			<div class="customize-control-content">
+ 				<div class="dropdown">
+ 					<div class="dropdown-content">
+ 						<div class="dropdown-status"></div>
+ 					</div>
+ 					<div class="dropdown-arrow"></div>
+ 				</div>
+ 				<input class="color-picker-hex" type="text" maxlength="7" placeholder="<?php esc_attr_e('Hex Value'); ?>" />
+ 			</div>
+ 			<div class="farbtastic-placeholder"></div>
+ 		</label>
+ 		<?php
+ 	}
+ }
+ 
+ class WP_Customize_Upload_Control extends WP_Customize_Control {
+ 	public $type    = 'upload';
+ 	public $removed = '';
+ 	public $context;
+ 
+ 	public function enqueue() {
+ 		wp_enqueue_script( 'wp-plupload' );
+ 	}
+ 
+ 	public function to_json() {
+ 		parent::to_json();
+ 
+ 		$this->json['removed'] = $this->removed;
+ 
+ 		if ( $this->context )
+ 			$this->json['context'] = $this->context;
+ 	}
+ 
+ 	public function render_content() {
+ 		?>
+ 		<label>
+ 			<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+ 			<div>
+ 				<a href="#" class="button-secondary upload"><?php _e( 'Upload' ); ?></a>
+ 				<a href="#" class="remove"><?php _e( 'Remove' ); ?></a>
+ 			</div>
+ 		</label>
+ 		<?php
+ 	}
+ }
+ 
+ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
+ 	public $type = 'image';
+ 	public $get_url;
+ 	public $statuses;
+ 
+ 	protected $tabs = array();
+ 
+ 	public function __construct( $manager, $id, $args ) {
+ 		$this->statuses = array( '' => __('No Image') );
+ 
+ 		parent::__construct( $manager, $id, $args );
+ 
+ 		$this->add_tab( 'upload-new', __('Upload New'), array( $this, 'tab_upload_new' ) );
+ 		$this->add_tab( 'uploaded',   __('Uploaded'),   array( $this, 'tab_uploaded' ) );
+ 	}
+ 
+ 	public function to_json() {
+ 		parent::to_json();
+ 		$this->json['statuses'] = $this->statuses;
+ 	}
+ 
+ 	public function render_content() {
+ 		$src = $this->value();
+ 		if ( isset( $this->get_url ) )
+ 			$src = call_user_func( $this->get_url, $src );
+ 
+ 		?>
+ 		<div class="customize-image-picker">
+ 			<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+ 
+ 			<div class="customize-control-content">
+ 				<div class="dropdown preview-thumbnail">
+ 					<div class="dropdown-content">
+ 						<?php if ( empty( $src ) ): ?>
+ 							<img style="display:none;" />
+ 						<?php else: ?>
+ 							<img src="<?php echo esc_url( set_url_scheme( $src ) ); ?>" />
+ 						<?php endif; ?>
+ 						<div class="dropdown-status"></div>
+ 					</div>
+ 					<div class="dropdown-arrow"></div>
+ 				</div>
+ 			</div>
+ 
+ 			<div class="library">
+ 				<ul>
+ 					<?php foreach ( $this->tabs as $id => $tab ): ?>
+ 						<li data-customize-tab='<?php echo esc_attr( $id ); ?>'>
+ 							<?php echo esc_html( $tab['label'] ); ?>
+ 						</li>
+ 					<?php endforeach; ?>
+ 				</ul>
+ 				<?php foreach ( $this->tabs as $id => $tab ): ?>
+ 					<div class="library-content" data-customize-tab='<?php echo esc_attr( $id ); ?>'>
+ 						<?php call_user_func( $tab['callback'] ); ?>
+ 					</div>
+ 				<?php endforeach; ?>
+ 			</div>
+ 
+ 			<div class="actions">
+ 				<a href="#" class="remove"><?php _e( 'Remove Image' ); ?></a>
+ 			</div>
+ 		</div>
+ 		<?php
+ 	}
+ 
+ 	public function add_tab( $id, $label, $callback ) {
+ 		$this->tabs[ $id ] = array(
+ 			'label'    => $label,
+ 			'callback' => $callback,
+ 		);
+ 	}
+ 
+ 	public function remove_tab( $id ) {
+ 		unset( $this->tabs[ $id ] );
+ 	}
+ 
+ 	public function tab_upload_new() {
+ 		if ( ! _device_can_upload() ) {
+ 			?>
+ 			<p><?php _e('The web browser on your device cannot be used to upload files. You may be able to use the <a href="http://wordpress.org/extend/mobile/">native app for your device</a> instead.'); ?></p>
+ 			<?php
+ 		} else {
+ 			?>
+ 			<div class="upload-dropzone">
+ 				<?php _e('Drop a file here or <a href="#" class="upload">select a file</a>.'); ?>
+ 			</div>
+ 			<div class="upload-fallback">
+ 				<span class="button-secondary"><?php _e('Select File'); ?></span>
+ 			</div>
+ 			<?php
+ 		}
+ 	}
+ 
+ 	public function tab_uploaded() {
+ 		?>
+ 		<div class="uploaded-target"></div>
+ 		<?php
+ 	}
+ 
+ 	public function print_tab_image( $url, $thumbnail_url = null ) {
+ 		$url = set_url_scheme( $url );
+ 		$thumbnail_url = ( $thumbnail_url ) ? set_url_scheme( $thumbnail_url ) : $url;
+ 		?>
+ 		<a href="#" class="thumbnail" data-customize-image-value="<?php echo esc_url( $url ); ?>">
+ 			<img src="<?php echo esc_url( $thumbnail_url ); ?>" />
+ 		</a>
+ 		<?php
+ 	}
+ }
+ 
+ class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control {
+ 	public function __construct( $manager ) {
+ 		parent::__construct( $manager, 'background_image', array(
+ 			'label'    => __( 'Background Image' ),
+ 			'section'  => 'background_image',
+ 			'context'  => 'custom-background',
+ 			'get_url'  => 'get_background_image',
+ 		) );
+ 
+ 		if ( $this->setting->default )
+ 			$this->add_tab( 'default',  __('Default'),  array( $this, 'tab_default_background' ) );
+ 	}
+ 
+ 	public function tab_uploaded() {
+ 		$backgrounds = get_posts( array(
+ 			'post_type'  => 'attachment',
+ 			'meta_key'   => '_wp_attachment_is_custom_background',
+ 			'meta_value' => $this->manager->get_stylesheet(),
+ 			'orderby'    => 'none',
+ 			'nopaging'   => true,
+ 		) );
+ 
+ 		?><div class="uploaded-target"></div><?php
+ 
+ 		if ( empty( $backgrounds ) )
+ 			return;
+ 
+ 		foreach ( (array) $backgrounds as $background )
+ 			$this->print_tab_image( esc_url_raw( $background->guid ) );
+ 	}
+ 
+ 	public function tab_default_background() {
+ 		$this->print_tab_image( $this->setting->default );
+ 	}
+ }
+ 
+ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
+ 	public function __construct( $manager ) {
+ 		parent::__construct( $manager, 'header_image', array(
+ 			'label'    => __( 'Header Image' ),
+ 			'settings' => array(
+ 				'default' => 'header_image',
+ 				'data'    => 'header_image_data',
+ 			),
+ 			'section'  => 'header_image',
+ 			'context'  => 'custom-header',
+ 			'removed'  => 'remove-header',
+ 			'get_url'  => 'get_header_image',
+ 			'statuses' => array(
+ 				''                      => __('Default'),
+ 				'remove-header'         => __('No Image'),
+ 				'random-default-image'  => __('Random Default Image'),
+ 				'random-uploaded-image' => __('Random Uploaded Image'),
+ 			)
+ 		) );
+ 
+ 		$this->add_tab( 'default',  __('Default'),  array( $this, 'tab_default_headers' ) );
+ 	}
+ 
+ 	public function print_header_image( $choice, $header ) {
+ 		$header['url']           = set_url_scheme( $header['url'] );
+ 		$header['thumbnail_url'] = set_url_scheme( $header['thumbnail_url'] );
+ 
+ 		$header_image_data = array( 'choice' => $choice );
+ 		foreach ( array( 'attachment_id', 'width', 'height', 'url', 'thumbnail_url' ) as $key ) {
+ 			if ( isset( $header[ $key ] ) )
+ 				$header_image_data[ $key ] = $header[ $key ];
+ 		}
+ 
+ 
+ 		?>
+ 		<a href="#" class="thumbnail"
+ 			data-customize-image-value="<?php echo esc_url( $header['url'] ); ?>"
+ 			data-customize-header-image-data="<?php echo esc_attr( json_encode( $header_image_data ) ); ?>">
+ 			<img src="<?php echo esc_url( $header['thumbnail_url'] ); ?>" />
+ 		</a>
+ 		<?php
+ 	}
+ 
+ 	public function tab_uploaded() {
+ 		$headers = get_uploaded_header_images();
+ 
+ 		?><div class="uploaded-target"></div><?php
+ 
+ 		foreach ( $headers as $choice => $header )
+ 			$this->print_header_image( $choice, $header );
+ 	}
+ 
+ 	public function tab_default_headers() {
+ 		global $custom_image_header;
+ 		$custom_image_header->process_default_headers();
+ 
+ 		foreach ( $custom_image_header->default_headers as $choice => $header )
+ 			$this->print_header_image( $choice, $header );
+ 	}
+ }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-customize-manager.php ./wordpress-3.4/wp-includes/class-wp-customize-manager.php
*** ./wordpress-3.3.2/wp-includes/class-wp-customize-manager.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-customize-manager.php	2012-06-12 14:27:41.000000000 -0500
***************
*** 0 ****
--- 1,1010 ----
+ <?php
+ /**
+  * Customize
+  *
+  * @package WordPress
+  * @subpackage Customize
+  * @since 3.4.0
+  */
+ 
+ final class WP_Customize_Manager {
+ 	protected $theme;
+ 	protected $original_stylesheet;
+ 
+ 	protected $previewing = false;
+ 
+ 	protected $settings = array();
+ 	protected $sections = array();
+ 	protected $controls = array();
+ 
+ 	protected $customized;
+ 
+ 	private $_post_values;
+ 
+ 	/**
+ 	 * Constructor.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function __construct() {
+ 		require( ABSPATH . WPINC . '/class-wp-customize-setting.php' );
+ 		require( ABSPATH . WPINC . '/class-wp-customize-section.php' );
+ 		require( ABSPATH . WPINC . '/class-wp-customize-control.php' );
+ 
+ 		add_filter( 'wp_die_handler', array( $this, 'wp_die_handler' ) );
+ 
+ 		add_action( 'setup_theme',  array( $this, 'setup_theme' ) );
+ 		add_action( 'wp_loaded',    array( $this, 'wp_loaded' ) );
+ 
+ 		// Run wp_redirect_status late to make sure we override the status last.
+ 		add_action( 'wp_redirect_status', array( $this, 'wp_redirect_status' ), 1000 );
+ 
+ 		// Do not spawn cron (especially the alternate cron) while running the customizer.
+ 		remove_action( 'init', 'wp_cron' );
+ 
+ 		// Do not run update checks when rendering the controls.
+ 		remove_action( 'admin_init', '_maybe_update_core' );
+ 		remove_action( 'admin_init', '_maybe_update_plugins' );
+ 		remove_action( 'admin_init', '_maybe_update_themes' );
+ 
+ 		add_action( 'wp_ajax_customize_save', array( $this, 'save' ) );
+ 
+ 		add_action( 'customize_register',                 array( $this, 'register_controls' ) );
+ 		add_action( 'customize_controls_init',            array( $this, 'prepare_controls' ) );
+ 		add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ) );
+ 	}
+ 
+  	/**
+ 	 * Return true if it's an AJAX request.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function doing_ajax() {
+ 		return isset( $_POST['customized'] ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX );
+ 	}
+ 
+ 	/**
+ 	 * Custom wp_die wrapper. Returns either the standard message for UI
+ 	 * or the AJAX message.
+ 	 *
+ 	 * @param  mixed $ajax_message AJAX return
+ 	 * @param  mixed $message      UI message
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	protected function wp_die( $ajax_message, $message = null ) {
+ 		if ( $this->doing_ajax() )
+ 			wp_die( $ajax_message );
+ 
+ 		if ( ! $message )
+ 			$message = __( 'Cheatin&#8217; uh?' );
+ 
+ 		wp_die( $message );
+ 	}
+ 
+ 	/**
+ 	 * Return the AJAX wp_die() handler if it's a customized request.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function wp_die_handler() {
+ 		if ( $this->doing_ajax() )
+ 			return '_ajax_wp_die_handler';
+ 
+ 		return '_default_wp_die_handler';
+ 	}
+ 	/**
+ 	* Start preview and customize theme.
+ 	*
+ 	* Check if customize query variable exist. Init filters to filter the current theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function setup_theme() {
+ 		send_origin_headers();
+ 
+ 		if ( is_admin() && ! $this->doing_ajax() )
+ 		    auth_redirect();
+ 		elseif ( $this->doing_ajax() && ! is_user_logged_in() )
+ 		    $this->wp_die( 0 );
+ 
+ 		show_admin_bar( false );
+ 
+ 		if ( ! current_user_can( 'edit_theme_options' ) )
+ 			$this->wp_die( -1 );
+ 
+ 		$this->original_stylesheet = get_stylesheet();
+ 
+ 		$this->theme = wp_get_theme( isset( $_REQUEST['theme'] ) ? $_REQUEST['theme'] : null );
+ 
+ 		if ( $this->is_theme_active() ) {
+ 			// Once the theme is loaded, we'll validate it.
+ 			add_action( 'after_setup_theme', array( $this, 'after_setup_theme' ) );
+ 		} else {
+ 			if ( ! current_user_can( 'switch_themes' ) )
+ 				$this->wp_die( -1 );
+ 
+ 			// If the theme isn't active, you can't preview it if it is not allowed or has errors.
+ 			if ( $this->theme()->errors() )
+ 				$this->wp_die( -1 );
+ 
+ 			if ( ! $this->theme()->is_allowed() )
+ 				$this->wp_die( -1 );
+ 		}
+ 
+ 		$this->start_previewing_theme();
+ 	}
+ 
+ 	function after_setup_theme() {
+ 		if ( ! $this->doing_ajax() && ! validate_current_theme() ) {
+ 			wp_redirect( 'themes.php?broken=true' );
+ 			exit;
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Start previewing the selected theme.
+ 	 *
+ 	 * Adds filters to change the current theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function start_previewing_theme() {
+ 		// Bail if we're already previewing.
+ 		if ( $this->is_preview() )
+ 			return;
+ 
+ 		$this->previewing = true;
+ 
+ 		if ( ! $this->is_theme_active() ) {
+ 			add_filter( 'template', array( $this, 'get_template' ) );
+ 			add_filter( 'stylesheet', array( $this, 'get_stylesheet' ) );
+ 			add_filter( 'pre_option_current_theme', array( $this, 'current_theme' ) );
+ 
+ 			// @link: http://core.trac.wordpress.org/ticket/20027
+ 			add_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
+ 			add_filter( 'pre_option_template', array( $this, 'get_template' ) );
+ 
+ 			// Handle custom theme roots.
+ 			add_filter( 'pre_option_stylesheet_root', array( $this, 'get_stylesheet_root' ) );
+ 			add_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
+ 		}
+ 
+ 		do_action( 'start_previewing_theme', $this );
+ 	}
+ 
+ 	/**
+ 	 * Stop previewing the selected theme.
+ 	 *
+ 	 * Removes filters to change the current theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function stop_previewing_theme() {
+ 		if ( ! $this->is_preview() )
+ 			return;
+ 
+ 		$this->previewing = false;
+ 
+ 		if ( ! $this->is_theme_active() ) {
+ 			remove_filter( 'template', array( $this, 'get_template' ) );
+ 			remove_filter( 'stylesheet', array( $this, 'get_stylesheet' ) );
+ 			remove_filter( 'pre_option_current_theme', array( $this, 'current_theme' ) );
+ 
+ 			// @link: http://core.trac.wordpress.org/ticket/20027
+ 			remove_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
+ 			remove_filter( 'pre_option_template', array( $this, 'get_template' ) );
+ 
+ 			// Handle custom theme roots.
+ 			remove_filter( 'pre_option_stylesheet_root', array( $this, 'get_stylesheet_root' ) );
+ 			remove_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
+ 		}
+ 
+ 		do_action( 'stop_previewing_theme', $this );
+ 	}
+ 
+ 	/**
+ 	 * Get the theme being customized.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return WP_Theme
+ 	 */
+ 	public function theme() {
+ 		return $this->theme;
+ 	}
+ 
+ 	/**
+ 	 * Get the registered settings.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return array
+ 	 */
+ 	public function settings() {
+ 		return $this->settings;
+ 	}
+ 
+ 	/**
+ 	 * Get the registered controls.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return array
+ 	 */
+ 	public function controls() {
+ 		return $this->controls;
+ 	}
+ 
+ 	/**
+ 	 * Get the registered sections.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return array
+ 	 */
+ 	public function sections() {
+ 		return $this->sections;
+ 	}
+ 
+ 	/**
+ 	 * Checks if the current theme is active.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return bool
+ 	 */
+ 	public function is_theme_active() {
+ 		return $this->get_stylesheet() == $this->original_stylesheet;
+ 	}
+ 
+ 	/**
+ 	 * Register styles/scripts and initialize the preview of each setting
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function wp_loaded() {
+ 		do_action( 'customize_register', $this );
+ 
+ 		if ( $this->is_preview() && ! is_admin() )
+ 			$this->customize_preview_init();
+ 	}
+ 
+ 	/**
+ 	 * Prevents AJAX requests from following redirects when previewing a theme
+ 	 * by issuing a 200 response instead of a 30x.
+ 	 *
+ 	 * Instead, the JS will sniff out the location header.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function wp_redirect_status( $status ) {
+ 		if ( $this->is_preview() && ! is_admin() )
+ 			return 200;
+ 
+ 		return $status;
+ 	}
+ 
+ 	/**
+ 	 * Decode the $_POST attribute used to override the WP_Customize_Setting values.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function post_value( $setting ) {
+ 		if ( ! isset( $this->_post_values ) ) {
+ 			if ( isset( $_POST['customized'] ) )
+ 				$this->_post_values = json_decode( stripslashes( $_POST['customized'] ), true );
+ 			else
+ 				$this->_post_values = false;
+ 		}
+ 
+ 		if ( isset( $this->_post_values[ $setting->id ] ) )
+ 			return $setting->sanitize( $this->_post_values[ $setting->id ] );
+ 	}
+ 
+ 	/**
+ 	 * Print javascript settings.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function customize_preview_init() {
+ 		$this->prepare_controls();
+ 
+ 		wp_enqueue_script( 'customize-preview' );
+ 		add_action( 'wp_head', array( $this, 'customize_preview_base' ) );
+ 		add_action( 'wp_head', array( $this, 'customize_preview_html5' ) );
+ 		add_action( 'wp_footer', array( $this, 'customize_preview_settings' ), 20 );
+ 		add_action( 'shutdown', array( $this, 'customize_preview_signature' ), 1000 );
+ 		add_filter( 'wp_die_handler', array( $this, 'remove_preview_signature' ) );
+ 
+ 		foreach ( $this->settings as $setting ) {
+ 			$setting->preview();
+ 		}
+ 
+ 		do_action( 'customize_preview_init', $this );
+ 	}
+ 
+ 	/**
+ 	 * Print base element for preview frame.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function customize_preview_base() {
+ 		?><base href="<?php echo home_url( '/' ); ?>" /><?php
+ 	}
+ 
+ 	/**
+ 	 * Print a workaround to handle HTML5 tags in IE < 9
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function customize_preview_html5() { ?>
+ 		<!--[if lt IE 9]>
+ 		<script type="text/javascript">
+ 			var e = [ 'abbr', 'article', 'aside', 'audio', 'canvas', 'datalist', 'details',
+ 				'figure', 'footer', 'header', 'hgroup', 'mark', 'menu', 'meter', 'nav',
+ 				'output', 'progress', 'section', 'time', 'video' ];
+ 			for ( var i = 0; i < e.length; i++ ) {
+ 				document.createElement( e[i] );
+ 			}
+ 		</script>
+ 		<![endif]--><?php
+ 	}
+ 
+ 	/**
+ 	 * Print javascript settings for preview frame.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function customize_preview_settings() {
+ 		$settings = array(
+ 			'values'  => array(),
+ 			'channel' => esc_js( $_POST['customize_messenger_channel'] ),
+ 		);
+ 
+ 		foreach ( $this->settings as $id => $setting ) {
+ 			$settings['values'][ $id ] = $setting->js_value();
+ 		}
+ 
+ 		?>
+ 		<script type="text/javascript">
+ 			var _wpCustomizeSettings = <?php echo json_encode( $settings ); ?>;
+ 		</script>
+ 		<?php
+ 	}
+ 
+ 	/**
+ 	 * Prints a signature so we can ensure the customizer was properly executed.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function customize_preview_signature() {
+ 		echo 'WP_CUSTOMIZER_SIGNATURE';
+ 	}
+ 
+ 	/**
+ 	 * Removes the signature in case we experience a case where the customizer was not properly executed.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function remove_preview_signature( $return = null ) {
+ 		remove_action( 'shutdown', array( $this, 'customize_preview_signature' ), 1000 );
+ 
+ 		return $return;
+ 	}
+ 
+ 	/**
+ 	 * Is it a theme preview?
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return bool True if it's a preview, false if not.
+ 	 */
+ 	public function is_preview() {
+ 		return (bool) $this->previewing;
+ 	}
+ 
+ 	/**
+ 	 * Retrieve the template name of the previewed theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return string Template name.
+ 	 */
+ 	public function get_template() {
+ 		return $this->theme()->get_template();
+ 	}
+ 
+ 	/**
+ 	 * Retrieve the stylesheet name of the previewed theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return string Stylesheet name.
+ 	 */
+ 	public function get_stylesheet() {
+ 		return $this->theme()->get_stylesheet();
+ 	}
+ 
+ 	/**
+ 	 * Retrieve the template root of the previewed theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return string Theme root.
+ 	 */
+ 	public function get_template_root() {
+ 		return get_raw_theme_root( $this->get_template(), true );
+ 	}
+ 
+ 	/**
+ 	 * Retrieve the stylesheet root of the previewed theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return string Theme root.
+ 	 */
+ 	public function get_stylesheet_root() {
+ 		return get_raw_theme_root( $this->get_stylesheet(), true );
+ 	}
+ 
+ 	/**
+ 	 * Filter the current theme and return the name of the previewed theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return string Theme name.
+ 	 */
+ 	public function current_theme( $current_theme ) {
+ 		return $this->theme()->display('Name');
+ 	}
+ 
+ 	/**
+ 	 * Switch the theme and trigger the save action of each setting.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function save() {
+ 		if ( ! $this->is_preview() )
+ 			die;
+ 
+ 		check_ajax_referer( 'customize_controls-' . $this->get_stylesheet(), 'nonce' );
+ 
+ 		// Do we have to switch themes?
+ 		if ( ! $this->is_theme_active() ) {
+ 			// Temporarily stop previewing the theme to allow switch_themes()
+ 			// to operate properly.
+ 			$this->stop_previewing_theme();
+ 			switch_theme( $this->get_template(), $this->get_stylesheet() );
+ 			$this->start_previewing_theme();
+ 		}
+ 
+ 		do_action( 'customize_save', $this );
+ 
+ 		foreach ( $this->settings as $setting ) {
+ 			$setting->save();
+ 		}
+ 
+ 		die;
+ 	}
+ 
+ 	/**
+ 	 * Add a customize setting.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the setting. Can be a
+ 	 *                   theme mod or option name.
+ 	 * @param array $args Setting arguments.
+ 	 */
+ 	public function add_setting( $id, $args = array() ) {
+ 		if ( is_a( $id, 'WP_Customize_Setting' ) )
+ 			$setting = $id;
+ 		else
+ 			$setting = new WP_Customize_Setting( $this, $id, $args );
+ 
+ 		$this->settings[ $setting->id ] = $setting;
+ 	}
+ 
+ 	/**
+ 	 * Retrieve a customize setting.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the setting.
+ 	 * @return object The settings object.
+ 	 */
+ 	public function get_setting( $id ) {
+ 		if ( isset( $this->settings[ $id ] ) )
+ 			return $this->settings[ $id ];
+ 	}
+ 
+ 	/**
+ 	 * Remove a customize setting.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the setting.
+ 	 */
+ 	public function remove_setting( $id ) {
+ 		unset( $this->settings[ $id ] );
+ 	}
+ 
+ 	/**
+ 	 * Add a customize section.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the section.
+ 	 * @param array $args Section arguments.
+ 	 */
+ 	public function add_section( $id, $args = array() ) {
+ 		if ( is_a( $id, 'WP_Customize_Section' ) )
+ 			$section = $id;
+ 		else
+ 			$section = new WP_Customize_Section( $this, $id, $args );
+ 
+ 		$this->sections[ $section->id ] = $section;
+ 	}
+ 
+ 	/**
+ 	 * Retrieve a customize section.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the section.
+ 	 * @return object The section object.
+ 	 */
+ 	public function get_section( $id ) {
+ 		if ( isset( $this->sections[ $id ] ) )
+ 			return $this->sections[ $id ];
+ 	}
+ 
+ 	/**
+ 	 * Remove a customize section.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the section.
+ 	 */
+ 	public function remove_section( $id ) {
+ 		unset( $this->sections[ $id ] );
+ 	}
+ 
+ 	/**
+ 	 * Add a customize control.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the control.
+ 	 * @param array $args Setting arguments.
+ 	 */
+ 	public function add_control( $id, $args = array() ) {
+ 		if ( is_a( $id, 'WP_Customize_Control' ) )
+ 			$control = $id;
+ 		else
+ 			$control = new WP_Customize_Control( $this, $id, $args );
+ 
+ 		$this->controls[ $control->id ] = $control;
+ 	}
+ 
+ 	/**
+ 	 * Retrieve a customize control.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the control.
+ 	 * @return object The settings object.
+ 	 */
+ 	public function get_control( $id ) {
+ 		if ( isset( $this->controls[ $id ] ) )
+ 			return $this->controls[ $id ];
+ 	}
+ 
+ 	/**
+ 	 * Remove a customize setting.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id A specific ID of the control.
+ 	 */
+ 	public function remove_control( $id ) {
+ 		unset( $this->controls[ $id ] );
+ 	}
+ 
+ 	/**
+ 	 * Helper function to compare two objects by priority.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param object $a Object A.
+ 	 * @param object $b Object B.
+ 	 */
+ 	protected final function _cmp_priority( $a, $b ) {
+ 		$ap = $a->priority;
+ 		$bp = $b->priority;
+ 
+ 		if ( $ap == $bp )
+ 			return 0;
+ 		return ( $ap > $bp ) ? 1 : -1;
+ 	}
+ 
+ 	/**
+ 	 * Prepare settings and sections.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function prepare_controls() {
+ 		// Prepare controls
+ 		// Reversing makes uasort sort by time added when conflicts occur.
+ 
+ 		$this->controls = array_reverse( $this->controls );
+ 		$controls = array();
+ 
+ 		foreach ( $this->controls as $id => $control ) {
+ 			if ( ! isset( $this->sections[ $control->section ] ) || ! $control->check_capabilities() )
+ 				continue;
+ 
+ 			$this->sections[ $control->section ]->controls[] = $control;
+ 			$controls[ $id ] = $control;
+ 		}
+ 		$this->controls = $controls;
+ 
+ 		// Prepare sections
+ 		$this->sections = array_reverse( $this->sections );
+ 		uasort( $this->sections, array( $this, '_cmp_priority' ) );
+ 		$sections = array();
+ 
+ 		foreach ( $this->sections as $section ) {
+ 			if ( ! $section->check_capabilities() || ! $section->controls )
+ 				continue;
+ 
+ 			usort( $section->controls, array( $this, '_cmp_priority' ) );
+ 			$sections[] = $section;
+ 		}
+ 		$this->sections = $sections;
+ 	}
+ 
+ 	/**
+ 	 * Enqueue scripts for customize controls.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function enqueue_control_scripts() {
+ 		foreach ( $this->controls as $control ) {
+ 			$control->enqueue();
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Register some default controls.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function register_controls() {
+ 
+ 		/* Site Title & Tagline */
+ 
+ 		$this->add_section( 'title_tagline', array(
+ 			'title'    => __( 'Site Title & Tagline' ),
+ 			'priority' => 20,
+ 		) );
+ 
+ 		$this->add_setting( 'blogname', array(
+ 			'default'    => get_option( 'blogname' ),
+ 			'type'       => 'option',
+ 			'capability' => 'manage_options',
+ 		) );
+ 
+ 		$this->add_control( 'blogname', array(
+ 			'label'      => __( 'Site Title' ),
+ 			'section'    => 'title_tagline',
+ 		) );
+ 
+ 		$this->add_setting( 'blogdescription', array(
+ 			'default'    => get_option( 'blogdescription' ),
+ 			'type'       => 'option',
+ 			'capability' => 'manage_options',
+ 		) );
+ 
+ 		$this->add_control( 'blogdescription', array(
+ 			'label'      => __( 'Tagline' ),
+ 			'section'    => 'title_tagline',
+ 		) );
+ 
+ 		/* Colors */
+ 
+ 		$this->add_section( 'colors', array(
+ 			'title'          => __( 'Colors' ),
+ 			'priority'       => 40,
+ 		) );
+ 
+ 		$this->add_setting( 'header_textcolor', array(
+ 			'theme_supports' => array( 'custom-header', 'header-text' ),
+ 			'default'        => get_theme_support( 'custom-header', 'default-text-color' ),
+ 
+ 			'sanitize_callback'    => array( $this, '_sanitize_header_textcolor' ),
+ 			'sanitize_js_callback' => 'maybe_hash_hex_color',
+ 		) );
+ 
+ 		// Input type: checkbox
+ 		// With custom value
+ 		$this->add_control( 'display_header_text', array(
+ 			'settings' => 'header_textcolor',
+ 			'label'    => __( 'Display Header Text' ),
+ 			'section'  => 'title_tagline',
+ 			'type'     => 'checkbox',
+ 		) );
+ 
+ 		$this->add_control( new WP_Customize_Color_Control( $this, 'header_textcolor', array(
+ 			'label'   => __( 'Header Text Color' ),
+ 			'section' => 'colors',
+ 		) ) );
+ 
+ 		// Input type: Color
+ 		// With sanitize_callback
+ 		$this->add_setting( 'background_color', array(
+ 			'default'        => get_theme_support( 'custom-background', 'default-color' ),
+ 			'theme_supports' => 'custom-background',
+ 
+ 			'sanitize_callback'    => 'sanitize_hex_color_no_hash',
+ 			'sanitize_js_callback' => 'maybe_hash_hex_color',
+ 		) );
+ 
+ 		$this->add_control( new WP_Customize_Color_Control( $this, 'background_color', array(
+ 			'label'   => __( 'Background Color' ),
+ 			'section' => 'colors',
+ 		) ) );
+ 
+ 
+ 		/* Custom Header */
+ 
+ 		$this->add_section( 'header_image', array(
+ 			'title'          => __( 'Header Image' ),
+ 			'theme_supports' => 'custom-header',
+ 			'priority'       => 60,
+ 		) );
+ 
+ 		$this->add_setting( new WP_Customize_Filter_Setting( $this, 'header_image', array(
+ 			'default'        => get_theme_support( 'custom-header', 'default-image' ),
+ 			'theme_supports' => 'custom-header',
+ 		) ) );
+ 
+ 		$this->add_setting( new WP_Customize_Header_Image_Setting( $this, 'header_image_data', array(
+ 			// 'default'        => get_theme_support( 'custom-header', 'default-image' ),
+ 			'theme_supports' => 'custom-header',
+ 		) ) );
+ 
+ 		$this->add_control( new WP_Customize_Header_Image_Control( $this ) );
+ 
+ 		/* Custom Background */
+ 
+ 		$this->add_section( 'background_image', array(
+ 			'title'          => __( 'Background Image' ),
+ 			'theme_supports' => 'custom-background',
+ 			'priority'       => 80,
+ 		) );
+ 
+ 		$this->add_setting( 'background_image', array(
+ 			'default'        => get_theme_support( 'custom-background', 'default-image' ),
+ 			'theme_supports' => 'custom-background',
+ 		) );
+ 
+ 		$this->add_setting( new WP_Customize_Background_Image_Setting( $this, 'background_image_thumb', array(
+ 			'theme_supports' => 'custom-background',
+ 		) ) );
+ 
+ 		$this->add_control( new WP_Customize_Background_Image_Control( $this ) );
+ 
+ 		$this->add_setting( 'background_repeat', array(
+ 			'default'        => 'repeat',
+ 			'theme_supports' => 'custom-background',
+ 		) );
+ 
+ 		$this->add_control( 'background_repeat', array(
+ 			'label'      => __( 'Background Repeat' ),
+ 			'section'    => 'background_image',
+ 			'type'       => 'radio',
+ 			'choices'    => array(
+ 				'no-repeat'  => __('No Repeat'),
+ 				'repeat'     => __('Tile'),
+ 				'repeat-x'   => __('Tile Horizontally'),
+ 				'repeat-y'   => __('Tile Vertically'),
+ 			),
+ 		) );
+ 
+ 		$this->add_setting( 'background_position_x', array(
+ 			'default'        => 'left',
+ 			'theme_supports' => 'custom-background',
+ 		) );
+ 
+ 		$this->add_control( 'background_position_x', array(
+ 			'label'      => __( 'Background Position' ),
+ 			'section'    => 'background_image',
+ 			'type'       => 'radio',
+ 			'choices'    => array(
+ 				'left'       => __('Left'),
+ 				'center'     => __('Center'),
+ 				'right'      => __('Right'),
+ 			),
+ 		) );
+ 
+ 		$this->add_setting( 'background_attachment', array(
+ 			'default'        => 'fixed',
+ 			'theme_supports' => 'custom-background',
+ 		) );
+ 
+ 		$this->add_control( 'background_attachment', array(
+ 			'label'      => __( 'Background Attachment' ),
+ 			'section'    => 'background_image',
+ 			'type'       => 'radio',
+ 			'choices'    => array(
+ 				'fixed'      => __('Fixed'),
+ 				'scroll'     => __('Scroll'),
+ 			),
+ 		) );
+ 
+ 		// If the theme is using the default background callback, we can update
+ 		// the background CSS using postMessage.
+ 		if ( get_theme_support( 'custom-background', 'wp-head-callback' ) === '_custom_background_cb' ) {
+ 			foreach ( array( 'color', 'image', 'position_x', 'repeat', 'attachment' ) as $prop ) {
+ 				$this->get_setting( 'background_' . $prop )->transport = 'postMessage';
+ 			}
+ 		}
+ 
+ 		/* Nav Menus */
+ 
+ 		$locations      = get_registered_nav_menus();
+ 		$menus          = wp_get_nav_menus();
+ 		$menu_locations = get_nav_menu_locations();
+ 		$num_locations  = count( array_keys( $locations ) );
+ 
+ 		$this->add_section( 'nav', array(
+ 			'title'          => __( 'Navigation' ),
+ 			'theme_supports' => 'menus',
+ 			'priority'       => 100,
+ 			'description'    => sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . "\n\n" . __('You can edit your menu content on the Menus screen in the Appearance section.'),
+ 		) );
+ 
+ 		if ( $menus ) {
+ 			$choices = array( 0 => __( '&mdash; Select &mdash;' ) );
+ 			foreach ( $menus as $menu ) {
+ 				$truncated_name = wp_html_excerpt( $menu->name, 40 );
+ 				$truncated_name = ( $truncated_name == $menu->name ) ? $menu->name : trim( $truncated_name ) . '&hellip;';
+ 				$choices[ $menu->term_id ] = $truncated_name;
+ 			}
+ 
+ 			foreach ( $locations as $location => $description ) {
+ 				$menu_setting_id = "nav_menu_locations[{$location}]";
+ 
+ 				$this->add_setting( $menu_setting_id, array(
+ 					'sanitize_callback' => 'absint',
+ 					'theme_supports'    => 'menus',
+ 				) );
+ 
+ 				$this->add_control( $menu_setting_id, array(
+ 					'label'   => $description,
+ 					'section' => 'nav',
+ 					'type'    => 'select',
+ 					'choices' => $choices,
+ 				) );
+ 			}
+ 		}
+ 
+ 		/* Static Front Page */
+ 		// #WP19627
+ 
+ 		$this->add_section( 'static_front_page', array(
+ 			'title'          => __( 'Static Front Page' ),
+ 		//	'theme_supports' => 'static-front-page',
+ 			'priority'       => 120,
+ 			'description'    => __( 'Your theme supports a static front page.' ),
+ 		) );
+ 
+ 		$this->add_setting( 'show_on_front', array(
+ 			'default'        => get_option( 'show_on_front' ),
+ 			'capability'     => 'manage_options',
+ 			'type'           => 'option',
+ 		//	'theme_supports' => 'static-front-page',
+ 		) );
+ 
+ 		$this->add_control( 'show_on_front', array(
+ 			'label'   => __( 'Front page displays' ),
+ 			'section' => 'static_front_page',
+ 			'type'    => 'radio',
+ 			'choices' => array(
+ 				'posts' => __( 'Your latest posts' ),
+ 				'page'  => __( 'A static page' ),
+ 			),
+ 		) );
+ 
+ 		$this->add_setting( 'page_on_front', array(
+ 			'type'       => 'option',
+ 			'capability' => 'manage_options',
+ 		//	'theme_supports' => 'static-front-page',
+ 		) );
+ 
+ 		$this->add_control( 'page_on_front', array(
+ 			'label'      => __( 'Front page' ),
+ 			'section'    => 'static_front_page',
+ 			'type'       => 'dropdown-pages',
+ 		) );
+ 
+ 		$this->add_setting( 'page_for_posts', array(
+ 			'type'           => 'option',
+ 			'capability'     => 'manage_options',
+ 		//	'theme_supports' => 'static-front-page',
+ 		) );
+ 
+ 		$this->add_control( 'page_for_posts', array(
+ 			'label'      => __( 'Posts page' ),
+ 			'section'    => 'static_front_page',
+ 			'type'       => 'dropdown-pages',
+ 		) );
+ 	}
+ 
+ 	/**
+ 	 * Callback for validating the header_textcolor value.
+ 	 *
+ 	 * Accepts 'blank', and otherwise uses sanitize_hex_color_no_hash().
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function _sanitize_header_textcolor( $color ) {
+ 		return ( 'blank' === $color ) ? 'blank' : sanitize_hex_color_no_hash( $color );
+ 	}
+ };
+ 
+ /**
+  * Validates a hex color.
+  *
+  * Returns either '', a 3 or 6 digit hex color (with #), or null.
+  * For validating values without a #, see sanitize_hex_color_no_hash().
+  *
+  * @since 3.4.0
+  */
+ function sanitize_hex_color( $color ) {
+ 	if ( '' === $color )
+ 		return '';
+ 
+ 	// 3 or 6 hex digits, or the empty string.
+ 	if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
+ 		return $color;
+ 
+ 	return null;
+ }
+ 
+ /**
+  * Sanitizes a hex color without a hash. Use sanitize_hex_color() when possible.
+  *
+  * Saving hex colors without a hash puts the burden of adding the hash on the
+  * UI, which makes it difficult to use or upgrade to other color types such as
+  * rgba, hsl, rgb, and html color names.
+  *
+  * Returns either '', a 3 or 6 digit hex color (without a #), or null.
+  *
+  * @since 3.4.0
+  */
+ function sanitize_hex_color_no_hash( $color ) {
+ 	$color = ltrim( $color, '#' );
+ 
+ 	if ( '' === $color )
+ 		return '';
+ 
+ 	return sanitize_hex_color( '#' . $color ) ? $color : null;
+ }
+ 
+ /**
+  * Ensures that any hex color is properly hashed.
+  * Otherwise, returns value untouched.
+  *
+  * This method should only be necessary if using sanitize_hex_color_no_hash().
+  *
+  * @since 3.4.0
+  */
+ function maybe_hash_hex_color( $color ) {
+ 	if ( $unhashed = sanitize_hex_color_no_hash( $color ) )
+ 		return '#' . $unhashed;
+ 
+ 	return $color;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-customize-section.php ./wordpress-3.4/wp-includes/class-wp-customize-section.php
*** ./wordpress-3.3.2/wp-includes/class-wp-customize-section.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-customize-section.php	2012-04-04 12:32:03.000000000 -0500
***************
*** 0 ****
--- 1,94 ----
+ <?php
+ /**
+  * Customize Section Class
+  *
+  * @package WordPress
+  * @subpackage Customize
+  * @since 3.4.0
+  */
+ 
+ class WP_Customize_Section {
+ 	public $manager;
+ 	public $id;
+ 	public $priority       = 10;
+ 	public $capability     = 'edit_theme_options';
+ 	public $theme_supports = '';
+ 	public $title          = '';
+ 	public $description    = '';
+ 	public $controls;
+ 
+ 	/**
+ 	 * Constructor.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id An specific ID of the section.
+ 	 * @param array $args Section arguments.
+ 	 */
+ 	function __construct( $manager, $id, $args = array() ) {
+ 		$keys = array_keys( get_class_vars( __CLASS__ ) );
+ 		foreach ( $keys as $key ) {
+ 			if ( isset( $args[ $key ] ) )
+ 				$this->$key = $args[ $key ];
+ 		}
+ 
+ 		$this->manager = $manager;
+ 		$this->id = $id;
+ 
+ 		$this->controls = array(); // Users cannot customize the $controls array.
+ 
+ 		return $this;
+ 	}
+ 
+ 	/**
+ 	 * Check if the theme supports the section and check user capabilities.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return bool False if theme doesn't support the section or user doesn't have the capability.
+ 	 */
+ 	public final function check_capabilities() {
+ 		if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) )
+ 			return false;
+ 
+ 		if ( $this->theme_supports && ! call_user_func_array( 'current_theme_supports', (array) $this->theme_supports ) )
+ 			return false;
+ 
+ 		return true;
+ 	}
+ 
+ 	/**
+ 	 * Check capabilities and render the section.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public final function maybe_render() {
+ 		if ( ! $this->check_capabilities() )
+ 			return;
+ 
+ 		do_action( 'customize_render_section', $this );
+ 		do_action( 'customize_render_section_' . $this->id );
+ 
+ 		$this->render();
+ 	}
+ 
+ 
+ 	/**
+ 	 * Render the section.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	protected function render() {
+ 		?>
+ 		<li id="customize-section-<?php echo esc_attr( $this->id ); ?>" class="control-section customize-section">
+ 			<h3 class="customize-section-title" title="<?php echo esc_attr( $this->description ); ?>"><?php echo esc_html( $this->title ); ?></h3>
+ 			<ul class="customize-section-content">
+ 				<?php
+ 				foreach ( $this->controls as $control )
+ 					$control->maybe_render();
+ 				?>
+ 			</ul>
+ 		</li>
+ 		<?php
+ 	}
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-customize-setting.php ./wordpress-3.4/wp-includes/class-wp-customize-setting.php
*** ./wordpress-3.3.2/wp-includes/class-wp-customize-setting.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-customize-setting.php	2012-06-11 15:49:45.000000000 -0500
***************
*** 0 ****
--- 1,409 ----
+ <?php
+ /**
+  * Customize Setting Class
+  *
+  * @package WordPress
+  * @subpackage Customize
+  * @since 3.4.0
+  */
+ 
+ class WP_Customize_Setting {
+ 	public $manager;
+ 	public $id;
+ 
+ 	public $type            = 'theme_mod';
+ 	public $capability      = 'edit_theme_options';
+ 	public $theme_supports  = '';
+ 	public $default         = '';
+ 	public $transport       = 'refresh';
+ 
+ 	public $sanitize_callback    = '';
+ 	public $sanitize_js_callback = '';
+ 
+ 	protected $id_data = array();
+ 	private $_post_value; // Cached, sanitized $_POST value.
+ 
+ 	/**
+ 	 * Constructor.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $id An specific ID of the setting. Can be a
+ 	 *                   theme mod or option name.
+ 	 * @param array $args Setting arguments.
+ 	 */
+ 	function __construct( $manager, $id, $args = array() ) {
+ 		$keys = array_keys( get_class_vars( __CLASS__ ) );
+ 		foreach ( $keys as $key ) {
+ 			if ( isset( $args[ $key ] ) )
+ 				$this->$key = $args[ $key ];
+ 		}
+ 
+ 		$this->manager = $manager;
+ 		$this->id = $id;
+ 
+ 		// Parse the ID for array keys.
+ 		$this->id_data[ 'keys' ] = preg_split( '/\[/', str_replace( ']', '', $this->id ) );
+ 		$this->id_data[ 'base' ] = array_shift( $this->id_data[ 'keys' ] );
+ 
+ 		// Rebuild the ID.
+ 		$this->id = $this->id_data[ 'base' ];
+ 		if ( ! empty( $this->id_data[ 'keys' ] ) )
+ 			$this->id .= '[' . implode( '][', $this->id_data[ 'keys' ] ) . ']';
+ 
+ 		if ( $this->sanitize_callback )
+ 			add_filter( "customize_sanitize_{$this->id}", $this->sanitize_callback, 10, 2 );
+ 
+ 		if ( $this->sanitize_js_callback )
+ 			add_filter( "customize_sanitize_js_{$this->id}", $this->sanitize_js_callback, 10, 2 );
+ 
+ 		return $this;
+ 	}
+ 
+ 	/**
+ 	 * Handle previewing the setting.
+ 	 *
+ 	 * @since 3.4.0
+ 	 */
+ 	public function preview() {
+ 		switch( $this->type ) {
+ 			case 'theme_mod' :
+ 				add_filter( 'theme_mod_' . $this->id_data[ 'base' ], array( $this, '_preview_filter' ) );
+ 				break;
+ 			case 'option' :
+ 				if ( empty( $this->id_data[ 'keys' ] ) )
+ 					add_filter( 'pre_option_' . $this->id_data[ 'base' ], array( $this, '_preview_filter' ) );
+ 				else {
+ 					add_filter( 'option_' . $this->id_data[ 'base' ], array( $this, '_preview_filter' ) );
+ 					add_filter( 'default_option_' . $this->id_data[ 'base' ], array( $this, '_preview_filter' ) );
+ 				}
+ 				break;
+ 			default :
+ 				do_action( 'customize_preview_' . $this->id );
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Callback function to filter the theme mods and options.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param mixed Old value.
+ 	 * @return mixed New or old value.
+ 	 */
+ 	public function _preview_filter( $original ) {
+ 		return $this->multidimensional_replace( $original, $this->id_data[ 'keys' ], $this->post_value() );
+ 	}
+ 
+ 	/**
+ 	 * Set the value of the parameter for a specific theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return bool False if cap check fails or value isn't set.
+ 	 */
+ 	public final function save() {
+ 		$value = $this->post_value();
+ 
+ 		if ( ! $this->check_capabilities() || ! isset( $value ) )
+ 			return false;
+ 
+ 		do_action( 'customize_save_' . $this->id_data[ 'base' ] );
+ 
+ 		$this->update( $value );
+ 	}
+ 
+ 	/**
+ 	 * Fetches, validates, and sanitizes the $_POST value.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $default mixed A default value which is used as a fallback. Default is null.
+ 	 * @return mixed Either the default value on failure or sanitized value.
+ 	 */
+ 	public final function post_value( $default = null ) {
+ 		if ( isset( $this->_post_value ) )
+ 			return $this->_post_value;
+ 
+ 		$result = $this->manager->post_value( $this );
+ 
+ 		if ( isset( $result ) )
+ 			return $this->_post_value = $result;
+ 		else
+ 			return $default;
+ 	}
+ 
+ 	/**
+ 	 * Sanitize an input.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $value mixed The value to sanitize.
+ 	 * @return mixed Null if an input isn't valid, otherwise the sanitized value.
+ 	 */
+ 	public function sanitize( $value ) {
+ 		$value = stripslashes_deep( $value );
+ 		return apply_filters( "customize_sanitize_{$this->id}", $value, $this );
+ 	}
+ 
+ 	/**
+ 	 * Set the value of the parameter for a specific theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $value mixed The value to update.
+ 	 * @return mixed The result of saving the value.
+ 	 */
+ 	protected function update( $value ) {
+ 		switch( $this->type ) {
+ 			case 'theme_mod' :
+ 				return $this->_update_theme_mod( $value );
+ 				break;
+ 			case 'option' :
+ 				return $this->_update_option( $value );
+ 				break;
+ 			default :
+ 				return do_action( 'customize_update_' . $this->type, $value );
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Update the theme mod from the value of the parameter.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $value mixed The value to update.
+ 	 * @return mixed The result of saving the value.
+ 	 */
+ 	protected function _update_theme_mod( $value ) {
+ 		// Handle non-array theme mod.
+ 		if ( empty( $this->id_data[ 'keys' ] ) )
+ 			return set_theme_mod( $this->id_data[ 'base' ], $value );
+ 
+ 		// Handle array-based theme mod.
+ 		$mods = get_theme_mod( $this->id_data[ 'base' ] );
+ 		$mods = $this->multidimensional_replace( $mods, $this->id_data[ 'keys' ], $value );
+ 		if ( isset( $mods ) )
+ 			return set_theme_mod( $this->id_data[ 'base' ], $mods );
+ 	}
+ 
+ 	/**
+ 	 * Update the theme mod from the value of the parameter.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $value mixed The value to update.
+ 	 * @return mixed The result of saving the value.
+ 	 */
+ 	protected function _update_option( $value ) {
+ 		// Handle non-array option.
+ 		if ( empty( $this->id_data[ 'keys' ] ) )
+ 			return update_option( $this->id_data[ 'base' ], $value );
+ 
+ 		// Handle array-based options.
+ 		$options = get_option( $this->id_data[ 'base' ] );
+ 		$options = $this->multidimensional_replace( $options, $this->id_data[ 'keys' ], $value );
+ 		if ( isset( $options ) )
+ 			return update_option( $this->id_data[ 'base' ], $options );
+ 	}
+ 
+ 	/**
+ 	 * Fetch the value of the parameter for a specific theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return mixed The requested value.
+ 	 */
+ 	public function value() {
+ 		switch( $this->type ) {
+ 			case 'theme_mod' :
+ 				$function = 'get_theme_mod';
+ 				break;
+ 			case 'option' :
+ 				$function = 'get_option';
+ 				break;
+ 			default :
+ 				return apply_filters( 'customize_value_' . $this->id_data[ 'base' ], $this->default );
+ 		}
+ 
+ 		// Handle non-array value
+ 		if ( empty( $this->id_data[ 'keys' ] ) )
+ 			return $function( $this->id_data[ 'base' ], $this->default );
+ 
+ 		// Handle array-based value
+ 		$values = $function( $this->id_data[ 'base' ] );
+ 		return $this->multidimensional_get( $values, $this->id_data[ 'keys' ], $this->default );
+ 	}
+ 
+ 	/**
+ 	 * Escape the parameter's value for use in JavaScript.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return mixed The requested escaped value.
+ 	 */
+ 	public function js_value() {
+ 		$value = apply_filters( "customize_sanitize_js_{$this->id}", $this->value(), $this );
+ 
+ 		if ( is_string( $value ) )
+ 			return html_entity_decode( $value, ENT_QUOTES, 'UTF-8');
+ 
+ 		return $value;
+ 	}
+ 
+ 	/**
+ 	 * Check if the theme supports the setting and check user capabilities.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @return bool False if theme doesn't support the setting or user can't change setting, otherwise true.
+ 	 */
+ 	public final function check_capabilities() {
+ 		if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) )
+ 			return false;
+ 
+ 		if ( $this->theme_supports && ! call_user_func_array( 'current_theme_supports', (array) $this->theme_supports ) )
+ 			return false;
+ 
+ 		return true;
+ 	}
+ 
+ 	/**
+ 	 * Multidimensional helper function.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $root
+ 	 * @param $keys
+ 	 * @param bool $create Default is false.
+ 	 * @return null|array
+ 	 */
+ 	final protected function multidimensional( &$root, $keys, $create = false ) {
+ 		if ( $create && empty( $root ) )
+ 			$root = array();
+ 
+ 		if ( ! isset( $root ) || empty( $keys ) )
+ 			return;
+ 
+ 		$last = array_pop( $keys );
+ 		$node = &$root;
+ 
+ 		foreach ( $keys as $key ) {
+ 			if ( $create && ! isset( $node[ $key ] ) )
+ 				$node[ $key ] = array();
+ 
+ 			if ( ! is_array( $node ) || ! isset( $node[ $key ] ) )
+ 				return;
+ 
+ 			$node = &$node[ $key ];
+ 		}
+ 
+ 		if ( $create && ! isset( $node[ $last ] ) )
+ 			$node[ $last ] = array();
+ 
+ 		if ( ! isset( $node[ $last ] ) )
+ 			return;
+ 
+ 		return array(
+ 			'root' => &$root,
+ 			'node' => &$node,
+ 			'key'  => $last,
+ 		);
+ 	}
+ 
+ 	/**
+ 	 * Will attempt to replace a specific value in a multidimensional array.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $root
+ 	 * @param $keys
+ 	 * @param mixed $value The value to update.
+ 	 * @return
+ 	 */
+ 	final protected function multidimensional_replace( $root, $keys, $value ) {
+ 		if ( ! isset( $value ) )
+ 			return $root;
+ 		elseif ( empty( $keys ) ) // If there are no keys, we're replacing the root.
+ 			return $value;
+ 
+ 		$result = $this->multidimensional( $root, $keys, true );
+ 
+ 		if ( isset( $result ) )
+ 			$result['node'][ $result['key'] ] = $value;
+ 
+ 		return $root;
+ 	}
+ 
+ 	/**
+ 	 * Will attempt to fetch a specific value from a multidimensional array.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $root
+ 	 * @param $keys
+ 	 * @param $default A default value which is used as a fallback. Default is null.
+ 	 * @return mixed The requested value or the default value.
+ 	 */
+ 	final protected function multidimensional_get( $root, $keys, $default = null ) {
+ 		if ( empty( $keys ) ) // If there are no keys, test the root.
+ 			return isset( $root ) ? $root : $default;
+ 
+ 		$result = $this->multidimensional( $root, $keys );
+ 		return isset( $result ) ? $result['node'][ $result['key'] ] : $default;
+ 	}
+ 
+ 	/**
+ 	 * Will attempt to check if a specific value in a multidimensional array is set.
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param $root
+ 	 * @param $keys
+ 	 * @return bool True if value is set, false if not.
+ 	 */
+ 	final protected function multidimensional_isset( $root, $keys ) {
+ 		$result = $this->multidimensional_get( $root, $keys );
+ 		return isset( $result );
+ 	}
+ }
+ 
+ /**
+  * A setting that is used to filter a value, but will not save the results.
+  *
+  * Results should be properly handled using another setting or callback.
+  */
+ class WP_Customize_Filter_Setting extends WP_Customize_Setting {
+ 	public function update() {}
+ }
+ 
+ /**
+  * A setting that is used to filter a value, but will not save the results.
+  *
+  * Results should be properly handled using another setting or callback.
+  */
+ final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
+ 	public $id = 'header_image_data';
+ 
+ 	public function update( $value ) {
+ 		global $custom_image_header;
+ 
+ 		// If the value doesn't exist (removed or random),
+ 		// use the header_image value.
+ 		if ( ! $value )
+ 			$value = $this->manager->get_setting('header_image')->post_value();
+ 
+ 		if ( is_array( $value ) && isset( $value['choice'] ) )
+ 			$custom_image_header->set_header_image( $value['choice'] );
+ 		else
+ 			$custom_image_header->set_header_image( $value );
+ 	}
+ }
+ 
+ final class WP_Customize_Background_Image_Setting extends WP_Customize_Setting {
+ 	public $id = 'background_image_thumb';
+ 
+ 	public function update( $value ) {
+ 		remove_theme_mod( 'background_image_thumb' );
+ 	}
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class.wp-dependencies.php ./wordpress-3.4/wp-includes/class.wp-dependencies.php
*** ./wordpress-3.3.2/wp-includes/class.wp-dependencies.php	2011-07-28 13:24:00.000000000 -0500
--- ./wordpress-3.4/wp-includes/class.wp-dependencies.php	2011-12-13 17:45:31.000000000 -0600
***************
*** 28,34 ****
  	/**
  	 * Do the dependencies
  	 *
! 	 * Process the items passed to it or the queue.  Processes all dependencies.
  	 *
  	 * @param mixed $handles (optional) items to be processed. (void) processes queue, (string) process that item, (array of strings) process those items
  	 * @return array Items that have been processed
--- 28,34 ----
  	/**
  	 * Do the dependencies
  	 *
! 	 * Process the items passed to it or the queue. Processes all dependencies.
  	 *
  	 * @param mixed $handles (optional) items to be processed. (void) processes queue, (string) process that item, (array of strings) process those items
  	 * @return array Items that have been processed
***************
*** 63,69 ****
  	/**
  	 * Determines dependencies
  	 *
! 	 * Recursively builds array of items to process taking dependencies into account.  Does NOT catch infinite loops.
  	 *
  	 *
  	 * @param mixed $handles Accepts (string) dep name or (array of strings) dep names
--- 63,69 ----
  	/**
  	 * Determines dependencies
  	 *
! 	 * Recursively builds array of items to process taking dependencies into account. Does NOT catch infinite loops.
  	 *
  	 *
  	 * @param mixed $handles Accepts (string) dep name or (array of strings) dep names
***************
*** 90,96 ****
  			if ( !isset($this->registered[$handle]) )
  				$keep_going = false; // Script doesn't exist
  			elseif ( $this->registered[$handle]->deps && array_diff($this->registered[$handle]->deps, array_keys($this->registered)) )
! 				$keep_going = false; // Script requires deps which don't exist (not a necessary check.  efficiency?)
  			elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true, $group ) )
  				$keep_going = false; // Script requires deps which don't exist
  
--- 90,96 ----
  			if ( !isset($this->registered[$handle]) )
  				$keep_going = false; // Script doesn't exist
  			elseif ( $this->registered[$handle]->deps && array_diff($this->registered[$handle]->deps, array_keys($this->registered)) )
! 				$keep_going = false; // Script requires deps which don't exist (not a necessary check. efficiency?)
  			elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true, $group ) )
  				$keep_going = false; // Script requires deps which don't exist
  
***************
*** 98,104 ****
  				if ( $recursion )
  					return false; // Abort this branch.
  				else
! 					continue; // We're at the top level.  Move on to the next one.
  			}
  
  			if ( $queued ) // Already grobbed it and its deps
--- 98,104 ----
  				if ( $recursion )
  					return false; // Abort this branch.
  				else
! 					continue; // We're at the top level. Move on to the next one.
  			}
  
  			if ( $queued ) // Already grobbed it and its deps
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-editor.php ./wordpress-3.4/wp-includes/class-wp-editor.php
*** ./wordpress-3.3.2/wp-includes/class-wp-editor.php	2011-12-01 15:27:19.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-editor.php	2012-04-02 17:26:11.000000000 -0500
***************
*** 3,9 ****
   * Facilitates adding of the WordPress editor as used on the Write and Edit screens.
   *
   * @package WordPress
!  * @since 3.3
   *
   * Private, not included by default. See wp_editor() in wp-includes/general-template.php.
   */
--- 3,9 ----
   * Facilitates adding of the WordPress editor as used on the Write and Edit screens.
   *
   * @package WordPress
!  * @since 3.3.0
   *
   * Private, not included by default. See wp_editor() in wp-includes/general-template.php.
   */
***************
*** 124,130 ****
  	}
  
  	public static function editor_settings($editor_id, $set) {
! 		global $editor_styles;
  		$first_run = false;
  
  		if ( empty(self::$first_init) ) {
--- 124,130 ----
  	}
  
  	public static function editor_settings($editor_id, $set) {
! 		global $editor_styles, $post;
  		$first_run = false;
  
  		if ( empty(self::$first_init) ) {
***************
*** 167,176 ****
  				$no_captions = (bool) apply_filters( 'disable_captions', '' );
  				$plugins = array( 'inlinepopups', 'spellchecker', 'tabfocus', 'paste', 'media', 'fullscreen', 'wordpress', 'wpeditimage', 'wpgallery', 'wplink', 'wpdialogs' );
  				$first_run = true;
  
  				if ( $set['teeny'] ) {
  					self::$plugins = $plugins = apply_filters( 'teeny_mce_plugins', array('inlinepopups', 'fullscreen', 'wordpress', 'wplink', 'wpdialogs'), $editor_id );
- 					$ext_plugins = '';
  				} else {
  					/*
  					The following filter takes an associative array of external plugins for TinyMCE in the form 'plugin_name' => 'url'.
--- 167,176 ----
  				$no_captions = (bool) apply_filters( 'disable_captions', '' );
  				$plugins = array( 'inlinepopups', 'spellchecker', 'tabfocus', 'paste', 'media', 'fullscreen', 'wordpress', 'wpeditimage', 'wpgallery', 'wplink', 'wpdialogs' );
  				$first_run = true;
+ 				$ext_plugins = '';
  
  				if ( $set['teeny'] ) {
  					self::$plugins = $plugins = apply_filters( 'teeny_mce_plugins', array('inlinepopups', 'fullscreen', 'wordpress', 'wplink', 'wpdialogs'), $editor_id );
  				} else {
  					/*
  					The following filter takes an associative array of external plugins for TinyMCE in the form 'plugin_name' => 'url'.
***************
*** 181,187 ****
  					*/
  					$mce_external_plugins = apply_filters('mce_external_plugins', array());
  
- 					$ext_plugins = '';
  					if ( ! empty($mce_external_plugins) ) {
  
  						/*
--- 181,186 ----
***************
*** 247,254 ****
  
  							$ext_plugins .= 'tinyMCEPreInit.load_ext("' . $plugurl . '", "' . $mce_locale . '");' . "\n";
  							$ext_plugins .= 'tinymce.PluginManager.load("' . $name . '", "' . $url . '");' . "\n";
- 
- 							self::$ext_plugins .= $ext_plugins;
  						}
  					}
  
--- 246,251 ----
***************
*** 259,272 ****
  					$plugins[] = 'wpfullscreen';
  
  				self::$plugins = $plugins;
  
  				/*
  				The following filter allows localization scripts to change the languages displayed in the spellchecker's drop-down menu.
  				By default it uses Google's spellchecker API, but can be configured to use PSpell/ASpell if installed on the server.
! 				The + sign marks the default language. More information:
! 				http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker
  				*/
! 				$mce_spellchecker_languages = apply_filters('mce_spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv');
  
  				self::$first_init = array(
  					'mode' => 'exact',
--- 256,277 ----
  					$plugins[] = 'wpfullscreen';
  
  				self::$plugins = $plugins;
+ 				self::$ext_plugins = $ext_plugins;
+ 
+ 				/*
+ 				translators: These languages show up in the spellchecker drop-down menu, in the order specified, and with the first
+ 				language listed being the default language. They must be comma-separated and take the format of name=code, where name
+ 				is the language name (which you may internationalize), and code is a valid ISO 639 language code. Please test the
+ 				spellchecker with your values.
+ 				*/
+ 				$mce_spellchecker_languages = __( 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv' );
  
  				/*
  				The following filter allows localization scripts to change the languages displayed in the spellchecker's drop-down menu.
  				By default it uses Google's spellchecker API, but can be configured to use PSpell/ASpell if installed on the server.
! 				The + sign marks the default language. More: http://www.tinymce.com/wiki.php/Plugin:spellchecker.
  				*/
! 				$mce_spellchecker_languages = apply_filters( 'mce_spellchecker_languages', '+' . $mce_spellchecker_languages );
  
  				self::$first_init = array(
  					'mode' => 'exact',
***************
*** 301,315 ****
  					'convert_urls' => false,
  					'remove_linebreaks' => true,
  					'gecko_spellcheck' => true,
  					'keep_styles' => false,
  					'entities' => '38,amp,60,lt,62,gt',
  					'accessibility_focus' => true,
! 					'tabfocus_elements' => 'major-publishing-actions',
  					'media_strict' => false,
  					'paste_remove_styles' => true,
  					'paste_remove_spans' => true,
  					'paste_strip_class_attributes' => 'all',
  					'paste_text_use_dialog' => true,
  					'extended_valid_elements' => 'article[*],aside[*],audio[*],canvas[*],command[*],datalist[*],details[*],embed[*],figcaption[*],figure[*],footer[*],header[*],hgroup[*],keygen[*],mark[*],meter[*],nav[*],output[*],progress[*],section[*],source[*],summary,time[*],video[*],wbr',
  					'wpeditimage_disable_captions' => $no_captions,
  					'wp_fullscreen_content_css' => self::$baseurl . '/plugins/wpfullscreen/css/wp-fullscreen.css',
--- 306,322 ----
  					'convert_urls' => false,
  					'remove_linebreaks' => true,
  					'gecko_spellcheck' => true,
+ 					'fix_list_elements' => true,
  					'keep_styles' => false,
  					'entities' => '38,amp,60,lt,62,gt',
  					'accessibility_focus' => true,
! 					'tabfocus_elements' => 'title,publish',
  					'media_strict' => false,
  					'paste_remove_styles' => true,
  					'paste_remove_spans' => true,
  					'paste_strip_class_attributes' => 'all',
  					'paste_text_use_dialog' => true,
+ 					'spellchecker_rpc_url' => self::$baseurl . '/plugins/spellchecker/rpc.php',
  					'extended_valid_elements' => 'article[*],aside[*],audio[*],canvas[*],command[*],datalist[*],details[*],embed[*],figcaption[*],figure[*],footer[*],header[*],hgroup[*],keygen[*],mark[*],meter[*],nav[*],output[*],progress[*],section[*],source[*],summary,time[*],video[*],wbr',
  					'wpeditimage_disable_captions' => $no_captions,
  					'wp_fullscreen_content_css' => self::$baseurl . '/plugins/wpfullscreen/css/wp-fullscreen.css',
***************
*** 321,344 ****
  					$mce_css = array();
  					$editor_styles = array_unique($editor_styles);
  					$style_uri = get_stylesheet_directory_uri();
! 					if ( ! is_child_theme() ) {
! 						foreach ( $editor_styles as $file )
! 							$mce_css[] = "$style_uri/$file";
! 					} else {
! 						$style_dir    = get_stylesheet_directory();
  						$template_uri = get_template_directory_uri();
  						$template_dir = get_template_directory();
  
! 						foreach ( $editor_styles as $file ) {
! 							if ( file_exists( "$template_dir/$file" ) )
  								$mce_css[] = "$template_uri/$file";
  						}
  
! 						foreach ( $editor_styles as $file ) {
! 							if ( file_exists( "$style_dir/$file" ) )
! 								$mce_css[] = "$style_uri/$file";
! 						}
  					}
  					$mce_css = implode( ',', $mce_css );
  				} else {
  					$mce_css = '';
--- 328,352 ----
  					$mce_css = array();
  					$editor_styles = array_unique($editor_styles);
  					$style_uri = get_stylesheet_directory_uri();
! 					$style_dir = get_stylesheet_directory();
! 
! 					if ( is_child_theme() ) {
  						$template_uri = get_template_directory_uri();
  						$template_dir = get_template_directory();
  
! 						foreach ( $editor_styles as $key => $file ) {
! 							if ( $file && file_exists( "$template_dir/$file" ) ) {
  								$mce_css[] = "$template_uri/$file";
+ 								$editor_styles[$key] = '';
+ 							}
  						}
+ 					}
  
! 					foreach ( $editor_styles as $file ) {
! 						if ( $file && file_exists( "$style_dir/$file" ) )
! 							$mce_css[] = "$style_uri/$file";
  					}
+ 
  					$mce_css = implode( ',', $mce_css );
  				} else {
  					$mce_css = '';
***************
*** 360,365 ****
--- 368,383 ----
  				$mce_buttons_4 = apply_filters('mce_buttons_4', array(), $editor_id);
  			}
  
+ 			$body_class = $editor_id;
+ 
+ 			if ( isset($post) )
+ 				$body_class .= " post-type-$post->post_type";
+ 
+ 			if ( !empty($set['tinymce']['body_class']) ) {
+ 				$body_class .= ' ' . $set['tinymce']['body_class'];
+ 				unset($set['tinymce']['body_class']);
+ 			}
+ 
  			if ( $set['dfw'] ) {
  				// replace the first 'fullscreen' with 'wp_fullscreen'
  				if ( ($key = array_search('fullscreen', $mce_buttons)) !== false )
***************
*** 380,386 ****
  				'theme_advanced_buttons1' => implode($mce_buttons, ','),
  				'theme_advanced_buttons2' => implode($mce_buttons_2, ','),
  				'theme_advanced_buttons3' => implode($mce_buttons_3, ','),
! 				'theme_advanced_buttons4' => implode($mce_buttons_4, ',')
  			);
  
  			if ( $first_run )
--- 398,405 ----
  				'theme_advanced_buttons1' => implode($mce_buttons, ','),
  				'theme_advanced_buttons2' => implode($mce_buttons_2, ','),
  				'theme_advanced_buttons3' => implode($mce_buttons_3, ','),
! 				'theme_advanced_buttons4' => implode($mce_buttons_4, ','),
! 				'body_class' => $body_class
  			);
  
  			if ( $first_run )
***************
*** 499,511 ****
  			'language' => self::$mce_locale
  		);
  
  		do_action('before_wp_tiny_mce', self::$mce_settings);
  ?>
  
  	<script type="text/javascript">
  		tinyMCEPreInit = {
  			base : "<?php echo self::$baseurl; ?>",
! 			suffix : "",
  			query : "<?php echo $version; ?>",
  			mceInit : <?php echo $mceInit; ?>,
  			qtInit : <?php echo $qtInit; ?>,
--- 518,532 ----
  			'language' => self::$mce_locale
  		);
  
+ 		$suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '_src' : '';
+ 
  		do_action('before_wp_tiny_mce', self::$mce_settings);
  ?>
  
  	<script type="text/javascript">
  		tinyMCEPreInit = {
  			base : "<?php echo self::$baseurl; ?>",
! 			suffix : "<?php echo $suffix; ?>",
  			query : "<?php echo $version; ?>",
  			mceInit : <?php echo $mceInit; ?>,
  			qtInit : <?php echo $qtInit; ?>,
***************
*** 575,581 ****
  		}
  
  		if ( !is_admin() )
! 			echo 'var ajaxurl = "' . admin_url('admin-ajax.php') . '";';
  ?>
  	</script>
  <?php
--- 596,602 ----
  		}
  
  		if ( !is_admin() )
! 			echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";';
  ?>
  	</script>
  <?php
***************
*** 597,603 ****
  		$dfw_width = get_user_setting( 'dfw_width', $width );
  		$save = isset($post->post_status) && $post->post_status == 'publish' ? __('Update') : __('Save');
  	?>
! 	<div id="wp-fullscreen-body">
  	<div id="fullscreen-topbar">
  		<div id="wp-fullscreen-toolbar">
  			<div id="wp-fullscreen-close"><a href="#" onclick="fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div>
--- 618,624 ----
  		$dfw_width = get_user_setting( 'dfw_width', $width );
  		$save = isset($post->post_status) && $post->post_status == 'publish' ? __('Update') : __('Save');
  	?>
! 	<div id="wp-fullscreen-body"<?php if ( is_rtl() ) echo ' class="rtl"'; ?>>
  	<div id="fullscreen-topbar">
  		<div id="wp-fullscreen-toolbar">
  			<div id="wp-fullscreen-close"><a href="#" onclick="fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div>
***************
*** 648,654 ****
  
  			<div id="wp-fullscreen-save">
  				<span><?php if ( $post->post_status == 'publish' ) _e('Updated.'); else _e('Saved.'); ?></span>
! 				<img src="images/wpspin_light.gif" alt="" />
  				<input type="button" class="button-primary" value="<?php echo $save; ?>" onclick="fullscreen.save();" />
  			</div>
  
--- 669,675 ----
  
  			<div id="wp-fullscreen-save">
  				<span><?php if ( $post->post_status == 'publish' ) _e('Updated.'); else _e('Saved.'); ?></span>
! 				<img src="<?php echo admin_url('images/wpspin_light.gif'); ?>" alt="" />
  				<input type="button" class="button-primary" value="<?php echo $save; ?>" onclick="fullscreen.save();" />
  			</div>
  
***************
*** 763,769 ****
  			<div class="link-search-wrapper">
  				<label>
  					<span><?php _e( 'Search' ); ?></span>
! 					<input type="text" id="search-field" class="link-search-field" tabindex="60" autocomplete="off" />
  					<img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  				</label>
  			</div>
--- 784,790 ----
  			<div class="link-search-wrapper">
  				<label>
  					<span><?php _e( 'Search' ); ?></span>
! 					<input type="search" id="search-field" class="link-search-field" tabindex="60" autocomplete="off" />
  					<img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
  				</label>
  			</div>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-error.php ./wordpress-3.4/wp-includes/class-wp-error.php
*** ./wordpress-3.3.2/wp-includes/class-wp-error.php	2011-09-03 11:02:41.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-wp-error.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 208,212 ****
  		return true;
  	return false;
  }
- 
- ?>
\ No newline at end of file
--- 208,210 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-http-ixr-client.php ./wordpress-3.4/wp-includes/class-wp-http-ixr-client.php
*** ./wordpress-3.3.2/wp-includes/class-wp-http-ixr-client.php	2011-05-14 14:45:07.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-wp-http-ixr-client.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 90,93 ****
  		return true;
  	}
  }
- ?>
--- 90,92 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp.php ./wordpress-3.4/wp-includes/class-wp.php
*** ./wordpress-3.3.2/wp-includes/class-wp.php	2011-11-14 15:05:13.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp.php	2012-02-16 18:02:42.000000000 -0600
***************
*** 15,21 ****
  	 * @access public
  	 * @var array
  	 */
! 	var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'debug', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
  
  	/**
  	 * Private query variables.
--- 15,21 ----
  	 * @access public
  	 * @var array
  	 */
! 	var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
  
  	/**
  	 * Private query variables.
***************
*** 156,163 ****
  			$home_path = trim($home_path, '/');
  
  			// Trim path info from the end and the leading home path from the
! 			// front.  For path info requests, this leaves us with the requesting
! 			// filename, if any.  For 404 requests, this leaves us with the
  			// requested permalink.
  			$req_uri = str_replace($pathinfo, '', $req_uri);
  			$req_uri = trim($req_uri, '/');
--- 156,163 ----
  			$home_path = trim($home_path, '/');
  
  			// Trim path info from the end and the leading home path from the
! 			// front. For path info requests, this leaves us with the requesting
! 			// filename, if any. For 404 requests, this leaves us with the
  			// requested permalink.
  			$req_uri = str_replace($pathinfo, '', $req_uri);
  			$req_uri = trim($req_uri, '/');
***************
*** 401,407 ****
  			}
  		}
  
! 		// query_string filter deprecated.  Use request filter instead.
  		if ( has_filter('query_string') ) {  // Don't bother filtering and parsing if no plugins are hooked in.
  			$this->query_string = apply_filters('query_string', $this->query_string);
  			parse_str($this->query_string, $this->query_vars);
--- 401,407 ----
  			}
  		}
  
! 		// query_string filter deprecated. Use request filter instead.
  		if ( has_filter('query_string') ) {  // Don't bother filtering and parsing if no plugins are hooked in.
  			$this->query_string = apply_filters('query_string', $this->query_string);
  			parse_str($this->query_string, $this->query_vars);
***************
*** 474,492 ****
  	function handle_404() {
  		global $wp_query;
  
! 		if ( !is_admin() && ( 0 == count( $wp_query->posts ) ) && !is_404() && !is_robots() && !is_search() && !is_home() ) {
  			// Don't 404 for these queries if they matched an object.
! 			if ( ( is_tag() || is_category() || is_tax() || is_author() || is_post_type_archive() ) && $wp_query->get_queried_object() && !is_paged() ) {
! 				if ( !is_404() )
! 					status_header( 200 );
  				return;
  			}
- 			$wp_query->set_404();
- 			status_header( 404 );
- 			nocache_headers();
- 		} elseif ( !is_404() ) {
- 			status_header( 200 );
  		}
  	}
  
  	/**
--- 474,509 ----
  	function handle_404() {
  		global $wp_query;
  
! 		// If we've already issued a 404, bail.
! 		if ( is_404() )
! 			return;
! 
! 		// Never 404 for the admin, robots, or if we found posts.
! 		if ( is_admin() || is_robots() || $wp_query->posts ) {
! 			status_header( 200 );
! 			return;
! 		}
! 
! 		// We will 404 for paged queries, as no posts were found.
! 		if ( ! is_paged() ) {
! 
  			// Don't 404 for these queries if they matched an object.
! 			if ( ( is_tag() || is_category() || is_tax() || is_author() || is_post_type_archive() ) && $wp_query->get_queried_object() ) {
! 				status_header( 200 );
! 				return;
! 			}
! 
! 			// Don't 404 for these queries either.
! 			if ( is_home() || is_search() ) {
! 				status_header( 200 );
  				return;
  			}
  		}
+ 
+ 		// Guess it's time to 404.
+ 		$wp_query->set_404();
+ 		status_header( 404 );
+ 		nocache_headers();
  	}
  
  	/**
***************
*** 601,605 ****
  	}
  
  }
- 
- ?>
--- 618,620 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class.wp-scripts.php ./wordpress-3.4/wp-includes/class.wp-scripts.php
*** ./wordpress-3.3.2/wp-includes/class.wp-scripts.php	2011-12-08 14:46:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/class.wp-scripts.php	2012-02-27 13:46:52.000000000 -0600
***************
*** 31,45 ****
  	var $default_dirs;
  
  	function __construct() {
  		do_action_ref_array( 'wp_default_scripts', array(&$this) );
  	}
  
  	/**
  	 * Prints scripts
  	 *
! 	 * Prints the scripts passed to it or the print queue.  Also prints all necessary dependencies.
  	 *
! 	 * @param mixed $handles (optional) Scripts to be printed.  (void) prints queue, (string) prints that script, (array of strings) prints those scripts.
  	 * @param int $group (optional) If scripts were queued in groups prints this group number.
  	 * @return array Scripts that have been printed
  	 */
--- 31,52 ----
  	var $default_dirs;
  
  	function __construct() {
+ 		if ( ! function_exists( 'did_action' ) || did_action( 'init' ) )
+ 			$this->init();
+ 		else
+ 			add_action( 'init', array( $this, 'init' ), 0 );
+ 	}
+ 
+ 	function init() {
  		do_action_ref_array( 'wp_default_scripts', array(&$this) );
  	}
  
  	/**
  	 * Prints scripts
  	 *
! 	 * Prints the scripts passed to it or the print queue. Also prints all necessary dependencies.
  	 *
! 	 * @param mixed $handles (optional) Scripts to be printed. (void) prints queue, (string) prints that script, (array of strings) prints those scripts.
  	 * @param int $group (optional) If scripts were queued in groups prints this group number.
  	 * @return array Scripts that have been printed
  	 */
***************
*** 143,154 ****
  		$script = "var $object_name = " . json_encode($l10n) . ';';
  
  		if ( !empty($after) )
! 			$script .= "\n$after";
  
  		$data = $this->get_data( $handle, 'data' );
  
  		if ( !empty( $data ) )
! 			$script = "$data;\n$script";
  
  		return $this->add_data( $handle, 'data', $script );
  	}
--- 150,161 ----
  		$script = "var $object_name = " . json_encode($l10n) . ';';
  
  		if ( !empty($after) )
! 			$script .= "\n$after;";
  
  		$data = $this->get_data( $handle, 'data' );
  
  		if ( !empty( $data ) )
! 			$script = "$data\n$script";
  
  		return $this->add_data( $handle, 'data', $script );
  	}
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-theme.php ./wordpress-3.4/wp-includes/class-wp-theme.php
*** ./wordpress-3.3.2/wp-includes/class-wp-theme.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/class-wp-theme.php	2012-06-11 12:30:57.000000000 -0500
***************
*** 0 ****
--- 1,1189 ----
+ <?php
+ /**
+  * WP_Theme Class
+  *
+  * @package WordPress
+  * @subpackage Theme
+  */
+ 
+ final class WP_Theme implements ArrayAccess {
+ 
+ 	/**
+ 	 * Headers for style.css files.
+ 	 *
+ 	 * @static
+ 	 * @access private
+ 	 * @var array
+ 	 */
+ 	private static $file_headers = array(
+ 		'Name'        => 'Theme Name',
+ 		'ThemeURI'    => 'Theme URI',
+ 		'Description' => 'Description',
+ 		'Author'      => 'Author',
+ 		'AuthorURI'   => 'Author URI',
+ 		'Version'     => 'Version',
+ 		'Template'    => 'Template',
+ 		'Status'      => 'Status',
+ 		'Tags'        => 'Tags',
+ 		'TextDomain'  => 'Text Domain',
+ 		'DomainPath'  => 'Domain Path',
+ 	);
+ 
+ 	/**
+ 	 * Default themes.
+ 	 *
+ 	 * @static
+ 	 * @access private
+ 	 * @var array
+ 	 */
+ 	private static $default_themes = array(
+ 		'classic'      => 'WordPress Classic',
+ 		'default'      => 'WordPress Default',
+ 		'twentyten'    => 'Twenty Ten',
+ 		'twentyeleven' => 'Twenty Eleven',
+ 	);
+ 
+ 	/**
+ 	 * Absolute path to the theme root, usually wp-content/themes
+ 	 *
+ 	 * @access private
+ 	 * @var string
+ 	 */
+ 	private $theme_root;
+ 
+ 	/**
+ 	 * Header data from the theme's style.css file.
+ 	 *
+ 	 * @access private
+ 	 * @var array
+ 	 */
+ 	private $headers = array();
+ 
+ 	/**
+ 	 * Header data from the theme's style.css file after being sanitized.
+ 	 *
+ 	 * @access private
+ 	 * @var array
+ 	 */
+ 	private $headers_sanitized;
+ 
+ 	/**
+ 	 * Header name from the theme's style.css after being translated.
+ 	 *
+ 	 * Cached due to sorting functions running over the translated name.
+ 	 */
+ 	private $name_translated;
+ 
+ 	/**
+ 	 * Errors encountered when initializing the theme.
+ 	 *
+ 	 * @access private
+ 	 * @var WP_Error
+ 	 */
+ 	private $errors;
+ 
+ 	/**
+ 	 * The directory name of the theme's files, inside the theme root.
+ 	 *
+ 	 * In the case of a child theme, this is directory name of the the child theme.
+ 	 * Otherwise, 'stylesheet' is the same as 'template'.
+ 	 *
+ 	 * @access private
+ 	 * @var string
+ 	 */
+ 	private $stylesheet;
+ 
+ 	/**
+ 	 * The directory name of the theme's files, inside the theme root.
+ 	 *
+ 	 * In the case of a child theme, this is the directory name of the parent theme.
+ 	 * Otherwise, 'template' is the same as 'stylesheet'.
+ 	 *
+ 	 * @access private
+ 	 * @var string
+ 	 */
+ 	private $template;
+ 
+ 	/**
+ 	 * A reference to the parent theme, in the case of a child theme.
+ 	 *
+ 	 * @access private
+ 	 * @var WP_Theme
+ 	 */
+ 	private $parent;
+ 
+ 	/**
+ 	 * URL to the theme root, usually an absolute URL to wp-content/themes
+ 	 *
+ 	 * @access private
+ 	 * var string
+ 	 */
+ 	private $theme_root_uri;
+ 
+ 	/**
+ 	 * Flag for whether the theme's textdomain is loaded.
+ 	 *
+ 	 * @access private
+ 	 * @var bool
+ 	 */
+ 	private $textdomain_loaded;
+ 
+ 	/**
+ 	 * Stores an md5 hash of the theme root, to function as the cache key.
+ 	 *
+ 	 * @access private
+ 	 * @var string
+ 	 */
+ 	private $cache_hash;
+ 
+ 	/**
+ 	 * Flag for whether the themes cache bucket should be persistently cached.
+ 	 *
+ 	 * Default is false. Can be set with the wp_cache_themes_persistently filter.
+ 	 *
+ 	 * @access private
+ 	 * @var bool
+ 	 */
+ 	private static $persistently_cache;
+ 
+ 	/**
+ 	 * Expiration time for the themes cache bucket.
+ 	 *
+ 	 * By default the bucket is not cached, so this value is useless.
+ 	 *
+ 	 * @access private
+ 	 * @var bool
+ 	 */
+ 	private static $cache_expiration = 1800;
+ 
+ 	/**
+ 	 * Constructor for WP_Theme.
+ 	 *
+ 	 * @param string $theme_dir Directory of the theme within the theme_root.
+ 	 * @param string $theme_root Theme root.
+ 	 * @param WP_Error|null $_child If this theme is a parent theme, the child may be passed for validation purposes.
+ 	 */
+ 	public function __construct( $theme_dir, $theme_root, $_child = null ) {
+ 		global $wp_theme_directories;
+ 
+ 		// Initialize caching on first run.
+ 		if ( ! isset( self::$persistently_cache ) ) {
+ 			self::$persistently_cache = apply_filters( 'wp_cache_themes_persistently', false, 'WP_Theme' );
+ 			if ( self::$persistently_cache ) {
+ 				wp_cache_add_global_groups( 'themes' );
+ 				if ( is_int( self::$persistently_cache ) )
+ 					self::$cache_expiration = self::$persistently_cache;
+ 			} else {
+ 				wp_cache_add_non_persistent_groups( 'themes' );
+ 			}
+ 		}
+ 
+ 		$this->theme_root = $theme_root;
+ 		$this->stylesheet = $theme_dir;
+ 
+ 		// Correct a situation where the theme is 'some-directory/some-theme' but 'some-directory' was passed in as part of the theme root instead.
+ 		if ( ! in_array( $theme_root, (array) $wp_theme_directories ) && in_array( dirname( $theme_root ), (array) $wp_theme_directories ) ) {
+ 			$this->stylesheet = basename( $this->theme_root ) . '/' . $this->stylesheet;
+ 			$this->theme_root = dirname( $theme_root );
+ 		}
+ 
+ 		$this->cache_hash = md5( $this->theme_root . '/' . $this->stylesheet );
+ 		$theme_file = $this->stylesheet . '/style.css';
+ 
+ 		$cache = $this->cache_get( 'theme' );
+ 
+ 		if ( is_array( $cache ) ) {
+ 			foreach ( array( 'errors', 'headers', 'template' ) as $key ) {
+ 				if ( isset( $cache[ $key ] ) )
+ 					$this->$key = $cache[ $key ];
+ 			}
+ 			if ( $this->errors )
+ 				return;
+ 			if ( isset( $cache['theme_root_template'] ) )
+ 				$theme_root_template = $cache['theme_root_template'];
+ 		} elseif ( ! file_exists( $this->theme_root . '/' . $theme_file ) ) {
+ 			$this->headers['Name'] = $this->stylesheet;
+ 			if ( ! file_exists( $this->theme_root . '/' . $this->stylesheet ) )
+ 				$this->errors = new WP_Error( 'theme_not_found', __( 'The theme directory does not exist.' ) );
+ 			else
+ 				$this->errors = new WP_Error( 'theme_no_stylesheet', __( 'Stylesheet is missing.' ) );
+ 			$this->template = $this->stylesheet;
+ 			$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
+ 			if ( ! file_exists( $this->theme_root ) ) // Don't cache this one.
+ 				$this->errors->add( 'theme_root_missing', __( 'ERROR: The themes directory is either empty or doesn&#8217;t exist. Please check your installation.' ) );
+ 			return;
+ 		} elseif ( ! is_readable( $this->theme_root . '/' . $theme_file ) ) {
+ 			$this->headers['Name'] = $this->stylesheet;
+ 			$this->errors = new WP_Error( 'theme_stylesheet_not_readable', __( 'Stylesheet is not readable.' ) );
+ 			$this->template = $this->stylesheet;
+ 			$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
+ 			return;
+ 		} else {
+ 			$this->headers = get_file_data( $this->theme_root . '/' . $theme_file, self::$file_headers, 'theme' );
+ 			// Default themes always trump their pretenders.
+ 			// Properly identify default themes that are inside a directory within wp-content/themes.
+ 			if ( $default_theme_slug = array_search( $this->headers['Name'], self::$default_themes ) ) {
+ 				if ( basename( $this->stylesheet ) != $default_theme_slug )
+ 					$this->headers['Name'] .= '/' . $this->stylesheet;
+ 			}
+ 		}
+ 
+ 		// (If template is set from cache [and there are no errors], we know it's good.)
+ 		if ( ! $this->template && ! ( $this->template = $this->headers['Template'] ) ) {
+ 			$this->template = $this->stylesheet;
+ 			if ( ! file_exists( $this->theme_root . '/' . $this->stylesheet . '/index.php' ) ) {
+ 				$this->errors = new WP_Error( 'theme_no_index', __( 'Template is missing.' ) );
+ 				$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
+ 				return;
+ 			}
+ 		}
+ 
+ 		// If we got our data from cache, we can assume that 'template' is pointing to the right place.
+ 		if ( ! is_array( $cache ) && $this->template != $this->stylesheet && ! file_exists( $this->theme_root . '/' . $this->template . '/index.php' ) ) {
+ 			// If we're in a directory of themes inside /themes, look for the parent nearby.
+ 			// wp-content/themes/directory-of-themes/*
+ 			$parent_dir = dirname( $this->stylesheet );
+ 			if ( '.' != $parent_dir && file_exists( $this->theme_root . '/' . $parent_dir . '/' . $this->template . '/index.php' ) ) {
+ 				$this->template = $parent_dir . '/' . $this->template;
+ 			} elseif ( ( $directories = search_theme_directories() ) && isset( $directories[ $this->template ] ) ) {
+ 				// Look for the template in the search_theme_directories() results, in case it is in another theme root.
+ 				// We don't look into directories of themes, just the theme root.
+ 				$theme_root_template = $directories[ $this->template ]['theme_root'];
+ 			} else {
+ 				// Parent theme is missing.
+ 				$this->errors = new WP_Error( 'theme_no_parent', sprintf( __( 'The parent theme is missing. Please install the "%s" parent theme.' ), $this->template ) );
+ 				$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
+ 				return;
+ 			}
+ 		}
+ 
+ 		// Set the parent, if we're a child theme.
+ 		if ( $this->template != $this->stylesheet ) {
+ 			// If we are a parent, then there is a problem. Only two generations allowed! Cancel things out.
+ 			if ( is_a( $_child, 'WP_Theme' ) && $_child->template == $this->stylesheet ) {
+ 				$_child->parent = null;
+ 				$_child->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), $_child->template ) );
+ 				$_child->cache_add( 'theme', array( 'headers' => $_child->headers, 'errors' => $_child->errors, 'stylesheet' => $_child->stylesheet, 'template' => $_child->template ) );
+ 				// The two themes actually reference each other with the Template header.
+ 				if ( $_child->stylesheet == $this->template ) {
+ 					$this->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), $this->template ) );
+ 					$this->cache_add( 'theme', array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template ) );
+ 				}
+ 				return;
+ 			}
+ 			// Set the parent. Pass the current instance so we can do the crazy checks above and assess errors.
+ 			$this->parent = new WP_Theme( $this->template, isset( $theme_root_template ) ? $theme_root_template : $this->theme_root, $this );
+ 		}
+ 
+ 		// We're good. If we didn't retrieve from cache, set it.
+ 		if ( ! is_array( $cache ) ) {
+ 			$cache = array( 'headers' => $this->headers, 'errors' => $this->errors, 'stylesheet' => $this->stylesheet, 'template' => $this->template );
+ 			// If the parent theme is in another root, we'll want to cache this. Avoids an entire branch of filesystem calls above.
+ 			if ( isset( $theme_root_template ) )
+ 				$cache['theme_root_template'] = $theme_root_template;
+ 			$this->cache_add( 'theme', $cache );
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * When converting the object to a string, the theme name is returned.
+ 	 *
+ 	 * @return string Theme name, ready for display (translated)
+ 	 */
+ 	public function __toString() {
+ 		return (string) $this->display('Name');
+ 	}
+ 
+ 	/**
+ 	 * __isset() magic method for properties formerly returned by current_theme_info()
+ 	 */
+ 	public function __isset( $offset ) {
+ 		static $properties = array(
+ 			'name', 'title', 'version', 'parent_theme', 'template_dir', 'stylesheet_dir', 'template', 'stylesheet',
+ 			'screenshot', 'description', 'author', 'tags', 'theme_root', 'theme_root_uri',
+ 		);
+ 
+ 		return in_array( $offset, $properties );
+ 	}
+ 
+ 	/**
+ 	 * __get() magic method for properties formerly returned by current_theme_info()
+ 	 */
+ 	public function __get( $offset ) {
+ 		switch ( $offset ) {
+ 			case 'name' :
+ 			case 'title' :
+ 				return $this->get('Name');
+ 			case 'version' :
+ 				return $this->get('Version');
+ 			case 'parent_theme' :
+ 				return $this->parent() ? $this->parent()->get('Name') : '';
+ 			case 'template_dir' :
+ 				return $this->get_template_directory();
+ 			case 'stylesheet_dir' :
+ 				return $this->get_stylesheet_directory();
+ 			case 'template' :
+ 				return $this->get_template();
+ 			case 'stylesheet' :
+ 				return $this->get_stylesheet();
+ 			case 'screenshot' :
+ 				return $this->get_screenshot( 'relative' );
+ 			// 'author' and 'description' did not previously return translated data.
+ 			case 'description' :
+ 				return $this->display('Description');
+ 			case 'author' :
+ 				return $this->display('Author');
+ 			case 'tags' :
+ 				return $this->get( 'Tags' );
+ 			case 'theme_root' :
+ 				return $this->get_theme_root();
+ 			case 'theme_root_uri' :
+ 				return $this->get_theme_root_uri();
+ 			// For cases where the array was converted to an object.
+ 			default :
+ 				return $this->offsetGet( $offset );
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Method to implement ArrayAccess for keys formerly returned by get_themes()
+ 	 */
+ 	public function offsetSet( $offset, $value ) {}
+ 
+ 	/**
+ 	 * Method to implement ArrayAccess for keys formerly returned by get_themes()
+ 	 */
+ 	public function offsetUnset( $offset ) {}
+ 
+ 	/**
+ 	 * Method to implement ArrayAccess for keys formerly returned by get_themes()
+ 	 */
+ 	public function offsetExists( $offset ) {
+ 		static $keys = array(
+ 			'Name', 'Version', 'Status', 'Title', 'Author', 'Author Name', 'Author URI', 'Description',
+ 			'Template', 'Stylesheet', 'Template Files', 'Stylesheet Files', 'Template Dir', 'Stylesheet Dir',
+ 			 'Screenshot', 'Tags', 'Theme Root', 'Theme Root URI', 'Parent Theme',
+ 		);
+ 
+ 		return in_array( $offset, $keys );
+ 	}
+ 
+ 	/**
+ 	 * Method to implement ArrayAccess for keys formerly returned by get_themes().
+ 	 *
+ 	 * Author, Author Name, Author URI, and Description did not previously return
+ 	 * translated data. We are doing so now as it is safe to do. However, as
+ 	 * Name and Title could have been used as the key for get_themes(), both remain
+ 	 * untranslated for back compatibility. This means that ['Name'] is not ideal,
+ 	 * and care should be taken to use $theme->display('Name') to get a properly
+ 	 * translated header.
+ 	 */
+ 	public function offsetGet( $offset ) {
+ 		switch ( $offset ) {
+ 			case 'Name' :
+ 			case 'Title' :
+ 				// See note above about using translated data. get() is not ideal.
+ 				// It is only for backwards compatibility. Use display().
+ 				return $this->get('Name');
+ 			case 'Author' :
+ 				return $this->display( 'Author');
+ 			case 'Author Name' :
+ 				return $this->display( 'Author', false);
+ 			case 'Author URI' :
+ 				return $this->display('AuthorURI');
+ 			case 'Description' :
+ 				return $this->display( 'Description');
+ 			case 'Version' :
+ 			case 'Status' :
+ 				return $this->get( $offset );
+ 			case 'Template' :
+ 				return $this->get_template();
+ 			case 'Stylesheet' :
+ 				return $this->get_stylesheet();
+ 			case 'Template Files' :
+ 				return $this->get_files( 'php', 1, true );
+ 			case 'Stylesheet Files' :
+ 				return $this->get_files( 'css', 0, false );
+ 			case 'Template Dir' :
+ 				return $this->get_template_directory();
+ 			case 'Stylesheet Dir' :
+ 				return $this->get_stylesheet_directory();
+ 			case 'Screenshot' :
+ 				return $this->get_screenshot( 'relative' );
+ 			case 'Tags' :
+ 				return $this->get('Tags');
+ 			case 'Theme Root' :
+ 				return $this->get_theme_root();
+ 			case 'Theme Root URI' :
+ 				return $this->get_theme_root_uri();
+ 			case 'Parent Theme' :
+ 				return $this->parent() ? $this->parent()->get('Name') : '';
+ 			default :
+ 				return null;
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Returns errors property.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return WP_Error|bool WP_Error if there are errors, or false.
+ 	 */
+ 	public function errors() {
+ 		return is_wp_error( $this->errors ) ? $this->errors : false;
+ 	}
+ 
+ 	/**
+ 	 * Whether the theme exists.
+ 	 *
+ 	 * A theme with errors exists. A theme with the error of 'theme_not_found',
+ 	 * meaning that the theme's directory was not found, does not exist.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return bool Whether the theme exists.
+ 	 */
+ 	public function exists() {
+ 		return ! ( $this->errors() && in_array( 'theme_not_found', $this->errors()->get_error_codes() ) );
+ 	}
+ 
+ 	/**
+ 	 * Returns reference to the parent theme.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return WP_Theme|bool Parent theme, or false if the current theme is not a child theme.
+ 	 */
+ 	public function parent() {
+ 		return isset( $this->parent ) ? $this->parent : false;
+ 	}
+ 
+ 	/**
+ 	 * Adds theme data to cache.
+ 	 *
+ 	 * Cache entries keyed by the theme and the type of data.
+ 	 *
+ 	 * @access private
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $key Type of data to store (theme, screenshot, headers, page_templates)
+ 	 * @param string $data Data to store
+ 	 * @return bool Return value from wp_cache_add()
+ 	 */
+ 	private function cache_add( $key, $data ) {
+ 		return wp_cache_add( $key . '-' . $this->cache_hash, $data, 'themes', self::$cache_expiration );
+ 	}
+ 
+ 	/**
+ 	 * Gets theme data from cache.
+ 	 *
+ 	 * Cache entries are keyed by the theme and the type of data.
+ 	 *
+ 	 * @access private
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $key Type of data to retrieve (theme, screenshot, headers, page_templates)
+ 	 * @return mixed Retrieved data
+ 	 */
+ 	private function cache_get( $key ) {
+ 		return wp_cache_get( $key . '-' . $this->cache_hash, 'themes' );
+ 	}
+ 
+ 	/**
+ 	 * Clears the cache for the theme.
+ 	 *
+ 	 * @access public
+ 	 * @since 3.4.0
+ 	 */
+ 	public function cache_delete() {
+ 		foreach ( array( 'theme', 'screenshot', 'headers', 'page_templates' ) as $key )
+ 			wp_cache_delete( $key . '-' . $this->cache_hash, 'themes' );
+ 		$this->template = $this->textdomain_loaded = $this->theme_root_uri = $this->parent = $this->errors = $this->headers_sanitized = $this->name_translated = null;
+ 		$this->headers = array();
+ 		$this->__construct( $this->stylesheet, $this->theme_root );
+ 	}
+ 
+ 	/**
+ 	 * Get a raw, unformatted theme header.
+ 	 *
+ 	 * The header is sanitized, but is not translated, and is not marked up for display.
+ 	 * To get a theme header for display, use the display() method.
+ 	 *
+ 	 * Use the get_template() method, not the 'Template' header, for finding the template.
+ 	 * The 'Template' header is only good for what was written in the style.css, while
+ 	 * get_template() takes into account where WordPress actually located the theme and
+ 	 * whether it is actually valid.
+ 	 *
+ 	 * @access public
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
+ 	 * @return string String on success, false on failure.
+ 	 */
+ 	public function get( $header ) {
+ 		if ( ! isset( $this->headers[ $header ] ) )
+ 			return false;
+ 
+ 		if ( ! isset( $this->headers_sanitized ) ) {
+ 			$this->headers_sanitized = $this->cache_get( 'headers' );
+ 			if ( ! is_array( $this->headers_sanitized ) )
+ 				$this->headers_sanitized = array();
+ 		}
+ 
+ 		if ( isset( $this->headers_sanitized[ $header ] ) )
+ 			return $this->headers_sanitized[ $header ];
+ 
+ 		// If themes are a persistent group, sanitize everything and cache it. One cache add is better than many cache sets.
+ 		if ( self::$persistently_cache ) {
+ 			foreach ( array_keys( $this->headers ) as $_header )
+ 				$this->headers_sanitized[ $_header ] = $this->sanitize_header( $_header, $this->headers[ $_header ] );
+ 			$this->cache_add( 'headers', $this->headers_sanitized );
+ 		} else {
+ 			$this->headers_sanitized[ $header ] = $this->sanitize_header( $header, $this->headers[ $header ] );
+ 		}
+ 
+ 		return $this->headers_sanitized[ $header ];
+ 	}
+ 
+ 	/**
+ 	 * Gets a theme header, formatted and translated for display.
+ 	 *
+ 	 * @access public
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
+ 	 * @param bool $markup Optional. Whether to mark up the header. Defaults to true.
+ 	 * @param bool $translate Optional. Whether to translate the header. Defaults to true.
+ 	 * @return string Processed header, false on failure.
+ 	 */
+ 	public function display( $header, $markup = true, $translate = true ) {
+ 		$value = $this->get( $header );
+ 
+ 		if ( $translate && ( empty( $value ) || ! $this->load_textdomain() ) )
+ 			$translate = false;
+ 
+ 		if ( $translate )
+ 			$value = $this->translate_header( $header, $value );
+ 
+ 		if ( $markup )
+ 			$value = $this->markup_header( $header, $value, $translate );
+ 
+ 		return $value;
+ 	}
+ 
+ 	/**
+ 	 * Sanitize a theme header.
+ 	 *
+ 	 * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
+ 	 * @param string $value Value to sanitize.
+ 	 */
+ 	private function sanitize_header( $header, $value ) {
+ 		switch ( $header ) {
+ 			case 'Status' :
+ 				if ( ! $value ) {
+ 					$value = 'publish';
+ 					break;
+ 				}
+ 				// Fall through otherwise.
+ 			case 'Name' :
+ 				static $header_tags = array(
+ 					'abbr'    => array( 'title' => true ),
+ 					'acronym' => array( 'title' => true ),
+ 					'code'    => true,
+ 					'em'      => true,
+ 					'strong'  => true,
+ 				);
+ 				$value = wp_kses( $value, $header_tags );
+ 				break;
+ 			case 'Author' :
+ 				// There shouldn't be anchor tags in Author, but some themes like to be challenging.
+ 			case 'Description' :
+ 				static $header_tags_with_a = array(
+ 					'a'       => array( 'href' => true, 'title' => true ),
+ 					'abbr'    => array( 'title' => true ),
+ 					'acronym' => array( 'title' => true ),
+ 					'code'    => true,
+ 					'em'      => true,
+ 					'strong'  => true,
+ 				);
+ 				$value = wp_kses( $value, $header_tags_with_a );
+ 				break;
+ 			case 'ThemeURI' :
+ 			case 'AuthorURI' :
+ 				$value = esc_url_raw( $value );
+ 				break;
+ 			case 'Tags' :
+ 				$value = array_filter( array_map( 'trim', explode( ',', strip_tags( $value ) ) ) );
+ 				break;
+ 		}
+ 
+ 		return $value;
+ 	}
+ 
+ 	/**
+ 	 * Mark up a theme header.
+ 	 *
+ 	 * @access private
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
+ 	 * @param string $value Value to mark up.
+ 	 * @param string $translate Whether the header has been translated.
+ 	 * @return string Value, marked up.
+ 	 */
+ 	private function markup_header( $header, $value, $translate ) {
+ 		switch ( $header ) {
+ 			case 'Name' :
+ 				if ( empty( $value ) )
+ 					$value = $this->get_stylesheet();
+ 				break;
+ 			case 'Description' :
+ 				$value = wptexturize( $value );
+ 				break;
+ 			case 'Author' :
+ 				if ( $this->get('AuthorURI') ) {
+ 					static $attr = null;
+ 					if ( ! isset( $attr ) )
+ 						$attr = esc_attr__( 'Visit author homepage' );
+ 					$value = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>', $this->display( 'AuthorURI', true, $translate ), $attr, $value );
+ 				} elseif ( ! $value ) {
+ 					$value = __( 'Anonymous' );
+ 				}
+ 				break;
+ 			case 'Tags' :
+ 				static $comma = null;
+ 				if ( ! isset( $comma ) ) {
+ 					/* translators: used between list items, there is a space after the comma */
+ 					$comma = __( ', ' );
+ 				}
+ 				$value = implode( $comma, $value );
+ 				break;
+ 			case 'ThemeURI' :
+ 			case 'AuthorURI' :
+ 				$value = esc_url( $value );
+ 				break;
+ 		}
+ 
+ 		return $value;
+ 	}
+ 
+ 	/**
+ 	 * Translate a theme header.
+ 	 *
+ 	 * @access private
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
+ 	 * @param string $value Value to translate.
+ 	 * @return string Translated value.
+ 	 */
+ 	private function translate_header( $header, $value ) {
+ 		switch ( $header ) {
+ 			case 'Name' :
+ 				// Cached for sorting reasons.
+ 				if ( isset( $this->name_translated ) )
+ 					return $this->name_translated;
+ 				$this->name_translated = translate( $value, $this->get('TextDomain' ) );
+ 				return $this->name_translated;
+ 			case 'Tags' :
+ 				if ( empty( $value ) || ! function_exists( 'get_theme_feature_list' ) )
+ 					return $value;
+ 
+ 				static $tags_list;
+ 				if ( ! isset( $tags_list ) ) {
+ 					$tags_list = array();
+ 					$feature_list = get_theme_feature_list( false ); // No API
+ 					foreach ( $feature_list as $tags )
+ 						$tags_list += $tags;
+ 				}
+ 
+ 				foreach ( $value as &$tag ) {
+ 					if ( isset( $tags_list[ $tag ] ) )
+ 						$tag = $tags_list[ $tag ];
+ 				}
+ 
+ 				return $value;
+ 				break;
+ 			default :
+ 				$value = translate( $value, $this->get('TextDomain') );
+ 		}
+ 		return $value;
+ 	}
+ 
+ 	/**
+ 	 * The directory name of the theme's "stylesheet" files, inside the theme root.
+ 	 *
+ 	 * In the case of a child theme, this is directory name of the the child theme.
+ 	 * Otherwise, get_stylesheet() is the same as get_template().
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string Stylesheet
+ 	 */
+ 	public function get_stylesheet() {
+ 		return $this->stylesheet;
+ 	}
+ 
+ 	/**
+ 	 * The directory name of the theme's "template" files, inside the theme root.
+ 	 *
+ 	 * In the case of a child theme, this is the directory name of the parent theme.
+ 	 * Otherwise, the get_template() is the same as get_stylesheet().
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string Template
+ 	 */
+ 	public function get_template() {
+ 		return $this->template;
+ 	}
+ 
+ 	/**
+ 	 * Returns the absolute path to the directory of a theme's "stylesheet" files.
+ 	 *
+ 	 * In the case of a child theme, this is the absolute path to the directory
+ 	 * of the child theme's files.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string Absolute path of the stylesheet directory.
+ 	 */
+ 	public function get_stylesheet_directory() {
+ 		if ( $this->errors() && in_array( 'theme_root_missing', $this->errors()->get_error_codes() ) )
+ 			return '';
+ 
+ 		return $this->theme_root . '/' . $this->stylesheet;
+ 	}
+ 
+ 	/**
+ 	 * Returns the absolute path to the directory of a theme's "template" files.
+ 	 *
+ 	 * In the case of a child theme, this is the absolute path to the directory
+ 	 * of the parent theme's files.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string Absolute path of the template directory.
+ 	 */
+ 	public function get_template_directory() {
+ 		if ( $this->parent() )
+ 			$theme_root = $this->parent()->theme_root;
+ 		else
+ 			$theme_root = $this->theme_root;
+ 
+ 		return $theme_root . '/' . $this->template;
+ 	}
+ 
+ 	/**
+ 	 * Returns the URL to the directory of a theme's "stylesheet" files.
+ 	 *
+ 	 * In the case of a child theme, this is the URL to the directory of the
+ 	 * child theme's files.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string URL to the stylesheet directory.
+ 	 */
+ 	public function get_stylesheet_directory_uri() {
+ 		return $this->get_theme_root_uri() . '/' . $this->stylesheet;
+ 	}
+ 
+ 	/**
+ 	 * Returns the URL to the directory of a theme's "template" files.
+ 	 *
+ 	 * In the case of a child theme, this is the URL to the directory of the
+ 	 * parent theme's files.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string URL to the template directory.
+ 	 */
+ 	public function get_template_directory_uri() {
+ 		if ( $this->parent() )
+ 			$theme_root_uri = $this->parent()->get_theme_root_uri();
+ 		else
+ 			$theme_root_uri = $this->get_theme_root_uri();
+ 
+ 		return $theme_root . '/' . $this->template;
+ 	}
+ 
+ 	/**
+ 	 * The absolute path to the directory of the theme root.
+ 	 *
+ 	 * This is typically the absolute path to wp-content/themes.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string Theme root.
+ 	 */
+ 	public function get_theme_root() {
+ 		return $this->theme_root;
+ 	}
+ 
+ 	/**
+ 	 * Returns the URL to the directory of the theme root.
+ 	 *
+ 	 * This is typically the absolute URL to wp-content/themes. This forms the basis
+ 	 * for all other URLs returned by WP_Theme, so we pass it to the public function
+ 	 * get_theme_root_uri() and allow it to run the theme_root_uri filter.
+ 	 *
+ 	 * @uses get_theme_root_uri()
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return string Theme root URI.
+ 	 */
+ 	public function get_theme_root_uri() {
+ 		if ( ! isset( $this->theme_root_uri ) )
+ 			$this->theme_root_uri = get_theme_root_uri( $this->stylesheet, $this->theme_root );
+ 		return $this->theme_root_uri;
+ 	}
+ 
+ 	/**
+ 	 * Returns the main screenshot file for the theme.
+ 	 *
+ 	 * The main screenshot is called screenshot.png. gif and jpg extensions are also allowed.
+ 	 *
+ 	 * Screenshots for a theme must be in the stylesheet directory. (In the case of child
+ 	 * themes, parent theme screenshots are not inherited.)
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @param string $uri Type of URL to return, either 'relative' or an absolute URI. Defaults to absolute URI.
+ 	 * @return mixed Screenshot file. False if the theme does not have a screenshot.
+ 	 */
+ 	public function get_screenshot( $uri = 'uri' ) {
+ 		$screenshot = $this->cache_get( 'screenshot' );
+ 		if ( $screenshot ) {
+ 			if ( 'relative' == $uri )
+ 				return $screenshot;
+ 			return $this->get_stylesheet_directory_uri() . '/' . $screenshot;
+ 		} elseif ( 0 === $screenshot ) {
+ 			return false;
+ 		}
+ 
+ 		foreach ( array( 'png', 'gif', 'jpg', 'jpeg' ) as $ext ) {
+ 			if ( file_exists( $this->get_stylesheet_directory() . "/screenshot.$ext" ) ) {
+ 				$this->cache_add( 'screenshot', 'screenshot.' . $ext );
+ 				if ( 'relative' == $uri )
+ 					return 'screenshot.' . $ext;
+ 				return $this->get_stylesheet_directory_uri() . '/' . 'screenshot.' . $ext;
+ 			}
+ 		}
+ 
+ 		$this->cache_add( 'screenshot', 0 );
+ 		return false;
+ 	}
+ 
+ 	/**
+ 	 * Return files in the theme's directory.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @param mixed $type Optional. Array of extensions to return. Defaults to all files (null).
+ 	 * @param int $depth Optional. How deep to search for files. Defaults to a flat scan (0 depth). -1 depth is infinite.
+ 	 * @param bool $search_parent Optional. Whether to return parent files. Defaults to false.
+ 	 * @return array Array of files, keyed by the path to the file relative to the theme's directory, with the values
+ 	 * 	being absolute paths.
+ 	 */
+ 	public function get_files( $type = null, $depth = 0, $search_parent = false ) {
+ 		$files = (array) self::scandir( $this->get_stylesheet_directory(), $type, $depth );
+ 
+ 		if ( $search_parent && $this->parent() )
+ 			$files += (array) self::scandir( $this->get_template_directory(), $type, $depth );
+ 
+ 		return $files;
+ 	}
+ 
+ 	/**
+ 	 * Returns the theme's page templates.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return array Array of page templates, keyed by filename, with the value of the translated header name.
+ 	 */
+ 	public function get_page_templates() {
+ 		// If you screw up your current theme and we invalidate your parent, most things still work. Let it slide.
+ 		if ( $this->errors() && $this->errors()->get_error_codes() !== array( 'theme_parent_invalid' ) )
+ 			return array();
+ 
+ 		$page_templates = $this->cache_get( 'page_templates' );
+ 
+ 		if ( ! is_array( $page_templates ) ) {
+ 			$page_templates = array();
+ 
+ 			$files = (array) $this->get_files( 'php', 1 );
+ 
+ 			foreach ( $files as $file => $full_path ) {
+ 				$headers = get_file_data( $full_path, array( 'Template Name' => 'Template Name' ) );
+ 				if ( empty( $headers['Template Name'] ) )
+ 					continue;
+ 				$page_templates[ $file ] = $headers['Template Name'];
+ 			}
+ 
+ 			$this->cache_add( 'page_templates', $page_templates );
+ 		}
+ 
+ 		if ( $this->load_textdomain() ) {
+ 			foreach ( $page_templates as &$page_template ) {
+ 				$page_template = $this->translate_header( 'Template Name', $page_template );
+ 			}
+ 		}
+ 
+ 		if ( $this->parent() )
+ 			$page_templates += $this->parent()->get_page_templates();
+ 
+ 		return $page_templates;
+ 	}
+ 
+ 	/**
+ 	 * Scans a directory for files of a certain extension.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access private
+ 	 *
+ 	 * @param string $path Absolute path to search.
+ 	 * @param mixed  Array of extensions to find, string of a single extension, or null for all extensions.
+ 	 * @param int $depth How deep to search for files. Optional, defaults to a flat scan (0 depth). -1 depth is infinite.
+ 	 * @param string $relative_path The basename of the absolute path. Used to control the returned path
+ 	 * 	for the found files, particularly when this function recurses to lower depths.
+ 	 */
+ 	private static function scandir( $path, $extensions = null, $depth = 0, $relative_path = '' ) {
+ 		if ( ! is_dir( $path ) )
+ 			return false;
+ 
+ 		if ( $extensions ) {
+ 			$extensions = (array) $extensions;
+ 			$_extensions = implode( '|', $extensions );
+ 		}
+ 
+ 		$relative_path = trailingslashit( $relative_path );
+ 		if ( '/' == $relative_path )
+ 			$relative_path = '';
+ 
+ 		$results = scandir( $path );
+ 		$files = array();
+ 
+ 		foreach ( $results as $result ) {
+ 			if ( '.' == $result[0] )
+ 				continue;
+ 			if ( is_dir( $path . '/' . $result ) ) {
+ 				if ( ! $depth || 'CVS' == $result )
+ 					continue;
+ 				$found = self::scandir( $path . '/' . $result, $extensions, $depth - 1 , $relative_path . $result );
+ 				$files = array_merge_recursive( $files, $found );
+ 			} elseif ( ! $extensions || preg_match( '~\.(' . $_extensions . ')$~', $result ) ) {
+ 				$files[ $relative_path . $result ] = $path . '/' . $result;
+ 			}
+ 		}
+ 
+ 		return $files;
+ 	}
+ 
+ 	/**
+ 	 * Loads the theme's textdomain.
+ 	 *
+ 	 * Translation files are not inherited from the parent theme. Todo: if this fails for the
+ 	 * child theme, it should probably try to load the parent theme's translations.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return True if the textdomain was successfully loaded or has already been loaded. False if
+ 	 * 	no textdomain was specified in the file headers, or if the domain could not be loaded.
+ 	 */
+ 	public function load_textdomain() {
+ 		if ( isset( $this->textdomain_loaded ) )
+ 			return $this->textdomain_loaded;
+ 
+ 		$textdomain = $this->get('TextDomain');
+ 		if ( ! $textdomain ) {
+ 			$this->textdomain_loaded = false;
+ 			return false;
+ 		}
+ 
+ 		if ( is_textdomain_loaded( $textdomain ) ) {
+ 			$this->textdomain_loaded = true;
+ 			return true;
+ 		}
+ 
+ 		$path = $this->get_stylesheet_directory();
+ 		if ( $domainpath = $this->get('DomainPath') )
+ 			$path .= $domainpath;
+ 		else
+ 			$path .= '/languages';
+ 
+ 		$this->textdomain_loaded = load_theme_textdomain( $textdomain, $path );
+ 		return $this->textdomain_loaded;
+ 	}
+ 
+ 	/**
+ 	 * Whether the theme is allowed (multisite only).
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @param string $check Optional. Whether to check only the 'network'-wide settings, the 'site'
+ 	 * 	settings, or 'both'. Defaults to 'both'.
+ 	 * @param int $blog_id Optional. Ignored if only network-wide settings are checked. Defaults to current blog.
+ 	 * @return bool Whether the theme is allowed for the network. Returns true in single-site.
+ 	 */
+ 	public function is_allowed( $check = 'both', $blog_id = null ) {
+ 		if ( ! is_multisite() )
+ 			return true;
+ 
+ 		if ( 'both' == $check || 'network' == $check ) {
+ 			$allowed = self::get_allowed_on_network();
+ 			if ( ! empty( $allowed[ $this->get_stylesheet() ] ) )
+ 				return true;
+ 		}
+ 
+ 		if ( 'both' == $check || 'site' == $check ) {
+ 			$allowed = self::get_allowed_on_site( $blog_id );
+ 			if ( ! empty( $allowed[ $this->get_stylesheet() ] ) )
+ 				return true;
+ 		}
+ 
+ 		return false;
+ 	}
+ 
+ 	/**
+ 	 * Returns array of stylesheet names of themes allowed on the site or network.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @param int $blog_id Optional. Defaults to current blog.
+ 	 * @return array Array of stylesheet names.
+ 	 */
+ 	public static function get_allowed( $blog_id = null ) {
+ 		return self::get_allowed_on_network() + self::get_allowed_on_site( $blog_id );
+ 	}
+ 
+ 	/**
+ 	 * Returns array of stylesheet names of themes allowed on the network.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @return array Array of stylesheet names.
+ 	 */
+ 	public static function get_allowed_on_network() {
+ 		static $allowed_themes;
+ 		if ( ! isset( $allowed_themes ) )
+ 			$allowed_themes = (array) get_site_option( 'allowedthemes' );
+ 		return $allowed_themes;
+ 	}
+ 
+ 	/**
+ 	 * Returns array of stylesheet names of themes allowed on the site.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 *
+ 	 * @param int $blog_id Optional. Defaults to current blog.
+ 	 * @return array Array of stylesheet names.
+ 	 */
+ 	public static function get_allowed_on_site( $blog_id = null ) {
+ 		static $allowed_themes = array();
+ 
+ 		if ( ! $blog_id )
+ 			$blog_id = get_current_blog_id();
+ 
+ 		if ( isset( $allowed_themes[ $blog_id ] ) )
+ 			return $allowed_themes[ $blog_id ];
+ 
+ 		$current = $blog_id == get_current_blog_id();
+ 
+ 		if ( $current )
+ 			$allowed_themes[ $blog_id ] = get_option( 'allowedthemes' );
+ 		else
+ 			$allowed_themes[ $blog_id ] = get_blog_option( $blog_id, 'allowedthemes' );
+ 
+ 		// This is all super old MU back compat joy.
+ 		// 'allowedthemes' keys things by stylesheet. 'allowed_themes' keyed things by name.
+ 		if ( false === $allowed_themes[ $blog_id ] ) {
+ 			if ( $current )
+ 				$allowed_themes[ $blog_id ] = get_option( 'allowed_themes' );
+ 			else
+ 				$allowed_themes[ $blog_id ] = get_blog_option( $blog_id, 'allowed_themes' );
+ 
+ 			if ( ! is_array( $allowed_themes[ $blog_id ] ) || empty( $allowed_themes[ $blog_id ] ) ) {
+ 				$allowed_themes[ $blog_id ] = array();
+ 			} else {
+ 				$converted = array();
+ 				$themes = wp_get_themes();
+ 				foreach ( $themes as $stylesheet => $theme_data ) {
+ 					if ( isset( $allowed_themes[ $blog_id ][ $theme_data->get('Name') ] ) )
+ 						$converted[ $stylesheet ] = true;
+ 				}
+ 				$allowed_themes[ $blog_id ] = $converted;
+ 			}
+ 			// Set the option so we never have to go through this pain again.
+ 			if ( is_admin() && $allowed_themes[ $blog_id ] ) {
+ 				if ( $current ) {
+ 					update_option( 'allowedthemes', $allowed_themes[ $blog_id ] );
+ 					delete_option( 'allowed_themes' );
+ 				} else {
+ 					update_blog_option( $blog_id, 'allowedthemes', $allowed_themes[ $blog_id ] );
+ 					delete_blog_option( $blog_id, 'allowed_themes' );
+ 				}
+ 			}
+ 		}
+ 
+ 		return (array) $allowed_themes[ $blog_id ];
+ 	}
+ 
+ 	/**
+ 	 * Sort themes by name.
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access public
+ 	 */
+ 	public static function sort_by_name( &$themes ) {
+ 		if ( 0 === strpos( get_locale(), 'en_' ) ) {
+ 			uasort( $themes, array( 'WP_Theme', '_name_sort' ) );
+ 		} else {
+ 			uasort( $themes, array( 'WP_Theme', '_name_sort_i18n' ) );
+ 		}
+ 	}
+ 
+ 	/**
+ 	 * Callback function for usort() to naturally sort themes by name.
+ 	 *
+ 	 * Accesses the Name header directly from the class for maximum speed.
+ 	 * Would choke on HTML but we don't care enough to slow it down with strip_tags().
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access private
+ 	 */
+ 	private static function _name_sort( $a, $b ) {
+ 		return strnatcasecmp( $a->headers['Name'], $b->headers['Name'] );
+ 	}
+ 
+ 	/**
+ 	 * Name sort (with translation).
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @access private
+ 	 */
+ 	private static function _name_sort_i18n( $a, $b ) {
+ 		// Don't mark up; Do translate.
+ 		return strnatcasecmp( $a->display( 'Name', false, true ), $b->display( 'Name', false, true ) );
+ 	}
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-walker.php ./wordpress-3.4/wp-includes/class-wp-walker.php
*** ./wordpress-3.3.2/wp-includes/class-wp-walker.php	2010-10-30 09:09:05.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-wp-walker.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 52,58 ****
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function start_lvl(&$output) {}
  
  	/**
  	 * Ends the list of after the elements are added.
--- 52,58 ----
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function start_lvl( &$output, $depth = 0, $args = array() ) {}
  
  	/**
  	 * Ends the list of after the elements are added.
***************
*** 66,72 ****
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function end_lvl(&$output)   {}
  
  	/**
  	 * Start the element output.
--- 66,72 ----
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function end_lvl( &$output, $depth = 0, $args = array() )   {}
  
  	/**
  	 * Start the element output.
***************
*** 80,86 ****
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function start_el(&$output)  {}
  
  	/**
  	 * Ends the element output, if needed.
--- 80,86 ----
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function start_el( &$output, $object, $depth, $args, $current_object_id = 0 )  {}
  
  	/**
  	 * Ends the element output, if needed.
***************
*** 93,99 ****
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function end_el(&$output)    {}
  
  	/**
  	 * Traverse elements to create list from elements.
--- 93,99 ----
  	 *
  	 * @param string $output Passed by reference. Used to append additional content.
  	 */
! 	function end_el( &$output, $object, $depth = 0, $args = array() )    {}
  
  	/**
  	 * Traverse elements to create list from elements.
***************
*** 395,399 ****
  
  	}
  }
- 
- ?>
\ No newline at end of file
--- 395,397 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/class-wp-xmlrpc-server.php ./wordpress-3.4/wp-includes/class-wp-xmlrpc-server.php
*** ./wordpress-3.3.2/wp-includes/class-wp-xmlrpc-server.php	2011-10-27 13:36:49.000000000 -0500
--- ./wordpress-3.4/wp-includes/class-wp-xmlrpc-server.php	2012-06-05 11:25:05.000000000 -0500
***************
*** 36,41 ****
--- 36,53 ----
  		$this->methods = array(
  			// WordPress API
  			'wp.getUsersBlogs'		=> 'this:wp_getUsersBlogs',
+ 			'wp.newPost'			=> 'this:wp_newPost',
+ 			'wp.editPost'			=> 'this:wp_editPost',
+ 			'wp.deletePost'			=> 'this:wp_deletePost',
+ 			'wp.getPost'			=> 'this:wp_getPost',
+ 			'wp.getPosts'			=> 'this:wp_getPosts',
+ 			'wp.newTerm'			=> 'this:wp_newTerm',
+ 			'wp.editTerm'			=> 'this:wp_editTerm',
+ 			'wp.deleteTerm'			=> 'this:wp_deleteTerm',
+ 			'wp.getTerm'			=> 'this:wp_getTerm',
+ 			'wp.getTerms'			=> 'this:wp_getTerms',
+ 			'wp.getTaxonomy'		=> 'this:wp_getTaxonomy',
+ 			'wp.getTaxonomies'		=> 'this:wp_getTaxonomies',
  			'wp.getPage'			=> 'this:wp_getPage',
  			'wp.getPages'			=> 'this:wp_getPages',
  			'wp.newPage'			=> 'this:wp_newPage',
***************
*** 64,69 ****
--- 76,83 ----
  			'wp.getMediaItem'		=> 'this:wp_getMediaItem',
  			'wp.getMediaLibrary'	=> 'this:wp_getMediaLibrary',
  			'wp.getPostFormats'     => 'this:wp_getPostFormats',
+ 			'wp.getPostType'		=> 'this:wp_getPostType',
+ 			'wp.getPostTypes'		=> 'this:wp_getPostTypes',
  
  			// Blogger API
  			'blogger.getUsersBlogs' => 'this:blogger_getUsersBlogs',
***************
*** 109,115 ****
  			'demo.addTwoNumbers' => 'this:addTwoNumbers'
  		);
  
! 		$this->initialise_blog_option_info( );
  		$this->methods = apply_filters('xmlrpc_methods', $this->methods);
  	}
  
--- 123,129 ----
  			'demo.addTwoNumbers' => 'this:addTwoNumbers'
  		);
  
! 		$this->initialise_blog_option_info();
  		$this->methods = apply_filters('xmlrpc_methods', $this->methods);
  	}
  
***************
*** 156,162 ****
  	 */
  	function login_pass_ok($user_login, $user_pass) {
  		if ( !get_option( 'enable_xmlrpc' ) ) {
! 			$this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site.  An admin user can enable them at %s'),  admin_url('options-writing.php') ) );
  			return false;
  		}
  
--- 170,176 ----
  	 */
  	function login_pass_ok($user_login, $user_pass) {
  		if ( !get_option( 'enable_xmlrpc' ) ) {
! 			$this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site. An admin user can enable them at %s'),  admin_url('options-writing.php') ) );
  			return false;
  		}
  
***************
*** 178,184 ****
  	 */
  	function login($username, $password) {
  		if ( !get_option( 'enable_xmlrpc' ) ) {
! 			$this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site.  An admin user can enable them at %s'),  admin_url('options-writing.php') ) );
  			return false;
  		}
  
--- 192,198 ----
  	 */
  	function login($username, $password) {
  		if ( !get_option( 'enable_xmlrpc' ) ) {
! 			$this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site. An admin user can enable them at %s'),  admin_url('options-writing.php') ) );
  			return false;
  		}
  
***************
*** 262,272 ****
  			if ( isset($meta['id']) ) {
  				$meta['id'] = (int) $meta['id'];
  				$pmeta = get_metadata_by_mid( 'post', $meta['id'] );
- 				$meta['value'] = stripslashes_deep( $meta['value'] );
  				if ( isset($meta['key']) ) {
  					$meta['key'] = stripslashes( $meta['key'] );
  					if ( $meta['key'] != $pmeta->meta_key )
  						continue;
  					if ( current_user_can( 'edit_post_meta', $post_id, $meta['key'] ) )
  						update_metadata_by_mid( 'post', $meta['id'], $meta['value'] );
  				} elseif ( current_user_can( 'delete_post_meta', $post_id, $pmeta->meta_key ) ) {
--- 276,286 ----
  			if ( isset($meta['id']) ) {
  				$meta['id'] = (int) $meta['id'];
  				$pmeta = get_metadata_by_mid( 'post', $meta['id'] );
  				if ( isset($meta['key']) ) {
  					$meta['key'] = stripslashes( $meta['key'] );
  					if ( $meta['key'] != $pmeta->meta_key )
  						continue;
+ 					$meta['value'] = stripslashes_deep( $meta['value'] );
  					if ( current_user_can( 'edit_post_meta', $post_id, $meta['key'] ) )
  						update_metadata_by_mid( 'post', $meta['id'], $meta['value'] );
  				} elseif ( current_user_can( 'delete_post_meta', $post_id, $pmeta->meta_key ) ) {
***************
*** 285,437 ****
  	 *
  	 * @since 2.6.0
  	 */
! 	function initialise_blog_option_info( ) {
  		global $wp_version;
  
  		$this->blog_options = array(
  			// Read only options
! 			'software_name'		=> array(
! 				'desc'			=> __( 'Software Name' ),
! 				'readonly'		=> true,
! 				'value'			=> 'WordPress'
! 			),
! 			'software_version'	=> array(
! 				'desc'			=> __( 'Software Version' ),
! 				'readonly'		=> true,
! 				'value'			=> $wp_version
! 			),
! 			'blog_url'			=> array(
! 				'desc'			=> __( 'Site URL' ),
! 				'readonly'		=> true,
! 				'option'		=> 'siteurl'
  			),
  
  			// Updatable options
! 			'time_zone'			=> array(
! 				'desc'			=> __( 'Time Zone' ),
! 				'readonly'		=> false,
! 				'option'		=> 'gmt_offset'
! 			),
! 			'blog_title'		=> array(
! 				'desc'			=> __( 'Site Title' ),
! 				'readonly'		=> false,
! 				'option'			=> 'blogname'
! 			),
! 			'blog_tagline'		=> array(
! 				'desc'			=> __( 'Site Tagline' ),
! 				'readonly'		=> false,
! 				'option'		=> 'blogdescription'
! 			),
! 			'date_format'		=> array(
! 				'desc'			=> __( 'Date Format' ),
! 				'readonly'		=> false,
! 				'option'		=> 'date_format'
! 			),
! 			'time_format'		=> array(
! 				'desc'			=> __( 'Time Format' ),
! 				'readonly'		=> false,
! 				'option'		=> 'time_format'
! 			),
! 			'users_can_register'	=> array(
! 				'desc'			=> __( 'Allow new users to sign up' ),
! 				'readonly'		=> false,
! 				'option'		=> 'users_can_register'
! 			),
! 			'thumbnail_size_w'	=> array(
! 				'desc'			=> __( 'Thumbnail Width' ),
! 				'readonly'		=> false,
! 				'option'		=> 'thumbnail_size_w'
! 			),
! 			'thumbnail_size_h'	=> array(
! 				'desc'			=> __( 'Thumbnail Height' ),
! 				'readonly'		=> false,
! 				'option'		=> 'thumbnail_size_h'
! 			),
! 			'thumbnail_crop'	=> array(
! 				'desc'			=> __( 'Crop thumbnail to exact dimensions' ),
! 				'readonly'		=> false,
! 				'option'		=> 'thumbnail_crop'
! 			),
! 			'medium_size_w'	=> array(
! 				'desc'			=> __( 'Medium size image width' ),
! 				'readonly'		=> false,
! 				'option'		=> 'medium_size_w'
! 			),
! 			'medium_size_h'	=> array(
! 				'desc'			=> __( 'Medium size image height' ),
! 				'readonly'		=> false,
! 				'option'		=> 'medium_size_h'
! 			),
! 			'large_size_w'	=> array(
! 				'desc'			=> __( 'Large size image width' ),
! 				'readonly'		=> false,
! 				'option'		=> 'large_size_w'
! 			),
! 			'large_size_h'	=> array(
! 				'desc'			=> __( 'Large size image height' ),
! 				'readonly'		=> false,
! 				'option'		=> 'large_size_h'
  			)
  		);
  
! 		$this->blog_options = apply_filters( 'xmlrpc_blog_options', $this->blog_options );
  	}
  
  	/**
! 	 * Retrieve the blogs of the user.
  	 *
! 	 * @since 2.6.0
  	 *
  	 * @param array $args Method parameters. Contains:
! 	 *  - username
! 	 *  - password
! 	 * @return array. Contains:
! 	 *  - 'isAdmin'
! 	 *  - 'url'
! 	 *  - 'blogid'
! 	 *  - 'blogName'
! 	 *  - 'xmlrpc' - url of xmlrpc endpoint
  	 */
! 	function wp_getUsersBlogs( $args ) {
! 		global $current_site;
! 		// If this isn't on WPMU then just use blogger_getUsersBlogs
! 		if ( !is_multisite() ) {
! 			array_unshift( $args, 1 );
! 			return $this->blogger_getUsersBlogs( $args );
! 		}
  
  		$this->escape( $args );
  
! 		$username = $args[0];
! 		$password = $args[1];
  
! 		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
  
! 		do_action( 'xmlrpc_call', 'wp.getUsersBlogs' );
  
! 		$blogs = (array) get_blogs_of_user( $user->ID );
! 		$struct = array( );
  
! 		foreach ( $blogs as $blog ) {
! 			// Don't include blogs that aren't hosted at this site
! 			if ( $blog->site_id != $current_site->id )
! 				continue;
  
! 			$blog_id = $blog->userblog_id;
! 			switch_to_blog($blog_id);
! 			$is_admin = current_user_can('manage_options');
  
! 			$struct[] = array(
! 				'isAdmin'		=> $is_admin,
! 				'url'			=> get_option( 'home' ) . '/',
! 				'blogid'		=> (string) $blog_id,
! 				'blogName'		=> get_option( 'blogname' ),
! 				'xmlrpc'		=> site_url( 'xmlrpc.php' )
! 			);
  
! 			restore_current_blog( );
  		}
  
  		return $struct;
--- 299,1911 ----
  	 *
  	 * @since 2.6.0
  	 */
! 	function initialise_blog_option_info() {
  		global $wp_version;
  
  		$this->blog_options = array(
  			// Read only options
! 			'software_name'     => array(
! 				'desc'          => __( 'Software Name' ),
! 				'readonly'      => true,
! 				'value'         => 'WordPress'
! 			),
! 			'software_version'  => array(
! 				'desc'          => __( 'Software Version' ),
! 				'readonly'      => true,
! 				'value'         => $wp_version
! 			),
! 			'blog_url'          => array(
! 				'desc'          => __( 'Site URL' ),
! 				'readonly'      => true,
! 				'option'        => 'siteurl'
! 			),
! 			'image_default_link_type' => array(
! 				'desc'          => __( 'Image default link type' ),
! 				'readonly'      => true,
! 				'option'        => 'image_default_link_type'
! 			),
! 			'image_default_size' => array(
! 				'desc'          => __( 'Image default size' ),
! 				'readonly'      => true,
! 				'option'        => 'image_default_size'
! 			),
! 			'image_default_align' => array(
! 				'desc'          => __( 'Image default align' ),
! 				'readonly'      => true,
! 				'option'        => 'image_default_align'
! 			),
! 			'template'          => array(
! 				'desc'          => __( 'Template' ),
! 				'readonly'      => true,
! 				'option'        => 'template'
! 			),
! 			'stylesheet'        => array(
! 				'desc'          => __( 'Stylesheet' ),
! 				'readonly'      => true,
! 				'option'        => 'stylesheet'
! 			),
! 			'post_thumbnail'    => array(
! 				'desc'          => __('Post Thumbnail'),
! 				'readonly'      => true,
! 				'value'         => current_theme_supports( 'post-thumbnails' )
  			),
  
  			// Updatable options
! 			'time_zone'         => array(
! 				'desc'          => __( 'Time Zone' ),
! 				'readonly'      => false,
! 				'option'        => 'gmt_offset'
! 			),
! 			'blog_title'        => array(
! 				'desc'          => __( 'Site Title' ),
! 				'readonly'      => false,
! 				'option'        => 'blogname'
! 			),
! 			'blog_tagline'      => array(
! 				'desc'          => __( 'Site Tagline' ),
! 				'readonly'      => false,
! 				'option'        => 'blogdescription'
! 			),
! 			'date_format'       => array(
! 				'desc'          => __( 'Date Format' ),
! 				'readonly'      => false,
! 				'option'        => 'date_format'
! 			),
! 			'time_format'       => array(
! 				'desc'          => __( 'Time Format' ),
! 				'readonly'      => false,
! 				'option'        => 'time_format'
! 			),
! 			'users_can_register' => array(
! 				'desc'          => __( 'Allow new users to sign up' ),
! 				'readonly'      => false,
! 				'option'        => 'users_can_register'
! 			),
! 			'thumbnail_size_w'  => array(
! 				'desc'          => __( 'Thumbnail Width' ),
! 				'readonly'      => false,
! 				'option'        => 'thumbnail_size_w'
! 			),
! 			'thumbnail_size_h'  => array(
! 				'desc'          => __( 'Thumbnail Height' ),
! 				'readonly'      => false,
! 				'option'        => 'thumbnail_size_h'
! 			),
! 			'thumbnail_crop'    => array(
! 				'desc'          => __( 'Crop thumbnail to exact dimensions' ),
! 				'readonly'      => false,
! 				'option'        => 'thumbnail_crop'
! 			),
! 			'medium_size_w'     => array(
! 				'desc'          => __( 'Medium size image width' ),
! 				'readonly'      => false,
! 				'option'        => 'medium_size_w'
! 			),
! 			'medium_size_h'     => array(
! 				'desc'          => __( 'Medium size image height' ),
! 				'readonly'      => false,
! 				'option'        => 'medium_size_h'
! 			),
! 			'large_size_w'      => array(
! 				'desc'          => __( 'Large size image width' ),
! 				'readonly'      => false,
! 				'option'        => 'large_size_w'
! 			),
! 			'large_size_h'      => array(
! 				'desc'          => __( 'Large size image height' ),
! 				'readonly'      => false,
! 				'option'        => 'large_size_h'
! 			),
! 			'default_comment_status' => array(
! 				'desc'          => __( 'Allow people to post comments on new articles' ),
! 				'readonly'      => false,
! 				'option'        => 'default_comment_status'
! 			),
! 			'default_ping_status' => array(
! 				'desc'          => __( 'Allow link notifications from other blogs (pingbacks and trackbacks)' ),
! 				'readonly'      => false,
! 				'option'        => 'default_ping_status'
  			)
  		);
  
! 		$this->blog_options = apply_filters( 'xmlrpc_blog_options', $this->blog_options );
! 	}
! 
! 	/**
! 	 * Retrieve the blogs of the user.
! 	 *
! 	 * @since 2.6.0
! 	 *
! 	 * @param array $args Method parameters. Contains:
! 	 *  - username
! 	 *  - password
! 	 * @return array. Contains:
! 	 *  - 'isAdmin'
! 	 *  - 'url'
! 	 *  - 'blogid'
! 	 *  - 'blogName'
! 	 *  - 'xmlrpc' - url of xmlrpc endpoint
! 	 */
! 	function wp_getUsersBlogs( $args ) {
! 		global $current_site;
! 		// If this isn't on WPMU then just use blogger_getUsersBlogs
! 		if ( !is_multisite() ) {
! 			array_unshift( $args, 1 );
! 			return $this->blogger_getUsersBlogs( $args );
! 		}
! 
! 		$this->escape( $args );
! 
! 		$username = $args[0];
! 		$password = $args[1];
! 
! 		if ( !$user = $this->login($username, $password) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.getUsersBlogs' );
! 
! 		$blogs = (array) get_blogs_of_user( $user->ID );
! 		$struct = array();
! 
! 		foreach ( $blogs as $blog ) {
! 			// Don't include blogs that aren't hosted at this site
! 			if ( $blog->site_id != $current_site->id )
! 				continue;
! 
! 			$blog_id = $blog->userblog_id;
! 			switch_to_blog($blog_id);
! 			$is_admin = current_user_can('manage_options');
! 
! 			$struct[] = array(
! 				'isAdmin'		=> $is_admin,
! 				'url'			=> get_option( 'home' ) . '/',
! 				'blogid'		=> (string) $blog_id,
! 				'blogName'		=> get_option( 'blogname' ),
! 				'xmlrpc'		=> site_url( 'xmlrpc.php' )
! 			);
! 
! 			restore_current_blog();
! 		}
! 
! 		return $struct;
! 	}
! 
! 	/**
! 	 * Checks if the method received at least the minimum number of arguments.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @param string|array $args Sanitize single string or array of strings.
! 	 * @param int $count Minimum number of arguments.
! 	 * @return boolean if $args contains at least $count arguments.
! 	 */
! 	protected function minimum_args( $args, $count ) {
! 		if ( count( $args ) < $count ) {
! 			$this->error = new IXR_Error( 400, __( 'Insufficient arguments passed to this XML-RPC method.' ) );
! 			return false;
! 		}
! 
! 		return true;
! 	}
! 
! 	/**
! 	 * Prepares taxonomy data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param object $taxonomy The unprepared taxonomy data
! 	 * @param array $fields The subset of taxonomy fields to return
! 	 * @return array The prepared taxonomy data
! 	 */
! 	protected function _prepare_taxonomy( $taxonomy, $fields ) {
! 		$_taxonomy = array(
! 			'name' => $taxonomy->name,
! 			'label' => $taxonomy->label,
! 			'hierarchical' => (bool) $taxonomy->hierarchical,
! 			'public' => (bool) $taxonomy->public,
! 			'show_ui' => (bool) $taxonomy->show_ui,
! 			'_builtin' => (bool) $taxonomy->_builtin,
! 		);
! 
! 		if ( in_array( 'labels', $fields ) )
! 			$_taxonomy['labels'] = (array) $taxonomy->labels;
! 
! 		if ( in_array( 'cap', $fields ) )
! 			$_taxonomy['cap'] = (array) $taxonomy->cap;
! 
! 		if ( in_array( 'object_type', $fields ) )
! 			$_taxonomy['object_type'] = array_unique( (array) $taxonomy->object_type );
! 
! 		return apply_filters( 'xmlrpc_prepare_taxonomy', $_taxonomy, $taxonomy, $fields );
! 	}
! 
! 	/**
! 	 * Prepares term data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param array|object $term The unprepared term data
! 	 * @return array The prepared term data
! 	 */
! 	protected function _prepare_term( $term ) {
! 		$_term = $term;
! 		if ( ! is_array( $_term) )
! 			$_term = get_object_vars( $_term );
! 
! 		// For Intergers which may be largeer than XMLRPC supports ensure we return strings.
! 		$_term['term_id'] = strval( $_term['term_id'] );
! 		$_term['term_group'] = strval( $_term['term_group'] );
! 		$_term['term_taxonomy_id'] = strval( $_term['term_taxonomy_id'] );
! 		$_term['parent'] = strval( $_term['parent'] );
! 
! 		// Count we are happy to return as an Integer because people really shouldn't use Terms that much.
! 		$_term['count'] = intval( $_term['count'] );
! 
! 		return apply_filters( 'xmlrpc_prepare_term', $_term, $term );
! 	}
! 
! 	/**
! 	 * Convert a WordPress date string to an IXR_Date object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param string $date
! 	 * @return IXR_Date
! 	 */
! 	protected function _convert_date( $date ) {
! 		if ( $date === '0000-00-00 00:00:00' ) {
! 			return new IXR_Date( '00000000T00:00:00Z' );
! 		}
! 		return new IXR_Date( mysql2date( 'Ymd\TH:i:s', $date, false ) );
! 	}
! 
! 	/**
! 	 * Convert a WordPress GMT date string to an IXR_Date object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param string $date_gmt
! 	 * @param string $date
! 	 * @return IXR_Date
! 	 */
! 	protected function _convert_date_gmt( $date_gmt, $date ) {
! 		if ( $date !== '0000-00-00 00:00:00' && $date_gmt === '0000-00-00 00:00:00' ) {
! 			return new IXR_Date( get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $date, false ), 'Ymd\TH:i:s' ) );
! 		}
! 		return $this->_convert_date( $date_gmt );
! 	}
! 
! 	/**
! 	 * Prepares post data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param array $post The unprepared post data
! 	 * @param array $fields The subset of post type fields to return
! 	 * @return array The prepared post data
! 	 */
! 	protected function _prepare_post( $post, $fields ) {
! 		// holds the data for this post. built up based on $fields
! 		$_post = array( 'post_id' => strval( $post['ID'] ) );
! 
! 		// prepare common post fields
! 		$post_fields = array(
! 			'post_title'        => $post['post_title'],
! 			'post_date'         => $this->_convert_date( $post['post_date'] ),
! 			'post_date_gmt'     => $this->_convert_date_gmt( $post['post_date_gmt'], $post['post_date'] ),
! 			'post_modified'     => $this->_convert_date( $post['post_modified'] ),
! 			'post_modified_gmt' => $this->_convert_date_gmt( $post['post_modified_gmt'], $post['post_modified'] ),
! 			'post_status'       => $post['post_status'],
! 			'post_type'         => $post['post_type'],
! 			'post_name'         => $post['post_name'],
! 			'post_author'       => $post['post_author'],
! 			'post_password'     => $post['post_password'],
! 			'post_excerpt'      => $post['post_excerpt'],
! 			'post_content'      => $post['post_content'],
! 			'link'              => post_permalink( $post['ID'] ),
! 			'comment_status'    => $post['comment_status'],
! 			'ping_status'       => $post['ping_status'],
! 			'sticky'            => ( $post['post_type'] === 'post' && is_sticky( $post['ID'] ) ),
! 		);
! 
! 		// Thumbnail
! 		$post_fields['post_thumbnail'] = array();
! 		$thumbnail_id = get_post_thumbnail_id( $post['ID'] );
! 		if ( $thumbnail_id ) {
! 			$thumbnail_size = current_theme_supports('post-thumbnail') ? 'post-thumbnail' : 'thumbnail';
! 			$post_fields['post_thumbnail'] = $this->_prepare_media_item( get_post( $thumbnail_id ), $thumbnail_size );
! 		}
! 
! 		// Consider future posts as published
! 		if ( $post_fields['post_status'] === 'future' )
! 			$post_fields['post_status'] = 'publish';
! 
! 		// Fill in blank post format
! 		$post_fields['post_format'] = get_post_format( $post['ID'] );
! 		if ( empty( $post_fields['post_format'] ) )
! 			$post_fields['post_format'] = 'standard';
! 
! 		// Merge requested $post_fields fields into $_post
! 		if ( in_array( 'post', $fields ) ) {
! 			$_post = array_merge( $_post, $post_fields );
! 		} else {
! 			$requested_fields = array_intersect_key( $post_fields, array_flip( $fields ) );
! 			$_post = array_merge( $_post, $requested_fields );
! 		}
! 
! 		$all_taxonomy_fields = in_array( 'taxonomies', $fields );
! 
! 		if ( $all_taxonomy_fields || in_array( 'terms', $fields ) ) {
! 			$post_type_taxonomies = get_object_taxonomies( $post['post_type'], 'names' );
! 			$terms = wp_get_object_terms( $post['ID'], $post_type_taxonomies );
! 			$_post['terms'] = array();
! 			foreach ( $terms as $term ) {
! 				$_post['terms'][] = $this->_prepare_term( $term );
! 			}
! 		}
! 
! 		if ( in_array( 'custom_fields', $fields ) )
! 			$_post['custom_fields'] = $this->get_custom_fields( $post['ID'] );
! 
! 		if ( in_array( 'enclosure', $fields ) ) {
! 			$_post['enclosure'] = array();
! 			$enclosures = (array) get_post_meta( $post['ID'], 'enclosure' );
! 			if ( ! empty( $enclosures ) ) {
! 				$encdata = explode( "\n", $enclosures[0] );
! 				$_post['enclosure']['url'] = trim( htmlspecialchars( $encdata[0] ) );
! 				$_post['enclosure']['length'] = (int) trim( $encdata[1] );
! 				$_post['enclosure']['type'] = trim( $encdata[2] );
! 			}
! 		}
! 
! 		return apply_filters( 'xmlrpc_prepare_post', $_post, $post, $fields );
! 	}
! 
! 	/**
! 	 * Prepares post data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param object $post_type Post type object
! 	 * @param array $fields The subset of post fields to return
! 	 * @return array The prepared post type data
! 	 */
! 	protected function _prepare_post_type( $post_type, $fields ) {
! 		$_post_type = array(
! 			'name' => $post_type->name,
! 			'label' => $post_type->label,
! 			'hierarchical' => (bool) $post_type->hierarchical,
! 			'public' => (bool) $post_type->public,
! 			'show_ui' => (bool) $post_type->show_ui,
! 			'_builtin' => (bool) $post_type->_builtin,
! 			'has_archive' => (bool) $post_type->has_archive,
! 			'supports' => get_all_post_type_supports( $post_type->name ),
! 		);
! 
! 		if ( in_array( 'labels', $fields ) ) {
! 			$_post_type['labels'] = (array) $post_type->labels;
! 		}
! 
! 		if ( in_array( 'cap', $fields ) ) {
! 			$_post_type['cap'] = (array) $post_type->cap;
! 			$_post_type['map_meta_cap'] = (bool) $post_type->map_meta_cap;
! 		}
! 
! 		if ( in_array( 'menu', $fields ) ) {
! 			$_post_type['menu_position'] = (int) $post_type->menu_position;
! 			$_post_type['menu_icon'] = $post_type->menu_icon;
! 			$_post_type['show_in_menu'] = (bool) $post_type->show_in_menu;
! 		}
! 
! 		if ( in_array( 'taxonomies', $fields ) )
! 			$_post_type['taxonomies'] = get_object_taxonomies( $post_type->name, 'names' );
! 
! 		return apply_filters( 'xmlrpc_prepare_post_type', $_post_type, $post_type );
! 	}
! 
! 	/**
! 	 * Prepares media item data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param object $media_item The unprepared media item data
! 	 * @param string $thumbnail_size The image size to use for the thumbnail URL
! 	 * @return array The prepared media item data
! 	 */
! 	protected function _prepare_media_item( $media_item, $thumbnail_size = 'thumbnail' ) {
! 		$_media_item = array(
! 			'attachment_id'    => strval( $media_item->ID ),
! 			'date_created_gmt' => $this->_convert_date_gmt( $media_item->post_date_gmt, $media_item->post_date ),
! 			'parent'           => $media_item->post_parent,
! 			'link'             => wp_get_attachment_url( $media_item->ID ),
! 			'title'            => $media_item->post_title,
! 			'caption'          => $media_item->post_excerpt,
! 			'description'      => $media_item->post_content,
! 			'metadata'         => wp_get_attachment_metadata( $media_item->ID ),
! 		);
! 
! 		$thumbnail_src = image_downsize( $media_item->ID, $thumbnail_size );
! 		if ( $thumbnail_src )
! 			$_media_item['thumbnail'] = $thumbnail_src[0];
! 		else
! 			$_media_item['thumbnail'] = $_media_item['link'];
! 
! 		return apply_filters( 'xmlrpc_prepare_media_item', $_media_item, $media_item, $thumbnail_size );
! 	}
! 
! 	/**
! 	 * Prepares page data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param object $page The unprepared page data
! 	 * @return array The prepared page data
! 	 */
! 	protected function _prepare_page( $page ) {
! 		// Get all of the page content and link.
! 		$full_page = get_extended( $page->post_content );
! 		$link = post_permalink( $page->ID );
! 
! 		// Get info the page parent if there is one.
! 		$parent_title = "";
! 		if ( ! empty( $page->post_parent ) ) {
! 			$parent = get_page( $page->post_parent );
! 			$parent_title = $parent->post_title;
! 		}
! 
! 		// Determine comment and ping settings.
! 		$allow_comments = comments_open( $page->ID ) ? 1 : 0;
! 		$allow_pings = pings_open( $page->ID ) ? 1 : 0;
! 
! 		// Format page date.
! 		$page_date = $this->_convert_date( $page->post_date );
! 		$page_date_gmt = $this->_convert_date_gmt( $page->post_date_gmt, $page->post_date );
! 
! 		// Pull the categories info together.
! 		$categories = array();
! 		foreach ( wp_get_post_categories( $page->ID ) as $cat_id ) {
! 			$categories[] = get_cat_name( $cat_id );
! 		}
! 
! 		// Get the author info.
! 		$author = get_userdata( $page->post_author );
! 
! 		$page_template = get_page_template_slug( $page->ID );
! 		if ( empty( $page_template ) )
! 			$page_template = 'default';
! 
! 		$_page = array(
! 			'dateCreated'            => $page_date,
! 			'userid'                 => $page->post_author,
! 			'page_id'                => $page->ID,
! 			'page_status'            => $page->post_status,
! 			'description'            => $full_page['main'],
! 			'title'                  => $page->post_title,
! 			'link'                   => $link,
! 			'permaLink'              => $link,
! 			'categories'             => $categories,
! 			'excerpt'                => $page->post_excerpt,
! 			'text_more'              => $full_page['extended'],
! 			'mt_allow_comments'      => $allow_comments,
! 			'mt_allow_pings'         => $allow_pings,
! 			'wp_slug'                => $page->post_name,
! 			'wp_password'            => $page->post_password,
! 			'wp_author'              => $author->display_name,
! 			'wp_page_parent_id'      => $page->post_parent,
! 			'wp_page_parent_title'   => $parent_title,
! 			'wp_page_order'          => $page->menu_order,
! 			'wp_author_id'           => (string) $author->ID,
! 			'wp_author_display_name' => $author->display_name,
! 			'date_created_gmt'       => $page_date_gmt,
! 			'custom_fields'          => $this->get_custom_fields( $page->ID ),
! 			'wp_page_template'       => $page_template
! 		);
! 
! 		return apply_filters( 'xmlrpc_prepare_page', $_page, $page );
! 	}
! 
! 	/**
! 	 * Prepares comment data for return in an XML-RPC object.
! 	 *
! 	 * @access protected
! 	 *
! 	 * @param object $comment The unprepared comment data
! 	 * @return array The prepared comment data
! 	 */
! 	protected function _prepare_comment( $comment ) {
! 		// Format page date.
! 		$comment_date = $this->_convert_date( $comment->comment_date );
! 		$comment_date_gmt = $this->_convert_date_gmt( $comment->comment_date_gmt, $comment->comment_date );
! 
! 		if ( '0' == $comment->comment_approved )
! 			$comment_status = 'hold';
! 		else if ( 'spam' == $comment->comment_approved )
! 			$comment_status = 'spam';
! 		else if ( '1' == $comment->comment_approved )
! 			$comment_status = 'approve';
! 		else
! 			$comment_status = $comment->comment_approved;
! 
! 		$_comment = array(
! 			'date_created_gmt' => $comment_date_gmt,
! 			'user_id'          => $comment->user_id,
! 			'comment_id'       => $comment->comment_ID,
! 			'parent'           => $comment->comment_parent,
! 			'status'           => $comment_status,
! 			'content'          => $comment->comment_content,
! 			'link'             => get_comment_link($comment),
! 			'post_id'          => $comment->comment_post_ID,
! 			'post_title'       => get_the_title($comment->comment_post_ID),
! 			'author'           => $comment->comment_author,
! 			'author_url'       => $comment->comment_author_url,
! 			'author_email'     => $comment->comment_author_email,
! 			'author_ip'        => $comment->comment_author_IP,
! 			'type'             => $comment->comment_type,
! 		);
! 
! 		return apply_filters( 'xmlrpc_prepare_comment', $_comment, $comment );
! 	}
! 
! 	/**
! 	 * Create a new post for any registered post type.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - array   $content_struct
! 	 *      $content_struct can contain:
! 	 *      - post_type (default: 'post')
! 	 *      - post_status (default: 'draft')
! 	 *      - post_title
! 	 *      - post_author
! 	 *      - post_exerpt
! 	 *      - post_content
! 	 *      - post_date_gmt | post_date
! 	 *      - post_format
! 	 *      - post_password
! 	 *      - comment_status - can be 'open' | 'closed'
! 	 *      - ping_status - can be 'open' | 'closed'
! 	 *      - sticky
! 	 *      - post_thumbnail - ID of a media item to use as the post thumbnail/featured image
! 	 *      - custom_fields - array, with each element containing 'key' and 'value'
! 	 *      - terms - array, with taxonomy names as keys and arrays of term IDs as values
! 	 *      - terms_names - array, with taxonomy names as keys and arrays of term names as values
! 	 *      - enclosure
! 	 *      - any other fields supported by wp_insert_post()
! 	 * @return string post_id
! 	 */
! 	function wp_newPost( $args ) {
! 		if ( ! $this->minimum_args( $args, 4 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id        = (int) $args[0];
! 		$username       = $args[1];
! 		$password       = $args[2];
! 		$content_struct = $args[3];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.newPost' );
! 
! 		unset( $content_struct['ID'] );
! 
! 		return $this->_insert_post( $user, $content_struct );
! 	}
! 
! 	/**
! 	 * Helper method for filtering out elements from an array.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @param int $count Number to compare to one.
! 	 */
! 	private function _is_greater_than_one( $count ) {
! 		return $count > 1;
! 	}
! 
! 	/**
! 	 * Helper method for wp_newPost and wp_editPost, containing shared logic.
! 	 *
! 	 * @since 3.4.0
! 	 * @uses wp_insert_post()
! 	 *
! 	 * @param WP_User $user The post author if post_author isn't set in $content_struct.
! 	 * @param array $content_struct Post data to insert.
! 	 */
! 	protected function _insert_post( $user, $content_struct ) {
! 		$defaults = array( 'post_status' => 'draft', 'post_type' => 'post', 'post_author' => 0,
! 			'post_password' => '', 'post_excerpt' => '', 'post_content' => '', 'post_title' => '' );
! 
! 		$post_data = wp_parse_args( $content_struct, $defaults );
! 
! 		$post_type = get_post_type_object( $post_data['post_type'] );
! 		if ( ! $post_type )
! 			return new IXR_Error( 403, __( 'Invalid post type' ) );
! 
! 		$update = ! empty( $post_data['ID'] );
! 
! 		if ( $update ) {
! 			if ( ! get_post( $post_data['ID'] ) )
! 				return new IXR_Error( 401, __( 'Invalid post ID.' ) );
! 			if ( ! current_user_can( $post_type->cap->edit_post, $post_data['ID'] ) )
! 				return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit this post.' ) );
! 			if ( $post_data['post_type'] != get_post_type( $post_data['ID'] ) )
! 				return new IXR_Error( 401, __( 'The post type may not be changed.' ) );
! 		} else {
! 			if ( ! current_user_can( $post_type->cap->edit_posts ) )
! 				return new IXR_Error( 401, __( 'Sorry, you are not allowed to post on this site.' ) );
! 		}
! 
! 		switch ( $post_data['post_status'] ) {
! 			case 'draft':
! 			case 'pending':
! 				break;
! 			case 'private':
! 				if ( ! current_user_can( $post_type->cap->publish_posts ) )
! 					return new IXR_Error( 401, __( 'Sorry, you are not allowed to create private posts in this post type' ) );
! 				break;
! 			case 'publish':
! 			case 'future':
! 				if ( ! current_user_can( $post_type->cap->publish_posts ) )
! 					return new IXR_Error( 401, __( 'Sorry, you are not allowed to publish posts in this post type' ) );
! 				break;
! 			default:
! 				$post_data['post_status'] = 'draft';
! 			break;
! 		}
! 
! 		if ( ! empty( $post_data['post_password'] ) && ! current_user_can( $post_type->cap->publish_posts ) )
! 			return new IXR_Error( 401, __( 'Sorry, you are not allowed to create password protected posts in this post type' ) );
! 
! 		$post_data['post_author'] = absint( $post_data['post_author'] );
! 		if ( ! empty( $post_data['post_author'] ) && $post_data['post_author'] != $user->ID ) {
! 			if ( ! current_user_can( $post_type->cap->edit_others_posts ) )
! 				return new IXR_Error( 401, __( 'You are not allowed to create posts as this user.' ) );
! 
! 			$author = get_userdata( $post_data['post_author'] );
! 
! 			if ( ! $author )
! 				return new IXR_Error( 404, __( 'Invalid author ID.' ) );
! 		} else {
! 			$post_data['post_author'] = $user->ID;
! 		}
! 
! 		if ( isset( $post_data['comment_status'] ) && $post_data['comment_status'] != 'open' && $post_data['comment_status'] != 'closed' )
! 			unset( $post_data['comment_status'] );
! 
! 		if ( isset( $post_data['ping_status'] ) && $post_data['ping_status'] != 'open' && $post_data['ping_status'] != 'closed' )
! 			unset( $post_data['ping_status'] );
! 
! 		// Do some timestamp voodoo
! 		if ( ! empty( $post_data['post_date_gmt'] ) ) {
! 			// We know this is supposed to be GMT, so we're going to slap that Z on there by force
! 			$dateCreated = rtrim( $post_data['post_date_gmt']->getIso(), 'Z' ) . 'Z';
! 		} elseif ( ! empty( $post_data['post_date'] ) ) {
! 			$dateCreated = $post_data['post_date']->getIso();
! 		}
! 
! 		if ( ! empty( $dateCreated ) ) {
! 			$post_data['post_date'] = get_date_from_gmt( iso8601_to_datetime( $dateCreated ) );
! 			$post_data['post_date_gmt'] = iso8601_to_datetime( $dateCreated, 'GMT' );
! 		}
! 
! 		if ( ! isset( $post_data['ID'] ) )
! 			$post_data['ID'] = get_default_post_to_edit( $post_data['post_type'], true )->ID;
! 		$post_ID = $post_data['ID'];
! 
! 		if ( $post_data['post_type'] == 'post' ) {
! 			// Private and password-protected posts cannot be stickied.
! 			if ( $post_data['post_status'] == 'private' || ! empty( $post_data['post_password'] ) ) {
! 				// Error if the client tried to stick the post, otherwise, silently unstick.
! 				if ( ! empty( $post_data['sticky'] ) )
! 					return new IXR_Error( 401, __( 'Sorry, you cannot stick a private post.' ) );
! 				if ( $update )
! 					unstick_post( $post_ID );
! 			} elseif ( isset( $post_data['sticky'] ) )  {
! 				if ( ! current_user_can( $post_type->cap->edit_others_posts ) )
! 					return new IXR_Error( 401, __( 'Sorry, you are not allowed to stick this post.' ) );
! 				if ( $post_data['sticky'] )
! 					stick_post( $post_ID );
! 				else
! 					unstick_post( $post_ID );
! 			}
! 		}
! 
! 		if ( isset( $post_data['post_thumbnail'] ) ) {
! 			// empty value deletes, non-empty value adds/updates
! 			if ( ! $post_data['post_thumbnail'] )
! 				delete_post_thumbnail( $post_ID );
! 			elseif ( ! set_post_thumbnail( $post_ID, $post_data['post_thumbnail'] ) )
! 					return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
! 			unset( $content_struct['post_thumbnail'] );
! 		}
! 
! 		if ( isset( $post_data['custom_fields'] ) )
! 			$this->set_custom_fields( $post_ID, $post_data['custom_fields'] );
! 
! 		if ( isset( $post_data['terms'] ) || isset( $post_data['terms_names'] ) ) {
! 			$post_type_taxonomies = get_object_taxonomies( $post_data['post_type'], 'objects' );
! 
! 			// accumulate term IDs from terms and terms_names
! 			$terms = array();
! 
! 			// first validate the terms specified by ID
! 			if ( isset( $post_data['terms'] ) && is_array( $post_data['terms'] ) ) {
! 				$taxonomies = array_keys( $post_data['terms'] );
! 
! 				// validating term ids
! 				foreach ( $taxonomies as $taxonomy ) {
! 					if ( ! array_key_exists( $taxonomy , $post_type_taxonomies ) )
! 						return new IXR_Error( 401, __( 'Sorry, one of the given taxonomies is not supported by the post type.' ) );
! 
! 					if ( ! current_user_can( $post_type_taxonomies[$taxonomy]->cap->assign_terms ) )
! 						return new IXR_Error( 401, __( 'Sorry, you are not allowed to assign a term to one of the given taxonomies.' ) );
! 
! 					$term_ids = $post_data['terms'][$taxonomy];
! 					foreach ( $term_ids as $term_id ) {
! 						$term = get_term_by( 'id', $term_id, $taxonomy );
! 
! 						if ( ! $term )
! 							return new IXR_Error( 403, __( 'Invalid term ID' ) );
! 
! 						$terms[$taxonomy][] = (int) $term_id;
! 					}
! 				}
! 			}
! 
! 			// now validate terms specified by name
! 			if ( isset( $post_data['terms_names'] ) && is_array( $post_data['terms_names'] ) ) {
! 				$taxonomies = array_keys( $post_data['terms_names'] );
! 
! 				foreach ( $taxonomies as $taxonomy ) {
! 					if ( ! array_key_exists( $taxonomy , $post_type_taxonomies ) )
! 						return new IXR_Error( 401, __( 'Sorry, one of the given taxonomies is not supported by the post type.' ) );
! 
! 					if ( ! current_user_can( $post_type_taxonomies[$taxonomy]->cap->assign_terms ) )
! 						return new IXR_Error( 401, __( 'Sorry, you are not allowed to assign a term to one of the given taxonomies.' ) );
! 
! 					// for hierarchical taxonomies, we can't assign a term when multiple terms in the hierarchy share the same name
! 					$ambiguous_terms = array();
! 					if ( is_taxonomy_hierarchical( $taxonomy ) ) {
! 						$tax_term_names = get_terms( $taxonomy, array( 'fields' => 'names', 'hide_empty' => false ) );
! 
! 						// count the number of terms with the same name
! 						$tax_term_names_count = array_count_values( $tax_term_names );
! 
! 						// filter out non-ambiguous term names
! 						$ambiguous_tax_term_counts = array_filter( $tax_term_names_count, array( $this, '_is_greater_than_one') );
! 
! 						$ambiguous_terms = array_keys( $ambiguous_tax_term_counts );
! 					}
! 
! 					$term_names = $post_data['terms_names'][$taxonomy];
! 					foreach ( $term_names as $term_name ) {
! 						if ( in_array( $term_name, $ambiguous_terms ) )
! 							return new IXR_Error( 401, __( 'Ambiguous term name used in a hierarchical taxonomy. Please use term ID instead.' ) );
! 
! 						$term = get_term_by( 'name', $term_name, $taxonomy );
! 
! 						if ( ! $term ) {
! 							// term doesn't exist, so check that the user is allowed to create new terms
! 							if ( ! current_user_can( $post_type_taxonomies[$taxonomy]->cap->edit_terms ) )
! 								return new IXR_Error( 401, __( 'Sorry, you are not allowed to add a term to one of the given taxonomies.' ) );
! 
! 							// create the new term
! 							$term_info = wp_insert_term( $term_name, $taxonomy );
! 							if ( is_wp_error( $term_info ) )
! 								return new IXR_Error( 500, $term_info->get_error_message() );
! 
! 							$terms[$taxonomy][] = (int) $term_info['term_id'];
! 						} else {
! 							$terms[$taxonomy][] = (int) $term->term_id;
! 						}
! 					}
! 				}
! 			}
! 
! 			$post_data['tax_input'] = $terms;
! 			unset( $post_data['terms'], $post_data['terms_names'] );
! 		} else {
! 			// do not allow direct submission of 'tax_input', clients must use 'terms' and/or 'terms_names'
! 			unset( $post_data['tax_input'], $post_data['post_category'], $post_data['tags_input'] );
! 		}
! 
! 		if ( isset( $post_data['post_format'] ) ) {
! 			$format = set_post_format( $post_ID, $post_data['post_format'] );
! 
! 			if ( is_wp_error( $format ) )
! 				return new IXR_Error( 500, $format->get_error_message() );
! 
! 			unset( $post_data['post_format'] );
! 		}
! 
! 		// Handle enclosures
! 		$enclosure = isset( $post_data['enclosure'] ) ? $post_data['enclosure'] : null;
! 		$this->add_enclosure_if_new( $post_ID, $enclosure );
! 
! 		$this->attach_uploads( $post_ID, $post_data['post_content'] );
! 
! 		$post_data = apply_filters( 'xmlrpc_wp_insert_post_data', $post_data, $content_struct );
! 
! 		$post_ID = wp_insert_post( $post_data, true );
! 		if ( is_wp_error( $post_ID ) )
! 			return new IXR_Error( 500, $post_ID->get_error_message() );
! 
! 		if ( ! $post_ID )
! 			return new IXR_Error( 401, __( 'Sorry, your entry could not be posted. Something wrong happened.' ) );
! 
! 		return strval( $post_ID );
! 	}
! 
! 	/**
! 	 * Edit a post for any registered post type.
! 	 *
! 	 * The $content_struct parameter only needs to contain fields that
! 	 * should be changed. All other fields will retain their existing values.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - int     $post_id
! 	 *  - array   $content_struct
! 	 * @return true on success
! 	 */
! 	function wp_editPost( $args ) {
! 		if ( ! $this->minimum_args( $args, 5 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id        = (int) $args[0];
! 		$username       = $args[1];
! 		$password       = $args[2];
! 		$post_id        = (int) $args[3];
! 		$content_struct = $args[4];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.editPost' );
! 
! 		$post = get_post( $post_id, ARRAY_A );
! 
! 		if ( empty( $post['ID'] ) )
! 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
! 
! 		// convert the date field back to IXR form
! 		$post['post_date'] = $this->_convert_date( $post['post_date'] );
! 
! 		// ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct,
! 		// since _insert_post will ignore the non-GMT date if the GMT date is set
! 		if ( $post['post_date_gmt'] == '0000-00-00 00:00:00' || isset( $content_struct['post_date'] ) )
! 			unset( $post['post_date_gmt'] );
! 		else
! 			$post['post_date_gmt'] = $this->_convert_date( $post['post_date_gmt'] );
! 
! 		$this->escape( $post );
! 		$merged_content_struct = array_merge( $post, $content_struct );
! 
! 		$retval = $this->_insert_post( $user, $merged_content_struct );
! 		if ( $retval instanceof IXR_Error )
! 			return $retval;
! 
! 		return true;
! 	}
! 
! 	/**
! 	 * Delete a post for any registered post type.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @uses wp_delete_post()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - int     $post_id
! 	 * @return true on success
! 	 */
! 	function wp_deletePost( $args ) {
! 		if ( ! $this->minimum_args( $args, 4 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id    = (int) $args[0];
! 		$username   = $args[1];
! 		$password   = $args[2];
! 		$post_id    = (int) $args[3];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.deletePost' );
! 
! 		$post = wp_get_single_post( $post_id, ARRAY_A );
! 		if ( empty( $post['ID'] ) )
! 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
! 
! 		$post_type = get_post_type_object( $post['post_type'] );
! 		if ( ! current_user_can( $post_type->cap->delete_post, $post_id ) )
! 			return new IXR_Error( 401, __( 'Sorry, you are not allowed to delete this post.' ) );
! 
! 		$result = wp_delete_post( $post_id );
! 
! 		if ( ! $result )
! 			return new IXR_Error( 500, __( 'The post cannot be deleted.' ) );
! 
! 		return true;
! 	}
! 
! 	/**
! 	 * Retrieve a post.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * The optional $fields parameter specifies what fields will be included
! 	 * in the response array. This should be a list of field names. 'post_id' will
! 	 * always be included in the response regardless of the value of $fields.
! 	 *
! 	 * Instead of, or in addition to, individual field names, conceptual group
! 	 * names can be used to specify multiple fields. The available conceptual
! 	 * groups are 'post' (all basic fields), 'taxonomies', 'custom_fields',
! 	 * and 'enclosure'.
! 	 *
! 	 * @uses wp_get_single_post()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $post_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - array   $fields optional
! 	 * @return array contains (based on $fields parameter):
! 	 *  - 'post_id'
! 	 *  - 'post_title'
! 	 *  - 'post_date'
! 	 *  - 'post_date_gmt'
! 	 *  - 'post_modified'
! 	 *  - 'post_modified_gmt'
! 	 *  - 'post_status'
! 	 *  - 'post_type'
! 	 *  - 'post_name'
! 	 *  - 'post_author'
! 	 *  - 'post_password'
! 	 *  - 'post_excerpt'
! 	 *  - 'post_content'
! 	 *  - 'link'
! 	 *  - 'comment_status'
! 	 *  - 'ping_status'
! 	 *  - 'sticky'
! 	 *  - 'custom_fields'
! 	 *  - 'terms'
! 	 *  - 'categories'
! 	 *  - 'tags'
! 	 *  - 'enclosure'
! 	 */
! 	function wp_getPost( $args ) {
! 		if ( ! $this->minimum_args( $args, 4 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id            = (int) $args[0];
! 		$username           = $args[1];
! 		$password           = $args[2];
! 		$post_id            = (int) $args[3];
! 
! 		if ( isset( $args[4] ) )
! 			$fields = $args[4];
! 		else
! 			$fields = apply_filters( 'xmlrpc_default_post_fields', array( 'post', 'terms', 'custom_fields' ), 'wp.getPost' );
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.getPost' );
! 
! 		$post = wp_get_single_post( $post_id, ARRAY_A );
! 
! 		if ( empty( $post['ID'] ) )
! 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
! 
! 		$post_type = get_post_type_object( $post['post_type'] );
! 		if ( ! current_user_can( $post_type->cap->edit_posts, $post_id ) )
! 			return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
! 
! 		return $this->_prepare_post( $post, $fields );
! 	}
! 
! 	/**
! 	 * Retrieve posts.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * The optional $filter parameter modifies the query used to retrieve posts.
! 	 * Accepted keys are 'post_type', 'post_status', 'number', 'offset',
! 	 * 'orderby', and 'order'.
! 	 *
! 	 * The optional $fields parameter specifies what fields will be included
! 	 * in the response array.
! 	 *
! 	 * @uses wp_get_recent_posts()
! 	 * @see wp_getPost() for more on $fields
! 	 * @see get_posts() for more on $filter values
! 	 *
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - array   $filter optional
! 	 *  - array   $fields optional
! 	 * @return array contains a collection of posts.
! 	 */
! 	function wp_getPosts( $args ) {
! 		if ( ! $this->minimum_args( $args, 3 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id    = (int) $args[0];
! 		$username   = $args[1];
! 		$password   = $args[2];
! 		$filter     = isset( $args[3] ) ? $args[3] : array();
! 
! 		if ( isset( $args[4] ) )
! 			$fields = $args[4];
! 		else
! 			$fields = apply_filters( 'xmlrpc_default_post_fields', array( 'post', 'terms', 'custom_fields' ), 'wp.getPosts' );
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.getPosts' );
! 
! 		$query = array();
! 
! 		if ( isset( $filter['post_type'] ) ) {
! 			$post_type = get_post_type_object( $filter['post_type'] );
! 			if ( ! ( (bool) $post_type ) )
! 				return new IXR_Error( 403, __( 'The post type specified is not valid' ) );
! 
! 			if ( ! current_user_can( $post_type->cap->edit_posts ) )
! 				return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit posts in this post type' ));
! 
! 			$query['post_type'] = $filter['post_type'];
! 		}
! 
! 		if ( isset( $filter['post_status'] ) )
! 			$query['post_status'] = $filter['post_status'];
! 
! 		if ( isset( $filter['number'] ) )
! 			$query['numberposts'] = absint( $filter['number'] );
! 
! 		if ( isset( $filter['offset'] ) )
! 			$query['offset'] = absint( $filter['offset'] );
! 
! 		if ( isset( $filter['orderby'] ) ) {
! 			$query['orderby'] = $filter['orderby'];
! 
! 			if ( isset( $filter['order'] ) )
! 				$query['order'] = $filter['order'];
! 		}
! 
! 		$posts_list = wp_get_recent_posts( $query );
! 
! 		if ( ! $posts_list )
! 			return array();
! 
! 		// holds all the posts data
! 		$struct = array();
! 
! 		foreach ( $posts_list as $post ) {
! 			$post_type = get_post_type_object( $post['post_type'] );
! 			if ( ! current_user_can( $post_type->cap->edit_posts, $post['ID'] ) )
! 				continue;
! 
! 			$struct[] = $this->_prepare_post( $post, $fields );
! 		}
! 
! 		return $struct;
! 	}
! 
! 	/**
! 	 * Create a new term.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @uses wp_insert_term()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - array   $content_struct
! 	 *      The $content_struct must contain:
! 	 *      - 'name'
! 	 *      - 'taxonomy'
! 	 *      Also, it can optionally contain:
! 	 *      - 'parent'
! 	 *      - 'description'
! 	 *      - 'slug'
! 	 * @return string term_id
! 	 */
! 	function wp_newTerm( $args ) {
! 		if ( ! $this->minimum_args( $args, 4 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id            = (int) $args[0];
! 		$username           = $args[1];
! 		$password           = $args[2];
! 		$content_struct     = $args[3];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.newTerm' );
! 
! 		if ( ! taxonomy_exists( $content_struct['taxonomy'] ) )
! 			return new IXR_Error( 403, __( 'Invalid taxonomy' ) );
! 
! 		$taxonomy = get_taxonomy( $content_struct['taxonomy'] );
! 
! 		if ( ! current_user_can( $taxonomy->cap->manage_terms ) )
! 			return new IXR_Error( 401, __( 'You are not allowed to create terms in this taxonomy.' ) );
! 
! 		$taxonomy = (array) $taxonomy;
! 
! 		// hold the data of the term
! 		$term_data = array();
! 
! 		$term_data['name'] = trim( $content_struct['name'] );
! 		if ( empty( $term_data['name'] ) )
! 			return new IXR_Error( 403, __( 'The term name cannot be empty.' ) );
! 
! 		if ( isset( $content_struct['parent'] ) ) {
! 			if ( ! $taxonomy['hierarchical'] )
! 				return new IXR_Error( 403, __( 'This taxonomy is not hierarchical.' ) );
! 
! 			$parent_term_id = (int) $content_struct['parent'];
! 			$parent_term = get_term( $parent_term_id , $taxonomy['name'] );
! 
! 			if ( is_wp_error( $parent_term ) )
! 				return new IXR_Error( 500, $parent_term->get_error_message() );
! 
! 			if ( ! $parent_term )
! 				return new IXR_Error( 403, __( 'Parent term does not exist.' ) );
! 
! 			$term_data['parent'] = $content_struct['parent'];
! 		}
! 
! 		if ( isset( $content_struct['description'] ) )
! 			$term_data['description'] = $content_struct['description'];
! 
! 		if ( isset( $content_struct['slug'] ) )
! 			$term_data['slug'] = $content_struct['slug'];
! 
! 		$term = wp_insert_term( $term_data['name'] , $taxonomy['name'] , $term_data );
! 
! 		if ( is_wp_error( $term ) )
! 			return new IXR_Error( 500, $term->get_error_message() );
! 
! 		if ( ! $term )
! 			return new IXR_Error( 500, __( 'Sorry, your term could not be created. Something wrong happened.' ) );
! 
! 		return strval( $term['term_id'] );
! 	}
! 
! 	/**
! 	 * Edit a term.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @uses wp_update_term()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - string  $term_id
! 	 *  - array   $content_struct
! 	 *      The $content_struct must contain:
! 	 *      - 'taxonomy'
! 	 *      Also, it can optionally contain:
! 	 *      - 'name'
! 	 *      - 'parent'
! 	 *      - 'description'
! 	 *      - 'slug'
! 	 * @return bool True, on success.
! 	 */
! 	function wp_editTerm( $args ) {
! 		if ( ! $this->minimum_args( $args, 5 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id            = (int) $args[0];
! 		$username           = $args[1];
! 		$password           = $args[2];
! 		$term_id            = (int) $args[3];
! 		$content_struct     = $args[4];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.editTerm' );
! 
! 		if ( ! taxonomy_exists( $content_struct['taxonomy'] ) )
! 			return new IXR_Error( 403, __( 'Invalid taxonomy' ) );
! 
! 		$taxonomy = get_taxonomy( $content_struct['taxonomy'] );
! 
! 		if ( ! current_user_can( $taxonomy->cap->edit_terms ) )
! 			return new IXR_Error( 401, __( 'You are not allowed to edit terms in this taxonomy.' ) );
! 
! 		$taxonomy = (array) $taxonomy;
! 
! 		// hold the data of the term
! 		$term_data = array();
! 
! 		$term = get_term( $term_id , $content_struct['taxonomy'] );
! 
! 		if ( is_wp_error( $term ) )
! 			return new IXR_Error( 500, $term->get_error_message() );
! 
! 		if ( ! $term )
! 			return new IXR_Error( 404, __( 'Invalid term ID' ) );
! 
! 		if ( isset( $content_struct['name'] ) ) {
! 			$term_data['name'] = trim( $content_struct['name'] );
! 
! 			if ( empty( $term_data['name'] ) )
! 				return new IXR_Error( 403, __( 'The term name cannot be empty.' ) );
! 		}
! 
! 		if ( isset( $content_struct['parent'] ) ) {
! 			if ( ! $taxonomy['hierarchical'] )
! 				return new IXR_Error( 403, __( "This taxonomy is not hierarchical so you can't set a parent." ) );
! 
! 			$parent_term_id = (int) $content_struct['parent'];
! 			$parent_term = get_term( $parent_term_id , $taxonomy['name'] );
! 
! 			if ( is_wp_error( $parent_term ) )
! 				return new IXR_Error( 500, $parent_term->get_error_message() );
! 
! 			if ( ! $parent_term )
! 				return new IXR_Error( 403, __( 'Parent term does not exist.' ) );
! 
! 			$term_data['parent'] = $content_struct['parent'];
! 		}
! 
! 		if ( isset( $content_struct['description'] ) )
! 			$term_data['description'] = $content_struct['description'];
! 
! 		if ( isset( $content_struct['slug'] ) )
! 			$term_data['slug'] = $content_struct['slug'];
! 
! 		$term = wp_update_term( $term_id , $taxonomy['name'] , $term_data );
! 
! 		if ( is_wp_error( $term ) )
! 			return new IXR_Error( 500, $term->get_error_message() );
! 
! 		if ( ! $term )
! 			return new IXR_Error( 500, __( 'Sorry, editing the term failed.' ) );
! 
! 		return true;
! 	}
! 
! 	/**
! 	 * Delete a term.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @uses wp_delete_term()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - string  $taxnomy_name
! 	 *  - string     $term_id
! 	 * @return boolean|IXR_Error If it suceeded true else a reason why not
! 	 */
! 	function wp_deleteTerm( $args ) {
! 		if ( ! $this->minimum_args( $args, 5 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id            = (int) $args[0];
! 		$username           = $args[1];
! 		$password           = $args[2];
! 		$taxonomy           = $args[3];
! 		$term_id            = (int) $args[4];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.deleteTerm' );
! 
! 		if ( ! taxonomy_exists( $taxonomy ) )
! 			return new IXR_Error( 403, __( 'Invalid taxonomy' ) );
! 
! 		$taxonomy = get_taxonomy( $taxonomy );
! 
! 		if ( ! current_user_can( $taxonomy->cap->delete_terms ) )
! 			return new IXR_Error( 401, __( 'You are not allowed to delete terms in this taxonomy.' ) );
! 
! 		$term = get_term( $term_id, $taxonomy->name );
! 
! 		if ( is_wp_error( $term ) )
! 			return new IXR_Error( 500, $term->get_error_message() );
! 
! 		if ( ! $term )
! 			return new IXR_Error( 404, __( 'Invalid term ID' ) );
! 
! 		$result = wp_delete_term( $term_id, $taxonomy->name );
! 
! 		if ( is_wp_error( $result ) )
! 			return new IXR_Error( 500, $term->get_error_message() );
! 
! 		if ( ! $result )
! 			return new IXR_Error( 500, __( 'Sorry, deleting the term failed.' ) );
! 
! 		return $result;
! 	}
! 
! 	/**
! 	 * Retrieve a term.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @uses get_term()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - string  $taxonomy
! 	 *  - string  $term_id
! 	 * @return array contains:
! 	 *  - 'term_id'
! 	 *  - 'name'
! 	 *  - 'slug'
! 	 *  - 'term_group'
! 	 *  - 'term_taxonomy_id'
! 	 *  - 'taxonomy'
! 	 *  - 'description'
! 	 *  - 'parent'
! 	 *  - 'count'
! 	 */
! 	function wp_getTerm( $args ) {
! 		if ( ! $this->minimum_args( $args, 5 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id            = (int) $args[0];
! 		$username           = $args[1];
! 		$password           = $args[2];
! 		$taxonomy           = $args[3];
! 		$term_id            = (int) $args[4];
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.getTerm' );
! 
! 		if ( ! taxonomy_exists( $taxonomy ) )
! 			return new IXR_Error( 403, __( 'Invalid taxonomy' ) );
! 
! 		$taxonomy = get_taxonomy( $taxonomy );
! 
! 		if ( ! current_user_can( $taxonomy->cap->assign_terms ) )
! 			return new IXR_Error( 401, __( 'You are not allowed to assign terms in this taxonomy.' ) );
! 
! 		$term = get_term( $term_id , $taxonomy->name, ARRAY_A );
! 
! 		if ( is_wp_error( $term ) )
! 			return new IXR_Error( 500, $term->get_error_message() );
! 
! 		if ( ! $term )
! 			return new IXR_Error( 404, __( 'Invalid term ID' ) );
! 
! 		return $this->_prepare_term( $term );
! 	}
! 
! 	/**
! 	 * Retrieve all terms for a taxonomy.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * The optional $filter parameter modifies the query used to retrieve terms.
! 	 * Accepted keys are 'number', 'offset', 'orderby', 'order', 'hide_empty', and 'search'.
! 	 *
! 	 * @uses get_terms()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - string  $taxonomy
! 	 *  - array   $filter optional
! 	 * @return array terms
! 	 */
! 	function wp_getTerms( $args ) {
! 		if ( ! $this->minimum_args( $args, 4 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id        = (int) $args[0];
! 		$username       = $args[1];
! 		$password       = $args[2];
! 		$taxonomy       = $args[3];
! 		$filter         = isset( $args[4] ) ? $args[4] : array();
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.getTerms' );
! 
! 		if ( ! taxonomy_exists( $taxonomy ) )
! 			return new IXR_Error( 403, __( 'Invalid taxonomy' ) );
! 
! 		$taxonomy = get_taxonomy( $taxonomy );
! 
! 		if ( ! current_user_can( $taxonomy->cap->assign_terms ) )
! 			return new IXR_Error( 401, __( 'You are not allowed to assign terms in this taxonomy.' ) );
! 
! 		$query = array();
! 
! 		if ( isset( $filter['number'] ) )
! 			$query['number'] = absint( $filter['number'] );
! 
! 		if ( isset( $filter['offset'] ) )
! 			$query['offset'] = absint( $filter['offset'] );
! 
! 		if ( isset( $filter['orderby'] ) ) {
! 			$query['orderby'] = $filter['orderby'];
! 
! 			if ( isset( $filter['order'] ) )
! 				$query['order'] = $filter['order'];
! 		}
! 
! 		if ( isset( $filter['hide_empty'] ) )
! 			$query['hide_empty'] = $filter['hide_empty'];
! 		else
! 			$query['get'] = 'all';
! 
! 		if ( isset( $filter['search'] ) )
! 			$query['search'] = $filter['search'];
! 
! 		$terms = get_terms( $taxonomy->name, $query );
! 
! 		if ( is_wp_error( $terms ) )
! 			return new IXR_Error( 500, $terms->get_error_message() );
! 
! 		$struct = array();
! 
! 		foreach ( $terms as $term ) {
! 			$struct[] = $this->_prepare_term( $term );
! 		}
! 
! 		return $struct;
  	}
  
  	/**
! 	 * Retrieve a taxonomy.
  	 *
! 	 * @since 3.4.0
  	 *
+ 	 * @uses get_taxonomy()
  	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 *  - string  $taxonomy
! 	 * @return array (@see get_taxonomy())
  	 */
! 	function wp_getTaxonomy( $args ) {
! 		if ( ! $this->minimum_args( $args, 4 ) )
! 			return $this->error;
  
  		$this->escape( $args );
  
! 		$blog_id        = (int) $args[0];
! 		$username       = $args[1];
! 		$password       = $args[2];
! 		$taxonomy       = $args[3];
  
! 		if ( isset( $args[4] ) )
! 			$fields = $args[4];
! 		else
! 			$fields = apply_filters( 'xmlrpc_default_taxonomy_fields', array( 'labels', 'cap', 'object_type' ), 'wp.getTaxonomy' );
! 
! 		if ( ! $user = $this->login( $username, $password ) )
  			return $this->error;
  
+ 		do_action( 'xmlrpc_call', 'wp.getTaxonomy' );
  
! 		if ( ! taxonomy_exists( $taxonomy ) )
! 			return new IXR_Error( 403, __( 'Invalid taxonomy' ) );
  
! 		$taxonomy = get_taxonomy( $taxonomy );
  
! 		if ( ! current_user_can( $taxonomy->cap->assign_terms ) )
! 			return new IXR_Error( 401, __( 'You are not allowed to assign terms in this taxonomy.' ) );
  
! 		return $this->_prepare_taxonomy( $taxonomy, $fields );
! 	}
  
! 	/**
! 	 * Retrieve all taxonomies.
! 	 *
! 	 * @since 3.4.0
! 	 *
! 	 * @uses get_taxonomies()
! 	 * @param array $args Method parameters. Contains:
! 	 *  - int     $blog_id
! 	 *  - string  $username
! 	 *  - string  $password
! 	 * @return array taxonomies
! 	 */
! 	function wp_getTaxonomies( $args ) {
! 		if ( ! $this->minimum_args( $args, 3 ) )
! 			return $this->error;
! 
! 		$this->escape( $args );
! 
! 		$blog_id            = (int) $args[0];
! 		$username           = $args[1];
! 		$password           = $args[2];
! 		$filter             = isset( $args[3] ) ? $args[3] : array( 'public' => true );
! 
! 		if ( isset( $args[4] ) )
! 			$fields = $args[4];
! 		else
! 			$fields = apply_filters( 'xmlrpc_default_taxonomy_fields', array( 'labels', 'cap', 'object_type' ), 'wp.getTaxonomies' );
! 
! 		if ( ! $user = $this->login( $username, $password ) )
! 			return $this->error;
! 
! 		do_action( 'xmlrpc_call', 'wp.getTaxonomies' );
! 
! 		$taxonomies = get_taxonomies( $filter, 'objects' );
! 
! 		// holds all the taxonomy data
! 		$struct = array();
  
! 		foreach ( $taxonomies as $taxonomy ) {
! 			// capability check for post_types
! 			if ( ! current_user_can( $taxonomy->cap->assign_terms ) )
! 				continue;
! 
! 			$struct[] = $this->_prepare_taxonomy( $taxonomy, $fields );
  		}
  
  		return $struct;
***************
*** 461,540 ****
  			return $this->error;
  		}
  
  		if ( !current_user_can( 'edit_page', $page_id ) )
  			return new IXR_Error( 401, __( 'Sorry, you cannot edit this page.' ) );
  
  		do_action('xmlrpc_call', 'wp.getPage');
  
- 		// Lookup page info.
- 		$page = get_page($page_id);
- 
  		// If we found the page then format the data.
  		if ( $page->ID && ($page->post_type == 'page') ) {
! 			// Get all of the page content and link.
! 			$full_page = get_extended($page->post_content);
! 			$link = post_permalink($page->ID);
! 
! 			// Get info the page parent if there is one.
! 			$parent_title = "";
! 			if ( !empty($page->post_parent) ) {
! 				$parent = get_page($page->post_parent);
! 				$parent_title = $parent->post_title;
! 			}
! 
! 			// Determine comment and ping settings.
! 			$allow_comments = comments_open($page->ID) ? 1 : 0;
! 			$allow_pings = pings_open($page->ID) ? 1 : 0;
! 
! 			// Format page date.
! 			$page_date = mysql2date('Ymd\TH:i:s', $page->post_date, false);
! 			$page_date_gmt = mysql2date('Ymd\TH:i:s', $page->post_date_gmt, false);
! 
! 			// For drafts use the GMT version of the date
! 			if ( $page->post_status == 'draft' )
! 				$page_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page->post_date ), 'Ymd\TH:i:s' );
! 
! 			// Pull the categories info together.
! 			$categories = array();
! 			foreach ( wp_get_post_categories($page->ID) as $cat_id ) {
! 				$categories[] = get_cat_name($cat_id);
! 			}
! 
! 			// Get the author info.
! 			$author = get_userdata($page->post_author);
! 
! 			$page_template = get_post_meta( $page->ID, '_wp_page_template', true );
! 			if ( empty( $page_template ) )
! 				$page_template = 'default';
! 
! 			$page_struct = array(
! 				'dateCreated'			=> new IXR_Date($page_date),
! 				'userid'				=> $page->post_author,
! 				'page_id'				=> $page->ID,
! 				'page_status'			=> $page->post_status,
! 				'description'			=> $full_page['main'],
! 				'title'					=> $page->post_title,
! 				'link'					=> $link,
! 				'permaLink'				=> $link,
! 				'categories'			=> $categories,
! 				'excerpt'				=> $page->post_excerpt,
! 				'text_more'				=> $full_page['extended'],
! 				'mt_allow_comments'		=> $allow_comments,
! 				'mt_allow_pings'		=> $allow_pings,
! 				'wp_slug'				=> $page->post_name,
! 				'wp_password'			=> $page->post_password,
! 				'wp_author'				=> $author->display_name,
! 				'wp_page_parent_id'		=> $page->post_parent,
! 				'wp_page_parent_title'	=> $parent_title,
! 				'wp_page_order'			=> $page->menu_order,
! 				'wp_author_id'			=> (string) $author->ID,
! 				'wp_author_display_name'	=> $author->display_name,
! 				'date_created_gmt'		=> new IXR_Date($page_date_gmt),
! 				'custom_fields'			=> $this->get_custom_fields($page_id),
! 				'wp_page_template'		=> $page_template
! 			);
! 
! 			return($page_struct);
  		}
  		// If the page doesn't exist indicate that.
  		else {
--- 1935,1952 ----
  			return $this->error;
  		}
  
+ 		$page = get_page($page_id);
+ 		if ( ! $page )
+ 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ 
  		if ( !current_user_can( 'edit_page', $page_id ) )
  			return new IXR_Error( 401, __( 'Sorry, you cannot edit this page.' ) );
  
  		do_action('xmlrpc_call', 'wp.getPage');
  
  		// If we found the page then format the data.
  		if ( $page->ID && ($page->post_type == 'page') ) {
! 			return $this->_prepare_page( $page );
  		}
  		// If the page doesn't exist indicate that.
  		else {
***************
*** 577,587 ****
  		if ( $num_pages >= 1 ) {
  			$pages_struct = array();
  
! 			for ( $i = 0; $i < $num_pages; $i++ ) {
! 				$page = wp_xmlrpc_server::wp_getPage(array(
! 					$blog_id, $pages[$i]->ID, $username, $password
! 				));
! 				$pages_struct[] = $page;
  			}
  
  			return($pages_struct);
--- 1989,1997 ----
  		if ( $num_pages >= 1 ) {
  			$pages_struct = array();
  
! 			foreach ($pages as $page) {
! 				if ( current_user_can( 'edit_page', $page->ID ) )
! 					$pages_struct[] = $this->_prepare_page( $page );
  			}
  
  			return($pages_struct);
***************
*** 612,621 ****
  
  		do_action('xmlrpc_call', 'wp.newPage');
  
- 		// Make sure the user is allowed to add new pages.
- 		if ( !current_user_can('publish_pages') )
- 			return(new IXR_Error(401, __('Sorry, you cannot add new pages.')));
- 
  		// Mark this as content for a page.
  		$args[3]["post_type"] = 'page';
  
--- 2022,2027 ----
***************
*** 659,664 ****
--- 2065,2072 ----
  		if ( !$result )
  			return(new IXR_Error(500, __('Failed to delete the page.')));
  
+ 		do_action( 'xmlrpc_call_success_wp_deletePage', $page_id, $args );
+ 
  		return(true);
  	}
  
***************
*** 750,766 ****
  		// The date needs to be formatted properly.
  		$num_pages = count($page_list);
  		for ( $i = 0; $i < $num_pages; $i++ ) {
! 			$post_date = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date, false);
! 			$post_date_gmt = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date_gmt, false);
! 
! 			$page_list[$i]->dateCreated = new IXR_Date($post_date);
! 			$page_list[$i]->date_created_gmt = new IXR_Date($post_date_gmt);
! 
! 			// For drafts use the GMT version of the date
! 			if ( $page_list[$i]->post_status == 'draft' ) {
! 				$page_list[$i]->date_created_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $page_list[$i]->post_date ), 'Ymd\TH:i:s' );
! 				$page_list[$i]->date_created_gmt = new IXR_Date( $page_list[$i]->date_created_gmt );
! 			}
  
  			unset($page_list[$i]->post_date_gmt);
  			unset($page_list[$i]->post_date);
--- 2158,2165 ----
  		// The date needs to be formatted properly.
  		$num_pages = count($page_list);
  		for ( $i = 0; $i < $num_pages; $i++ ) {
! 			$page_list[$i]->dateCreated = $this->_convert_date(  $page_list[$i]->post_date );
! 			$page_list[$i]->date_created_gmt = $this->_convert_date_gmt( $page_list[$i]->post_date_gmt, $page_list[$i]->post_date );
  
  			unset($page_list[$i]->post_date_gmt);
  			unset($page_list[$i]->post_date);
***************
*** 809,815 ****
  	/**
  	 * Get list of all tags
  	 *
! 	 * @since 2.7
  	 *
  	 * @param array $args Method parameters.
  	 * @return array
--- 2208,2214 ----
  	/**
  	 * Get list of all tags
  	 *
! 	 * @since 2.7.0
  	 *
  	 * @param array $args Method parameters.
  	 * @return array
***************
*** 829,835 ****
  
  		do_action( 'xmlrpc_call', 'wp.getKeywords' );
  
! 		$tags = array( );
  
  		if ( $all_tags = get_tags() ) {
  			foreach( (array) $all_tags as $tag ) {
--- 2228,2234 ----
  
  		do_action( 'xmlrpc_call', 'wp.getKeywords' );
  
! 		$tags = array();
  
  		if ( $all_tags = get_tags() ) {
  			foreach( (array) $all_tags as $tag ) {
***************
*** 903,909 ****
  			return(new IXR_Error(500, __('Sorry, the new category failed.')));
  		}
  
! 		return($cat_id);
  	}
  
  	/**
--- 2302,2310 ----
  			return(new IXR_Error(500, __('Sorry, the new category failed.')));
  		}
  
! 		do_action( 'xmlrpc_call_success_wp_newCategory', $cat_id, $args );
! 
! 		return $cat_id;
  	}
  
  	/**
***************
*** 930,936 ****
  		if ( !current_user_can('manage_categories') )
  			return new IXR_Error( 401, __( 'Sorry, you do not have the right to delete a category.' ) );
  
! 		return wp_delete_term( $category_id, 'category' );
  	}
  
  	/**
--- 2331,2342 ----
  		if ( !current_user_can('manage_categories') )
  			return new IXR_Error( 401, __( 'Sorry, you do not have the right to delete a category.' ) );
  
! 		$status = wp_delete_term( $category_id, 'category' );
! 
! 		if( true == $status )
! 			do_action( 'xmlrpc_call_success_wp_deleteCategory', $category_id, $args );
! 
! 		return $status;
  	}
  
  	/**
***************
*** 997,1035 ****
  		if ( ! $comment = get_comment($comment_id) )
  			return new IXR_Error( 404, __( 'Invalid comment ID.' ) );
  
! 		// Format page date.
! 		$comment_date = mysql2date('Ymd\TH:i:s', $comment->comment_date, false);
! 		$comment_date_gmt = mysql2date('Ymd\TH:i:s', $comment->comment_date_gmt, false);
! 
! 		if ( '0' == $comment->comment_approved )
! 			$comment_status = 'hold';
! 		else if ( 'spam' == $comment->comment_approved )
! 			$comment_status = 'spam';
! 		else if ( '1' == $comment->comment_approved )
! 			$comment_status = 'approve';
! 		else
! 			$comment_status = $comment->comment_approved;
! 
! 		$link = get_comment_link($comment);
! 
! 		$comment_struct = array(
! 			'date_created_gmt'		=> new IXR_Date($comment_date_gmt),
! 			'user_id'				=> $comment->user_id,
! 			'comment_id'			=> $comment->comment_ID,
! 			'parent'				=> $comment->comment_parent,
! 			'status'				=> $comment_status,
! 			'content'				=> $comment->comment_content,
! 			'link'					=> $link,
! 			'post_id'				=> $comment->comment_post_ID,
! 			'post_title'			=> get_the_title($comment->comment_post_ID),
! 			'author'				=> $comment->comment_author,
! 			'author_url'			=> $comment->comment_author_url,
! 			'author_email'			=> $comment->comment_author_email,
! 			'author_ip'				=> $comment->comment_author_IP,
! 			'type'					=> $comment->comment_type,
! 		);
! 
! 		return $comment_struct;
  	}
  
  	/**
--- 2403,2409 ----
  		if ( ! $comment = get_comment($comment_id) )
  			return new IXR_Error( 404, __( 'Invalid comment ID.' ) );
  
! 		return $this->_prepare_comment( $comment );
  	}
  
  	/**
***************
*** 1052,1064 ****
  	 * @return array. Contains a collection of comments. See {@link wp_xmlrpc_server::wp_getComment()} for a description of each item contents
  	 */
  	function wp_getComments($args) {
- 		$raw_args = $args;
  		$this->escape($args);
  
  		$blog_id	= (int) $args[0];
  		$username	= $args[1];
  		$password	= $args[2];
! 		$struct		= $args[3];
  
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
--- 2426,2437 ----
  	 * @return array. Contains a collection of comments. See {@link wp_xmlrpc_server::wp_getComment()} for a description of each item contents
  	 */
  	function wp_getComments($args) {
  		$this->escape($args);
  
  		$blog_id	= (int) $args[0];
  		$username	= $args[1];
  		$password	= $args[2];
! 		$struct		= isset( $args[3] ) ? $args[3] : array();
  
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
***************
*** 1086,1104 ****
  			$number = absint($struct['number']);
  
  		$comments = get_comments( array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number ) );
- 		$num_comments = count($comments);
- 
- 		if ( ! $num_comments )
- 			return array();
  
  		$comments_struct = array();
  
!     // FIXME: we already have the comments, why query them again?
! 		for ( $i = 0; $i < $num_comments; $i++ ) {
! 			$comment = wp_xmlrpc_server::wp_getComment(array(
! 				$raw_args[0], $raw_args[1], $raw_args[2], $comments[$i]->comment_ID,
! 			));
! 			$comments_struct[] = $comment;
  		}
  
  		return $comments_struct;
--- 2459,2469 ----
  			$number = absint($struct['number']);
  
  		$comments = get_comments( array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number ) );
  
  		$comments_struct = array();
  
! 		foreach ( $comments as $comment ) {
! 			$comments_struct[] = $this->_prepare_comment( $comment );
  		}
  
  		return $comments_struct;
***************
*** 1142,1148 ****
  
  		do_action('xmlrpc_call', 'wp.deleteComment');
  
! 		return wp_delete_comment($comment_ID);
  	}
  
  	/**
--- 2507,2518 ----
  
  		do_action('xmlrpc_call', 'wp.deleteComment');
  
! 		$status = wp_delete_comment( $comment_ID );
! 
! 		if( true == $status )
! 			do_action( 'xmlrpc_call_success_wp_deleteComment', $comment_ID, $args );
! 
! 		return $status;
  	}
  
  	/**
***************
*** 1203,1209 ****
  
  		// Do some timestamp voodoo
  		if ( !empty( $content_struct['date_created_gmt'] ) ) {
! 			$dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force
  			$comment_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
  			$comment_date_gmt = iso8601_to_datetime($dateCreated, 'GMT');
  		}
--- 2573,2580 ----
  
  		// Do some timestamp voodoo
  		if ( !empty( $content_struct['date_created_gmt'] ) ) {
! 			// We know this is supposed to be GMT, so we're going to slap that Z on there by force
! 			$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
  			$comment_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
  			$comment_date_gmt = iso8601_to_datetime($dateCreated, 'GMT');
  		}
***************
*** 1230,1235 ****
--- 2601,2608 ----
  		if ( !$result )
  			return new IXR_Error(500, __('Sorry, the comment could not be edited. Something wrong happened.'));
  
+ 		do_action( 'xmlrpc_call_success_wp_editComment', $comment_ID, $args );
+ 
  		return true;
  	}
  
***************
*** 1313,1319 ****
  
  		do_action('xmlrpc_call', 'wp.newComment');
  
! 		return wp_new_comment($comment);
  	}
  
  	/**
--- 2686,2696 ----
  
  		do_action('xmlrpc_call', 'wp.newComment');
  
! 		$comment_ID = wp_new_comment( $comment );
! 
! 		do_action( 'xmlrpc_call_success_wp_newComment', $comment_ID, $args );
! 
! 		return $comment_ID;
  	}
  
  	/**
***************
*** 1339,1345 ****
  
  		do_action('xmlrpc_call', 'wp.getCommentStatusList');
  
! 		return get_comment_statuses( );
  	}
  
  	/**
--- 2716,2722 ----
  
  		do_action('xmlrpc_call', 'wp.getCommentStatusList');
  
! 		return get_comment_statuses();
  	}
  
  	/**
***************
*** 1398,1404 ****
  
  		do_action('xmlrpc_call', 'wp.getPostStatusList');
  
! 		return get_post_statuses( );
  	}
  
  	/**
--- 2775,2781 ----
  
  		do_action('xmlrpc_call', 'wp.getPostStatusList');
  
! 		return get_post_statuses();
  	}
  
  	/**
***************
*** 1424,1430 ****
  
  		do_action('xmlrpc_call', 'wp.getPageStatusList');
  
! 		return get_page_statuses( );
  	}
  
  	/**
--- 2801,2807 ----
  
  		do_action('xmlrpc_call', 'wp.getPageStatusList');
  
! 		return get_page_statuses();
  	}
  
  	/**
***************
*** 1448,1454 ****
  		if ( !current_user_can( 'edit_pages' ) )
  			return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
  
! 		$templates = get_page_templates( );
  		$templates['Default'] = 'default';
  
  		return $templates;
--- 2825,2831 ----
  		if ( !current_user_can( 'edit_pages' ) )
  			return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
  
! 		$templates = get_page_templates();
  		$templates['Default'] = 'default';
  
  		return $templates;
***************
*** 1489,1495 ****
  	 * @return array
  	 */
  	function _getOptions($options) {
! 		$data = array( );
  		foreach ( $options as $option ) {
  			if ( array_key_exists( $option, $this->blog_options ) ) {
  				$data[$option] = $this->blog_options[$option];
--- 2866,2872 ----
  	 * @return array
  	 */
  	function _getOptions($options) {
! 		$data = array();
  		foreach ( $options as $option ) {
  			if ( array_key_exists( $option, $this->blog_options ) ) {
  				$data[$option] = $this->blog_options[$option];
***************
*** 1573,1604 ****
  			return $this->error;
  
  		if ( !current_user_can( 'upload_files' ) )
! 			return new IXR_Error( 403, __( 'You are not allowed to upload files to this site.' ) );
  
  		do_action('xmlrpc_call', 'wp.getMediaItem');
  
  		if ( ! $attachment = get_post($attachment_id) )
  			return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
  
! 		// Format page date.
! 		$attachment_date = mysql2date('Ymd\TH:i:s', $attachment->post_date, false);
! 		$attachment_date_gmt = mysql2date('Ymd\TH:i:s', $attachment->post_date_gmt, false);
! 
! 		$link = wp_get_attachment_url($attachment->ID);
! 		$thumbnail_link = wp_get_attachment_thumb_url($attachment->ID);
! 
! 		$attachment_struct = array(
! 			'date_created_gmt'		=> new IXR_Date($attachment_date_gmt),
! 			'parent'				=> $attachment->post_parent,
! 			'link'					=> $link,
! 			'thumbnail'				=> $thumbnail_link,
! 			'title'					=> $attachment->post_title,
! 			'caption'				=> $attachment->post_excerpt,
! 			'description'			=> $attachment->post_content,
! 			'metadata'				=> wp_get_attachment_metadata($attachment->ID),
! 		);
! 
! 		return $attachment_struct;
  	}
  
  	/**
--- 2950,2963 ----
  			return $this->error;
  
  		if ( !current_user_can( 'upload_files' ) )
! 			return new IXR_Error( 403, __( 'You do not have permission to upload files.' ) );
  
  		do_action('xmlrpc_call', 'wp.getMediaItem');
  
  		if ( ! $attachment = get_post($attachment_id) )
  			return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
  
! 		return $this->_prepare_media_item( $attachment );
  	}
  
  	/**
***************
*** 1625,1631 ****
  	 * @return array. Contains a collection of media items. See {@link wp_xmlrpc_server::wp_getMediaItem()} for a description of each item contents
  	 */
  	function wp_getMediaLibrary($args) {
- 		$raw_args = $args;
  		$this->escape($args);
  
  		$blog_id	= (int) $args[0];
--- 2984,2989 ----
***************
*** 1637,1643 ****
  			return $this->error;
  
  		if ( !current_user_can( 'upload_files' ) )
! 			return new IXR_Error( 401, __( 'Sorry, you cannot upload files.' ) );
  
  		do_action('xmlrpc_call', 'wp.getMediaLibrary');
  
--- 2995,3001 ----
  			return $this->error;
  
  		if ( !current_user_can( 'upload_files' ) )
! 			return new IXR_Error( 401, __( 'You do not have permission to upload files.' ) );
  
  		do_action('xmlrpc_call', 'wp.getMediaLibrary');
  
***************
*** 1647,1661 ****
  		$number = ( isset($struct['number']) ) ? absint($struct['number']) : -1 ;
  
  		$attachments = get_posts( array('post_type' => 'attachment', 'post_parent' => $parent_id, 'offset' => $offset, 'numberposts' => $number, 'post_mime_type' => $mime_type ) );
- 		$num_attachments = count($attachments);
- 
- 		if ( ! $num_attachments )
- 			return array();
  
  		$attachments_struct = array();
  
  		foreach ($attachments as $attachment )
! 			$attachments_struct[] = $this->wp_getMediaItem( array( $raw_args[0], $raw_args[1], $raw_args[2], $attachment->ID ) );
  
  		return $attachments_struct;
  	}
--- 3005,3015 ----
  		$number = ( isset($struct['number']) ) ? absint($struct['number']) : -1 ;
  
  		$attachments = get_posts( array('post_type' => 'attachment', 'post_parent' => $parent_id, 'offset' => $offset, 'numberposts' => $number, 'post_mime_type' => $mime_type ) );
  
  		$attachments_struct = array();
  
  		foreach ($attachments as $attachment )
! 			$attachments_struct[] = $this->_prepare_media_item( $attachment );
  
  		return $attachments_struct;
  	}
***************
*** 1681,1686 ****
--- 3035,3043 ----
  		if ( !$user = $this->login( $username, $password ) )
  			return $this->error;
  
+ 		if ( !current_user_can( 'edit_posts' ) )
+ 			return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
+ 
  		do_action( 'xmlrpc_call', 'wp.getPostFormats' );
  
  		$formats = get_post_format_strings();
***************
*** 1702,1707 ****
--- 3059,3168 ----
  		return $formats;
  	}
  
+ 	/**
+ 	 * Retrieves a post type
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @uses get_post_type_object()
+ 	 * @param array $args Method parameters. Contains:
+ 	 *  - int     $blog_id
+ 	 *  - string  $username
+ 	 *  - string  $password
+ 	 *  - string  $post_type_name
+ 	 *  - array   $fields
+ 	 * @return array contains:
+ 	 *  - 'labels'
+ 	 *  - 'description'
+ 	 *  - 'capability_type'
+ 	 *  - 'cap'
+ 	 *  - 'map_meta_cap'
+ 	 *  - 'hierarchical'
+ 	 *  - 'menu_position'
+ 	 *  - 'taxonomies'
+ 	 *  - 'supports'
+ 	 */
+ 	function wp_getPostType( $args ) {
+ 		if ( ! $this->minimum_args( $args, 4 ) )
+ 			return $this->error;
+ 
+ 		$this->escape( $args );
+ 
+ 		$blog_id        = (int) $args[0];
+ 		$username       = $args[1];
+ 		$password       = $args[2];
+ 		$post_type_name = $args[3];
+ 
+ 		if ( isset( $args[4] ) )
+ 			$fields = $args[4];
+ 		else
+ 			$fields = apply_filters( 'xmlrpc_default_posttype_fields', array( 'labels', 'cap', 'taxonomies' ), 'wp.getPostType' );
+ 
+ 		if ( !$user = $this->login( $username, $password ) )
+ 			return $this->error;
+ 
+ 		do_action( 'xmlrpc_call', 'wp.getPostType' );
+ 
+ 		if( ! post_type_exists( $post_type_name ) )
+ 			return new IXR_Error( 403, __( 'Invalid post type' ) );
+ 
+ 		$post_type = get_post_type_object( $post_type_name );
+ 
+ 		if( ! current_user_can( $post_type->cap->edit_posts ) )
+ 			return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit this post type.' ) );
+ 
+ 		return $this->_prepare_post_type( $post_type, $fields );
+ 	}
+ 
+ 	/**
+ 	 * Retrieves a post types
+ 	 *
+ 	 * @since 3.4.0
+ 	 *
+ 	 * @uses get_post_types()
+ 	 * @param array $args Method parameters. Contains:
+ 	 *  - int     $blog_id
+ 	 *  - string  $username
+ 	 *  - string  $password
+ 	 *  - array   $filter
+ 	 *  - array   $fields
+ 	 * @return array
+ 	 */
+ 	function wp_getPostTypes( $args ) {
+ 		if ( ! $this->minimum_args( $args, 3 ) )
+ 			return $this->error;
+ 
+ 		$this->escape( $args );
+ 
+ 		$blog_id            = (int) $args[0];
+ 		$username           = $args[1];
+ 		$password           = $args[2];
+ 		$filter             = isset( $args[3] ) ? $args[3] : array( 'public' => true );
+ 
+ 		if ( isset( $args[4] ) )
+ 			$fields = $args[4];
+ 		else
+ 			$fields = apply_filters( 'xmlrpc_default_posttype_fields', array( 'labels', 'cap', 'taxonomies' ), 'wp.getPostTypes' );
+ 
+ 		if ( ! $user = $this->login( $username, $password ) )
+ 			return $this->error;
+ 
+ 		do_action( 'xmlrpc_call', 'wp.getPostTypes' );
+ 
+ 		$post_types = get_post_types( $filter, 'objects' );
+ 
+ 		$struct = array();
+ 
+ 		foreach( $post_types as $post_type ) {
+ 			if( ! current_user_can( $post_type->cap->edit_posts ) )
+ 				continue;
+ 
+ 			$struct[$post_type->name] = $this->_prepare_post_type( $post_type, $fields );
+ 		}
+ 
+ 		return $struct;
+ 	}
+ 
  	/* Blogger API functions.
  	 * specs on http://plant.blogger.com/api and http://groups.yahoo.com/group/bloggerDev/
  	 */
***************
*** 1827,1839 ****
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
  		if ( !current_user_can( 'edit_post', $post_ID ) )
  			return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
  
  		do_action('xmlrpc_call', 'blogger.getPost');
  
- 		$post_data = wp_get_single_post($post_ID, ARRAY_A);
- 
  		$categories = implode(',', wp_get_post_categories($post_ID));
  
  		$content  = '<title>'.stripslashes($post_data['post_title']).'</title>';
--- 3288,3302 ----
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
+ 		$post_data = wp_get_single_post($post_ID, ARRAY_A);
+ 		if ( ! $post_data )
+ 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ 
  		if ( !current_user_can( 'edit_post', $post_ID ) )
  			return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
  
  		do_action('xmlrpc_call', 'blogger.getPost');
  
  		$categories = implode(',', wp_get_post_categories($post_ID));
  
  		$content  = '<title>'.stripslashes($post_data['post_title']).'</title>';
***************
*** 1842,1848 ****
  
  		$struct = array(
  			'userid'    => $post_data['post_author'],
! 			'dateCreated' => new IXR_Date(mysql2date('Ymd\TH:i:s', $post_data['post_date'], false)),
  			'content'     => $content,
  			'postid'  => (string) $post_data['ID']
  		);
--- 3305,3311 ----
  
  		$struct = array(
  			'userid'    => $post_data['post_author'],
! 			'dateCreated' => $this->_convert_date( $post_data['post_date'] ),
  			'content'     => $content,
  			'postid'  => (string) $post_data['ID']
  		);
***************
*** 1887,1893 ****
  			if ( !current_user_can( 'edit_post', $entry['ID'] ) )
  				continue;
  
! 			$post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
  			$categories = implode(',', wp_get_post_categories($entry['ID']));
  
  			$content  = '<title>'.stripslashes($entry['post_title']).'</title>';
--- 3350,3356 ----
  			if ( !current_user_can( 'edit_post', $entry['ID'] ) )
  				continue;
  
! 			$post_date  = $this->_convert_date( $entry['post_date'] );
  			$categories = implode(',', wp_get_post_categories($entry['ID']));
  
  			$content  = '<title>'.stripslashes($entry['post_title']).'</title>';
***************
*** 1896,1902 ****
  
  			$struct[] = array(
  				'userid' => $entry['post_author'],
! 				'dateCreated' => new IXR_Date($post_date),
  				'content' => $content,
  				'postid' => (string) $entry['ID'],
  			);
--- 3359,3365 ----
  
  			$struct[] = array(
  				'userid' => $entry['post_author'],
! 				'dateCreated' => $post_date,
  				'content' => $content,
  				'postid' => (string) $entry['ID'],
  			);
***************
*** 1934,1940 ****
  		do_action('xmlrpc_call', 'blogger.getTemplate');
  
  		if ( !current_user_can('edit_themes') )
! 			return new IXR_Error(401, __('Sorry, this user can not edit the template.'));
  
  		/* warning: here we make the assumption that the blog's URL is on the same server */
  		$filename = get_option('home') . '/';
--- 3397,3403 ----
  		do_action('xmlrpc_call', 'blogger.getTemplate');
  
  		if ( !current_user_can('edit_themes') )
! 			return new IXR_Error(401, __('Sorry, this user cannot edit the template.'));
  
  		/* warning: here we make the assumption that the blog's URL is on the same server */
  		$filename = get_option('home') . '/';
***************
*** 1945,1951 ****
  		fclose($f);
  
  		/* so it is actually editable with a windows/mac client */
! 		// FIXME: (or delete me) do we really want to cater to bad clients at the expense of good ones by BEEPing up their line breaks? commented.     $content = str_replace("\n", "\r\n", $content);
  
  		return $content;
  	}
--- 3408,3414 ----
  		fclose($f);
  
  		/* so it is actually editable with a windows/mac client */
! 		// FIXME: (or delete me) do we really want to cater to bad clients at the expense of good ones by BEEPing up their line breaks? commented. $content = str_replace("\n", "\r\n", $content);
  
  		return $content;
  	}
***************
*** 2039,2045 ****
  
  		$this->attach_uploads( $post_ID, $post_content );
  
! 		logIO('O', "Posted ! ID: $post_ID");
  
  		return $post_ID;
  	}
--- 3502,3508 ----
  
  		$this->attach_uploads( $post_ID, $post_content );
  
! 		do_action( 'xmlrpc_call_success_blogger_newPost', $post_ID, $args );
  
  		return $post_ID;
  	}
***************
*** 2095,2100 ****
--- 3558,3565 ----
  
  		$this->attach_uploads( $ID, $post_content );
  
+ 		do_action( 'xmlrpc_call_success_blogger_editPost', $post_ID, $args );
+ 
  		return true;
  	}
  
***************
*** 2132,2137 ****
--- 3597,3604 ----
  		if ( !$result )
  			return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be deleted.'));
  
+ 		do_action( 'xmlrpc_call_success_blogger_deletePost', $post_ID, $args );
+ 
  		return true;
  	}
  
***************
*** 2162,2167 ****
--- 3629,3635 ----
  	 *  - mt_allow_pings - can be 'open' or 'closed'
  	 *  - date_created_gmt
  	 *  - dateCreated
+ 	 *  - wp_post_thumbnail
  	 *
  	 * @since 1.5.0
  	 *
***************
*** 2176,2182 ****
  	function mw_newPost($args) {
  		$this->escape($args);
  
! 		$blog_ID     = (int) $args[0]; // we will support this in the near future
  		$username  = $args[1];
  		$password   = $args[2];
  		$content_struct = $args[3];
--- 3644,3650 ----
  	function mw_newPost($args) {
  		$this->escape($args);
  
! 		$blog_ID     = (int) $args[0];
  		$username  = $args[1];
  		$password   = $args[2];
  		$content_struct = $args[3];
***************
*** 2192,2198 ****
  			if ( $content_struct['post_type'] == 'page' ) {
  				if ( $publish )
  					$cap  = 'publish_pages';
! 				elseif ('publish' == $content_struct['page_status'])
  					$cap  = 'publish_pages';
  				else
  					$cap = 'edit_pages';
--- 3660,3666 ----
  			if ( $content_struct['post_type'] == 'page' ) {
  				if ( $publish )
  					$cap  = 'publish_pages';
! 				elseif ( isset( $content_struct['page_status'] ) && 'publish' == $content_struct['page_status'] )
  					$cap  = 'publish_pages';
  				else
  					$cap = 'edit_pages';
***************
*** 2203,2209 ****
  			} elseif ( $content_struct['post_type'] == 'post' ) {
  				if ( $publish )
  					$cap  = 'publish_posts';
! 				elseif ('publish' == $content_struct['post_status'])
  					$cap  = 'publish_posts';
  				else
  					$cap = 'edit_posts';
--- 3671,3677 ----
  			} elseif ( $content_struct['post_type'] == 'post' ) {
  				if ( $publish )
  					$cap  = 'publish_posts';
! 				elseif ( isset( $content_struct['post_status'] ) && 'publish' == $content_struct['post_status'] )
  					$cap  = 'publish_posts';
  				else
  					$cap = 'edit_posts';
***************
*** 2211,2222 ****
  				$post_type = 'post';
  			} else {
  				// No other post_type values are allowed here
! 				return new IXR_Error( 401, __( 'Invalid post type.' ) );
  			}
  		} else {
  			if ( $publish )
  				$cap  = 'publish_posts';
! 			elseif ('publish' == $content_struct['post_status'])
  				$cap  = 'publish_posts';
  			else
  				$cap = 'edit_posts';
--- 3679,3690 ----
  				$post_type = 'post';
  			} else {
  				// No other post_type values are allowed here
! 				return new IXR_Error( 401, __( 'Invalid post type' ) );
  			}
  		} else {
  			if ( $publish )
  				$cap  = 'publish_posts';
! 			elseif ( isset( $content_struct['post_status'] ) && 'publish' == $content_struct['post_status'])
  				$cap  = 'publish_posts';
  			else
  				$cap = 'edit_posts';
***************
*** 2267,2275 ****
  						return(new IXR_Error(401, __('You are not allowed to create pages as this user')));
  					break;
  				default:
! 					return(new IXR_Error(401, __('Invalid post type.')));
  					break;
  			}
  			$post_author = $content_struct['wp_author_id'];
  		}
  
--- 3735,3746 ----
  						return(new IXR_Error(401, __('You are not allowed to create pages as this user')));
  					break;
  				default:
! 					return(new IXR_Error(401, __('Invalid post type')));
  					break;
  			}
+ 			$author = get_userdata( $content_struct['wp_author_id'] );
+ 			if ( ! $author )
+ 				return new IXR_Error( 404, __( 'Invalid author ID.' ) );
  			$post_author = $content_struct['wp_author_id'];
  		}
  
***************
*** 2370,2376 ****
  
  		// Do some timestamp voodoo
  		if ( !empty( $content_struct['date_created_gmt'] ) )
! 			$dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force
  		elseif ( !empty( $content_struct['dateCreated']) )
  			$dateCreated = $content_struct['dateCreated']->getIso();
  
--- 3841,3848 ----
  
  		// Do some timestamp voodoo
  		if ( !empty( $content_struct['date_created_gmt'] ) )
! 			// We know this is supposed to be GMT, so we're going to slap that Z on there by force
! 			$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
  		elseif ( !empty( $content_struct['dateCreated']) )
  			$dateCreated = $content_struct['dateCreated']->getIso();
  
***************
*** 2385,2391 ****
  		$post_category = array();
  		if ( isset( $content_struct['categories'] ) ) {
  			$catnames = $content_struct['categories'];
- 			logIO('O', 'Post cats: ' . var_export($catnames,true));
  
  			if ( is_array($catnames) ) {
  				foreach ($catnames as $cat) {
--- 3857,3862 ----
***************
*** 2409,2414 ****
--- 3880,3892 ----
  		if ( isset($content_struct['custom_fields']) )
  			$this->set_custom_fields($post_ID, $content_struct['custom_fields']);
  
+ 		if ( isset ( $content_struct['wp_post_thumbnail'] ) ) {
+ 			if ( set_post_thumbnail( $post_ID, $content_struct['wp_post_thumbnail'] ) === false )
+ 				return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
+ 
+ 			unset( $content_struct['wp_post_thumbnail'] );
+ 		}
+ 
  		// Handle enclosures
  		$thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null;
  		$this->add_enclosure_if_new($post_ID, $thisEnclosure);
***************
*** 2427,2433 ****
  		if ( !$post_ID )
  			return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
  
! 		logIO('O', "Posted ! ID: $post_ID");
  
  		return strval($post_ID);
  	}
--- 3905,3911 ----
  		if ( !$post_ID )
  			return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
  
! 		do_action( 'xmlrpc_call_success_mw_newPost', $post_ID, $args );
  
  		return strval($post_ID);
  	}
***************
*** 2485,2537 ****
  
  		$this->escape($args);
  
! 		$post_ID     = (int) $args[0];
! 		$username  = $args[1];
! 		$password   = $args[2];
  		$content_struct = $args[3];
! 		$publish     = $args[4];
  
! 		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
  		do_action('xmlrpc_call', 'metaWeblog.editPost');
  
! 		$cap = ( $publish ) ? 'publish_posts' : 'edit_posts';
! 		$error_message = __( 'Sorry, you are not allowed to publish posts on this site.' );
! 		$post_type = 'post';
! 		$page_template = '';
! 		if ( !empty( $content_struct['post_type'] ) ) {
! 			if ( $content_struct['post_type'] == 'page' ) {
! 				if ( $publish || 'publish' == $content_struct['page_status'] )
! 					$cap  = 'publish_pages';
! 				else
! 					$cap = 'edit_pages';
! 				$error_message = __( 'Sorry, you are not allowed to publish pages on this site.' );
! 				$post_type = 'page';
! 				if ( !empty( $content_struct['wp_page_template'] ) )
! 					$page_template = $content_struct['wp_page_template'];
! 			} elseif ( $content_struct['post_type'] == 'post' ) {
! 				if ( $publish || 'publish' == $content_struct['post_status'] )
! 					$cap  = 'publish_posts';
! 				else
! 					$cap = 'edit_posts';
! 				$error_message = __( 'Sorry, you are not allowed to publish posts on this site.' );
! 				$post_type = 'post';
! 			} else {
! 				// No other post_type values are allowed here
! 				return new IXR_Error( 401, __( 'Invalid post type.' ) );
! 			}
! 		} else {
! 			if ( $publish || 'publish' == $content_struct['post_status'] )
! 				$cap  = 'publish_posts';
! 			else
! 				$cap = 'edit_posts';
! 			$error_message = __( 'Sorry, you are not allowed to publish posts on this site.' );
! 			$post_type = 'post';
! 		}
  
! 		if ( !current_user_can( $cap ) )
! 			return new IXR_Error( 401, $error_message );
  
  		// Check for a valid post format if one was given
  		if ( isset( $content_struct['wp_post_format'] ) ) {
--- 3963,3997 ----
  
  		$this->escape($args);
  
! 		$post_ID        = (int) $args[0];
! 		$username       = $args[1];
! 		$password       = $args[2];
  		$content_struct = $args[3];
! 		$publish        = isset( $args[4] ) ? $args[4] : 0;
  
! 		if ( ! $user = $this->login($username, $password) )
  			return $this->error;
  
  		do_action('xmlrpc_call', 'metaWeblog.editPost');
  
! 		$postdata = wp_get_single_post( $post_ID, ARRAY_A );
  
! 		// If there is no post data for the give post id, stop
! 		// now and return an error. Other wise a new post will be
! 		// created (which was the old behavior).
! 		if ( ! $postdata || empty( $postdata[ 'ID' ] ) )
! 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
! 
! 		if ( ! current_user_can( 'edit_post', $post_ID ) )
! 			return new IXR_Error( 401, __( 'Sorry, you do not have the right to edit this post.' ) );
! 
! 		// Use wp.editPost to edit post types other than post and page.
! 		if ( ! in_array( $postdata[ 'post_type' ], array( 'post', 'page' ) ) )
! 			return new IXR_Error( 401, __( 'Invalid post type' ) );
! 
! 		// Thwart attempt to change the post type.
! 		if ( ! empty( $content_struct[ 'post_type' ] ) && ( $content_struct['post_type'] != $postdata[ 'post_type' ] ) )
! 			return new IXR_Error( 401, __( 'The post type may not be changed.' ) );
  
  		// Check for a valid post format if one was given
  		if ( isset( $content_struct['wp_post_format'] ) ) {
***************
*** 2541,2554 ****
  			}
  		}
  
- 		$postdata = wp_get_single_post($post_ID, ARRAY_A);
- 
- 		// If there is no post data for the give post id, stop
- 		// now and return an error.  Other wise a new post will be
- 		// created (which was the old behavior).
- 		if ( empty($postdata["ID"]) )
- 			return(new IXR_Error(404, __('Invalid post ID.')));
- 
  		$this->escape($postdata);
  		extract($postdata, EXTR_SKIP);
  
--- 4001,4006 ----
***************
*** 2570,2575 ****
--- 4022,4030 ----
  		if ( isset($content_struct['wp_page_order']) )
  			$menu_order = $content_struct['wp_page_order'];
  
+ 		if ( ! empty( $content_struct['wp_page_template'] ) && 'page' == $post_type )
+ 			$page_template = $content_struct['wp_page_template'];
+ 
  		$post_author = $postdata['post_author'];
  
  		// Only set the post_author if one is set.
***************
*** 2584,2590 ****
  						return(new IXR_Error(401, __('You are not allowed to change the page author as this user.')));
  					break;
  				default:
! 					return(new IXR_Error(401, __('Invalid post type.')));
  					break;
  			}
  			$post_author = $content_struct['wp_author_id'];
--- 4039,4045 ----
  						return(new IXR_Error(401, __('You are not allowed to change the page author as this user.')));
  					break;
  				default:
! 					return(new IXR_Error(401, __('Invalid post type')));
  					break;
  			}
  			$post_author = $content_struct['wp_author_id'];
***************
*** 2647,2654 ****
  			}
  		}
  
! 		$post_title = isset( $content_struct['title'] ) ? $content_struct['title'] : null;
! 		$post_content = isset( $content_struct['description'] ) ? $content_struct['description'] : null;
  
  		$post_category = array();
  		if ( isset( $content_struct['categories'] ) ) {
--- 4102,4112 ----
  			}
  		}
  
! 		if ( isset( $content_struct['title'] ) )
! 			$post_title =  $content_struct['title'];
! 
! 		if ( isset( $content_struct['description'] ) )
! 			$post_content = $content_struct['description'];
  
  		$post_category = array();
  		if ( isset( $content_struct['categories'] ) ) {
***************
*** 2660,2666 ****
  			}
  		}
  
! 		$post_excerpt = isset( $content_struct['mt_excerpt'] ) ? $content_struct['mt_excerpt'] : null;
  		$post_more = isset( $content_struct['mt_text_more'] ) ? $content_struct['mt_text_more'] : null;
  
  		$post_status = $publish ? 'publish' : 'draft';
--- 4118,4126 ----
  			}
  		}
  
! 		if ( isset( $content_struct['mt_excerpt'] ) )
! 			$post_excerpt =  $content_struct['mt_excerpt'];
! 
  		$post_more = isset( $content_struct['mt_text_more'] ) ? $content_struct['mt_text_more'] : null;
  
  		$post_status = $publish ? 'publish' : 'draft';
***************
*** 2699,2705 ****
  
  		// Do some timestamp voodoo
  		if ( !empty( $content_struct['date_created_gmt'] ) )
! 			$dateCreated = str_replace( 'Z', '', $content_struct['date_created_gmt']->getIso() ) . 'Z'; // We know this is supposed to be GMT, so we're going to slap that Z on there by force
  		elseif ( !empty( $content_struct['dateCreated']) )
  			$dateCreated = $content_struct['dateCreated']->getIso();
  
--- 4159,4166 ----
  
  		// Do some timestamp voodoo
  		if ( !empty( $content_struct['date_created_gmt'] ) )
! 			// We know this is supposed to be GMT, so we're going to slap that Z on there by force
! 			$dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
  		elseif ( !empty( $content_struct['dateCreated']) )
  			$dateCreated = $content_struct['dateCreated']->getIso();
  
***************
*** 2732,2737 ****
--- 4193,4209 ----
  		if ( isset($content_struct['custom_fields']) )
  			$this->set_custom_fields($post_ID, $content_struct['custom_fields']);
  
+ 		if ( isset ( $content_struct['wp_post_thumbnail'] ) ) {
+ 			// empty value deletes, non-empty value adds/updates
+ 			if ( empty( $content_struct['wp_post_thumbnail'] ) ) {
+ 				delete_post_thumbnail( $post_ID );
+ 			} else {
+ 				if ( set_post_thumbnail( $post_ID, $content_struct['wp_post_thumbnail'] ) === false )
+ 					return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
+ 			}
+ 			unset( $content_struct['wp_post_thumbnail'] );
+ 		}
+ 
  		// Handle enclosures
  		$thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null;
  		$this->add_enclosure_if_new($post_ID, $thisEnclosure);
***************
*** 2743,2749 ****
  		if ( isset( $content_struct['wp_post_format'] ) )
  			wp_set_post_terms( $post_ID, array( 'post-format-' . $content_struct['wp_post_format'] ), 'post_format' );
  
! 		logIO('O',"(MW) Edited ! ID: $post_ID");
  
  		return true;
  	}
--- 4215,4221 ----
  		if ( isset( $content_struct['wp_post_format'] ) )
  			wp_set_post_terms( $post_ID, array( 'post-format-' . $content_struct['wp_post_format'] ), 'post_format' );
  
! 		do_action( 'xmlrpc_call_success_mw_editPost', $post_ID, $args );
  
  		return true;
  	}
***************
*** 2767,2786 ****
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
  		if ( !current_user_can( 'edit_post', $post_ID ) )
  			return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
  
  		do_action('xmlrpc_call', 'metaWeblog.getPost');
  
- 		$postdata = wp_get_single_post($post_ID, ARRAY_A);
- 
  		if ($postdata['post_date'] != '') {
! 			$post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date'], false);
! 			$post_date_gmt = mysql2date('Ymd\TH:i:s', $postdata['post_date_gmt'], false);
! 
! 			// For drafts use the GMT version of the post date
! 			if ( $postdata['post_status'] == 'draft' )
! 				$post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $postdata['post_date'] ), 'Ymd\TH:i:s' );
  
  			$categories = array();
  			$catids = wp_get_post_categories($post_ID);
--- 4239,4258 ----
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
+ 		$postdata = wp_get_single_post($post_ID, ARRAY_A);
+ 		if ( ! $postdata )
+ 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ 
  		if ( !current_user_can( 'edit_post', $post_ID ) )
  			return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
  
  		do_action('xmlrpc_call', 'metaWeblog.getPost');
  
  		if ($postdata['post_date'] != '') {
! 			$post_date = $this->_convert_date( $postdata['post_date'] );
! 			$post_date_gmt = $this->_convert_date_gmt( $postdata['post_date_gmt'],  $postdata['post_date'] );
! 			$post_modified = $this->_convert_date( $postdata['post_modified'] );
! 			$post_modified_gmt = $this->_convert_date_gmt( $postdata['post_modified_gmt'], $postdata['post_modified'] );
  
  			$categories = array();
  			$catids = wp_get_post_categories($post_ID);
***************
*** 2823,2829 ****
  			foreach ( (array) get_post_custom($post_ID) as $key => $val) {
  				if ($key == 'enclosure') {
  					foreach ( (array) $val as $enc ) {
! 						$encdata = split("\n", $enc);
  						$enclosure['url'] = trim(htmlspecialchars($encdata[0]));
  						$enclosure['length'] = (int) trim($encdata[1]);
  						$enclosure['type'] = trim($encdata[2]);
--- 4295,4301 ----
  			foreach ( (array) get_post_custom($post_ID) as $key => $val) {
  				if ($key == 'enclosure') {
  					foreach ( (array) $val as $enc ) {
! 						$encdata = explode("\n", $enc);
  						$enclosure['url'] = trim(htmlspecialchars($encdata[0]));
  						$enclosure['length'] = (int) trim($encdata[1]);
  						$enclosure['type'] = trim($encdata[2]);
***************
*** 2833,2839 ****
  			}
  
  			$resp = array(
! 				'dateCreated' => new IXR_Date($post_date),
  				'userid' => $postdata['post_author'],
  				'postid' => $postdata['ID'],
  				'description' => $post['main'],
--- 4305,4311 ----
  			}
  
  			$resp = array(
! 				'dateCreated' => $post_date,
  				'userid' => $postdata['post_author'],
  				'postid' => $postdata['ID'],
  				'description' => $post['main'],
***************
*** 2845,2866 ****
  				'categories' => $categories,
  				'mt_excerpt' => $postdata['post_excerpt'],
  				'mt_text_more' => $post['extended'],
  				'mt_allow_comments' => $allow_comments,
  				'mt_allow_pings' => $allow_pings,
  				'mt_keywords' => $tagnames,
  				'wp_slug' => $postdata['post_name'],
  				'wp_password' => $postdata['post_password'],
  				'wp_author_id' => (string) $author->ID,
! 				'wp_author_display_name'	=> $author->display_name,
! 				'date_created_gmt' => new IXR_Date($post_date_gmt),
  				'post_status' => $postdata['post_status'],
  				'custom_fields' => $this->get_custom_fields($post_ID),
  				'wp_post_format' => $post_format,
! 				'sticky' => $sticky
  			);
  
  			if ( !empty($enclosure) ) $resp['enclosure'] = $enclosure;
  
  			return $resp;
  		} else {
  			return new IXR_Error(404, __('Sorry, no such post.'));
--- 4317,4343 ----
  				'categories' => $categories,
  				'mt_excerpt' => $postdata['post_excerpt'],
  				'mt_text_more' => $post['extended'],
+ 				'wp_more_text' => $post['more_text'],
  				'mt_allow_comments' => $allow_comments,
  				'mt_allow_pings' => $allow_pings,
  				'mt_keywords' => $tagnames,
  				'wp_slug' => $postdata['post_name'],
  				'wp_password' => $postdata['post_password'],
  				'wp_author_id' => (string) $author->ID,
! 				'wp_author_display_name' => $author->display_name,
! 				'date_created_gmt' => $post_date_gmt,
  				'post_status' => $postdata['post_status'],
  				'custom_fields' => $this->get_custom_fields($post_ID),
  				'wp_post_format' => $post_format,
! 				'sticky' => $sticky,
! 				'date_modified' => $post_modified,
! 				'date_modified_gmt' => $post_modified_gmt
  			);
  
  			if ( !empty($enclosure) ) $resp['enclosure'] = $enclosure;
  
+ 			$resp['wp_post_thumbnail'] = get_post_thumbnail_id( $postdata['ID'] );
+ 
  			return $resp;
  		} else {
  			return new IXR_Error(404, __('Sorry, no such post.'));
***************
*** 2895,2912 ****
  		$posts_list = wp_get_recent_posts( $query );
  
  		if ( !$posts_list )
! 			return array( );
  
  		foreach ($posts_list as $entry) {
  			if ( !current_user_can( 'edit_post', $entry['ID'] ) )
  				continue;
  
! 			$post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
! 			$post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false);
! 
! 			// For drafts use the GMT version of the date
! 			if ( $entry['post_status'] == 'draft' )
! 				$post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' );
  
  			$categories = array();
  			$catids = wp_get_post_categories($entry['ID']);
--- 4372,4387 ----
  		$posts_list = wp_get_recent_posts( $query );
  
  		if ( !$posts_list )
! 			return array();
  
  		foreach ($posts_list as $entry) {
  			if ( !current_user_can( 'edit_post', $entry['ID'] ) )
  				continue;
  
! 			$post_date = $this->_convert_date( $entry['post_date'] );
! 			$post_date_gmt = $this->_convert_date_gmt( $entry['post_date_gmt'], $entry['post_date'] );
! 			$post_modified = $this->_convert_date( $entry['post_modified'] );
! 			$post_modified_gmt = $this->_convert_date_gmt( $entry['post_modified_gmt'], $entry['post_modified'] );
  
  			$categories = array();
  			$catids = wp_get_post_categories($entry['ID']);
***************
*** 2943,2949 ****
  				$post_format = 'standard';
  
  			$struct[] = array(
! 				'dateCreated' => new IXR_Date($post_date),
  				'userid' => $entry['post_author'],
  				'postid' => (string) $entry['ID'],
  				'description' => $post['main'],
--- 4418,4424 ----
  				$post_format = 'standard';
  
  			$struct[] = array(
! 				'dateCreated' => $post_date,
  				'userid' => $entry['post_author'],
  				'postid' => (string) $entry['ID'],
  				'description' => $post['main'],
***************
*** 2955,2960 ****
--- 4430,4436 ----
  				'categories' => $categories,
  				'mt_excerpt' => $entry['post_excerpt'],
  				'mt_text_more' => $post['extended'],
+ 				'wp_more_text' => $post['more_text'],
  				'mt_allow_comments' => $allow_comments,
  				'mt_allow_pings' => $allow_pings,
  				'mt_keywords' => $tagnames,
***************
*** 2962,2973 ****
  				'wp_password' => $entry['post_password'],
  				'wp_author_id' => (string) $author->ID,
  				'wp_author_display_name' => $author->display_name,
! 				'date_created_gmt' => new IXR_Date($post_date_gmt),
  				'post_status' => $entry['post_status'],
  				'custom_fields' => $this->get_custom_fields($entry['ID']),
! 				'wp_post_format' => $post_format
  			);
  
  		}
  
  		$recent_posts = array();
--- 4438,4453 ----
  				'wp_password' => $entry['post_password'],
  				'wp_author_id' => (string) $author->ID,
  				'wp_author_display_name' => $author->display_name,
! 				'date_created_gmt' => $post_date_gmt,
  				'post_status' => $entry['post_status'],
  				'custom_fields' => $this->get_custom_fields($entry['ID']),
! 				'wp_post_format' => $post_format,
! 				'date_modified' => $post_modified,
! 				'date_modified_gmt' => $post_modified_gmt
  			);
  
+ 			$entry_index = count( $struct ) - 1;
+ 			$struct[ $entry_index ][ 'wp_post_thumbnail' ] = get_post_thumbnail_id( $entry['ID'] );
  		}
  
  		$recent_posts = array();
***************
*** 3045,3060 ****
  		$type = $data['type'];
  		$bits = $data['bits'];
  
- 		logIO('O', '(MW) Received '.strlen($bits).' bytes');
- 
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
  		do_action('xmlrpc_call', 'metaWeblog.newMediaObject');
  
  		if ( !current_user_can('upload_files') ) {
! 			logIO('O', '(MW) User does not have upload_files capability');
! 			$this->error = new IXR_Error(401, __('You are not allowed to upload files to this site.'));
  			return $this->error;
  		}
  
--- 4525,4537 ----
  		$type = $data['type'];
  		$bits = $data['bits'];
  
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
  		do_action('xmlrpc_call', 'metaWeblog.newMediaObject');
  
  		if ( !current_user_can('upload_files') ) {
! 			$this->error = new IXR_Error( 401, __( 'You do not have permission to upload files.' ) );
  			return $this->error;
  		}
  
***************
*** 3079,3088 ****
  			$name = "wpid{$old_file->ID}-{$filename}";
  		}
  
! 		$upload = wp_upload_bits($name, NULL, $bits);
  		if ( ! empty($upload['error']) ) {
  			$errorString = sprintf(__('Could not write file %1$s (%2$s)'), $name, $upload['error']);
- 			logIO('O', '(MW) ' . $errorString);
  			return new IXR_Error(500, $errorString);
  		}
  		// Construct the attachment array
--- 4556,4564 ----
  			$name = "wpid{$old_file->ID}-{$filename}";
  		}
  
! 		$upload = wp_upload_bits($name, null, $bits);
  		if ( ! empty($upload['error']) ) {
  			$errorString = sprintf(__('Could not write file %1$s (%2$s)'), $name, $upload['error']);
  			return new IXR_Error(500, $errorString);
  		}
  		// Construct the attachment array
***************
*** 3101,3107 ****
  		$id = wp_insert_attachment( $attachment, $upload[ 'file' ], $post_id );
  		wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) );
  
! 		return apply_filters( 'wp_handle_upload', array( 'file' => $name, 'url' => $upload[ 'url' ], 'type' => $type ), 'upload' );
  	}
  
  	/* MovableType API functions
--- 4577,4591 ----
  		$id = wp_insert_attachment( $attachment, $upload[ 'file' ], $post_id );
  		wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) );
  
! 		do_action( 'xmlrpc_call_success_mw_newMediaObject', $id, $args );
! 
! 		$struct = array(
! 			'id'   => strval( $id ),
! 			'file' => $name,
! 			'url'  => $upload[ 'url' ],
! 			'type' => $type
! 		);
! 		return apply_filters( 'wp_handle_upload', $struct, 'upload' );
  	}
  
  	/* MovableType API functions
***************
*** 3140,3163 ****
  			return $this->error;
  		}
  
  		foreach ($posts_list as $entry) {
  			if ( !current_user_can( 'edit_post', $entry['ID'] ) )
  				continue;
  
! 			$post_date = mysql2date('Ymd\TH:i:s', $entry['post_date'], false);
! 			$post_date_gmt = mysql2date('Ymd\TH:i:s', $entry['post_date_gmt'], false);
! 
! 			// For drafts use the GMT version of the date
! 			if ( $entry['post_status'] == 'draft' )
! 				$post_date_gmt = get_gmt_from_date( mysql2date( 'Y-m-d H:i:s', $entry['post_date'] ), 'Ymd\TH:i:s' );
  
  			$struct[] = array(
! 				'dateCreated' => new IXR_Date($post_date),
  				'userid' => $entry['post_author'],
  				'postid' => (string) $entry['ID'],
  				'title' => $entry['post_title'],
  				'post_status' => $entry['post_status'],
! 				'date_created_gmt' => new IXR_Date($post_date_gmt)
  			);
  
  		}
--- 4624,4645 ----
  			return $this->error;
  		}
  
+ 		$struct = array();
+ 
  		foreach ($posts_list as $entry) {
  			if ( !current_user_can( 'edit_post', $entry['ID'] ) )
  				continue;
  
! 			$post_date = $this->_convert_date( $entry['post_date'] );
! 			$post_date_gmt = $this->_convert_date_gmt( $entry['post_date_gmt'], $entry['post_date'] );
  
  			$struct[] = array(
! 				'dateCreated' => $post_date,
  				'userid' => $entry['post_author'],
  				'postid' => (string) $entry['ID'],
  				'title' => $entry['post_title'],
  				'post_status' => $entry['post_status'],
! 				'date_created_gmt' => $post_date_gmt
  			);
  
  		}
***************
*** 3227,3232 ****
--- 4709,4717 ----
  		if ( !$user = $this->login($username, $password) )
  			return $this->error;
  
+ 		if ( ! get_post( $post_ID ) )
+ 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ 
  		if ( !current_user_can( 'edit_post', $post_ID ) )
  			return new IXR_Error( 401, __( 'Sorry, you can not edit this post.' ) );
  
***************
*** 3270,3275 ****
--- 4755,4763 ----
  
  		do_action('xmlrpc_call', 'mt.setPostCategories');
  
+ 		if ( ! get_post( $post_ID ) )
+ 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ 
  		if ( !current_user_can('edit_post', $post_ID) )
  			return new IXR_Error(401, __('Sorry, you cannot edit this post.'));
  
***************
*** 3377,3387 ****
  
  		do_action('xmlrpc_call', 'mt.publishPost');
  
  		if ( !current_user_can('publish_posts') || !current_user_can('edit_post', $post_ID) )
  			return new IXR_Error(401, __('Sorry, you cannot publish this post.'));
  
- 		$postdata = wp_get_single_post($post_ID,ARRAY_A);
- 
  		$postdata['post_status'] = 'publish';
  
  		// retain old cats
--- 4865,4877 ----
  
  		do_action('xmlrpc_call', 'mt.publishPost');
  
+ 		$postdata = wp_get_single_post($post_ID, ARRAY_A);
+ 		if ( ! $postdata )
+ 			return new IXR_Error( 404, __( 'Invalid post ID.' ) );
+ 
  		if ( !current_user_can('publish_posts') || !current_user_can('edit_post', $post_ID) )
  			return new IXR_Error(401, __('Sorry, you cannot publish this post.'));
  
  		$postdata['post_status'] = 'publish';
  
  		// retain old cats
***************
*** 3469,3477 ****
  		}
  		$post_ID = (int) $post_ID;
  
- 
- 		logIO("O","(PB) URL='$pagelinkedto' ID='$post_ID' Found='$way'");
- 
  		$post = get_post($post_ID);
  
  		if ( !$post ) // Post_ID not found
--- 4959,4964 ----
***************
*** 3613,3616 ****
  		return $pingbacks;
  	}
  }
- ?>
--- 5100,5102 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/comment.php ./wordpress-3.4/wp-includes/comment.php
*** ./wordpress-3.3.2/wp-includes/comment.php	2011-10-06 16:09:37.000000000 -0500
--- ./wordpress-3.4/wp-includes/comment.php	2012-04-23 17:04:35.000000000 -0500
***************
*** 539,550 ****
   * @link http://codex.wordpress.org/Function_Reference/get_comment_meta
   *
   * @param int $comment_id Comment ID.
!  * @param string $key The meta key to retrieve.
   * @param bool $single Whether to return a single value.
   * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
   *  is true.
   */
! function get_comment_meta($comment_id, $key, $single = false) {
  	return get_metadata('comment', $comment_id, $key, $single);
  }
  
--- 538,549 ----
   * @link http://codex.wordpress.org/Function_Reference/get_comment_meta
   *
   * @param int $comment_id Comment ID.
!  * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
   * @param bool $single Whether to return a single value.
   * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
   *  is true.
   */
! function get_comment_meta($comment_id, $key = '', $single = false) {
  	return get_metadata('comment', $comment_id, $key, $single);
  }
  
***************
*** 571,576 ****
--- 570,594 ----
  }
  
  /**
+  * Sets the cookies used to store an unauthenticated commentator's identity. Typically used
+  * to recall previous comments by this commentator that are still held in moderation.
+  *
+  * @param object $comment Comment object.
+  * @param object $user Comment author's object.
+  *
+  * @since 3.4.0
+  */
+ function wp_set_comment_cookies($comment, $user) {
+ 	if ( $user->exists() )
+ 		return;
+ 
+ 	$comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
+ 	setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
+ 	setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
+ 	setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
+ }
+ 
+ /**
   * Sanitizes the cookies sent to the user already.
   *
   * Will only do anything if the cookies have already been created for the user.
***************
*** 685,693 ****
  			do_action('comment_flood_trigger', $time_lastcomment, $time_newcomment);
  
  			if ( defined('DOING_AJAX') )
! 				die( __('You are posting comments too quickly.  Slow down.') );
  
! 			wp_die( __('You are posting comments too quickly.  Slow down.'), '', array('response' => 403) );
  		}
  	}
  }
--- 703,711 ----
  			do_action('comment_flood_trigger', $time_lastcomment, $time_newcomment);
  
  			if ( defined('DOING_AJAX') )
! 				die( __('You are posting comments too quickly. Slow down.') );
  
! 			wp_die( __('You are posting comments too quickly. Slow down.'), '', array('response' => 403) );
  		}
  	}
  }
***************
*** 723,729 ****
   * @uses get_option() Used to fill in defaults for parameters.
   * @uses Walker_Comment
   *
!  * @param array $comments Optional array of comment objects.  Defaults to $wp_query->comments
   * @param int $per_page Optional comments per page.
   * @param boolean $threaded Optional control over flat or threaded comments.
   * @return int Number of comment pages.
--- 741,747 ----
   * @uses get_option() Used to fill in defaults for parameters.
   * @uses Walker_Comment
   *
!  * @param array $comments Optional array of comment objects. Defaults to $wp_query->comments
   * @param int $per_page Optional comments per page.
   * @param boolean $threaded Optional control over flat or threaded comments.
   * @return int Number of comment pages.
***************
*** 962,976 ****
  	}
  
  	// Delete metadata
! 	$meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->commentmeta WHERE comment_id = %d ", $comment_id ) );
! 	if ( !empty($meta_ids) ) {
! 		do_action( 'delete_commentmeta', $meta_ids );
! 		$in_meta_ids = "'" . implode("', '", $meta_ids) . "'";
! 		$wpdb->query( "DELETE FROM $wpdb->commentmeta WHERE meta_id IN ($in_meta_ids)" );
! 		do_action( 'deleted_commentmeta', $meta_ids );
! 	}
  
! 	if ( ! $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment_id) ) )
  		return false;
  	do_action('deleted_comment', $comment_id);
  
--- 980,990 ----
  	}
  
  	// Delete metadata
! 	$meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->commentmeta WHERE comment_id = %d", $comment_id ) );
! 	foreach ( $meta_ids as $mid )
! 		delete_metadata_by_mid( 'comment', $mid );
  
! 	if ( ! $wpdb->delete( $wpdb->comments, array( 'comment_ID' => $comment_id ) ) )
  		return false;
  	do_action('deleted_comment', $comment_id);
  
***************
*** 1116,1122 ****
  
  	$approved = $comment->comment_approved;
  
! 	if ( $approved == NULL )
  		return false;
  	elseif ( $approved == '1' )
  		return 'approved';
--- 1130,1136 ----
  
  	$approved = $comment->comment_approved;
  
! 	if ( $approved == null )
  		return false;
  	elseif ( $approved == '1' )
  		return 'approved';
***************
*** 1364,1380 ****
  /**
   * Sets the status of a comment.
   *
!  * The 'wp_set_comment_status' action is called after the comment is handled and
!  * will only be called, if the comment status is either 'hold', 'approve', or
!  * 'spam'. If the comment status is not in the list, then false is returned and
!  * if the status is 'delete', then the comment is deleted without calling the
!  * action.
   *
   * @since 1.0.0
   * @uses wp_transition_comment_status() Passes new and old comment status along with $comment object
   *
   * @param int $comment_id Comment ID.
!  * @param string $comment_status New comment status, either 'hold', 'approve', 'spam', or 'delete'.
   * @param bool $wp_error Whether to return a WP_Error object if there is a failure. Default is false.
   * @return bool False on failure or deletion and true on success.
   */
--- 1378,1391 ----
  /**
   * Sets the status of a comment.
   *
!  * The 'wp_set_comment_status' action is called after the comment is handled.
!  * If the comment status is not in the list, then false is returned.
   *
   * @since 1.0.0
   * @uses wp_transition_comment_status() Passes new and old comment status along with $comment object
   *
   * @param int $comment_id Comment ID.
!  * @param string $comment_status New comment status, either 'hold', 'approve', 'spam', or 'trash'.
   * @param bool $wp_error Whether to return a WP_Error object if there is a failure. Default is false.
   * @return bool False on failure or deletion and true on success.
   */
***************
*** 1568,1577 ****
  	$new = (int) $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved = '1'", $post_id) );
  	$wpdb->update( $wpdb->posts, array('comment_count' => $new), array('ID' => $post_id) );
  
! 	if ( 'page' == $post->post_type )
! 		clean_page_cache( $post_id );
! 	else
! 		clean_post_cache( $post_id );
  
  	do_action('wp_update_comment_count', $post_id, $new, $old);
  	do_action('edit_post', $post_id, $post);
--- 1579,1585 ----
  	$new = (int) $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved = '1'", $post_id) );
  	$wpdb->update( $wpdb->posts, array('comment_count' => $new), array('ID' => $post_id) );
  
! 	clean_post_cache( $post );
  
  	do_action('wp_update_comment_count', $post_id, $new, $old);
  	do_action('edit_post', $post_id, $post);
***************
*** 1801,1807 ****
  		endif;
  	endforeach;
  
! 	do_action_ref_array('pre_ping', array(&$post_links, &$pung));
  
  	foreach ( (array) $post_links as $pagelinkedto ) {
  		$pingback_server_url = discover_pingback_server_uri( $pagelinkedto );
--- 1809,1815 ----
  		endif;
  	endforeach;
  
! 	do_action_ref_array( 'pre_ping', array( &$post_links, &$pung, $post_ID ) );
  
  	foreach ( (array) $post_links as $pagelinkedto ) {
  		$pingback_server_url = discover_pingback_server_uri( $pagelinkedto );
***************
*** 1947,1953 ****
  //
  
  /**
!  * Close comments on old posts on the fly, without any extra DB queries.  Hooked to the_posts.
   *
   * @access private
   * @since 2.7.0
--- 1955,1961 ----
  //
  
  /**
!  * Close comments on old posts on the fly, without any extra DB queries. Hooked to the_posts.
   *
   * @access private
   * @since 2.7.0
***************
*** 1977,1983 ****
  }
  
  /**
!  * Close comments on an old post.  Hooked to comments_open and pings_open.
   *
   * @access private
   * @since 2.7.0
--- 1985,1991 ----
  }
  
  /**
!  * Close comments on an old post. Hooked to comments_open and pings_open.
   *
   * @access private
   * @since 2.7.0
***************
*** 2008,2012 ****
  
  	return $open;
  }
- 
- ?>
--- 2016,2018 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/comment-template.php ./wordpress-3.4/wp-includes/comment-template.php
*** ./wordpress-3.3.2/wp-includes/comment-template.php	2011-11-14 15:35:44.000000000 -0600
--- ./wordpress-3.4/wp-includes/comment-template.php	2012-06-01 15:47:08.000000000 -0500
***************
*** 55,61 ****
   * @uses apply_filters() Calls the 'get_comment_author_email' hook on the comment author email
   * @uses $comment
   *
!  * @param int $comment_ID The ID of the comment for which to get the author's email.  Optional.
   * @return string The current comment author's email
   */
  function get_comment_author_email( $comment_ID = 0 ) {
--- 55,61 ----
   * @uses apply_filters() Calls the 'get_comment_author_email' hook on the comment author email
   * @uses $comment
   *
!  * @param int $comment_ID The ID of the comment for which to get the author's email. Optional.
   * @return string The current comment author's email
   */
  function get_comment_author_email( $comment_ID = 0 ) {
***************
*** 141,147 ****
   * @since 1.5.0
   * @uses apply_filters() Calls 'get_comment_author_link' hook on the complete link HTML or author
   *
!  * @param int $comment_ID The ID of the comment for which to get the author's link.  Optional.
   * @return string Comment Author name or HTML link for author's URL
   */
  function get_comment_author_link( $comment_ID = 0 ) {
--- 141,147 ----
   * @since 1.5.0
   * @uses apply_filters() Calls 'get_comment_author_link' hook on the complete link HTML or author
   *
!  * @param int $comment_ID The ID of the comment for which to get the author's link. Optional.
   * @return string Comment Author name or HTML link for author's URL
   */
  function get_comment_author_link( $comment_ID = 0 ) {
***************
*** 189,195 ****
   * @since 0.71
   * @see get_comment_author_IP() Echoes Result
   *
!  * @param int $comment_ID The ID of the comment for which to print the author's IP address.  Optional.
   */
  function comment_author_IP( $comment_ID = 0 ) {
  	echo get_comment_author_IP( $comment_ID );
--- 189,195 ----
   * @since 0.71
   * @see get_comment_author_IP() Echoes Result
   *
!  * @param int $comment_ID The ID of the comment for which to print the author's IP address. Optional.
   */
  function comment_author_IP( $comment_ID = 0 ) {
  	echo get_comment_author_IP( $comment_ID );
***************
*** 201,207 ****
   * @since 1.5.0
   * @uses apply_filters() Calls 'get_comment_author_url' hook on the comment author's URL
   *
!  * @param int $comment_ID The ID of the comment for which to get the author's URL.  Optional.
   * @return string
   */
  function get_comment_author_url( $comment_ID = 0 ) {
--- 201,207 ----
   * @since 1.5.0
   * @uses apply_filters() Calls 'get_comment_author_url' hook on the comment author's URL
   *
!  * @param int $comment_ID The ID of the comment for which to get the author's URL. Optional.
   * @return string
   */
  function get_comment_author_url( $comment_ID = 0 ) {
***************
*** 384,390 ****
   * @since 0.71
   *
   * @param string $d The format of the date (defaults to user's config)
!  * @param int $comment_ID The ID of the comment for which to print the date.  Optional.
   */
  function comment_date( $d = '', $comment_ID = 0 ) {
  	echo get_comment_date( $d, $comment_ID );
--- 384,390 ----
   * @since 0.71
   *
   * @param string $d The format of the date (defaults to user's config)
!  * @param int $comment_ID The ID of the comment for which to print the date. Optional.
   */
  function comment_date( $d = '', $comment_ID = 0 ) {
  	echo get_comment_date( $d, $comment_ID );
***************
*** 769,775 ****
   * @param int $post_id An optional post ID to check instead of the current post.
   * @return bool True if the comments are open
   */
! function comments_open( $post_id=NULL ) {
  
  	$_post = get_post($post_id);
  
--- 769,775 ----
   * @param int $post_id An optional post ID to check instead of the current post.
   * @return bool True if the comments are open
   */
! function comments_open( $post_id = null ) {
  
  	$_post = get_post($post_id);
  
***************
*** 786,792 ****
   * @param int $post_id An optional post ID to check instead of the current post.
   * @return bool True if pings are accepted
   */
! function pings_open( $post_id = NULL ) {
  
  	$_post = get_post($post_id);
  
--- 786,792 ----
   * @param int $post_id An optional post ID to check instead of the current post.
   * @return bool True if pings are accepted
   */
! function pings_open( $post_id = null ) {
  
  	$_post = get_post($post_id);
  
***************
*** 816,823 ****
  	if ( !empty($post) )
  		$post_id = $post->ID;
  
! 	if ( current_user_can('unfiltered_html') )
! 		wp_nonce_field('unfiltered-html-comment_' . $post_id, '_wp_unfiltered_html_comment', false);
  }
  
  /**
--- 816,825 ----
  	if ( !empty($post) )
  		$post_id = $post->ID;
  
! 	if ( current_user_can( 'unfiltered_html' ) ) {
! 		wp_nonce_field( 'unfiltered-html-comment_' . $post_id, '_wp_unfiltered_html_comment_disabled', false );
! 		echo "<script>(function(){if(window===window.parent){document.getElementById('_wp_unfiltered_html_comment_disabled').name='_wp_unfiltered_html_comment';}})();</script>\n";
! 	}
  }
  
  /**
***************
*** 899,908 ****
  		$comments_by_type = &$wp_query->comments_by_type;
  	}
  
! 	$overridden_cpage = FALSE;
  	if ( '' == get_query_var('cpage') && get_option('page_comments') ) {
  		set_query_var( 'cpage', 'newest' == get_option('default_comments_page') ? get_comment_pages_count() : 1 );
! 		$overridden_cpage = TRUE;
  	}
  
  	if ( !defined('COMMENTS_TEMPLATE') || !COMMENTS_TEMPLATE)
--- 901,910 ----
  		$comments_by_type = &$wp_query->comments_by_type;
  	}
  
! 	$overridden_cpage = false;
  	if ( '' == get_query_var('cpage') && get_option('page_comments') ) {
  		set_query_var( 'cpage', 'newest' == get_option('default_comments_page') ? get_comment_pages_count() : 1 );
! 		$overridden_cpage = true;
  	}
  
  	if ( !defined('COMMENTS_TEMPLATE') || !COMMENTS_TEMPLATE)
***************
*** 912,918 ****
  	if ( file_exists( $include ) )
  		require( $include );
  	elseif ( file_exists( TEMPLATEPATH . $file ) )
! 		require( TEMPLATEPATH .  $file );
  	else // Backward compat code will be removed in a future release
  		require( ABSPATH . WPINC . '/theme-compat/comments.php');
  }
--- 914,920 ----
  	if ( file_exists( $include ) )
  		require( $include );
  	elseif ( file_exists( TEMPLATEPATH . $file ) )
! 		require( TEMPLATEPATH . $file );
  	else // Backward compat code will be removed in a future release
  		require( ABSPATH . WPINC . '/theme-compat/comments.php');
  }
***************
*** 1091,1097 ****
   * @since 2.7.0
   *
   * @param array $args Optional. Override default options.
!  * @param int|object $post Optional. Post that the comment is going to be displayed on.  Defaults to current post.
   * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
   */
  function get_post_reply_link($args = array(), $post = null) {
--- 1093,1099 ----
   * @since 2.7.0
   *
   * @param array $args Optional. Override default options.
!  * @param int|object $post Optional. Post that the comment is going to be displayed on. Defaults to current post.
   * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
   */
  function get_post_reply_link($args = array(), $post = null) {
***************
*** 1191,1197 ****
   * @param string $replytext Optional. Text to display when replying to a comment. Accepts "%s" for the author of the comment being replied to.
   * @param string $linktoparent Optional. Boolean to control making the author's name a link to their comment.
   */
! function comment_form_title( $noreplytext = false, $replytext = false, $linktoparent = TRUE ) {
  	global $comment;
  
  	if ( false === $noreplytext ) $noreplytext = __( 'Leave a Reply' );
--- 1193,1199 ----
   * @param string $replytext Optional. Text to display when replying to a comment. Accepts "%s" for the author of the comment being replied to.
   * @param string $linktoparent Optional. Boolean to control making the author's name a link to their comment.
   */
! function comment_form_title( $noreplytext = false, $replytext = false, $linktoparent = true ) {
  	global $comment;
  
  	if ( false === $noreplytext ) $noreplytext = __( 'Leave a Reply' );
***************
*** 1238,1244 ****
  	 * @param int $depth Depth of comment.
  	 * @param array $args Uses 'style' argument for type of HTML list.
  	 */
! 	function start_lvl(&$output, $depth, $args) {
  		$GLOBALS['comment_depth'] = $depth + 1;
  
  		switch ( $args['style'] ) {
--- 1240,1246 ----
  	 * @param int $depth Depth of comment.
  	 * @param array $args Uses 'style' argument for type of HTML list.
  	 */
! 	function start_lvl( &$output, $depth = 0, $args = array() ) {
  		$GLOBALS['comment_depth'] = $depth + 1;
  
  		switch ( $args['style'] ) {
***************
*** 1262,1268 ****
  	 * @param int $depth Depth of comment.
  	 * @param array $args Will only append content if style argument value is 'ol' or 'ul'.
  	 */
! 	function end_lvl(&$output, $depth, $args) {
  		$GLOBALS['comment_depth'] = $depth + 1;
  
  		switch ( $args['style'] ) {
--- 1264,1270 ----
  	 * @param int $depth Depth of comment.
  	 * @param array $args Will only append content if style argument value is 'ol' or 'ul'.
  	 */
! 	function end_lvl( &$output, $depth = 0, $args = array() ) {
  		$GLOBALS['comment_depth'] = $depth + 1;
  
  		switch ( $args['style'] ) {
***************
*** 1326,1332 ****
  	 * @param int $depth Depth of comment in reference to parents.
  	 * @param array $args
  	 */
! 	function start_el(&$output, $comment, $depth, $args) {
  		$depth++;
  		$GLOBALS['comment_depth'] = $depth;
  
--- 1328,1334 ----
  	 * @param int $depth Depth of comment in reference to parents.
  	 * @param array $args
  	 */
! 	function start_el( &$output, $comment, $depth, $args, $id = 0 ) {
  		$depth++;
  		$GLOBALS['comment_depth'] = $depth;
  
***************
*** 1386,1392 ****
  	 * @param int $depth Depth of comment.
  	 * @param array $args
  	 */
! 	function end_el(&$output, $comment, $depth, $args) {
  		if ( !empty($args['end-callback']) ) {
  			call_user_func($args['end-callback'], $comment, $args, $depth);
  			return;
--- 1388,1394 ----
  	 * @param int $depth Depth of comment.
  	 * @param array $args
  	 */
! 	function end_el(&$output, $comment, $depth = 0, $args = array() ) {
  		if ( !empty($args['end-callback']) ) {
  			call_user_func($args['end-callback'], $comment, $args, $depth);
  			return;
***************
*** 1408,1414 ****
   * @uses Walker_Comment
   *
   * @param string|array $args Formatting options
!  * @param array $comments Optional array of comment objects.  Defaults to $wp_query->comments
   */
  function wp_list_comments($args = array(), $comments = null ) {
  	global $wp_query, $comment_alt, $comment_depth, $comment_thread_alt, $overridden_cpage, $in_comment_loop;
--- 1410,1416 ----
   * @uses Walker_Comment
   *
   * @param string|array $args Formatting options
!  * @param array $comments Optional array of comment objects. Defaults to $wp_query->comments
   */
  function wp_list_comments($args = array(), $comments = null ) {
  	global $wp_query, $comment_alt, $comment_depth, $comment_thread_alt, $overridden_cpage, $in_comment_loop;
***************
*** 1517,1523 ****
  
  	$commenter = wp_get_current_commenter();
  	$user = wp_get_current_user();
! 	$user_identity = ! empty( $user->ID ) ? $user->display_name : '';
  
  	$req = get_option( 'require_name_email' );
  	$aria_req = ( $req ? " aria-required='true'" : '' );
--- 1519,1525 ----
  
  	$commenter = wp_get_current_commenter();
  	$user = wp_get_current_user();
! 	$user_identity = $user->exists() ? $user->display_name : '';
  
  	$req = get_option( 'require_name_email' );
  	$aria_req = ( $req ? " aria-required='true'" : '' );
***************
*** 1534,1540 ****
  	$defaults = array(
  		'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
  		'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',
! 		'must_log_in'          => '<p class="must-log-in">' .  sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
  		'logged_in_as'         => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
  		'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.' ) . ( $req ? $required_text : '' ) . '</p>',
  		'comment_notes_after'  => '<p class="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>',
--- 1536,1542 ----
  	$defaults = array(
  		'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
  		'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',
! 		'must_log_in'          => '<p class="must-log-in">' . sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
  		'logged_in_as'         => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
  		'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.' ) . ( $req ? $required_text : '' ) . '</p>',
  		'comment_notes_after'  => '<p class="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>',
***************
*** 1549,1555 ****
  	$args = wp_parse_args( $args, apply_filters( 'comment_form_defaults', $defaults ) );
  
  	?>
! 		<?php if ( comments_open() ) : ?>
  			<?php do_action( 'comment_form_before' ); ?>
  			<div id="respond">
  				<h3 id="reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>
--- 1551,1557 ----
  	$args = wp_parse_args( $args, apply_filters( 'comment_form_defaults', $defaults ) );
  
  	?>
! 		<?php if ( comments_open( $post_id ) ) : ?>
  			<?php do_action( 'comment_form_before' ); ?>
  			<div id="respond">
  				<h3 id="reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>
***************
*** 1588,1592 ****
  		<?php endif; ?>
  	<?php
  }
- 
- ?>
--- 1590,1592 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/cron.php ./wordpress-3.4/wp-includes/cron.php
*** ./wordpress-3.3.2/wp-includes/cron.php	2011-09-09 14:59:44.000000000 -0500
--- ./wordpress-3.4/wp-includes/cron.php	2012-02-14 11:53:35.000000000 -0600
***************
*** 47,53 ****
   * specific interval, specified by you. The action will trigger when someone
   * visits your WordPress site, if the scheduled time has passed.
   *
!  * Valid values for the recurrence are hourly, daily and twicedaily.  These can
   * be extended using the cron_schedules filter in wp_get_schedules().
   *
   * Use wp_next_scheduled() to prevent duplicates
--- 47,53 ----
   * specific interval, specified by you. The action will trigger when someone
   * visits your WordPress site, if the scheduled time has passed.
   *
!  * Valid values for the recurrence are hourly, daily and twicedaily. These can
   * be extended using the cron_schedules filter in wp_get_schedules().
   *
   * Use wp_next_scheduled() to prevent duplicates
***************
*** 194,201 ****
   */
  function spawn_cron( $local_time = 0 ) {
  
! 	if ( !$local_time )
! 		$local_time = time();
  
  	if ( defined('DOING_CRON') || isset($_GET['doing_wp_cron']) )
  		return;
--- 194,201 ----
   */
  function spawn_cron( $local_time = 0 ) {
  
! 	if ( ! $local_time )
! 		$local_time = microtime( true );
  
  	if ( defined('DOING_CRON') || isset($_GET['doing_wp_cron']) )
  		return;
***************
*** 226,232 ****
  		if ( !empty($_POST) || defined('DOING_AJAX') )
  			return;
  
! 		$doing_wp_cron = $local_time;
  		set_transient( 'doing_cron', $doing_wp_cron );
  
  		ob_start();
--- 226,232 ----
  		if ( !empty($_POST) || defined('DOING_AJAX') )
  			return;
  
! 		$doing_wp_cron = sprintf( '%.22F', $local_time );
  		set_transient( 'doing_cron', $doing_wp_cron );
  
  		ob_start();
***************
*** 241,251 ****
  		return;
  	}
  
! 	$doing_wp_cron = $local_time;
  	set_transient( 'doing_cron', $doing_wp_cron );
  
! 	$cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron=' . $doing_wp_cron;
! 	wp_remote_post( $cron_url, array('timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters('https_local_ssl_verify', true)) );
  }
  
  /**
--- 241,251 ----
  		return;
  	}
  
! 	$doing_wp_cron = sprintf( '%.22F', $local_time );
  	set_transient( 'doing_cron', $doing_wp_cron );
  
! 	$cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );
! 	wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
  }
  
  /**
***************
*** 264,270 ****
  	if ( false === $crons = _get_cron_array() )
  		return;
  
! 	$local_time = time();
  	$keys = array_keys( $crons );
  	if ( isset($keys[0]) && $keys[0] > $local_time )
  		return;
--- 264,270 ----
  	if ( false === $crons = _get_cron_array() )
  		return;
  
! 	$local_time = microtime( true );
  	$keys = array_keys( $crons );
  	if ( isset($keys[0]) && $keys[0] > $local_time )
  		return;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/admin-bar.css ./wordpress-3.4/wp-includes/css/admin-bar.css
*** ./wordpress-3.3.2/wp-includes/css/admin-bar.css	2011-12-09 13:20:47.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/admin-bar.css	2012-05-25 17:58:24.000000000 -0500
***************
*** 1 ****
! #wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-transform:none;letter-spacing:normal;line-height:1;font:normal 13px/28px sans-serif;color:#ccc;text-shadow:#444 0 -1px 0;}#wpadminbar ul li:before,#wpadminbar ul li:after{content:normal;}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:none;border:none;text-decoration:none;background:none;}#wpadminbar{direction:ltr;color:#ccc;font:normal 13px/28px sans-serif;height:28px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background-color:#464646;background-image:-ms-linear-gradient(bottom,#373737,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737,#464646 5px);background-image:-o-linear-gradient(bottom,#373737,#464646 5px);background-image:-webkit-gradient(linear,left bottom,left top,from(#373737),to(#464646));background-image:-webkit-linear-gradient(bottom,#373737,#464646 5px);background-image:linear-gradient(bottom,#373737,#464646 5px);}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:none;clear:none;list-style:none;margin:0;padding:0;position:relative;z-index:99999;}#wpadminbar .quicklinks{border-left:1px solid transparent;}#wpadminbar .quicklinks ul{text-align:left;}#wpadminbar li{float:left;}#wpadminbar .ab-empty-item{outline:none;}#wpadminbar .quicklinks>ul>li{border-right:1px solid #555;}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-empty-item{border-right:1px solid #333;}#wpadminbar .quicklinks .ab-top-secondary>li{border-left:1px solid #333;border-right:0;float:right;}#wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-empty-item{border-left:1px solid #555;border-right:0;}#wpadminbar .quicklinks a,#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .shortlink-input{height:28px;display:block;padding:0 12px;margin:0;}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0 0 0 -1px;padding:0;-moz-box-shadow:0 4px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 4px 4px rgba(0,0,0,0.2);box-shadow:0 4px 4px rgba(0,0,0,0.2);background:#fff;display:none;position:absolute;float:none;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:28px;left:0;}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto;margin:0 -1px 0 0;}#wpadminbar .ab-sub-wrapper>.ab-submenu:first-child{border-top:none;}#wpadminbar .ab-submenu{padding:6px 0;border-top:1px solid #dfdfdf;}#wpadminbar .selected .shortlink-input{display:block;}#wpadminbar .quicklinks .menupop ul li{float:none;}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:bold;}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item,#wpadminbar .shortlink-input{line-height:26px;height:26px;text-shadow:none;white-space:nowrap;min-width:140px;}#wpadminbar .shortlink-input{width:200px;}#wpadminbar.nojs li:hover>.ab-sub-wrapper,#wpadminbar li.hover>.ab-sub-wrapper{display:block;}#wpadminbar .menupop li:hover>.ab-sub-wrapper,#wpadminbar .menupop li.hover>.ab-sub-wrapper{margin-left:100%;margin-top:-33px;border-width:1px;}#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%;}#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fafafa;background-color:#3a3a3a;background-image:-ms-linear-gradient(bottom,#3a3a3a,#222);background-image:-moz-linear-gradient(bottom,#3a3a3a,#222);background-image:-o-linear-gradient(bottom,#3a3a3a,#222);background-image:-webkit-gradient(linear,left bottom,left top,from(#3a3a3a),to(#222));background-image:-webkit-linear-gradient(bottom,#3a3a3a,#222);background-image:linear-gradient(bottom,#3a3a3a,#222);}#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item{background:#fff;color:#333;text-shadow:none;}#wpadminbar .hover .ab-label,#wpadminbar.nojq .ab-item:focus .ab-label{color:#fafafa;}#wpadminbar .menupop.hover .ab-label{color:#333;text-shadow:none;}#wpadminbar .menupop li:hover,#wpadminbar .menupop li.hover,#wpadminbar .quicklinks .menupop .ab-item:focus,#wpadminbar .quicklinks .ab-top-menu .menupop .ab-item:focus{background-color:#eaf2fa;}#wpadminbar .ab-submenu .ab-item{color:#333;text-shadow:none;}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#21759B;}#wpadminbar .menupop .menupop>.ab-item{display:block;background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:95% -20px;background-repeat:no-repeat;padding-right:2em;}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:5% -46px;background-repeat:no-repeat;padding-left:2em;padding-right:1em;}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;background:#eee;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li.hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus{background-color:#dfdfdf;}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:bold;-webkit-border-radius:10px;border-radius:10px;}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000;}#wpadminbar .ab-top-secondary{float:right;background-color:#464646;background-image:-ms-linear-gradient(bottom,#373737,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737,#464646 5px);background-image:-o-linear-gradient(bottom,#373737,#464646 5px);background-image:-webkit-gradient(linear,left bottom,left top,from(#373737),to(#464646));background-image:-webkit-linear-gradient(bottom,#373737,#464646 5px);background-image:linear-gradient(bottom,#373737,#464646 5px);}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{border-right:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}#wp-admin-bar-my-account>ul{min-width:198px;}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px;}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px;}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px;}#wp-admin-bar-user-actions>li>.ab-item{padding-left:8px;}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:none;}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;}#wpadminbar #wp-admin-bar-user-info a{background:none;height:auto;}#wpadminbar #wp-admin-bar-user-info span{background:none;padding:0;height:18px;}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{text-shadow:none;display:block;}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333;}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;border:1px solid #999;padding:0;background:#eee;line-height:24px;vertical-align:middle;margin:-3px 0 0 6px;float:none;display:inline;}#wpadminbar .quicklinks li img.blavatar{vertical-align:middle;margin:-3px 4px 0 0;padding:0;}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;}#wpadminbar #wp-admin-bar-search .ab-item{background:transparent;}#wpadminbar #adminbarsearch{height:28px;padding:0 2px;}#wpadminbar #adminbarsearch .adminbar-input{font:13px/24px sans-serif;height:24px;width:24px;border:none;padding:0 3px 0 23px;margin:0;color:#ccc;text-shadow:#444 0 -1px 0;background-color:rgba(255,255,255,0);background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:3px 2px;background-repeat:no-repeat;outline:none;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease;}#wpadminbar.ie7 #adminbarsearch .adminbar-input{margin-top:1px;width:120px;}#wpadminbar #adminbarsearch .adminbar-input:focus{color:#555;text-shadow:0 1px 0 #fff;width:200px;background-color:rgba(255,255,255,0.9);}#wpadminbar.ie8 #adminbarsearch .adminbar-input{background-color:#464646;}#wpadminbar.ie8 #adminbarsearch .adminbar-input:focus{background-color:#fff;}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#ddd;}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#ddd;}#wpadminbar #adminbarsearch .adminbar-button{display:none;}#wpadminbar #wp-admin-bar-appearance{border-top:none;margin-top:-12px;}#wpadminbar #wp-admin-bar-appearance{border-top:none;margin-top:-12px;}#wpadminbar .ab-icon{position:relative;float:left;width:16px;height:16px;margin-top:6px;}#wpadminbar .ab-label{margin-left:4px;}#wp-admin-bar-wp-logo>.ab-item .ab-icon{width:20px;height:20px;margin-top:4px;background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:0 -76px;background-repeat:no-repeat;}#wpadminbar.nojs #wp-admin-bar-wp-logo:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-wp-logo.hover>.ab-item .ab-icon{background-position:0 -104px;}#wp-admin-bar-updates>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:-2px -159px;background-repeat:no-repeat;}#wp-admin-bar-comments>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:-1px -134px;background-repeat:no-repeat;}#wpadminbar span.count-0{display:none;}#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:-2px -182px;background-repeat:no-repeat;}#wpadminbar.nojs #wp-admin-bar-new-content:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content.hover>.ab-item .ab-icon{background-position:-2px -203px;}* html #wpadminbar{overflow:hidden;position:absolute;}* html #wpadminbar .quicklinks ul li a{float:left;}* html #wpadminbar .menupop a span{background-image:none;}
\ No newline at end of file
--- 1 ----
! #wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-transform:none;letter-spacing:normal;line-height:1;font:normal 13px/28px sans-serif;color:#ccc;text-shadow:#444 0 -1px 0}#wpadminbar ul li:before,#wpadminbar ul li:after{content:normal}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:0;border:0;text-decoration:none;background:0}#wpadminbar{direction:ltr;color:#ccc;font:normal 13px/28px sans-serif;height:28px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background-color:#464646;background-image:-ms-linear-gradient(bottom,#373737,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737,#464646 5px);background-image:-o-linear-gradient(bottom,#373737,#464646 5px);background-image:-webkit-gradient(linear,left bottom,left top,from(#373737),to(#464646));background-image:-webkit-linear-gradient(bottom,#373737,#464646 5px);background-image:linear-gradient(bottom,#373737,#464646 5px)}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0;clear:none;list-style:none;margin:0;padding:0;position:relative;z-index:99999}#wpadminbar .quicklinks{border-left:1px solid transparent}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks>ul>li{border-right:1px solid #555}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-empty-item{border-right:1px solid #333}#wpadminbar .quicklinks .ab-top-secondary>li{border-left:1px solid #333;border-right:0;float:right}#wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-empty-item{border-left:1px solid #555;border-right:0}#wpadminbar .quicklinks a,#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .shortlink-input{height:28px;display:block;padding:0 12px;margin:0}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0 0 0 -1px;padding:0;-moz-box-shadow:0 4px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 4px 4px rgba(0,0,0,0.2);box-shadow:0 4px 4px rgba(0,0,0,0.2);background:#fff;display:none;position:absolute;float:none;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:28px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto;margin:0 -1px 0 0}#wpadminbar .ab-sub-wrapper>.ab-submenu:first-child{border-top:0}#wpadminbar .ab-submenu{padding:6px 0;border-top:1px solid #dfdfdf}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:bold}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item,#wpadminbar .shortlink-input{line-height:26px;height:26px;text-shadow:none;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar.nojs li:hover>.ab-sub-wrapper,#wpadminbar li.hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li:hover>.ab-sub-wrapper,#wpadminbar .menupop li.hover>.ab-sub-wrapper{margin-left:100%;margin-top:-33px;border-width:1px}#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fafafa;background-color:#3a3a3a;background-image:-ms-linear-gradient(bottom,#3a3a3a,#222);background-image:-moz-linear-gradient(bottom,#3a3a3a,#222);background-image:-o-linear-gradient(bottom,#3a3a3a,#222);background-image:-webkit-gradient(linear,left bottom,left top,from(#3a3a3a),to(#222));background-image:-webkit-linear-gradient(bottom,#3a3a3a,#222);background-image:linear-gradient(bottom,#3a3a3a,#222)}#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item{background:#fff;color:#333;text-shadow:none;border-right-color:transparent;border-left-color:transparent}#wpadminbar .hover .ab-label,#wpadminbar.nojq .ab-item:focus .ab-label{color:#fafafa}#wpadminbar .menupop.hover .ab-label{color:#333;text-shadow:none}#wpadminbar .menupop li:hover,#wpadminbar .menupop li.hover,#wpadminbar .quicklinks .menupop .ab-item:focus,#wpadminbar .quicklinks .ab-top-menu .menupop .ab-item:focus{background-color:#eaf2fa}#wpadminbar .ab-submenu .ab-item{color:#333;text-shadow:none}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#21759b}#wpadminbar .menupop .menupop>.ab-item{display:block;background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:95% -20px;background-repeat:no-repeat;padding-right:2em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:5% -46px;background-repeat:no-repeat;padding-left:2em;padding-right:1em}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;background:#eee;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li.hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus{background-color:#dfdfdf}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:bold;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right;background-color:#464646;background-image:-ms-linear-gradient(bottom,#373737,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737,#464646 5px);background-image:-o-linear-gradient(bottom,#373737,#464646 5px);background-image:-webkit-gradient(linear,left bottom,left top,from(#373737),to(#464646));background-image:-webkit-linear-gradient(bottom,#373737,#464646 5px);background-image:linear-gradient(bottom,#373737,#464646 5px)}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{border-right:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wp-admin-bar-user-actions>li>.ab-item{padding-left:8px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{text-shadow:none;display:block}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;border:1px solid #999;padding:0;background:#eee;line-height:24px;vertical-align:middle;margin:-3px 0 0 6px;float:none;display:inline}#wpadminbar .quicklinks li img.blavatar{vertical-align:middle;margin:-3px 4px 0 0;padding:0}#wpadminbar #wp-admin-bar-search .ab-item{padding:0}#wpadminbar #wp-admin-bar-search .ab-item{background:transparent}#wpadminbar #adminbarsearch{height:28px;padding:0 2px}#wpadminbar #adminbarsearch .adminbar-input{font:13px/24px sans-serif;height:24px;width:24px;border:0;padding:0 3px 0 23px;margin:0;color:#ccc;text-shadow:#444 0 -1px 0;background-color:rgba(255,255,255,0);background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:3px 2px;background-repeat:no-repeat;outline:0;cursor:pointer;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease}#wpadminbar.ie7 #adminbarsearch .adminbar-input{margin-top:1px;width:120px}#wpadminbar #adminbarsearch .adminbar-input:focus{color:#555;text-shadow:0 1px 0 #fff;width:200px;background-color:rgba(255,255,255,0.9);cursor:text}#wpadminbar.ie8 #adminbarsearch .adminbar-input{background-color:#464646}#wpadminbar.ie8 #adminbarsearch .adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#ddd}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#ddd}#wpadminbar #adminbarsearch .adminbar-button{display:none}#wpadminbar #wp-admin-bar-appearance{border-top:0;margin-top:-12px}#wpadminbar #wp-admin-bar-appearance{border-top:0;margin-top:-12px}#wpadminbar .ab-icon{position:relative;float:left;width:16px;height:16px;margin-top:6px}#wpadminbar .ab-label{margin-left:4px}#wp-admin-bar-wp-logo>.ab-item .ab-icon{width:20px;height:20px;margin-top:4px;background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:0 -76px;background-repeat:no-repeat}#wpadminbar.nojs #wp-admin-bar-wp-logo:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-wp-logo.hover>.ab-item .ab-icon{background-position:0 -104px}#wp-admin-bar-updates>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:-2px -159px;background-repeat:no-repeat}#wp-admin-bar-comments>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:-1px -134px;background-repeat:no-repeat}#wpadminbar span.count-0{display:none}#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20111130);background-position:-2px -182px;background-repeat:no-repeat}#wpadminbar.nojs #wp-admin-bar-new-content:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content.hover>.ab-item .ab-icon{background-position:-2px -203px}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize{display:none}@media only screen and (-webkit-min-device-pixel-ratio:1.5){#wpadminbar .menupop .menupop>.ab-item,#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item,#wpadminbar #adminbarsearch .adminbar-input,#wp-admin-bar-wp-logo>.ab-item .ab-icon,#wp-admin-bar-updates>.ab-item .ab-icon,#wp-admin-bar-comments>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite-2x.png?d=20120516);background-size:20px 220px}}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/admin-bar.dev.css ./wordpress-3.4/wp-includes/css/admin-bar.dev.css
*** ./wordpress-3.3.2/wp-includes/css/admin-bar.dev.css	2011-12-09 13:20:47.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/admin-bar.dev.css	2012-05-25 17:26:00.000000000 -0500
***************
*** 129,134 ****
--- 128,137 ----
  	left: 0;
  }
  
+ #wpadminbar .ab-top-menu > .menupop > .ab-sub-wrapper {
+ 	min-width: 100%;
+ }
+ 
  #wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper {
  	right: 0;
  	left: auto;
***************
*** 210,215 ****
--- 213,220 ----
  	background: #fff;
  	color: #333;
  	text-shadow: none;
+ 	border-right-color: transparent;
+ 	border-left-color: transparent;
  }
  
  #wpadminbar .hover .ab-label,
***************
*** 347,352 ****
--- 352,359 ----
  	position: absolute;
  	left: -72px;
  	top: 4px;
+ 	width: 64px;
+ 	height: 64px;
  }
  
  #wpadminbar #wp-admin-bar-user-info a {
***************
*** 427,432 ****
--- 435,441 ----
  	background-position: 3px 2px;
  	background-repeat: no-repeat;
  	outline: none;
+ 	cursor: pointer;
  
  	-webkit-border-radius: 3px;
  	border-radius: 3px;
***************
*** 461,466 ****
--- 470,476 ----
  	text-shadow: 0 1px 0 #fff;
  	width: 200px;
  	background-color: rgba( 255, 255, 255, 0.9 );
+ 	cursor: text;
  }
  
  #wpadminbar.ie8 #adminbarsearch .adminbar-input {
***************
*** 572,577 ****
--- 582,611 ----
  }
  
  /**
+  * Customize support classes
+  */
+ .no-customize-support .hide-if-no-customize,
+ .customize-support .hide-if-customize {
+ 	display: none;
+ }
+ 
+ /**
+  * Retina display 2x icons
+  */
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
+ 	#wpadminbar .menupop .menupop > .ab-item,
+ 	#wpadminbar .ab-top-secondary .menupop .menupop > .ab-item,
+ 	#wpadminbar #adminbarsearch .adminbar-input,
+ 	#wp-admin-bar-wp-logo > .ab-item .ab-icon,
+ 	#wp-admin-bar-updates > .ab-item .ab-icon,
+ 	#wp-admin-bar-comments > .ab-item .ab-icon,
+ 	#wpadminbar #wp-admin-bar-new-content > .ab-item .ab-icon {
+ 		background-image: url(../images/admin-bar-sprite-2x.png?d=20120516);
+ 		background-size: 20px 220px;
+ 	}
+ }
+ 
+ /**
   * IE 6-targeted rules
   */
  * html #wpadminbar {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/admin-bar-rtl.css ./wordpress-3.4/wp-includes/css/admin-bar-rtl.css
*** ./wordpress-3.3.2/wp-includes/css/admin-bar-rtl.css	2011-12-06 19:18:23.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/admin-bar-rtl.css	2012-02-01 08:37:52.000000000 -0600
***************
*** 1 ****
! #wpadminbar *{font-family:Tahoma,Arial,Helvetica,sans-serif;}#wpadminbar{direction:rtl;font-family:Tahoma,Arial,Helvetica,sans-serif;left:auto;right:0;}#wpadminbar .quicklinks{border-left:0;border-right:1px solid transparent;}#wpadminbar .quicklinks ul{text-align:right;}#wpadminbar li{float:right;}#wpadminbar .quicklinks>ul>li{border-right:0;border-left:1px solid #555;}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-empty-item{border-right:0;border-left:1px solid #333;}#wpadminbar .quicklinks .ab-top-secondary>li{border-left:0;border-right:1px solid #333;float:left;}#wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-empty-item{border-right:1px solid #555;border-left:0;}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0 -1px 0 0;}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{left:auto;right:0;}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:auto;left:0;margin:0 0 0 -1px;}#wpadminbar .menupop li:hover>.ab-sub-wrapper,#wpadminbar .menupop li.hover>.ab-sub-wrapper{margin-left:0;margin-right:100%;}#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper{margin-left:inherit;margin-right:0;left:100%;right:inherit;}#wpadminbar .menupop .menupop>.ab-item{background-position:5% -46px;padding-left:2em;padding-right:1em;}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{background-position:95% -20px;padding-left:1em;padding-right:2em;}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{right:0;left:auto;}#wpadminbar .ab-top-secondary{float:left;right:auto;left:0;}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{border-left:0;}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px;margin-left:16px;}#wp-admin-bar-user-actions>li>.ab-item{padding-left:0;padding-right:8px;}#wp-admin-bar-user-info .avatar{left:auto;right:-72px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{margin-left:-1px;margin-right:4px;}#wpadminbar .quicklinks li img.blavatar{margin-right:0;margin-left:4px;}#wpadminbar #adminbarsearch .adminbar-input{font-family:Tahoma,Arial,Helvetica,sans-serif;padding:0 24px 0 3px;margin:0;background-position:50% 2px;}#wpadminbar #adminbarsearch .adminbar-input:focus,#wpadminbar.ie7 #adminbarsearch .adminbar-input{background-position:99% 2px;}#wpadminbar .ab-icon{float:right;}.ie7 #wp-admin-bar-wp-logo>.ab-item .ab-icon{position:static;}#wpadminbar.ie7 .ab-icon{float:left;left:12px;}#wpadminbar .ab-label{margin-left:0;margin-right:4px;float:left;}#wpadminbar.ie7 .ab-label{margin-right:0;}#wpadminbar.ie7 #wp-admin-bar-comments>a{min-width:25px;}#wpadminbar a:hover .ab-comments-icon-arrow{border-right-color:#bbb;}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{right:0;}#wpadminbar .quicklinks .menupop ul li a{position:relative;}* html #wpadminbar .quicklinks ul li a{float:right;}
\ No newline at end of file
--- 1 ----
! #wpadminbar *{font-family:Tahoma,Arial,Helvetica,sans-serif}#wpadminbar{direction:rtl;font-family:Tahoma,Arial,Helvetica,sans-serif;left:auto;right:0}#wpadminbar .quicklinks{border-left:0;border-right:1px solid transparent}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .quicklinks>ul>li{border-right:0;border-left:1px solid #555}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-empty-item{border-right:0;border-left:1px solid #333}#wpadminbar .quicklinks .ab-top-secondary>li{border-left:0;border-right:1px solid #333;float:left}#wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-empty-item{border-right:1px solid #555;border-left:0}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0 -1px 0 0}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{left:auto;right:0}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:auto;left:0;margin:0 0 0 -1px}#wpadminbar .menupop li:hover>.ab-sub-wrapper,#wpadminbar .menupop li.hover>.ab-sub-wrapper{margin-left:0;margin-right:100%}#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper{margin-left:inherit;margin-right:0;left:100%;right:inherit}#wpadminbar .menupop .menupop>.ab-item{background-position:5% -46px;padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{background-position:95% -20px;padding-left:1em;padding-right:2em}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{right:0;left:auto}#wpadminbar .ab-top-secondary{float:left;right:auto;left:0}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{border-left:0}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px;margin-left:16px}#wp-admin-bar-user-actions>li>.ab-item{padding-left:0;padding-right:8px}#wp-admin-bar-user-info .avatar{left:auto;right:-72px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{margin-left:-1px;margin-right:4px}#wpadminbar .quicklinks li img.blavatar{margin-right:0;margin-left:4px}#wpadminbar #adminbarsearch .adminbar-input{font-family:Tahoma,Arial,Helvetica,sans-serif;padding:0 24px 0 3px;margin:0;background-position:50% 2px}#wpadminbar #adminbarsearch .adminbar-input:focus,#wpadminbar.ie7 #adminbarsearch .adminbar-input{background-position:99% 2px}#wpadminbar .ab-icon{float:right}.ie7 #wp-admin-bar-wp-logo>.ab-item .ab-icon{position:static}#wpadminbar.ie7 .ab-icon{float:left;left:12px}#wpadminbar .ab-label{margin-left:0;margin-right:4px;float:left}#wpadminbar.ie7 .ab-label{margin-right:0}#wpadminbar.ie7 #wp-admin-bar-comments>a{min-width:25px}#wpadminbar a:hover .ab-comments-icon-arrow{border-right-color:#bbb}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{right:0}#wpadminbar .quicklinks .menupop ul li a{position:relative}* html #wpadminbar .quicklinks ul li a{float:right}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/editor-buttons.css ./wordpress-3.4/wp-includes/css/editor-buttons.css
*** ./wordpress-3.3.2/wp-includes/css/editor-buttons.css	2011-11-14 14:40:31.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/editor-buttons.css	1969-12-31 18:00:00.000000000 -0600
***************
*** 1 ****
- .wp_themeSkin table,.wp_themeSkin tbody,.wp_themeSkin a,.wp_themeSkin img,.wp_themeSkin tr,.wp_themeSkin div,.wp_themeSkin td,.wp_themeSkin iframe,.wp_themeSkin span,.wp_themeSkin *,.wp_themeSkin .mceText{border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:normal;cursor:default;vertical-align:baseline;width:auto;border-collapse:separate;}.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{text-decoration:none;font-weight:normal;cursor:default;}.wp_themeSkin table td{vertical-align:middle;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{display:block;}.wp_themeSkin #mce_fullscreen_ifr{background-color:#fff;}.wp_themeSkin .mceToolbar{padding:1px;}.wp_themeSkin .mceExternalToolbar{position:absolute;border-bottom:0;display:none;}.wp_themeSkin .mceExternalToolbar td.mceToolbar{padding-right:13px;}.wp_themeSkin .mceExternalClose{position:absolute;top:3px;right:3px;width:7px;height:7px;background:url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0;}.wp_themeSkin table.mceToolbar,.wp_themeSkin tr.mceFirst .mceToolbar tr td,.wp_themeSkin tr.mceLast .mceToolbar tr td{border:0;margin:0;padding:0;}.wp_themeSkin table.mceLayout{border:0;}.wp_themeSkin .mceStatusbar{display:block;font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;line-height:16px;padding:0 0 0 8px;overflow:visible;height:20px;border-top:1px solid #dfdfdf;color:#000;background-color:#f5f5f5;}.rtl .wp_themeSkin .mceStatusbar{padding:0 8px 0 0;}.wp_themeSkin .mceStatusbar *{color:#555;}.wp_themeSkin .mceStatusbar div{float:left;padding:2px;}.rtl .wp_themeSkin .mceStatusbar div{float:right;}.wp_themeSkin .mceStatusbar a.mceResize{display:block;float:right;background:url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;width:20px;height:20px;cursor:se-resize;}.rtl .wp_themeSkin .mceStatusbar a.mceResize{float:left;}.wp_themeSkin .mceStatusbar a:hover{text-decoration:underline;}.wp_themeSkin table.mceToolbar{margin:0 6px 2px;}.wp_themeSkin #content_toolbar1{margin-top:2px;}.wp_themeSkin .mceToolbar .mceToolbarEndListBox span{display:none;}.wp_themeSkin span.mceIcon,.wp_themeSkin img.mceIcon{display:block;width:20px;height:20px;}.wp_themeSkin .mceIcon{background:url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px;}.wp_themeSkin .mceButton{display:block;width:20px;height:20px;cursor:default;padding:1px 2px;margin:1px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;}.wp_themeSkin a.mceButtonEnabled:hover{background-image:inherit 0 -10px;}.wp_themeSkin .mceOldBoxModel a.mceButton span,.wp_themeSkin .mceOldBoxModel a.mceButton img{margin:0 0 0 1px;}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:hover,.wp_themeSkin a.mceButtonSelected{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;}.wp_themeSkin .mceButtonDisabled .mceIcon{opacity:.5;filter:alpha(opacity=50);}.wp_themeSkin .mceSeparator{height:24px;width:1px;display:block;background:transparent;overflow:hidden;margin:0 2px;}.wp_themeSkin .mceListBox,.wp_themeSkin .mceListBox a{display:block;}.wp_themeSkin .mceListBox .mceText{padding:1px 2px 1px 5px;text-align:left;text-decoration:none;width:70px;-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;height:20px;line-height:20px;overflow:hidden;}.wp_themeSkin .mceListBox{margin:1px;direction:ltr;}.wp_themeSkin .mceListBox .mceOpen{width:14px;height:20px;border-collapse:separate;padding:1px;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;}.wp_themeSkin .mceListBox .mceOpen span{display:block;width:14px;height:20px;background-image:url("../images/down_arrow.gif");background-position:2px 1px;background-repeat:no-repeat;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen{background-image:none;}.wp_themeSkin .mceListBoxDisabled .mceText{color:gray;}.wp_themeSkin .mceListBoxMenu{overflow:auto;overflow-x:hidden;}.wp_themeSkin .mceOldBoxModel .mceListBox .mceText{height:22px;}.wp_themeSkin select.mceListBox{font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a,.wp_themeSkin .mceSplitButton span{display:block;height:20px;}.wp_themeSkin .mceSplitButton{display:block;margin:1px;direction:ltr;}.wp_themeSkin table.mceSplitButton td{padding:2px;-webkit-border-radius:2px;border-radius:2px;}.wp_themeSkin table.mceSplitButton td a{-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;}.wp_themeSkin table.mceSplitButton:hover td{background-image:inherit 0 -10px;}.wp_themeSkin .mceSplitButton a.mceAction{height:20px;width:20px;padding:1px 2px;}.wp_themeSkin .mceSplitButton span.mceAction{background-image:url("../js/tinymce/themes/advanced/img/icons.gif");background-repeat:no-repeat;background-color:transparent;width:20px;}.wp_themeSkin .mceSplitButton a.mceOpen{width:10px;height:20px;background-image:url("../images/down_arrow.gif");background-position:1px 2px;background-repeat:no-repeat;padding:1px;border-left:0 none!important;}.wp_themeSkin .mceSplitButton span.mceOpen{display:none;}.wp_themeSkin .mceSplitButtonDisabled .mceAction{opacity:.3;filter:alpha(opacity=30);}.wp_themeSkin .mceListBox a.mceText,.wp_themeSkin .mceSplitButton a.mceAction{-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px;}.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceListBox a.mceOpen{-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px;}.wp_themeSkin span.mce_undo,.wp_themeSkin span.mce_redo,.wp_themeSkin span.mce_bullist,.wp_themeSkin span.mce_numlist,.wp_themeSkin span.mce_blockquote,.wp_themeSkin span.mce_charmap,.wp_themeSkin span.mce_bold,.wp_themeSkin span.mce_italic,.wp_themeSkin span.mce_underline,.wp_themeSkin span.mce_justifyleft,.wp_themeSkin span.mce_justifyright,.wp_themeSkin span.mce_justifycenter,.wp_themeSkin span.mce_justifyfull,.wp_themeSkin span.mce_indent,.wp_themeSkin span.mce_outdent,.wp_themeSkin span.mce_link,.wp_themeSkin span.mce_unlink,.wp_themeSkin span.mce_help,.wp_themeSkin span.mce_removeformat,.wp_themeSkin span.mce_fullscreen,.wp_themeSkin span.mce_wp_fullscreen,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_pastetext,.wp_themeSkin span.mce_pasteword,.wp_themeSkin span.mce_wp_help,.wp_themeSkin span.mce_wp_adv,.wp_themeSkin span.mce_wp_more,.wp_themeSkin span.mce_strikethrough,.wp_themeSkin span.mce_spellchecker,.wp_themeSkin span.mce_forecolor,.wp_themeSkin .mce_forecolorpicker,.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceSplitButton span.mce_numlist,.wp_themeSkin .mceSplitButton span.mce_bullist{background-image:url(../images/wpicons.png);}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu td{padding:2px;}.wp_themeSkin .mceColorSplitMenu a{display:block;width:9px;height:9px;overflow:hidden;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu td.mceMoreColors{padding:1px 3px 1px 1px;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{width:100%;height:auto;text-align:center;font-family:Tahoma,Verdana,Arial,Helvetica;font-size:11px;line-height:20px;border-color:#fff;}.wp_themeSkin .mceColorPreview{margin:-5px 0 0 2px;width:16px;height:4px;overflow:hidden;}.wp_themeSkin .mceMenu{position:absolute;left:0;top:0;z-index:1000;border-color:#ddd;}.wp_themeSkin .mceNoIcons span.mceIcon{width:0;}.wp_themeSkin .mceNoIcons a .mceText{padding-left:10px;}.wp_themeSkin .mceMenu table{background-color:#ebeaeb;}.wp_themeSkin .mceMenu a,.wp_themeSkin .mceMenu span,.wp_themeSkin .mceMenu{display:block;}.wp_themeSkin .mceMenu td{height:20px;overflow:hidden;}.wp_themeSkin .mceMenu a{position:relative;padding:3px 0 4px 0;text-decoration:none!important;}.wp_themeSkin .mceMenu .mceText{position:relative;display:block;font-family:Tahoma,Verdana,Arial,Helvetica;cursor:default;margin:0;padding:0 25px;color:#000;}.wp_themeSkin .mceMenu span.mceText,.wp_themeSkin .mceMenu .mcePreview{font-size:12px;}.wp_themeSkin .mceMenu pre.mceText{font-family:Monospace;}.wp_themeSkin .mceMenu .mceIcon{position:absolute;top:0;left:0;width:22px;}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5;}.wp_themeSkin td.mceMenuItemSeparator{height:1px;background-color:#aaa;}.wp_themeSkin .mceMenuItemTitle a{border-top:0;border-right:0;border-left:0;border-bottom:1px solid #aaa;text-decoration:none!important;background-color:#ccc;}.wp_themeSkin .mceMenuItemTitle span.mceText{font-weight:bold;padding-left:4px;color:#000;}.wp_themeSkin .mceMenuItemSelected .mceIcon{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");color:#888;}.wp_themeSkin .mceNoIcons .mceMenuItemSelected a{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center;}.wp_themeSkin .mceMenu span.mceMenuLine{display:none;}.wp_themeSkin .mceMenuItemSub a{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top right;}.wp_themeSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;opacity:.5;filter:alpha(opacity=50);background:#FFF;}.wp_themeSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001;background:url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;width:32px;height:32px;margin:-16px 0 0 -16px;}.wp_themeSkin .mcePlaceHolder{border:1px dotted gray;}.wp_themeSkin .mce_address span.mceText{font-style:italic;}.wp_themeSkin .mce_pre span.mceText{font-family:monospace;}.wp_themeSkin .mce_h1 span.mceText{font-weight:bolder;font-size:17px;}.wp_themeSkin .mce_h2 span.mceText{font-weight:bolder;font-size:16px;}.wp_themeSkin .mce_h3 span.mceText{font-weight:bolder;font-size:15px;}.wp_themeSkin .mce_h4 span.mceText{font-weight:bolder;font-size:14px;}.wp_themeSkin .mce_h5 span.mceText{font-weight:bolder;font-size:13px;}.wp_themeSkin .mce_h6 span.mceText{font-weight:bolder;font-size:12px;}.wp_themeSkin span.mce_undo{background-position:-500px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_undo,.wp_themeSkin .mceButtonActive span.mce_undo{background-position:-500px 0;}.wp_themeSkin span.mce_redo{background-position:-480px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_redo,.wp_themeSkin .mceButtonActive span.mce_redo{background-position:-480px 0;}.wp_themeSkin span.mce_bullist{background-position:-40px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,.wp_themeSkin .mceButtonActive span.mce_bullist,.wp_themeSkin .mceSplitButton:hover span.mce_bullist{background-position:-40px 0;}.wp_themeSkin span.mce_numlist{background-position:-61px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,.wp_themeSkin .mceButtonActive span.mce_numlist,.wp_themeSkin .mceSplitButton:hover span.mce_numlist{background-position:-61px 0;}.wp_themeSkin span.mce_blockquote{background-position:-80px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,.wp_themeSkin .mceButtonActive span.mce_blockquote{background-position:-80px 0;}.wp_themeSkin span.mce_charmap{background-position:-420px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,.wp_themeSkin .mceButtonActive span.mce_charmap{background-position:-420px 0;}.wp_themeSkin span.mce_bold{background-position:-1px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_bold,.wp_themeSkin .mceButtonActive span.mce_bold{background-position:-1px 0;}.wp_themeSkin span.mce_italic{background-position:-21px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_italic,.wp_themeSkin .mceButtonActive span.mce_italic{background-position:-21px 0;}.wp_themeSkin span.mce_underline{background-position:-280px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_underline,.wp_themeSkin .mceButtonActive span.mce_underline{background-position:-280px 1px;}.wp_themeSkin span.mce_justifyleft{background-position:-100px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,.wp_themeSkin .mceButtonActive span.mce_justifyleft{background-position:-100px 1px;}.wp_themeSkin span.mce_justifyright{background-position:-141px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,.wp_themeSkin .mceButtonActive span.mce_justifyright{background-position:-141px 1px;}.wp_themeSkin span.mce_justifycenter{background-position:-120px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,.wp_themeSkin .mceButtonActive span.mce_justifycenter{background-position:-120px 1px;}.wp_themeSkin span.mce_justifyfull{background-position:-300px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,.wp_themeSkin .mceButtonActive span.mce_justifyfull{background-position:-300px 1px;}.wp_themeSkin span.mce_indent{background-position:-461px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_indent,.wp_themeSkin .mceButtonActive span.mce_indent{background-position:-461px 1px;}.wp_themeSkin span.mce_outdent{background-position:-440px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,.wp_themeSkin .mceButtonActive span.mce_outdent{background-position:-440px 1px;}.wp_themeSkin span.mce_link{background-position:-161px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_link,.wp_themeSkin .mceButtonActive span.mce_link{background-position:-161px 0;}.wp_themeSkin span.mce_unlink{background-position:-180px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,.wp_themeSkin .mceButtonActive span.mce_unlink{background-position:-180px 0;}.wp_themeSkin span.mce_help{background-position:-521px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_help,.wp_themeSkin .mceButtonActive span.mce_help{background-position:-521px 0;}.wp_themeSkin span.mce_removeformat{background-position:-381px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,.wp_themeSkin .mceButtonActive span.mce_removeformat{background-position:-381px 0;}.wp_themeSkin span.mce_strikethrough{background-position:-540px -18px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,.wp_themeSkin .mceButtonActive span.mce_strikethrough{background-position:-540px 0;}.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor{background-position:-321px -22px;}.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,.wp_themeSkin .mceSplitButtonActive span.mce_forecolor{background-position:-321px -2px;}.wp_themeSkin .mce_forecolorpicker{background-position:-320px -20px;}.wp_themeSkin span.mce_fullscreen{background-position:-240px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,.wp_themeSkin .mceButtonActive span.mce_fullscreen{background-position:-240px 0;}.wp_themeSkin span.mce_wp_fullscreen{background-position:-240px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,.wp_themeSkin .mceButtonActive span.mce_wp_fullscreen{background-position:-240px 0;}.wp_themeSkin span.mce_media{background-position:-401px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_media,.wp_themeSkin .mceButtonActive span.mce_media{background-position:-401px 0;}.wp_themeSkin span.mce_pastetext{background-position:-340px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,.wp_themeSkin .mceButtonActive span.mce_pastetext{background-position:-340px 0;}.wp_themeSkin span.mce_pasteword{background-position:-360px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,.wp_themeSkin .mceButtonActive span.mce_pasteword{background-position:-360px 0;}.wp_themeSkin span.mce_spellchecker{background-position:-220px -19px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceButtonActive span.mce_spellchecker,.wp_themeSkin .mceSplitButtonActive span.mce_spellchecker{background-position:-220px 1px;}.wp_themeSkin span.mce_wp_help{background-position:-521px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,.wp_themeSkin .mceButtonActive span.mce_wp_help{background-position:-521px 0;}.wp_themeSkin span.mce_wp_adv{background-position:-260px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,.wp_themeSkin .mceButtonActive span.mce_wp_adv{background-position:-260px 0;}.wp_themeSkin span.mce_wp_more{background-position:-201px -20px;}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,.wp_themeSkin .mceButtonActive span.mce_wp_more{background-position:-201px 0;}.wp_themeSkin span.mce_cleanup{background-position:-380px -20px;}.wp_themeSkin span.mce_anchor{background-position:-200px 0;}.wp_themeSkin span.mce_sub{background-position:-600px 0;}.wp_themeSkin span.mce_sup{background-position:-620px 0;}.wp_themeSkin span.mce_newdocument{background-position:-520px 0;}.wp_themeSkin span.mce_image{background-position:-380px 0;}.wp_themeSkin span.mce_code{background-position:-260px 0;}.wp_themeSkin span.mce_hr{background-position:-360px 0;}.wp_themeSkin span.mce_visualaid{background-position:-660px 0;}.wp_themeSkin span.mce_paste{background-position:-560px 0;}.wp_themeSkin span.mce_copy{background-position:-700px 0;}.wp_themeSkin span.mce_cut{background-position:-680px 0;}.wp_themeSkin .mce_backcolor span.mceAction{background-position:-760px 0;}.wp_themeSkin .mce_backcolorpicker{background-position:-760px 0;}.wp_themeSkin span.mce_advhr{background-position:-0px -20px;}.wp_themeSkin span.mce_ltr{background-position:-20px -20px;}.wp_themeSkin span.mce_rtl{background-position:-40px -20px;}.wp_themeSkin span.mce_emotions{background-position:-60px -20px;}.wp_themeSkin span.mce_fullpage{background-position:-80px -20px;}.wp_themeSkin span.mce_iespell{background-position:-120px -20px;}.wp_themeSkin span.mce_insertdate{background-position:-140px -20px;}.wp_themeSkin span.mce_inserttime{background-position:-160px -20px;}.wp_themeSkin span.mce_absolute{background-position:-180px -20px;}.wp_themeSkin span.mce_backward{background-position:-200px -20px;}.wp_themeSkin span.mce_forward{background-position:-220px -20px;}.wp_themeSkin span.mce_insert_layer{background-position:-240px -20px;}.wp_themeSkin span.mce_insertlayer{background-position:-260px -20px;}.wp_themeSkin span.mce_movebackward{background-position:-280px -20px;}.wp_themeSkin span.mce_moveforward{background-position:-300px -20px;}.wp_themeSkin span.mce_nonbreaking{background-position:-340px -20px;}.wp_themeSkin span.mce_selectall{background-position:-400px -20px;}.wp_themeSkin span.mce_preview{background-position:-420px -20px;}.wp_themeSkin span.mce_print{background-position:-440px -20px;}.wp_themeSkin span.mce_cancel{background-position:-460px -20px;}.wp_themeSkin span.mce_save{background-position:-480px -20px;}.wp_themeSkin span.mce_replace{background-position:-500px -20px;}.wp_themeSkin span.mce_search{background-position:-520px -20px;}.wp_themeSkin span.mce_styleprops{background-position:-560px -20px;}.wp_themeSkin span.mce_table{background-position:-580px -20px;}.wp_themeSkin span.mce_cell_props{background-position:-600px -20px;}.wp_themeSkin span.mce_delete_table{background-position:-620px -20px;}.wp_themeSkin span.mce_delete_col{background-position:-640px -20px;}.wp_themeSkin span.mce_delete_row{background-position:-660px -20px;}.wp_themeSkin span.mce_col_after{background-position:-680px -20px;}.wp_themeSkin span.mce_col_before{background-position:-700px -20px;}.wp_themeSkin span.mce_row_after{background-position:-720px -20px;}.wp_themeSkin span.mce_row_before{background-position:-740px -20px;}.wp_themeSkin span.mce_merge_cells{background-position:-760px -20px;}.wp_themeSkin span.mce_table_props{background-position:-980px -20px;}.wp_themeSkin span.mce_row_props{background-position:-780px -20px;}.wp_themeSkin span.mce_split_cells{background-position:-800px -20px;}.wp_themeSkin span.mce_template{background-position:-820px -20px;}.wp_themeSkin span.mce_visualchars{background-position:-840px -20px;}.wp_themeSkin span.mce_abbr{background-position:-860px -20px;}.wp_themeSkin span.mce_acronym{background-position:-880px -20px;}.wp_themeSkin span.mce_attribs{background-position:-900px -20px;}.wp_themeSkin span.mce_cite{background-position:-920px -20px;}.wp_themeSkin span.mce_del{background-position:-940px -20px;}.wp_themeSkin span.mce_ins{background-position:-960px -20px;}.wp_themeSkin span.mce_pagebreak{background-position:0 -40px;}.wp_themeSkin .mceExternalToolbar,.wp_themeSkin .mceButton,.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin select.mceListBox,.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover,.wp_themeSkin div.mceColorSplitMenu table,.wp_themeSkin .mceColorSplitMenu a,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,.wp_themeSkin a.mceMoreColors:hover,.wp_themeSkin .mceMenu{border-style:solid;border-width:1px;}.wp_themeSkin iframe{background:transparent;}.wp_themeSkin .mceButton,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#ccc;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff);}.wp_themeSkin a.mceButtonEnabled:hover{border-color:#a0a0a0;background:#ddd;background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff);}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover{background-color:#ddd;background-image:-ms-linear-gradient(bottom,#eee,#bbb);background-image:-moz-linear-gradient(bottom,#eee,#bbb);background-image:-o-linear-gradient(bottom,#eee,#bbb);background-image:-webkit-gradient(linear,left bottom,left top,from(#eee),to(#bbb));background-image:-webkit-linear-gradient(bottom,#eee,#bbb);background-image:linear-gradient(bottom,#eee,#bbb);border-color:#909090;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceOpen{border-left:0!important;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxHover:active .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:active .mceText{background:#ccc;border-color:#999;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen{border-color:#909090;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff);}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#ccc;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{border-color:#909090;}.wp_themeSkin table.mceSplitButton td{background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff);}.wp_themeSkin table.mceSplitButton:hover td{background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff);}.wp_themeSkin .mceSplitButtonActive{background-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2;}.wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A;}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888;}#mceModalBlocker{background:#000;}.wp-editor-area{font-family:Consolas,Monaco,monospace;padding:10px;line-height:150%;border:0 none;outline:none;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}.wp-editor-tools{height:30px;padding:0 10px;}.wp-editor-container{border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-color:#ccc #ccc #dfdfdf;}.wp-editor-container textarea.wp-editor-area{width:99.9%;}.quicktags-toolbar,.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #ccc;background-color:#e9e9e9;background-image:-ms-linear-gradient(bottom,#ddd,#e9e9e9);background-image:-moz-linear-gradient(bottom,#ddd,#e9e9e9);background-image:-o-linear-gradient(bottom,#ddd,#e9e9e9);background-image:-webkit-linear-gradient(bottom,#ddd,#e9e9e9);background-image:linear-gradient(bottom,#ddd,#e9e9e9);}.wp-switch-editor{height:18px;font:13px/18px Arial,Helvetica,sans-serif normal;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999;}html[dir="rtl"] .wp-switch-editor{float:left;}.wp-switch-editor:hover{text-decoration:none!important;}.js .tmce-active .wp-editor-area{color:white;}.tmce-active .quicktags-toolbar{display:none;}.tmce-active .switch-tmce,.html-active .switch-html{border-color:#ccc #ccc #e9e9e9;background-color:#e9e9e9;color:#333;}.wp-media-buttons{line-height:1;padding:9px 0 0;}.wp-media-buttons a{text-decoration:none;color:#333;font-size:12px;vertical-align:bottom;}.wp-media-buttons img{padding:0 4px;vertical-align:middle;}.quicktags-toolbar{border-bottom-style:solid;border-bottom-width:1px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;padding:2px 8px 0;min-height:30px;}.quicktags-toolbar>div{padding:2px 4px 0;}.quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial,Helvetica,sans-serif normal;color:#464646;border:1px solid #C3C3C3;-webkit-border-radius:3px;border-radius:3px;background-color:#eee;background-image:-ms-linear-gradient(bottom,#e3e3e3,#fff);background-image:-moz-linear-gradient(bottom,#e3e3e3,#fff);background-image:-o-linear-gradient(bottom,#e3e3e3,#fff);background-image:-webkit-linear-gradient(bottom,#e3e3e3,#fff);background-image:linear-gradient(bottom,#e3e3e3,#fff);}.quicktags-toolbar input:hover{border-color:#aaa;background:#ddd;}.quicktags-toolbar input[value="link"]{text-decoration:underline;}.quicktags-toolbar input[value="del"]{text-decoration:line-through;}.quicktags-toolbar input[value="i"]{font-style:italic;}.quicktags-toolbar input[value="b"]{font-weight:bold;}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:999998;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#wp-link{background-color:#F5F5F5;line-height:1.4em;font-size:12px;}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0;}#wp-link input[type="text"]{-webkit-box-sizing:border-box;}#wp-link input[type="text"],#wp-link textarea{border-width:1px;border-style:solid;-webkit-border-radius:4px;border-radius:4px;font-size:12px;margin:1px;padding:3px;}#wp-link #link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px;}#wp-link p.howto{margin:3px;}#wp-link #internal-toggle{display:inline-block;cursor:pointer;padding-left:18px;}#wp-link .toggle-arrow{background:transparent url('../images/toggle-arrow.png') top left no-repeat;height:23px;line-height:23px;}#wp-link .toggle-arrow-active{background-position:center left;}#wp-link label input[type="text"]{width:360px;margin-top:5px;}#wp-link label span{display:inline-block;width:80px;text-align:right;padding-right:5px;}#wp-link .link-search-wrapper{margin:5px 6px 9px;display:block;overflow:hidden;}#wp-link .link-search-wrapper span{float:left;margin-top:6px;}#wp-link .link-search-wrapper input[type="text"]{float:left;width:220px;}#wp-link .link-search-wrapper img.waiting{margin:8px 1px 0 4px;float:left;display:none;}#wp-link .link-target{width:auto;padding:3px 0 0;margin:0 0 0 87px;font-size:11px;}#wp-link .query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;position:relative;}#wp-link li,#wp-link .query-notice{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative;}#wp-link li:hover{background:#eaf2fa;color:#151515;}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf;}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333;}#wp-link li.selected{background:#ddd;color:#333;}#wp-link li.selected .item-title{font-weight:bold;}#wp-link .item-title{display:inline-block;width:80%;}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:4px;bottom:0;}#wp-link #search-results{display:none;}#wp-link #search-panel{float:left;width:100%;}#wp-link .river-waiting{display:none;padding:10px 0;}#wp-link .river-waiting img.waiting{margin:0 auto;display:block;}#wp-link .submitbox{padding:5px 10px;font-size:11px;overflow:auto;height:29px;}#wp-link-cancel{line-height:25px;float:left;}#wp-link-update{line-height:23px;float:right;}.ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute;left:-99999999px;}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}/* required comment for clearfix to work in Opera \*/ * html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}/* end clearfix */ .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default!important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block;}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none;}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0;}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0;}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%;}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%;}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px;}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px;}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px;}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px;}.wp-dialog{position:absolute;width:300px;overflow:hidden;}.wp-dialog .ui-dialog-titlebar{position:relative;}.wp-dialog .ui-dialog-titlebar-close span{display:block;margin:1px;}.wp-dialog .ui-dialog-content{position:relative;border:0;padding:0;background:none;overflow:auto;zoom:1;}.wp-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em;}.wp-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right;}.wp-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer;}.wp-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px;}.ui-draggable .ui-dialog-titlebar{cursor:move;}.wp-dialog{border:1px solid #999;-moz-box-shadow:0 0 16px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3);}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px;}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;line-height:18px;color:#e5e5e5;}.wp-dialog{background-color:fff;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;}.wp-dialog .ui-dialog-titlebar{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.wp-dialog .ui-dialog-titlebar-close{position:absolute;width:29px;height:16px;top:2px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;padding:0;}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px;}.ui-widget-overlay{background-color:#000;opacity:.6;filter:alpha(opacity=60);}.rtl #wp-link #internal-toggle{padding-right:18px;padding-left:0;}.rtl #wp-link label span{text-align:left;padding-left:5px;padding-right:0;}.rtl #wp-link .link-search-wrapper span{float:right;}.rtl #wp-link .link-search-wrapper input[type="text"]{float:right;}.rtl #wp-link .link-search-wrapper img.waiting{margin:8px 4px 0 1px;float:right;}.rtl #wp-link .link-target{margin:0 87px 0 0;}.rtl #wp-link .item-info{left:5px;right:auto;top:4px;bottom:0;}.rtl #wp-link #search-panel{float:right;}.rtl #wp-link-cancel{float:right;}.rtl #wp-link-update{float:left;}.rtl #wp-link .toggle-arrow{background-position:top right;}.rtl #wp-link .toggle-arrow-active{background-position:center right;}.rtl .wp_themeSkin .mceListBox .mceText{text-align:right;}.rtl .wp_themeSkin .mceNoIcons a .mceText{padding-right:10px;padding-left:25px;}.rtl .mceListBoxMenu.mceNoIcons{margin-left:-14px;}.clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;}.clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;}.clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/editor-buttons.dev.css ./wordpress-3.4/wp-includes/css/editor-buttons.dev.css
*** ./wordpress-3.3.2/wp-includes/css/editor-buttons.dev.css	2011-11-14 14:40:31.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/editor-buttons.dev.css	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,1631 ****
- 
- /*------------------------------------------------------------------------------
-  TinyMCE and Quicklinks toolbars
- ------------------------------------------------------------------------------*/
- 
- /* wp_theme/ui.css */
- .wp_themeSkin table,
- .wp_themeSkin tbody,
- .wp_themeSkin a,
- .wp_themeSkin img,
- .wp_themeSkin tr,
- .wp_themeSkin div,
- .wp_themeSkin td,
- .wp_themeSkin iframe,
- .wp_themeSkin span,
- .wp_themeSkin *,
- .wp_themeSkin .mceText {
- 	border: 0;
- 	margin: 0;
- 	padding: 0;
- 	white-space: nowrap;
- 	text-decoration: none;
- 	font-weight: normal;
- 	cursor: default;
- 	vertical-align: baseline;
- 	width: auto;
- 	border-collapse: separate;
- }
- 
- .wp_themeSkin a:hover,
- .wp_themeSkin a:link,
- .wp_themeSkin a:visited,
- .wp_themeSkin a:active {
- 	text-decoration: none;
- 	font-weight: normal;
- 	cursor: default;
- }
- 
- .wp_themeSkin table td {
- 	vertical-align: middle;
- }
- 
- .wp_themeSkin *,
- .wp_themeSkin a:hover,
- .wp_themeSkin a:link,
- .wp_themeSkin a:visited,
- .wp_themeSkin a:active {
- 	color: #000;
- }
- 
- /* Containers */
- .wp_themeSkin table {}
- 
- .wp_themeSkin iframe {
- 	display: block;
- }
- 
- .wp_themeSkin #mce_fullscreen_ifr {
- 	background-color: #fff;
- }
- 
- .wp_themeSkin .mceToolbar {
- 	padding: 1px;
- }
- 
- /* External */
- .wp_themeSkin .mceExternalToolbar {
- 	position: absolute;
- 	border-bottom: 0;
- 	display: none;
- }
- 
- .wp_themeSkin .mceExternalToolbar td.mceToolbar {
- 	padding-right: 13px;
- }
- 
- .wp_themeSkin .mceExternalClose {
- 	position: absolute;
- 	top: 3px;
- 	right: 3px;
- 	width: 7px;
- 	height: 7px;
- 	background: url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0;
- }
- 
- /* Layout */
- .wp_themeSkin table.mceToolbar,
- .wp_themeSkin tr.mceFirst .mceToolbar tr td,
- .wp_themeSkin tr.mceLast .mceToolbar tr td {
- 	border: 0;
- 	margin: 0;
- 	padding: 0;
- }
- 
- .wp_themeSkin table.mceLayout {
- 	border: 0;
- }
- 
- .wp_themeSkin .mceStatusbar {
- 	display: block;
- 	font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
- 	font-size: 12px;
- 	line-height: 16px;
- 	padding: 0 0 0 8px;
- 	overflow: visible;
- 	height: 20px;
- 	border-top: 1px solid #dfdfdf;
- 	color: #000;
- 	background-color: #f5f5f5;
- }
- 
- .rtl .wp_themeSkin .mceStatusbar {
- 	padding: 0 8px 0 0;
- }
- 
- .wp_themeSkin .mceStatusbar * {
- 	color: #555;
- }
- 
- .wp_themeSkin .mceStatusbar div {
- 	float: left;
- 	padding: 2px;
- }
- 
- .rtl .wp_themeSkin .mceStatusbar div {
- 	float: right;
- }
- 
- .wp_themeSkin .mceStatusbar a.mceResize {
- 	display: block;
- 	float: right;
- 	background: url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;
- 	width: 20px;
- 	height: 20px;
- 	cursor: se-resize;
- }
- 
- .rtl .wp_themeSkin .mceStatusbar a.mceResize {
- 	float: left;
- }
- 
- .wp_themeSkin .mceStatusbar a:hover {
- 	text-decoration: underline;
- }
- 
- .wp_themeSkin table.mceToolbar {
- 	margin: 0 6px 2px;
- }
- 
- .wp_themeSkin #content_toolbar1 {
- 	margin-top: 2px;
- }
- 
- .wp_themeSkin .mceToolbar .mceToolbarEndListBox span {
- 	display: none;
- }
- 
- .wp_themeSkin span.mceIcon,
- .wp_themeSkin img.mceIcon {
- 	display: block;
- 	width: 20px;
- 	height: 20px;
- }
- 
- .wp_themeSkin .mceIcon {
- 	background: url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px;
- }
- 
- /* Button */
- .wp_themeSkin .mceButton {
- 	display: block;
- 	width: 20px;
- 	height: 20px;
- 	cursor: default;
- 	padding: 1px 2px;
- 	margin: 1px;
- 	-webkit-border-radius: 2px;
- 	border-radius: 2px;
- 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- }
- 
- .wp_themeSkin a.mceButtonEnabled:hover {
- 	background-image: inherit 0 -10px;
- }
- 
- .wp_themeSkin .mceOldBoxModel a.mceButton span, .wp_themeSkin .mceOldBoxModel a.mceButton img {
- 	margin: 0 0 0 1px;
- }
- 
- 
- .wp_themeSkin a.mceButton:active,
- .wp_themeSkin a.mceButtonActive,
- .wp_themeSkin a.mceButtonActive:hover,
- .wp_themeSkin a.mceButtonSelected {
- 	-webkit-box-shadow:	 0 1px 1px rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- }
- 
- .wp_themeSkin .mceButtonDisabled .mceIcon {
- 	opacity: 0.5;
- 	filter: alpha(opacity=50);
- }
- 
- /* Separator */
- .wp_themeSkin .mceSeparator {
- 	height: 24px;
- 	width: 1px;
- 	display: block;
- 	background: transparent;
- 	overflow: hidden;
- 	margin: 0 2px;
- }
- 
- /* ListBox */
- .wp_themeSkin .mceListBox,
- .wp_themeSkin .mceListBox a {
- 	display: block;
- }
- 
- .wp_themeSkin .mceListBox .mceText {
- 	padding: 1px 2px 1px 5px;
- 	text-align: left;
- 	text-decoration: none;
- 	width: 70px;
- 	-webkit-border-bottom-left-radius: 2px;
- 	-webkit-border-top-left-radius: 2px;
- 	border-bottom-left-radius: 2px;
- 	border-top-left-radius: 2px;
- 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
- 	font-size: 12px;
- 	height: 20px;
- 	line-height: 20px;
- 	overflow: hidden;
- }
- 
- .wp_themeSkin .mceListBox {
- 	margin: 1px;
- 	direction: ltr;
- }
- 
- .wp_themeSkin .mceListBox .mceOpen {
- 	width: 14px;
- 	height: 20px;
- 	border-collapse: separate;
- 	padding: 1px;
- 	-webkit-border-bottom-left-radius: 0;
- 	-webkit-border-top-left-radius: 0;
- 	border-bottom-left-radius: 0;
- 	border-top-left-radius: 0;
- 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- }
- 
- .wp_themeSkin .mceListBox .mceOpen span {
- 	display: block;
- 	width: 14px;
- 	height: 20px;
- 	background-image: url("../images/down_arrow.gif");
- 	background-position: 2px 1px;
- 	background-repeat: no-repeat;
- }
- 
- .wp_themeSkin table.mceListBoxEnabled:hover .mceText,
- .wp_themeSkin .mceListBoxHover .mceText,
- .wp_themeSkin .mceListBoxSelected .mceText,
- .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
- .wp_themeSkin .mceListBoxHover .mceOpen,
- .wp_themeSkin .mceListBoxSelected .mceOpen {
- 	background-image: none;
- }
- 
- .wp_themeSkin .mceListBoxDisabled .mceText {
- 	color: gray;
- }
- 
- .wp_themeSkin .mceListBoxMenu {
- 	overflow: auto;
- 	overflow-x: hidden;
- }
- 
- .wp_themeSkin .mceOldBoxModel .mceListBox .mceText {
- 	height: 22px;
- }
- 
- .wp_themeSkin select.mceListBox {
- 	font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
- 	font-size: 12px;
- 	border-color: #B2B2B2;
- 	background-color: #fff;
- }
- 
- /* SplitButton */
- .wp_themeSkin .mceSplitButton a,
- .wp_themeSkin .mceSplitButton span {
- 	display: block;
- 	height: 20px;
- }
- 
- .wp_themeSkin .mceSplitButton {
- 	display: block;
- 	margin: 1px;
- 	direction: ltr;
- }
- 
- .wp_themeSkin table.mceSplitButton td {
- 	padding: 2px;
- 	-webkit-border-radius: 2px;
- 	border-radius: 2px;
- }
- 
- .wp_themeSkin table.mceSplitButton td a {
- 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
- }
- 
- .wp_themeSkin table.mceSplitButton:hover td {
- 	background-image: inherit 0 -10px;
- }
- 
- .wp_themeSkin .mceSplitButton a.mceAction {
- 	height: 20px;
- 	width: 20px;
- 	padding: 1px 2px;
- }
- 
- .wp_themeSkin .mceSplitButton span.mceAction {
- 	background-image: url("../js/tinymce/themes/advanced/img/icons.gif");
- 	background-repeat: no-repeat;
- 	background-color: transparent;
- 	width: 20px;
- }
- 
- .wp_themeSkin .mceSplitButton a.mceOpen {
- 	width: 10px;
- 	height: 20px;
- 	background-image: url("../images/down_arrow.gif");
- 	background-position: 1px 2px;
- 	background-repeat: no-repeat;
- 	padding: 1px;
- 	border-left: 0 none !important;
- }
- 
- .wp_themeSkin .mceSplitButton span.mceOpen {
- 	display: none;
- }
- 
- .wp_themeSkin .mceSplitButtonDisabled .mceAction {
- 	opacity: 0.3;
- 	filter: alpha(opacity=30);
- }
- 
- .wp_themeSkin .mceListBox a.mceText,
- .wp_themeSkin .mceSplitButton a.mceAction {
- 	-webkit-border-bottom-left-radius: 2px;
- 	-webkit-border-top-left-radius: 2px;
- 	border-bottom-left-radius: 2px;
- 	border-top-left-radius: 2px;
- }
- 
- .wp_themeSkin .mceSplitButton a.mceOpen,
- .wp_themeSkin .mceListBox a.mceOpen {
- 	-webkit-border-bottom-right-radius: 2px;
- 	-webkit-border-top-right-radius: 2px;
- 	border-bottom-right-radius: 2px;
- 	border-top-right-radius: 2px;
- }
- 
- .wp_themeSkin span.mce_undo,
- .wp_themeSkin span.mce_redo,
- .wp_themeSkin span.mce_bullist,
- .wp_themeSkin span.mce_numlist,
- .wp_themeSkin span.mce_blockquote,
- .wp_themeSkin span.mce_charmap,
- .wp_themeSkin span.mce_bold,
- .wp_themeSkin span.mce_italic,
- .wp_themeSkin span.mce_underline,
- .wp_themeSkin span.mce_justifyleft,
- .wp_themeSkin span.mce_justifyright,
- .wp_themeSkin span.mce_justifycenter,
- .wp_themeSkin span.mce_justifyfull,
- .wp_themeSkin span.mce_indent,
- .wp_themeSkin span.mce_outdent,
- .wp_themeSkin span.mce_link,
- .wp_themeSkin span.mce_unlink,
- .wp_themeSkin span.mce_help,
- .wp_themeSkin span.mce_removeformat,
- .wp_themeSkin span.mce_fullscreen,
- .wp_themeSkin span.mce_wp_fullscreen,
- .wp_themeSkin span.mce_media,
- .wp_themeSkin span.mce_pastetext,
- .wp_themeSkin span.mce_pasteword,
- .wp_themeSkin span.mce_wp_help,
- .wp_themeSkin span.mce_wp_adv,
- .wp_themeSkin span.mce_wp_more,
- .wp_themeSkin span.mce_strikethrough,
- .wp_themeSkin span.mce_spellchecker,
- .wp_themeSkin span.mce_forecolor,
- .wp_themeSkin .mce_forecolorpicker,
- .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,
- .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,
- .wp_themeSkin .mceSplitButton span.mce_numlist,
- .wp_themeSkin .mceSplitButton span.mce_bullist {
- 	background-image: url(../images/wpicons.png);
- }
- 
- /* ColorSplitButton */
- .wp_themeSkin div.mceColorSplitMenu table {
- 	background-color: #ebebeb;
- 	border-color: #B2B2B2;
- }
- 
- .wp_themeSkin .mceColorSplitMenu td {
- 	padding: 2px;
- }
- 
- .wp_themeSkin .mceColorSplitMenu a {
- 	display: block;
- 	width: 9px;
- 	height: 9px;
- 	overflow: hidden;
- 	border-color: #B2B2B2;
- }
- 
- .wp_themeSkin .mceColorSplitMenu td.mceMoreColors {
- 	padding: 1px 3px 1px 1px;
- }
- 
- .wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
- 	width: 100%;
- 	height: auto;
- 	text-align: center;
- 	font-family: Tahoma,Verdana,Arial,Helvetica;
- 	font-size: 11px;
- 	line-height: 20px;
- 	border-color: #fff;
- }
- 
- .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {}
- .wp_themeSkin a.mceMoreColors:hover {}
- .wp_themeSkin .mceColorPreview {
- 	margin: -5px 0 0 2px;
- 	width: 16px;
- 	height: 4px;
- 	overflow: hidden;
- }
- 
- /* Menu */
- .wp_themeSkin .mceMenu {
- 	position: absolute;
- 	left: 0;
- 	top: 0;
- 	z-index: 1000;
- 	border-color: #ddd;
- }
- 
- .wp_themeSkin .mceNoIcons span.mceIcon {
- 	width: 0;
- }
- 
- .wp_themeSkin .mceNoIcons a .mceText {
- 	padding-left: 10px;
- }
- 
- .wp_themeSkin .mceMenu table {
- 	background-color: #ebeaeb;
- }
- 
- .wp_themeSkin .mceMenu a,
- .wp_themeSkin .mceMenu span,
- .wp_themeSkin .mceMenu {
- 	display: block;
- }
- 
- .wp_themeSkin .mceMenu td {
- 	height: 20px;overflow: hidden;
- }
- 
- .wp_themeSkin .mceMenu a {
- 	position: relative;
- 	padding: 3px 0 4px 0;
- 	text-decoration: none !important;
- }
- 
- .wp_themeSkin .mceMenu .mceText {
- 	position: relative;
- 	display: block;
- 	font-family: Tahoma,Verdana,Arial,Helvetica;
- 	cursor: default;
- 	margin: 0;
- 	padding: 0 25px;
- 	color: #000;
- }
- 
- .wp_themeSkin .mceMenu span.mceText, .wp_themeSkin .mceMenu .mcePreview {
- 	font-size: 12px;
- }
- 
- .wp_themeSkin .mceMenu pre.mceText {
- 	font-family: Monospace;
- }
- 
- .wp_themeSkin .mceMenu .mceIcon {
- 	position: absolute;
- 	top: 0;
- 	left: 0;
- 	width: 22px;
- }
- 
- .wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,
- .wp_themeSkin .mceMenu .mceMenuItemActive {
- 	background-color: #f5f5f5;
- }
- 
- .wp_themeSkin td.mceMenuItemSeparator {
- 	height: 1px;
- 	background-color: #aaa;
- }
- 
- .wp_themeSkin .mceMenuItemTitle a {
- 	border-top: 0;
- 	border-right: 0;
- 	border-left: 0;
- 	border-bottom: 1px solid #aaa;
- 	text-decoration: none !important;
- 	background-color: #ccc;
- }
- 
- .wp_themeSkin .mceMenuItemTitle span.mceText {
- 	font-weight: bold;
- 	padding-left: 4px;
- 	color: #000;
- }
- 
- .wp_themeSkin .mceMenuItemSelected .mceIcon {
- 	background: url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");
- 	color: #888;
- }
- 
- .wp_themeSkin .mceNoIcons .mceMenuItemSelected a {
- 	background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center;
- }
- 
- .wp_themeSkin .mceMenu span.mceMenuLine {
- 	display: none;
- }
- 
- .wp_themeSkin .mceMenuItemSub a {
- 	background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top right;
- }
- 
- 
- /* Progress,Resize */
- .wp_themeSkin .mceBlocker {
- 	position: absolute;
- 	left: 0;
- 	top: 0;
- 	z-index: 1000;
- 	opacity: 0.5;
- 	filter: alpha(opacity=50);
- 	background: #FFF;
- }
- 
- .wp_themeSkin .mceProgress {
- 	position: absolute;
- 	left: 0;
- 	top: 0;
- 	z-index: 1001;
- 	background: url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;
- 	width: 32px;
- 	height: 32px;
- 	margin: -16px 0 0 -16px;
- }
- 
- .wp_themeSkin .mcePlaceHolder {
- 	border: 1px dotted gray;
- }
- 
- 
- /* Formats */
- .wp_themeSkin .mce_p span.mceText {}
- .wp_themeSkin .mce_address span.mceText {
- 	font-style: italic;
- }
- 
- .wp_themeSkin .mce_pre span.mceText {
- 	font-family: monospace;
- }
- 
- .wp_themeSkin .mce_h1 span.mceText {
- 	font-weight: bolder;
- 	font-size: 17px;
- }
- 
- .wp_themeSkin .mce_h2 span.mceText {
- 	font-weight: bolder;
- 	font-size: 16px;
- }
- 
- .wp_themeSkin .mce_h3 span.mceText {
- 	font-weight: bolder;
- 	font-size: 15px;
- }
- 
- .wp_themeSkin .mce_h4 span.mceText {
- 	font-weight: bolder;
- 	font-size: 14px;
- }
- 
- .wp_themeSkin .mce_h5 span.mceText {
- 	font-weight: bolder;
- 	font-size: 13px;
- }
- 
- .wp_themeSkin .mce_h6 span.mceText {
- 	font-weight: bolder;
- 	font-size: 12px;
- }
- 
- 
- /* Theme */
- .wp_themeSkin span.mce_undo {background-position:-500px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_undo,
- .wp_themeSkin .mceButtonActive span.mce_undo {background-position:-500px 0}
- 
- .wp_themeSkin span.mce_redo {background-position:-480px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_redo,
- .wp_themeSkin .mceButtonActive span.mce_redo {background-position:-480px 0}
- 
- .wp_themeSkin span.mce_bullist {background-position:-40px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,
- .wp_themeSkin .mceButtonActive span.mce_bullist,
- .wp_themeSkin .mceSplitButton:hover span.mce_bullist {background-position:-40px 0}
- 
- .wp_themeSkin span.mce_numlist {background-position:-61px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,
- .wp_themeSkin .mceButtonActive span.mce_numlist,
- .wp_themeSkin .mceSplitButton:hover span.mce_numlist {background-position:-61px 0}
- 
- .wp_themeSkin span.mce_blockquote {background-position:-80px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,
- .wp_themeSkin .mceButtonActive span.mce_blockquote {background-position:-80px 0}
- 
- .wp_themeSkin span.mce_charmap {background-position:-420px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,
- .wp_themeSkin .mceButtonActive span.mce_charmap {background-position:-420px 0}
- 
- .wp_themeSkin span.mce_bold {background-position:-1px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_bold,
- .wp_themeSkin .mceButtonActive span.mce_bold {background-position:-1px 0}
- 
- .wp_themeSkin span.mce_italic {background-position:-21px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_italic,
- .wp_themeSkin .mceButtonActive span.mce_italic {background-position:-21px 0}
- 
- .wp_themeSkin span.mce_underline {background-position:-280px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_underline,
- .wp_themeSkin .mceButtonActive span.mce_underline {background-position:-280px 1px}
- 
- .wp_themeSkin span.mce_justifyleft {background-position:-100px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,
- .wp_themeSkin .mceButtonActive span.mce_justifyleft {background-position:-100px 1px}
- 
- .wp_themeSkin span.mce_justifyright {background-position:-141px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,
- .wp_themeSkin .mceButtonActive span.mce_justifyright {background-position:-141px 1px}
- 
- .wp_themeSkin span.mce_justifycenter {background-position:-120px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,
- .wp_themeSkin .mceButtonActive span.mce_justifycenter {background-position:-120px 1px}
- 
- .wp_themeSkin span.mce_justifyfull {background-position:-300px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,
- .wp_themeSkin .mceButtonActive span.mce_justifyfull {background-position:-300px 1px}
- 
- .wp_themeSkin span.mce_indent {background-position:-461px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_indent,
- .wp_themeSkin .mceButtonActive span.mce_indent {background-position:-461px 1px}
- 
- .wp_themeSkin span.mce_outdent {background-position:-440px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,
- .wp_themeSkin .mceButtonActive span.mce_outdent {background-position:-440px 1px}
- 
- .wp_themeSkin span.mce_link {background-position:-161px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_link,
- .wp_themeSkin .mceButtonActive span.mce_link {background-position:-161px 0}
- 
- .wp_themeSkin span.mce_unlink {background-position:-180px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,
- .wp_themeSkin .mceButtonActive span.mce_unlink {background-position:-180px 0}
- 
- .wp_themeSkin span.mce_help {background-position:-521px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_help,
- .wp_themeSkin .mceButtonActive span.mce_help {background-position:-521px 0}
- 
- .wp_themeSkin span.mce_removeformat {background-position:-381px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,
- .wp_themeSkin .mceButtonActive span.mce_removeformat {background-position:-381px 0}
- 
- .wp_themeSkin span.mce_strikethrough {background-position:-540px -18px;}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,
- .wp_themeSkin .mceButtonActive span.mce_strikethrough {background-position:-540px 0}
- 
- .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor {background-position:-321px -22px}
- .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,
- .wp_themeSkin .mceSplitButtonActive span.mce_forecolor {background-position:-321px -2px}
- 
- .wp_themeSkin .mce_forecolorpicker {background-position:-320px -20px}
- 
- /* Plugins in WP */
- .wp_themeSkin span.mce_fullscreen {background-position:-240px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,
- .wp_themeSkin .mceButtonActive span.mce_fullscreen {background-position:-240px 0}
- 
- .wp_themeSkin span.mce_wp_fullscreen {background-position:-240px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,
- .wp_themeSkin .mceButtonActive span.mce_wp_fullscreen {background-position:-240px 0}
- 
- .wp_themeSkin span.mce_media {background-position:-401px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_media,
- .wp_themeSkin .mceButtonActive span.mce_media {background-position:-401px 0}
- 
- .wp_themeSkin span.mce_pastetext {background-position:-340px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,
- .wp_themeSkin .mceButtonActive span.mce_pastetext {background-position:-340px 0}
- 
- .wp_themeSkin span.mce_pasteword {background-position:-360px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,
- .wp_themeSkin .mceButtonActive span.mce_pasteword {background-position:-360px 0}
- 
- .wp_themeSkin span.mce_spellchecker {background-position:-220px -19px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,
- .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,
- .wp_themeSkin .mceButtonActive span.mce_spellchecker,
- .wp_themeSkin .mceSplitButtonActive span.mce_spellchecker {background-position:-220px 1px}
- 
- .wp_themeSkin span.mce_wp_help {background-position:-521px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,
- .wp_themeSkin .mceButtonActive span.mce_wp_help {background-position:-521px 0}
- 
- .wp_themeSkin span.mce_wp_adv {background-position:-260px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,
- .wp_themeSkin .mceButtonActive span.mce_wp_adv {background-position:-260px 0}
- 
- .wp_themeSkin span.mce_wp_more {background-position:-201px -20px}
- .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,
- .wp_themeSkin .mceButtonActive span.mce_wp_more {background-position:-201px 0}
- 
- /* Default icons */
- .wp_themeSkin span.mce_cleanup {background-position:-380px -20px}
- .wp_themeSkin span.mce_anchor {background-position:-200px 0}
- .wp_themeSkin span.mce_sub {background-position:-600px 0}
- .wp_themeSkin span.mce_sup {background-position:-620px 0}
- .wp_themeSkin span.mce_newdocument {background-position:-520px 0}
- .wp_themeSkin span.mce_image {background-position:-380px 0}
- .wp_themeSkin span.mce_code {background-position:-260px 0}
- .wp_themeSkin span.mce_hr {background-position:-360px 0}
- .wp_themeSkin span.mce_visualaid {background-position:-660px 0}
- .wp_themeSkin span.mce_paste {background-position:-560px 0}
- .wp_themeSkin span.mce_copy {background-position:-700px 0}
- .wp_themeSkin span.mce_cut {background-position:-680px 0}
- .wp_themeSkin .mce_backcolor span.mceAction {background-position:-760px 0}
- .wp_themeSkin .mce_backcolorpicker {background-position:-760px 0}
- 
- 
- /* Plugins */
- .wp_themeSkin span.mce_advhr {background-position:-0px -20px}
- .wp_themeSkin span.mce_ltr {background-position:-20px -20px}
- .wp_themeSkin span.mce_rtl {background-position:-40px -20px}
- .wp_themeSkin span.mce_emotions {background-position:-60px -20px}
- .wp_themeSkin span.mce_fullpage {background-position:-80px -20px}
- .wp_themeSkin span.mce_iespell {background-position:-120px -20px}
- .wp_themeSkin span.mce_insertdate {background-position:-140px -20px}
- .wp_themeSkin span.mce_inserttime {background-position:-160px -20px}
- .wp_themeSkin span.mce_absolute {background-position:-180px -20px}
- .wp_themeSkin span.mce_backward {background-position:-200px -20px}
- .wp_themeSkin span.mce_forward {background-position:-220px -20px}
- .wp_themeSkin span.mce_insert_layer {background-position:-240px -20px}
- .wp_themeSkin span.mce_insertlayer {background-position:-260px -20px}
- .wp_themeSkin span.mce_movebackward {background-position:-280px -20px}
- .wp_themeSkin span.mce_moveforward {background-position:-300px -20px}
- .wp_themeSkin span.mce_nonbreaking {background-position:-340px -20px}
- .wp_themeSkin span.mce_selectall {background-position:-400px -20px}
- .wp_themeSkin span.mce_preview {background-position:-420px -20px}
- .wp_themeSkin span.mce_print {background-position:-440px -20px}
- .wp_themeSkin span.mce_cancel {background-position:-460px -20px}
- .wp_themeSkin span.mce_save {background-position:-480px -20px}
- .wp_themeSkin span.mce_replace {background-position:-500px -20px}
- .wp_themeSkin span.mce_search {background-position:-520px -20px}
- .wp_themeSkin span.mce_styleprops {background-position:-560px -20px}
- .wp_themeSkin span.mce_table {background-position:-580px -20px}
- .wp_themeSkin span.mce_cell_props {background-position:-600px -20px}
- .wp_themeSkin span.mce_delete_table {background-position:-620px -20px}
- .wp_themeSkin span.mce_delete_col {background-position:-640px -20px}
- .wp_themeSkin span.mce_delete_row {background-position:-660px -20px}
- .wp_themeSkin span.mce_col_after {background-position:-680px -20px}
- .wp_themeSkin span.mce_col_before {background-position:-700px -20px}
- .wp_themeSkin span.mce_row_after {background-position:-720px -20px}
- .wp_themeSkin span.mce_row_before {background-position:-740px -20px}
- .wp_themeSkin span.mce_merge_cells {background-position:-760px -20px}
- .wp_themeSkin span.mce_table_props {background-position:-980px -20px}
- .wp_themeSkin span.mce_row_props {background-position:-780px -20px}
- .wp_themeSkin span.mce_split_cells {background-position:-800px -20px}
- .wp_themeSkin span.mce_template {background-position:-820px -20px}
- .wp_themeSkin span.mce_visualchars {background-position:-840px -20px}
- .wp_themeSkin span.mce_abbr {background-position:-860px -20px}
- .wp_themeSkin span.mce_acronym {background-position:-880px -20px}
- .wp_themeSkin span.mce_attribs {background-position:-900px -20px}
- .wp_themeSkin span.mce_cite {background-position:-920px -20px}
- .wp_themeSkin span.mce_del {background-position:-940px -20px}
- .wp_themeSkin span.mce_ins {background-position:-960px -20px}
- .wp_themeSkin span.mce_pagebreak {background-position:0 -40px}
- 
- 
- /* border */
- .wp_themeSkin .mceExternalToolbar,
- .wp_themeSkin .mceButton,
- .wp_themeSkin a.mceButtonEnabled:hover,
- .wp_themeSkin a.mceButtonActive,
- .wp_themeSkin a.mceButtonSelected,
- .wp_themeSkin .mceListBox .mceText,
- .wp_themeSkin .mceListBox .mceOpen,
- .wp_themeSkin table.mceListBoxEnabled:hover .mceText,
- .wp_themeSkin .mceListBoxHover .mceText,
- .wp_themeSkin .mceListBoxSelected .mceText,
- .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
- .wp_themeSkin .mceListBoxHover .mceOpen,
- .wp_themeSkin .mceListBoxSelected .mceOpen,
- .wp_themeSkin select.mceListBox,
- .wp_themeSkin .mceSplitButton a.mceAction,
- .wp_themeSkin .mceSplitButton a.mceOpen,
- .wp_themeSkin .mceSplitButton a.mceOpen:hover,
- .wp_themeSkin .mceSplitButtonSelected a.mceOpen,
- .wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
- .wp_themeSkin .mceSplitButton a.mceAction:hover,
- .wp_themeSkin div.mceColorSplitMenu table,
- .wp_themeSkin .mceColorSplitMenu a,
- .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,
- .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,
- .wp_themeSkin a.mceMoreColors:hover,
- .wp_themeSkin .mceMenu {
- 	border-style: solid;
- 	border-width: 1px;
- }
- 
- .wp_themeSkin iframe {
- 	background: transparent;
- }
- 
- .wp_themeSkin .mceButton,
- .wp_themeSkin .mceListBox .mceText,
- .wp_themeSkin .mceListBox .mceOpen {
- 	border-color: #ccc;
- 	background-color: #eee; /* Fallback */
- 	background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */
- 	background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */
- 	background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */
- }
- 
- .wp_themeSkin a.mceButtonEnabled:hover {
- 	border-color: #a0a0a0;
- 	background: #ddd; /* Fallback */
- 	background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */
- 	background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */
- 	background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */
- }
- 
- .wp_themeSkin a.mceButton:active,
- .wp_themeSkin a.mceButtonEnabled:active,
- .wp_themeSkin a.mceButtonSelected:active,
- .wp_themeSkin a.mceButtonActive,
- .wp_themeSkin a.mceButtonActive:active,
- .wp_themeSkin a.mceButtonActive:hover {
- 	background-color: #ddd; /* Fallback */
- 	background-image: -ms-linear-gradient(bottom, #eee, #bbb); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #eee, #bbb); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #eee, #bbb); /* Opera */
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#eee), to(#bbb)); /* old Webkit */
- 	background-image: -webkit-linear-gradient(bottom, #eee, #bbb); /* new Webkit */
- 	background-image: linear-gradient(bottom, #eee, #bbb); /* proposed W3C Markup */
- 	border-color: #909090;
- }
- 
- .wp_themeSkin .mceButtonDisabled {
- 	border-color: #ccc !important;
- }
- 
- .wp_themeSkin .mceListBox .mceOpen {
- 	border-left: 0 !important;
- }
- 
- .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
- .wp_themeSkin .mceListBoxHover .mceOpen,
- .wp_themeSkin .mceListBoxHover:active .mceOpen,
- .wp_themeSkin .mceListBoxSelected .mceOpen,
- .wp_themeSkin .mceListBoxSelected .mceText,
- .wp_themeSkin table.mceListBoxEnabled:active .mceText {
- 	background: #ccc;
- 	border-color: #999;
- }
- 
- .wp_themeSkin table.mceListBoxEnabled:hover .mceText,
- .wp_themeSkin .mceListBoxHover .mceText,
- .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
- .wp_themeSkin .mceListBoxHover .mceOpen {
- 	border-color: #909090;
- 	background-color: #eee; /* Fallback */
- 	background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */
- 	background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */
- 	background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */
- }
- 
- /* SplitButton */
- .wp_themeSkin .mceSplitButton a.mceAction,
- .wp_themeSkin .mceSplitButton a.mceOpen {
- 	border-color: #ccc;
- }
- 
- .wp_themeSkin .mceSplitButton a.mceOpen:hover,
- .wp_themeSkin .mceSplitButtonSelected a.mceOpen,
- .wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
- .wp_themeSkin .mceSplitButton a.mceAction:hover {
- 	border-color: #909090;
- }
- 
- 
- .wp_themeSkin table.mceSplitButton td {
- 	background-color: #eee; /* Fallback */
- 	background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */
- 	background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */
- 	background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */
- }
- 
- .wp_themeSkin table.mceSplitButton:hover td {
- 	background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */
- 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */
- 	background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */
- 	background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */
- }
- 
- .wp_themeSkin .mceSplitButtonActive {
- 	background-color: #B2B2B2;
- }
- 
- .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {
- 	border-color: #0A246A;
- 	background-color: #B6BDD2;
- }
- 
- .wp_themeSkin a.mceMoreColors:hover {
- 	border-color: #0A246A;
- }
- 
- .wp_themeSkin .mceMenuItemDisabled .mceText {
- 	color: #888;
- }
- 
- #mceModalBlocker {
- 	background: #000;
- }
- 
- /* WP specific */
- .wp-editor-area {
- 	font-family: Consolas, Monaco, monospace;
- 	padding: 10px;
- 	line-height: 150%;
- 	border: 0 none;
- 	outline: none;
- 	resize: vertical;
- 	-moz-box-sizing: border-box;
- 	-webkit-box-sizing: border-box;
- 	box-sizing: border-box;
- }
- 
- .wp-editor-tools {
- 	height: 30px;
- 	padding: 0 10px;
- }
- 
- .wp-editor-container {
-     border-width: 1px;
- 	border-style: solid;
- 	-webkit-border-top-right-radius: 3px;
- 	-webkit-border-top-left-radius: 3px;
- 	border-top-right-radius: 3px;
- 	border-top-left-radius: 3px;
- 	border-color: #ccc #ccc #dfdfdf;
- }
- 
- .wp-editor-container textarea.wp-editor-area {
- 	width: 99.9%;
- }
- 
- .quicktags-toolbar,
- .wp_themeSkin tr.mceFirst td.mceToolbar {
- 	border-bottom: 1px solid #ccc;
- 	background-color: #e9e9e9; /* Fallback */
- 	background-image: -ms-linear-gradient(bottom, #ddd, #e9e9e9); /* IE10 */
- 	background-image: -moz-linear-gradient(bottom, #ddd, #e9e9e9); /* Firefox */
- 	background-image: -o-linear-gradient(bottom, #ddd, #e9e9e9); /* Opera */
- 	background-image: -webkit-linear-gradient(bottom, #ddd, #e9e9e9); /* new Webkit */
- 	background-image: linear-gradient(bottom, #ddd, #e9e9e9); /* proposed W3C Markup */
- }
- 
- .wp-switch-editor {
- 	height: 18px;
-     font: 13px/18px Arial,Helvetica,sans-serif normal;
- 	margin: 5px 5px 0 0;
- 	padding: 4px 5px 2px;
- 	float: right;
- 	cursor: pointer;
- 	border-width: 1px;
- 	border-style: solid;
- 	-webkit-border-top-right-radius: 3px;
- 	-webkit-border-top-left-radius: 3px;
- 	border-top-right-radius: 3px;
- 	border-top-left-radius: 3px;
- 	background-color: #f1f1f1;
- 	border-color: #dfdfdf #dfdfdf #ccc;
- 	color: #999;
- }
- 
- html[dir="rtl"] .wp-switch-editor {
- 	float: left;
- }
- 
- .wp-switch-editor:hover {
- 	text-decoration: none !important;
- }
- 
- .js .tmce-active .wp-editor-area {
- 	color: white;
- }
- 
- .tmce-active .quicktags-toolbar {
- 	 display: none;
- }
- 
- .tmce-active .switch-tmce,
- .html-active .switch-html {
- 	border-color: #ccc #ccc #e9e9e9;
- 	background-color: #e9e9e9;
- 	color: #333;
- }
- 
- .wp-media-buttons {
- 	line-height: 1;
-     padding: 9px 0 0;
- }
- 
- .wp-media-buttons a {
- 	text-decoration: none;
- 	color: #333;
- 	font-size: 12px;
- 	vertical-align: bottom;
- }
- 
- .wp-media-buttons img {
- 	padding: 0 4px;
- 	vertical-align: middle;
- }
- 
- .quicktags-toolbar {
- 	border-bottom-style: solid;
- 	border-bottom-width: 1px;
- 	-webkit-border-top-right-radius: 3px;
- 	-webkit-border-top-left-radius: 3px;
- 	border-top-right-radius: 3px;
- 	border-top-left-radius: 3px;
- 	padding: 2px 8px 0;
- 	min-height: 30px;
- }
- 
- .quicktags-toolbar > div {
- 	padding: 2px 4px 0;
- }
- 
- .quicktags-toolbar input {
- 	margin: 2px 1px 4px;
- 	line-height: 18px;
- 	display: inline-block;
- 	min-width: 26px;
- 	padding: 2px 4px;
- 	font: 12px/18px Arial,Helvetica,sans-serif normal;
- 	color: #464646;
- 	border: 1px solid #C3C3C3;
- 	-webkit-border-radius: 3px;
- 	border-radius: 3px;
- 	background-color: #eee;
- 	background-image: -ms-linear-gradient(bottom, #e3e3e3, #fff);
- 	background-image: -moz-linear-gradient(bottom, #e3e3e3, #fff);
- 	background-image: -o-linear-gradient(bottom, #e3e3e3, #fff);
- 	background-image: -webkit-linear-gradient(bottom, #e3e3e3, #fff);
- 	background-image: linear-gradient(bottom, #e3e3e3, #fff);
- }
- 
- .quicktags-toolbar input:hover {
- 	border-color: #aaa;
- 	background: #ddd;
- }
- 
- .quicktags-toolbar input[value="link"] {
- 	text-decoration: underline;
- }
- 
- .quicktags-toolbar input[value="del"] {
- 	text-decoration: line-through;
- }
- 
- .quicktags-toolbar input[value="i"] {
- 	font-style: italic;
- }
- 
- .quicktags-toolbar input[value="b"] {
- 	font-weight: bold;
- }
- 
- #wp_editbtns,
- #wp_gallerybtns {
- 	padding: 2px;
- 	position: absolute;
- 	display: none;
- 	z-index: 999998;
- }
- 
- #wp_editimgbtn,
- #wp_delimgbtn,
- #wp_editgallery,
- #wp_delgallery {
- 	border-color: #999;
- 	background-color: #eee;
- 	margin: 2px;
- 	padding: 2px;
- 	border-width: 1px;
- 	border-style: solid;
- 	-webkit-border-radius: 3px;
- 	border-radius: 3px;
- }
- 
- #wp_editimgbtn:hover,
- #wp_delimgbtn:hover,
- #wp_editgallery:hover,
- #wp_delgallery:hover {
- 	border-color: #555;
- 	background-color: #ccc;
- }
- 
- 
- /*------------------------------------------------------------------------------
-  wp-link
- ------------------------------------------------------------------------------*/
- 
- #wp-link {
- 	background-color: #F5F5F5;
- 	line-height: 1.4em;
- 	font-size: 12px;
- }
- 
- #wp-link ol,
- #wp-link ul {
- 	list-style: none;
- 	margin: 0;
- 	padding: 0;
- }
- 
- #wp-link input[type="text"] {
- 	-webkit-box-sizing: border-box;
- }
- 
- #wp-link input[type="text"],
- #wp-link textarea {
- 	border-width: 1px;
- 	border-style: solid;
- 	-webkit-border-radius: 4px;
- 	border-radius: 4px;
- 	font-size: 12px;
- 	margin: 1px;
- 	padding: 3px;
- }
- 
- #wp-link #link-options {
- 	padding: 10px 0 14px;
- 	border-bottom: 1px solid #dfdfdf;
- 	margin: 0 6px 14px;
- }
- 
- #wp-link p.howto {
- 	margin: 3px;
- }
- 
- #wp-link #internal-toggle {
- 	display: inline-block;
- 	cursor: pointer;
- 	padding-left: 18px;
- }
- 
- #wp-link .toggle-arrow {
- 	background: transparent url( '../images/toggle-arrow.png' ) top left no-repeat;
- 	height: 23px;
- 	line-height: 23px;
- }
- 
- #wp-link .toggle-arrow-active {
- 	background-position: center left;
- }
- 
- #wp-link label input[type="text"] {
- 	width: 360px;
- 	margin-top: 5px;
- }
- 
- #wp-link label span {
- 	display: inline-block;
- 	width: 80px;
- 	text-align: right;
- 	padding-right: 5px;
- }
- 
- #wp-link .link-search-wrapper {
- 	margin: 5px 6px 9px;
- 	display: block;
- 	overflow: hidden;
- }
- 
- #wp-link .link-search-wrapper span {
- 	float: left;
- 	margin-top: 6px;
- }
- 
- #wp-link .link-search-wrapper input[type="text"] {
- 	float: left;
- 	width: 220px;
- }
- 
- #wp-link .link-search-wrapper img.waiting {
- 	margin: 8px 1px 0 4px;
- 	float: left;
- 	display: none;
- }
- 
- #wp-link .link-target {
- 	width: auto;
- 	padding: 3px 0 0;
- 	margin: 0 0 0 87px;
- 	font-size: 11px;
- }
- 
- #wp-link .query-results {
- 	border: 1px #dfdfdf solid;
- 	margin: 0 5px 5px;
- 	background: #fff;
- 	height: 185px;
- 	overflow: auto;
- 	position: relative;
- }
- 
- #wp-link li,
- #wp-link .query-notice {
- 	clear: both;
- 	margin-bottom: 0;
- 	border-bottom: 1px solid #f1f1f1;
- 	color: #333;
- 	padding: 4px 6px;
- 	cursor: pointer;
- 	position: relative;
- }
- 
- #wp-link li:hover {
- 	background: #eaf2fa;
- 	color: #151515;
- }
- 
- #wp-link li.unselectable {
- 	border-bottom: 1px solid #dfdfdf;
- }
- 
- #wp-link li.unselectable:hover {
- 	background: #fff;
- 	cursor: auto;
- 	color: #333;
- }
- 
- #wp-link li.selected {
- 	background: #ddd;
- 	color: #333;
- }
- 
- #wp-link li.selected .item-title {
- 	font-weight: bold;
- }
- 
- #wp-link .item-title {
- 	display: inline-block;
- 	width: 80%;
- }
- 
- #wp-link .item-info {
- 	text-transform: uppercase;
- 	color: #666;
- 	font-size: 11px;
- 	position: absolute;
- 	right: 5px;
- 	top: 4px;
- 	bottom: 0;
- }
- 
- #wp-link #search-results {
- 	display: none;
- }
- 
- #wp-link  #search-panel {
- 	float: left;
- 	width: 100%;
- }
- 
- #wp-link .river-waiting {
- 	display: none;
- 	padding: 10px 0;
- }
- 
- #wp-link .river-waiting img.waiting {
- 	margin: 0 auto;
- 	display: block;
- }
- 
- #wp-link .submitbox {
- 	padding: 5px 10px;
- 	font-size: 11px;
- 	overflow: auto;
- 	height: 29px;
- }
- 
- #wp-link-cancel {
- 	line-height: 25px;
- 	float: left;
- }
- 
- #wp-link-update {
- 	line-height: 23px;
- 	float: right;
- }
- 
- 
- /*
-  * Based on:
-  * jQuery UI CSS Framework @VERSION
-  *
-  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
-  * Dual licensed under the MIT or GPL Version 2 licenses.
-  * http://jquery.org/license
-  *
-  * http://docs.jquery.com/UI/Theming/API
-  */
- 
- /* Layout helpers
- ----------------------------------*/
- .ui-helper-hidden { display: none; }
- .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
- .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
- .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
- .ui-helper-clearfix { display: inline-block; }
- /* required comment for clearfix to work in Opera \*/
- * html .ui-helper-clearfix { height:1%; }
- .ui-helper-clearfix { display:block; }
- /* end clearfix */
- .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
- 
- 
- /* Interaction Cues
- ----------------------------------*/
- .ui-state-disabled { cursor: default !important; }
- 
- 
- /* Icons
- ----------------------------------*/
- 
- /* states and images */
- .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
- 
- 
- /* Misc visuals
- ----------------------------------*/
- 
- /* Overlays */
- .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
- 
- /*
-  * jQuery UI Resizable
-  *
-  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
-  * Dual licensed under the MIT or GPL Version 2 licenses.
-  * http://jquery.org/license
-  *
-  * http://docs.jquery.com/UI/Resizable#theming
-  */
- .ui-resizable { position: relative;}
- .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
- .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
- .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
- .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
- .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
- .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
- .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
- .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
- .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
- .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
- 
- /*
-  * jQuery UI Dialog
-  *
-  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
-  * Dual licensed under the MIT or GPL Version 2 licenses.
-  * http://jquery.org/license
-  *
-  * http://docs.jquery.com/UI/Dialog#theming
-  */
- .wp-dialog { position: absolute; width: 300px; overflow: hidden; }
- .wp-dialog .ui-dialog-titlebar { position: relative; }
- .wp-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
- .wp-dialog .ui-dialog-content { position: relative; border: 0; padding: 0; background: none; overflow: auto; zoom: 1; }
- .wp-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
- .wp-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
- .wp-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
- .wp-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
- .ui-draggable .ui-dialog-titlebar { cursor: move; }
- 
- 
- 
- /* WP jQuery Dialog Theme */
- .wp-dialog {
- 	border: 1px solid #999;
- 	-moz-box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 );
- 	-webkit-box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 );
- 	box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 );
- }
- 
- .wp-dialog .ui-dialog-title {
- 	display: block;
- 	text-align: center;
- 	padding: 1px 0 2px;
- }
- 
- .wp-dialog .ui-dialog-titlebar {
- 	padding: 0 1em;
- 	background-color: #444;
- 	font-weight: bold;
- 	font-size: 11px;
- 	line-height: 18px;
- 	color: #e5e5e5;
- }
- 
- .wp-dialog {
- 	background-color: fff;
- 	-webkit-border-top-left-radius: 4px;
- 	-webkit-border-top-right-radius: 4px;
- 	border-top-left-radius: 4px;
- 	border-top-right-radius: 4px;
- }
- 
- .wp-dialog .ui-dialog-titlebar {
- 	-webkit-border-top-left-radius: 3px;
- 	-webkit-border-top-right-radius: 3px;
- 	border-top-left-radius: 3px;
- 	border-top-right-radius: 3px;
- }
- 
- .wp-dialog .ui-dialog-titlebar-close {
- 	position: absolute;
- 	width: 29px;
- 	height: 16px;
- 	top: 2px;
- 	right: 6px;
- 	background: url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;
- 	padding: 0;
- }
- 
- .wp-dialog .ui-dialog-titlebar-close:hover,
- .wp-dialog .ui-dialog-titlebar-close:focus {
- 	background-position: -87px -32px;
- }
- 
- .ui-widget-overlay {
- 	background-color: #000;
- 	opacity: 0.6;
- 	filter: alpha(opacity=60);
- }
- 
- /*
- RTL
- */
- .rtl #wp-link #internal-toggle {
- 	padding-right: 18px;
- 	padding-left: 0;
- }
- 
- .rtl #wp-link label span {
- 	text-align: left;
- 	padding-left: 5px;
- 	padding-right: 0;
- }
- 
- .rtl #wp-link .link-search-wrapper span {
- 	float: right;
- }
- 
- .rtl #wp-link .link-search-wrapper input[type="text"] {
- 	float: right;
- }
- 
- .rtl #wp-link .link-search-wrapper img.waiting {
- 	margin: 8px 4px 0 1px;
- 	float: right;
- }
- 
- .rtl #wp-link .link-target {
- 	margin: 0 87px 0 0;
- }
- 
- .rtl #wp-link .item-info {
- 	left: 5px;
- 	right: auto;
- 	top: 4px;
- 	bottom: 0;
- }
- 
- .rtl #wp-link #search-panel {
- 	float: right;
- }
- 
- .rtl #wp-link-cancel {
- 	float: right;
- }
- 
- .rtl #wp-link-update {
- 	float: left;
- }
- 
- .rtl #wp-link .toggle-arrow {
- 	background-position: top right;
- }
- 
- .rtl #wp-link .toggle-arrow-active {
- 	background-position: center right;
- }
- 
- .rtl .wp_themeSkin .mceListBox .mceText {
- 	text-align: right;
- }
- 
- .rtl .wp_themeSkin .mceNoIcons a .mceText {
- 	padding-right: 10px;
- 	padding-left: 25px;
- }
- 
- .rtl .mceListBoxMenu.mceNoIcons {
- 	margin-left: -14px;
- }
- 
- .clearlooks2 .mceFocus .mceTop .mceLeft {
- 	background: #444444;
- 	border-left: 1px solid #999;
- 	border-top: 1px solid #999;
- 	-webkit-border-top-left-radius: 3px;
- 	border-top-left-radius: 3px;
- }
- 
- .clearlooks2 .mceFocus .mceTop .mceRight {
- 	background: #444444;
- 	border-right: 1px solid #999;
- 	border-top: 1px solid #999;
- 	-webkit-border-top-right-radius: 3px;
- 	border-top-right-radius: 3px;
- }
- 
- .clearlooks2 .mceMiddle .mceLeft {
- 	background: #f1f1f1;
- 	border-left: 1px solid #999;
- }
- 
- .clearlooks2 .mceMiddle .mceRight {
- 	background: #f1f1f1;
- 	border-right: 1px solid #999;
- }
- 
- .clearlooks2 .mceBottom {
- 	background: #f1f1f1;
- 	border-bottom: 1px solid #999;
- }
- 
- .clearlooks2 .mceBottom .mceLeft {
- 	background: #f1f1f1;
- 	border-bottom: 1px solid #999;
- 	border-left: 1px solid #999;
- }
- 
- .clearlooks2 .mceBottom .mceCenter {
- 	background: #f1f1f1;
- 	border-bottom: 1px solid #999;
- }
- 
- .clearlooks2 .mceBottom .mceRight {
- 	background: #f1f1f1;
- 	border-bottom: 1px solid #999;
- 	border-right: 1px solid #999;
- }
- 
- .clearlooks2 .mceFocus .mceTop span {
- 	color: #e5e5e5;
- }
- 
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/editor.css ./wordpress-3.4/wp-includes/css/editor.css
*** ./wordpress-3.3.2/wp-includes/css/editor.css	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/editor.css	2012-04-30 07:58:19.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ .wp_themeSkin table,.wp_themeSkin tbody,.wp_themeSkin a,.wp_themeSkin img,.wp_themeSkin tr,.wp_themeSkin div,.wp_themeSkin td,.wp_themeSkin iframe,.wp_themeSkin span,.wp_themeSkin *,.wp_themeSkin .mceText{border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:normal;cursor:default;vertical-align:baseline;width:auto;border-collapse:separate}.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{text-decoration:none;font-weight:normal;cursor:default}.wp_themeSkin table td{vertical-align:middle}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000}.wp_themeSkin iframe{display:block}.wp_themeSkin #mce_fullscreen_ifr{background-color:#fff}.wp_themeSkin .mceToolbar{padding:1px}.wp_themeSkin .mceExternalToolbar{position:absolute;border-bottom:0;display:none}.wp_themeSkin .mceExternalToolbar td.mceToolbar{padding-right:13px}.wp_themeSkin .mceExternalClose{position:absolute;top:3px;right:3px;width:7px;height:7px;background:url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0}.wp_themeSkin table.mceToolbar,.wp_themeSkin tr.mceFirst .mceToolbar tr td,.wp_themeSkin tr.mceLast .mceToolbar tr td{border:0;margin:0;padding:0}.wp_themeSkin table.mceLayout{border:0}.wp_themeSkin .mceStatusbar{display:block;font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;line-height:16px;padding:0 0 0 8px;overflow:visible;height:20px;border-top:1px solid #dfdfdf;color:#000;background-color:#f5f5f5}.rtl .wp_themeSkin .mceStatusbar{padding:0 8px 0 0}.wp_themeSkin .mceStatusbar *{color:#555}.wp_themeSkin .mceStatusbar div{float:left;padding:2px}.rtl .wp_themeSkin .mceStatusbar div{float:right}.wp_themeSkin .mceStatusbar a.mceResize{display:block;float:right;background:url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;width:20px;height:20px;cursor:se-resize}.rtl .wp_themeSkin .mceStatusbar a.mceResize{float:left}.wp_themeSkin .mceStatusbar a:hover{text-decoration:underline}.wp_themeSkin table.mceToolbar{margin:0 6px 2px}.wp_themeSkin #content_toolbar1{margin-top:2px}.wp_themeSkin .mceToolbar .mceToolbarEndListBox span{display:none}.wp_themeSkin span.mceIcon,.wp_themeSkin img.mceIcon{display:block;width:20px;height:20px}.wp_themeSkin .mceIcon{background:url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px}.wp_themeSkin .mceButton{display:block;width:20px;height:20px;cursor:default;padding:1px 2px;margin:1px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff}.wp_themeSkin a.mceButtonEnabled:hover{background-image:inherit 0 -10px}.wp_themeSkin .mceOldBoxModel a.mceButton span,.wp_themeSkin .mceOldBoxModel a.mceButton img{margin:0 0 0 1px}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:hover,.wp_themeSkin a.mceButtonSelected{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff}.wp_themeSkin .mceButtonDisabled .mceIcon{opacity:.5;filter:alpha(opacity=50)}.wp_themeSkin .mceSeparator{height:24px;width:1px;display:block;background:transparent;overflow:hidden;margin:0 2px}.wp_themeSkin .mceListBox,.wp_themeSkin .mceListBox a{display:block}.wp_themeSkin .mceListBox .mceText{padding:1px 2px 1px 5px;text-align:left;text-decoration:none;width:70px;-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;height:20px;line-height:20px;overflow:hidden}.wp_themeSkin .mceListBox{margin:1px;direction:ltr}.wp_themeSkin .mceListBox .mceOpen{width:14px;height:20px;border-collapse:separate;padding:1px;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff}.wp_themeSkin .mceListBox .mceOpen span{display:block;width:14px;height:20px;background-image:url("../images/down_arrow.gif");background-position:2px 1px;background-repeat:no-repeat}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen{background-image:none}.wp_themeSkin .mceListBoxDisabled .mceText{color:gray}.wp_themeSkin .mceListBoxMenu{overflow:auto;overflow-x:hidden}.wp_themeSkin .mceOldBoxModel .mceListBox .mceText{height:22px}.wp_themeSkin select.mceListBox{font-family:Arial,"Bitstream Vera Sans",Helvetica,Verdana,sans-serif;font-size:12px;border-color:#b2b2b2;background-color:#fff}.wp_themeSkin .mceSplitButton a,.wp_themeSkin .mceSplitButton span{display:block;height:20px}.wp_themeSkin .mceSplitButton{display:block;margin:1px;direction:ltr}.wp_themeSkin table.mceSplitButton td{padding:2px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin table.mceSplitButton td a{-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff;box-shadow:0 1px 0 rgba(0,0,0,0.15),inset 0 0 2px 1px #fff}.wp_themeSkin table.mceSplitButton:hover td{background-image:inherit 0 -10px}.wp_themeSkin .mceSplitButton a.mceAction{height:20px;width:20px;padding:1px 2px}.wp_themeSkin .mceSplitButton span.mceAction{background-image:url("../js/tinymce/themes/advanced/img/icons.gif");background-repeat:no-repeat;background-color:transparent;width:20px}.wp_themeSkin .mceSplitButton a.mceOpen{width:10px;height:20px;background-image:url("../images/down_arrow.gif");background-position:1px 2px;background-repeat:no-repeat;padding:1px;border-left:0 none!important}.wp_themeSkin .mceSplitButton span.mceOpen{display:none}.wp_themeSkin .mceSplitButtonDisabled .mceAction{opacity:.3;filter:alpha(opacity=30)}.wp_themeSkin .mceListBox a.mceText,.wp_themeSkin .mceSplitButton a.mceAction{-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px}.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceListBox a.mceOpen{-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin span.mce_undo,.wp_themeSkin span.mce_redo,.wp_themeSkin span.mce_bullist,.wp_themeSkin span.mce_numlist,.wp_themeSkin span.mce_blockquote,.wp_themeSkin span.mce_charmap,.wp_themeSkin span.mce_bold,.wp_themeSkin span.mce_italic,.wp_themeSkin span.mce_underline,.wp_themeSkin span.mce_justifyleft,.wp_themeSkin span.mce_justifyright,.wp_themeSkin span.mce_justifycenter,.wp_themeSkin span.mce_justifyfull,.wp_themeSkin span.mce_indent,.wp_themeSkin span.mce_outdent,.wp_themeSkin span.mce_link,.wp_themeSkin span.mce_unlink,.wp_themeSkin span.mce_help,.wp_themeSkin span.mce_removeformat,.wp_themeSkin span.mce_fullscreen,.wp_themeSkin span.mce_wp_fullscreen,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_pastetext,.wp_themeSkin span.mce_pasteword,.wp_themeSkin span.mce_wp_help,.wp_themeSkin span.mce_wp_adv,.wp_themeSkin span.mce_wp_more,.wp_themeSkin span.mce_strikethrough,.wp_themeSkin span.mce_spellchecker,.wp_themeSkin span.mce_forecolor,.wp_themeSkin .mce_forecolorpicker,.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceSplitButton span.mce_numlist,.wp_themeSkin .mceSplitButton span.mce_bullist{background-image:url(../images/wpicons.png)}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#b2b2b2}.wp_themeSkin .mceColorSplitMenu td{padding:2px}.wp_themeSkin .mceColorSplitMenu a{display:block;width:9px;height:9px;overflow:hidden;border-color:#b2b2b2}.wp_themeSkin .mceColorSplitMenu td.mceMoreColors{padding:1px 3px 1px 1px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{width:100%;height:auto;text-align:center;font-family:Tahoma,Verdana,Arial,Helvetica;font-size:11px;line-height:20px;border-color:#fff}.wp_themeSkin .mceColorPreview{margin:-5px 0 0 2px;width:16px;height:4px;overflow:hidden}.wp_themeSkin .mceMenu{position:absolute;left:0;top:0;z-index:1000;border-color:#ddd}.wp_themeSkin .mceNoIcons span.mceIcon{width:0}.wp_themeSkin .mceNoIcons a .mceText{padding-left:10px}.wp_themeSkin .mceMenu table{background-color:#ebeaeb}.wp_themeSkin .mceMenu a,.wp_themeSkin .mceMenu span,.wp_themeSkin .mceMenu{display:block}.wp_themeSkin .mceMenu td{height:20px;overflow:hidden}.wp_themeSkin .mceMenu a{position:relative;padding:3px 0 4px 0;text-decoration:none!important}.wp_themeSkin .mceMenu .mceText{position:relative;display:block;font-family:Tahoma,Verdana,Arial,Helvetica;cursor:default;margin:0;padding:0 25px;color:#000}.wp_themeSkin .mceMenu span.mceText,.wp_themeSkin .mceMenu .mcePreview{font-size:12px}.wp_themeSkin .mceMenu pre.mceText{font-family:Monospace}.wp_themeSkin .mceMenu .mceIcon{position:absolute;top:0;left:0;width:22px}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5}.wp_themeSkin td.mceMenuItemSeparator{height:1px;background-color:#aaa}.wp_themeSkin .mceMenuItemTitle a{border-top:0;border-right:0;border-left:0;border-bottom:1px solid #aaa;text-decoration:none!important;background-color:#ccc}.wp_themeSkin .mceMenuItemTitle span.mceText{font-weight:bold;padding-left:4px;color:#000}.wp_themeSkin .mceMenuItemSelected .mceIcon{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");color:#888}.wp_themeSkin .mceNoIcons .mceMenuItemSelected a{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center}.wp_themeSkin .mceMenu span.mceMenuLine{display:none}.wp_themeSkin .mceMenuItemSub a{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top right}.wp_themeSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;opacity:.5;filter:alpha(opacity=50);background:#FFF}.wp_themeSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001;background:url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;width:32px;height:32px;margin:-16px 0 0 -16px}.wp_themeSkin .mcePlaceHolder{border:1px dotted gray}.wp_themeSkin .mce_address span.mceText{font-style:italic}.wp_themeSkin .mce_pre span.mceText{font-family:monospace}.wp_themeSkin .mce_h1 span.mceText{font-weight:bolder;font-size:17px}.wp_themeSkin .mce_h2 span.mceText{font-weight:bolder;font-size:16px}.wp_themeSkin .mce_h3 span.mceText{font-weight:bolder;font-size:15px}.wp_themeSkin .mce_h4 span.mceText{font-weight:bolder;font-size:14px}.wp_themeSkin .mce_h5 span.mceText{font-weight:bolder;font-size:13px}.wp_themeSkin .mce_h6 span.mceText{font-weight:bolder;font-size:12px}.wp_themeSkin span.mce_undo{background-position:-500px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_undo,.wp_themeSkin .mceButtonActive span.mce_undo{background-position:-500px 0}.wp_themeSkin span.mce_redo{background-position:-480px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_redo,.wp_themeSkin .mceButtonActive span.mce_redo{background-position:-480px 0}.wp_themeSkin span.mce_bullist{background-position:-40px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,.wp_themeSkin .mceButtonActive span.mce_bullist,.wp_themeSkin .mceSplitButton:hover span.mce_bullist{background-position:-40px 0}.wp_themeSkin span.mce_numlist{background-position:-61px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,.wp_themeSkin .mceButtonActive span.mce_numlist,.wp_themeSkin .mceSplitButton:hover span.mce_numlist{background-position:-61px 0}.wp_themeSkin span.mce_blockquote{background-position:-80px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,.wp_themeSkin .mceButtonActive span.mce_blockquote{background-position:-80px 0}.wp_themeSkin span.mce_charmap{background-position:-420px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,.wp_themeSkin .mceButtonActive span.mce_charmap{background-position:-420px 0}.wp_themeSkin span.mce_bold{background-position:-1px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_bold,.wp_themeSkin .mceButtonActive span.mce_bold{background-position:-1px 0}.wp_themeSkin span.mce_italic{background-position:-21px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_italic,.wp_themeSkin .mceButtonActive span.mce_italic{background-position:-21px 0}.wp_themeSkin span.mce_underline{background-position:-280px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_underline,.wp_themeSkin .mceButtonActive span.mce_underline{background-position:-280px 1px}.wp_themeSkin span.mce_justifyleft{background-position:-100px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,.wp_themeSkin .mceButtonActive span.mce_justifyleft{background-position:-100px 1px}.wp_themeSkin span.mce_justifyright{background-position:-141px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,.wp_themeSkin .mceButtonActive span.mce_justifyright{background-position:-141px 1px}.wp_themeSkin span.mce_justifycenter{background-position:-120px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,.wp_themeSkin .mceButtonActive span.mce_justifycenter{background-position:-120px 1px}.wp_themeSkin span.mce_justifyfull{background-position:-300px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,.wp_themeSkin .mceButtonActive span.mce_justifyfull{background-position:-300px 1px}.wp_themeSkin span.mce_indent{background-position:-461px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_indent,.wp_themeSkin .mceButtonActive span.mce_indent{background-position:-461px 1px}.wp_themeSkin span.mce_outdent{background-position:-440px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,.wp_themeSkin .mceButtonActive span.mce_outdent{background-position:-440px 1px}.wp_themeSkin span.mce_link{background-position:-161px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_link,.wp_themeSkin .mceButtonActive span.mce_link{background-position:-161px 0}.wp_themeSkin span.mce_unlink{background-position:-180px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,.wp_themeSkin .mceButtonActive span.mce_unlink{background-position:-180px 0}.wp_themeSkin span.mce_help{background-position:-521px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_help,.wp_themeSkin .mceButtonActive span.mce_help{background-position:-521px 0}.wp_themeSkin span.mce_removeformat{background-position:-381px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,.wp_themeSkin .mceButtonActive span.mce_removeformat{background-position:-381px 0}.wp_themeSkin span.mce_strikethrough{background-position:-540px -18px}.wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,.wp_themeSkin .mceButtonActive span.mce_strikethrough{background-position:-540px 0}.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor{background-position:-321px -22px}.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,.wp_themeSkin .mceSplitButtonActive span.mce_forecolor{background-position:-321px -2px}.wp_themeSkin .mce_forecolorpicker{background-position:-320px -20px}.wp_themeSkin span.mce_fullscreen{background-position:-240px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,.wp_themeSkin .mceButtonActive span.mce_fullscreen{background-position:-240px 0}.wp_themeSkin span.mce_wp_fullscreen{background-position:-240px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,.wp_themeSkin .mceButtonActive span.mce_wp_fullscreen{background-position:-240px 0}.wp_themeSkin span.mce_media{background-position:-401px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_media,.wp_themeSkin .mceButtonActive span.mce_media{background-position:-401px 0}.wp_themeSkin span.mce_pastetext{background-position:-340px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,.wp_themeSkin .mceButtonActive span.mce_pastetext{background-position:-340px 0}.wp_themeSkin span.mce_pasteword{background-position:-360px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,.wp_themeSkin .mceButtonActive span.mce_pasteword{background-position:-360px 0}.wp_themeSkin span.mce_spellchecker{background-position:-220px -19px}.wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceButtonActive span.mce_spellchecker,.wp_themeSkin .mceSplitButtonActive span.mce_spellchecker{background-position:-220px 1px}.wp_themeSkin span.mce_wp_help{background-position:-521px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,.wp_themeSkin .mceButtonActive span.mce_wp_help{background-position:-521px 0}.wp_themeSkin span.mce_wp_adv{background-position:-260px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,.wp_themeSkin .mceButtonActive span.mce_wp_adv{background-position:-260px 0}.wp_themeSkin span.mce_wp_more{background-position:-201px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,.wp_themeSkin .mceButtonActive span.mce_wp_more{background-position:-201px 0}.wp_themeSkin span.mce_cleanup{background-position:-380px -20px}.wp_themeSkin span.mce_anchor{background-position:-200px 0}.wp_themeSkin span.mce_sub{background-position:-600px 0}.wp_themeSkin span.mce_sup{background-position:-620px 0}.wp_themeSkin span.mce_newdocument{background-position:-520px 0}.wp_themeSkin span.mce_image{background-position:-380px 0}.wp_themeSkin span.mce_code{background-position:-260px 0}.wp_themeSkin span.mce_hr{background-position:-360px 0}.wp_themeSkin span.mce_visualaid{background-position:-660px 0}.wp_themeSkin span.mce_paste{background-position:-560px 0}.wp_themeSkin span.mce_copy{background-position:-700px 0}.wp_themeSkin span.mce_cut{background-position:-680px 0}.wp_themeSkin .mce_backcolor span.mceAction{background-position:-760px 0}.wp_themeSkin .mce_backcolorpicker{background-position:-760px 0}.wp_themeSkin span.mce_advhr{background-position:-0px -20px}.wp_themeSkin span.mce_ltr{background-position:-20px -20px}.wp_themeSkin span.mce_rtl{background-position:-40px -20px}.wp_themeSkin span.mce_emotions{background-position:-60px -20px}.wp_themeSkin span.mce_fullpage{background-position:-80px -20px}.wp_themeSkin span.mce_iespell{background-position:-120px -20px}.wp_themeSkin span.mce_insertdate{background-position:-140px -20px}.wp_themeSkin span.mce_inserttime{background-position:-160px -20px}.wp_themeSkin span.mce_absolute{background-position:-180px -20px}.wp_themeSkin span.mce_backward{background-position:-200px -20px}.wp_themeSkin span.mce_forward{background-position:-220px -20px}.wp_themeSkin span.mce_insert_layer{background-position:-240px -20px}.wp_themeSkin span.mce_insertlayer{background-position:-260px -20px}.wp_themeSkin span.mce_movebackward{background-position:-280px -20px}.wp_themeSkin span.mce_moveforward{background-position:-300px -20px}.wp_themeSkin span.mce_nonbreaking{background-position:-340px -20px}.wp_themeSkin span.mce_selectall{background-position:-400px -20px}.wp_themeSkin span.mce_preview{background-position:-420px -20px}.wp_themeSkin span.mce_print{background-position:-440px -20px}.wp_themeSkin span.mce_cancel{background-position:-460px -20px}.wp_themeSkin span.mce_save{background-position:-480px -20px}.wp_themeSkin span.mce_replace{background-position:-500px -20px}.wp_themeSkin span.mce_search{background-position:-520px -20px}.wp_themeSkin span.mce_styleprops{background-position:-560px -20px}.wp_themeSkin span.mce_table{background-position:-580px -20px}.wp_themeSkin span.mce_cell_props{background-position:-600px -20px}.wp_themeSkin span.mce_delete_table{background-position:-620px -20px}.wp_themeSkin span.mce_delete_col{background-position:-640px -20px}.wp_themeSkin span.mce_delete_row{background-position:-660px -20px}.wp_themeSkin span.mce_col_after{background-position:-680px -20px}.wp_themeSkin span.mce_col_before{background-position:-700px -20px}.wp_themeSkin span.mce_row_after{background-position:-720px -20px}.wp_themeSkin span.mce_row_before{background-position:-740px -20px}.wp_themeSkin span.mce_merge_cells{background-position:-760px -20px}.wp_themeSkin span.mce_table_props{background-position:-980px -20px}.wp_themeSkin span.mce_row_props{background-position:-780px -20px}.wp_themeSkin span.mce_split_cells{background-position:-800px -20px}.wp_themeSkin span.mce_template{background-position:-820px -20px}.wp_themeSkin span.mce_visualchars{background-position:-840px -20px}.wp_themeSkin span.mce_abbr{background-position:-860px -20px}.wp_themeSkin span.mce_acronym{background-position:-880px -20px}.wp_themeSkin span.mce_attribs{background-position:-900px -20px}.wp_themeSkin span.mce_cite{background-position:-920px -20px}.wp_themeSkin span.mce_del{background-position:-940px -20px}.wp_themeSkin span.mce_ins{background-position:-960px -20px}.wp_themeSkin span.mce_pagebreak{background-position:0 -40px}.wp_themeSkin .mceExternalToolbar,.wp_themeSkin .mceButton,.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin select.mceListBox,.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover,.wp_themeSkin div.mceColorSplitMenu table,.wp_themeSkin .mceColorSplitMenu a,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,.wp_themeSkin a.mceMoreColors:hover,.wp_themeSkin .mceMenu{border-style:solid;border-width:1px}.wp_themeSkin iframe{background:transparent}.wp_themeSkin .mceButton,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#ccc;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff)}.wp_themeSkin a.mceButtonEnabled:hover{border-color:#a0a0a0;background:#ddd;background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff)}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover{background-color:#ddd;background-image:-ms-linear-gradient(bottom,#eee,#bbb);background-image:-moz-linear-gradient(bottom,#eee,#bbb);background-image:-o-linear-gradient(bottom,#eee,#bbb);background-image:-webkit-gradient(linear,left bottom,left top,from(#eee),to(#bbb));background-image:-webkit-linear-gradient(bottom,#eee,#bbb);background-image:linear-gradient(bottom,#eee,#bbb);border-color:#909090}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important}.wp_themeSkin .mceListBox .mceOpen{border-left:0!important}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxHover:active .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:active .mceText{background:#ccc;border-color:#999}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen{border-color:#909090;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff)}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#ccc}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{border-color:#909090}.wp_themeSkin table.mceSplitButton td{background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff)}.wp_themeSkin table.mceSplitButton:hover td{background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff)}.wp_themeSkin .mceSplitButtonActive{background-color:#b2b2b2}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0a246a;background-color:#b6bdd2}.wp_themeSkin a.mceMoreColors:hover{border-color:#0a246a}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888}#mceModalBlocker{background:#000}.wp-editor-area{font-family:Consolas,Monaco,monospace;padding:10px;line-height:150%;border:0 none;outline:0;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{height:30px;padding:0 10px}.wp-editor-container{border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-color:#ccc #ccc #dfdfdf}.wp-editor-container textarea.wp-editor-area{width:99.9%}.quicktags-toolbar,.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #ccc;background-color:#e9e9e9;background-image:-ms-linear-gradient(bottom,#ddd,#e9e9e9);background-image:-moz-linear-gradient(bottom,#ddd,#e9e9e9);background-image:-o-linear-gradient(bottom,#ddd,#e9e9e9);background-image:-webkit-linear-gradient(bottom,#ddd,#e9e9e9);background-image:linear-gradient(bottom,#ddd,#e9e9e9)}.wp-switch-editor{height:18px;font:13px/18px Arial,Helvetica,sans-serif normal;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999}html[dir="rtl"] .wp-switch-editor{float:left}.wp-switch-editor:hover{text-decoration:none!important}.js .tmce-active .wp-editor-area{color:white}.tmce-active .quicktags-toolbar{display:none}.tmce-active .switch-tmce,.html-active .switch-html{border-color:#ccc #ccc #e9e9e9;background-color:#e9e9e9;color:#333}.wp-media-buttons{line-height:1;padding:9px 0 0}.wp-media-buttons a{text-decoration:none;color:#333;font-size:12px;vertical-align:bottom}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.quicktags-toolbar{border-bottom-style:solid;border-bottom-width:1px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;padding:2px 8px 0;min-height:29px}.quicktags-toolbar>div{padding:2px 4px 0}.quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial,Helvetica,sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background-color:#eee;background-image:-ms-linear-gradient(bottom,#e3e3e3,#fff);background-image:-moz-linear-gradient(bottom,#e3e3e3,#fff);background-image:-o-linear-gradient(bottom,#e3e3e3,#fff);background-image:-webkit-linear-gradient(bottom,#e3e3e3,#fff);background-image:linear-gradient(bottom,#e3e3e3,#fff)}.quicktags-toolbar input:hover{border-color:#aaa;background:#ddd}.quicktags-toolbar input[value="link"]{text-decoration:underline}.quicktags-toolbar input[value="del"]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:bold}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:999998}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc}#wp-link{background-color:#f5f5f5;line-height:1.4em;font-size:12px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type="text"]{-webkit-box-sizing:border-box}#wp-link input[type="text"],#wp-link textarea{border-width:1px;border-style:solid;-webkit-border-radius:4px;border-radius:4px;font-size:12px;margin:1px;padding:3px}#wp-link #link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px}#wp-link p.howto{margin:3px}#wp-link #internal-toggle{display:inline-block;cursor:pointer;padding-left:18px}#wp-link .toggle-arrow{background:transparent url('../images/toggle-arrow.png') top left no-repeat;height:23px;line-height:23px}#wp-link .toggle-arrow-active{background-position:center left}#wp-link label input[type="text"]{width:360px;margin-top:5px}#wp-link label span{display:inline-block;width:80px;text-align:right;padding-right:5px}#wp-link .link-search-wrapper{margin:5px 6px 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:6px}#wp-link .link-search-wrapper input[type="text"]{float:left;width:220px}#wp-link .link-search-wrapper img.waiting{margin:8px 1px 0 4px;float:left;display:none}#wp-link .link-target{width:auto;padding:3px 0 0;margin:0 0 0 87px;font-size:11px}#wp-link .query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;position:relative}#wp-link li,#wp-link .query-notice{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:bold}#wp-link .item-title{display:inline-block;width:80%}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:4px;bottom:0}#wp-link #search-results{display:none}#wp-link #search-panel{float:left;width:100%}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting img.waiting{margin:0 auto;display:block}#wp-link .submitbox{padding:5px 10px;font-size:11px;overflow:auto;height:29px}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute;left:-99999999px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}/*\*/* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}/**/.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.wp-dialog{position:absolute;width:300px;overflow:hidden}.wp-dialog .ui-dialog-titlebar{position:relative}.wp-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.wp-dialog .ui-dialog-content{position:relative;border:0;padding:0;background:0;overflow:auto;zoom:1}.wp-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.wp-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.wp-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.wp-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{border:1px solid #999;-moz-box-shadow:0 0 16px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3)}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;line-height:18px;color:#e5e5e5}.wp-dialog{background-color:#fff;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px}.wp-dialog .ui-dialog-titlebar{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.wp-dialog .ui-dialog-titlebar-close{position:absolute;width:29px;height:16px;top:2px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;padding:0}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{background-color:#000;opacity:.6;filter:alpha(opacity=60)}.rtl #wp-link #internal-toggle{padding-right:18px;padding-left:0}.rtl #wp-link label span{text-align:left;padding-left:5px;padding-right:0}.rtl #wp-link .link-search-wrapper span{float:right}.rtl #wp-link .link-search-wrapper input[type="text"]{float:right}.rtl #wp-link .link-search-wrapper img.waiting{margin:8px 4px 0 1px;float:right}.rtl #wp-link .link-target{margin:0 87px 0 0}.rtl #wp-link .item-info{left:5px;right:auto;top:4px;bottom:0}.rtl #wp-link #search-panel{float:right}.rtl #wp-link-cancel{float:right}.rtl #wp-link-update{float:left}.rtl #wp-link .toggle-arrow{background-position:top right}.rtl #wp-link .toggle-arrow-active{background-position:center right}.rtl .wp_themeSkin .mceListBox .mceText{text-align:right}.rtl .wp_themeSkin .mceNoIcons a .mceText{padding-right:10px;padding-left:25px}.rtl .mceListBoxMenu.mceNoIcons{margin-left:-14px}.clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999}.clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999}.clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999}.clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999}.clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999}.clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999}.clearlooks2 .mceFocus .mceTop span{color:#e5e5e5}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;left:0;right:0;filter:inherit}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block}.fullscreen-fader{z-index:200000}.fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;left:0;font-size:12px}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px}#wp-fullscreen-container{padding:4px 10px 50px}#wp-fullscreen-title,#wp-fullscreen-container{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:0;resize:none}#wp-fullscreen-tagline{color:#bbb;font-size:18px;float:right;padding-top:5px}#fullscreen-topbar{position:fixed;top:0;left:0;z-index:150050;border-bottom-style:solid;border-bottom-width:1px;min-width:800px;width:100%;height:40px}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:left}#wp-fullscreen-save{float:right;padding:2px 2px 0 5px}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px}#wp-fullscreen-central-toolbar{margin:auto;padding:0}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:1px 14px 0 0}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:left;margin:1px 0 0 0;padding:2px 6px 2px;border-width:1px 1px 1px 0;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-webkit-gradient(linear,left bottom,left top,from(#e4e4e4),to(#f9f9f9))}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background-color:#eee;background-image:-moz-linear-gradient(bottom,#f9f9f9,#e0e0e0);background-image:-webkit-gradient(linear,left bottom,left top,from(#f9f9f9),to(#e0e0e0))}#wp-fullscreen-modes a:first-child{border-width:1px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}#wp-fullscreen-buttons .active a{background:inherit}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#fullscreen-topbar.fullscreen-make-sticky{display:block!important}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:4px;display:none}#wp-fullscreen-buttons .mce_image .mce_image{background-image:url('../../wp-admin/images/media-button.png?ver=20120201');background-position:3px 3px}.fullscreen-active #TB_overlay{z-index:150100}.fullscreen-active #TB_window{z-index:150102}#wp_mce_fullscreen_ifr{background:transparent}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc}#fullscreen-topbar{border-bottom-color:#dfdfdf;background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec)}.fade-1000,.fade-600,.fade-400,.fade-300{opacity:0;-moz-transition-property:opacity;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.fade-1000{-moz-transition-duration:1s;-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s}.fade-600{-moz-transition-duration:.6s;-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}.fade-400{-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s}.fade-300{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.rtl #wp-fullscreen-tagline{float:left}.rtl #fullscreen-topbar{left:auto;right:0}.rtl #wp-fullscreen-mode-bar,.rtl #wp-fullscreen-button-bar,.rtl #wp-fullscreen-close,.rtl #wp-fullscreen-count{float:right}.rtl #wp-fullscreen-save{float:left}.rtl #wp-fullscreen-save{padding:2px 5px 0 2px}.rtl #wp-fullscreen-buttons>div{float:right}.rtl #wp-fullscreen-mode-bar{padding:1px 0 0 14px}.rtl #wp-fullscreen-modes a{float:right;border-width:1px 0 1px 1px}.rtl #wp-fullscreen-modes a:first-child{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-width:1px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-right-left:0;border-bottom-right-radius:3px}.rtl #wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px}.rtl #wp-fullscreen-save img,.rtl #wp-fullscreen-save span{padding-right:0;padding-left:4px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/editor.dev.css ./wordpress-3.4/wp-includes/css/editor.dev.css
*** ./wordpress-3.3.2/wp-includes/css/editor.dev.css	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/editor.dev.css	2012-04-30 07:50:55.000000000 -0500
***************
*** 0 ****
--- 1,2021 ----
+ 
+ /*------------------------------------------------------------------------------
+  TinyMCE and Quicklinks toolbars
+ ------------------------------------------------------------------------------*/
+ 
+ /* wp_theme/ui.css */
+ .wp_themeSkin table,
+ .wp_themeSkin tbody,
+ .wp_themeSkin a,
+ .wp_themeSkin img,
+ .wp_themeSkin tr,
+ .wp_themeSkin div,
+ .wp_themeSkin td,
+ .wp_themeSkin iframe,
+ .wp_themeSkin span,
+ .wp_themeSkin *,
+ .wp_themeSkin .mceText {
+ 	border: 0;
+ 	margin: 0;
+ 	padding: 0;
+ 	white-space: nowrap;
+ 	text-decoration: none;
+ 	font-weight: normal;
+ 	cursor: default;
+ 	vertical-align: baseline;
+ 	width: auto;
+ 	border-collapse: separate;
+ }
+ 
+ .wp_themeSkin a:hover,
+ .wp_themeSkin a:link,
+ .wp_themeSkin a:visited,
+ .wp_themeSkin a:active {
+ 	text-decoration: none;
+ 	font-weight: normal;
+ 	cursor: default;
+ }
+ 
+ .wp_themeSkin table td {
+ 	vertical-align: middle;
+ }
+ 
+ .wp_themeSkin *,
+ .wp_themeSkin a:hover,
+ .wp_themeSkin a:link,
+ .wp_themeSkin a:visited,
+ .wp_themeSkin a:active {
+ 	color: #000;
+ }
+ 
+ /* Containers */
+ .wp_themeSkin table {}
+ 
+ .wp_themeSkin iframe {
+ 	display: block;
+ }
+ 
+ .wp_themeSkin #mce_fullscreen_ifr {
+ 	background-color: #fff;
+ }
+ 
+ .wp_themeSkin .mceToolbar {
+ 	padding: 1px;
+ }
+ 
+ /* External */
+ .wp_themeSkin .mceExternalToolbar {
+ 	position: absolute;
+ 	border-bottom: 0;
+ 	display: none;
+ }
+ 
+ .wp_themeSkin .mceExternalToolbar td.mceToolbar {
+ 	padding-right: 13px;
+ }
+ 
+ .wp_themeSkin .mceExternalClose {
+ 	position: absolute;
+ 	top: 3px;
+ 	right: 3px;
+ 	width: 7px;
+ 	height: 7px;
+ 	background: url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0;
+ }
+ 
+ /* Layout */
+ .wp_themeSkin table.mceToolbar,
+ .wp_themeSkin tr.mceFirst .mceToolbar tr td,
+ .wp_themeSkin tr.mceLast .mceToolbar tr td {
+ 	border: 0;
+ 	margin: 0;
+ 	padding: 0;
+ }
+ 
+ .wp_themeSkin table.mceLayout {
+ 	border: 0;
+ }
+ 
+ .wp_themeSkin .mceStatusbar {
+ 	display: block;
+ 	font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
+ 	font-size: 12px;
+ 	line-height: 16px;
+ 	padding: 0 0 0 8px;
+ 	overflow: visible;
+ 	height: 20px;
+ 	border-top: 1px solid #dfdfdf;
+ 	color: #000;
+ 	background-color: #f5f5f5;
+ }
+ 
+ .rtl .wp_themeSkin .mceStatusbar {
+ 	padding: 0 8px 0 0;
+ }
+ 
+ .wp_themeSkin .mceStatusbar * {
+ 	color: #555;
+ }
+ 
+ .wp_themeSkin .mceStatusbar div {
+ 	float: left;
+ 	padding: 2px;
+ }
+ 
+ .rtl .wp_themeSkin .mceStatusbar div {
+ 	float: right;
+ }
+ 
+ .wp_themeSkin .mceStatusbar a.mceResize {
+ 	display: block;
+ 	float: right;
+ 	background: url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;
+ 	width: 20px;
+ 	height: 20px;
+ 	cursor: se-resize;
+ }
+ 
+ .rtl .wp_themeSkin .mceStatusbar a.mceResize {
+ 	float: left;
+ }
+ 
+ .wp_themeSkin .mceStatusbar a:hover {
+ 	text-decoration: underline;
+ }
+ 
+ .wp_themeSkin table.mceToolbar {
+ 	margin: 0 6px 2px;
+ }
+ 
+ .wp_themeSkin #content_toolbar1 {
+ 	margin-top: 2px;
+ }
+ 
+ .wp_themeSkin .mceToolbar .mceToolbarEndListBox span {
+ 	display: none;
+ }
+ 
+ .wp_themeSkin span.mceIcon,
+ .wp_themeSkin img.mceIcon {
+ 	display: block;
+ 	width: 20px;
+ 	height: 20px;
+ }
+ 
+ .wp_themeSkin .mceIcon {
+ 	background: url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px;
+ }
+ 
+ /* Button */
+ .wp_themeSkin .mceButton {
+ 	display: block;
+ 	width: 20px;
+ 	height: 20px;
+ 	cursor: default;
+ 	padding: 1px 2px;
+ 	margin: 1px;
+ 	-webkit-border-radius: 2px;
+ 	border-radius: 2px;
+ 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ }
+ 
+ .wp_themeSkin a.mceButtonEnabled:hover {
+ 	background-image: inherit 0 -10px;
+ }
+ 
+ .wp_themeSkin .mceOldBoxModel a.mceButton span, .wp_themeSkin .mceOldBoxModel a.mceButton img {
+ 	margin: 0 0 0 1px;
+ }
+ 
+ .wp_themeSkin a.mceButton:active,
+ .wp_themeSkin a.mceButtonActive,
+ .wp_themeSkin a.mceButtonActive:hover,
+ .wp_themeSkin a.mceButtonSelected {
+ 	-webkit-box-shadow:	 0 1px 1px rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ }
+ 
+ .wp_themeSkin .mceButtonDisabled .mceIcon {
+ 	opacity: 0.5;
+ 	filter: alpha(opacity=50);
+ }
+ 
+ /* Separator */
+ .wp_themeSkin .mceSeparator {
+ 	height: 24px;
+ 	width: 1px;
+ 	display: block;
+ 	background: transparent;
+ 	overflow: hidden;
+ 	margin: 0 2px;
+ }
+ 
+ /* ListBox */
+ .wp_themeSkin .mceListBox,
+ .wp_themeSkin .mceListBox a {
+ 	display: block;
+ }
+ 
+ .wp_themeSkin .mceListBox .mceText {
+ 	padding: 1px 2px 1px 5px;
+ 	text-align: left;
+ 	text-decoration: none;
+ 	width: 70px;
+ 	-webkit-border-bottom-left-radius: 2px;
+ 	-webkit-border-top-left-radius: 2px;
+ 	border-bottom-left-radius: 2px;
+ 	border-top-left-radius: 2px;
+ 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
+ 	font-size: 12px;
+ 	height: 20px;
+ 	line-height: 20px;
+ 	overflow: hidden;
+ }
+ 
+ .wp_themeSkin .mceListBox {
+ 	margin: 1px;
+ 	direction: ltr;
+ }
+ 
+ .wp_themeSkin .mceListBox .mceOpen {
+ 	width: 14px;
+ 	height: 20px;
+ 	border-collapse: separate;
+ 	padding: 1px;
+ 	-webkit-border-bottom-left-radius: 0;
+ 	-webkit-border-top-left-radius: 0;
+ 	border-bottom-left-radius: 0;
+ 	border-top-left-radius: 0;
+ 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ }
+ 
+ .wp_themeSkin .mceListBox .mceOpen span {
+ 	display: block;
+ 	width: 14px;
+ 	height: 20px;
+ 	background-image: url("../images/down_arrow.gif");
+ 	background-position: 2px 1px;
+ 	background-repeat: no-repeat;
+ }
+ 
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceText,
+ .wp_themeSkin .mceListBoxHover .mceText,
+ .wp_themeSkin .mceListBoxSelected .mceText,
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
+ .wp_themeSkin .mceListBoxHover .mceOpen,
+ .wp_themeSkin .mceListBoxSelected .mceOpen {
+ 	background-image: none;
+ }
+ 
+ .wp_themeSkin .mceListBoxDisabled .mceText {
+ 	color: gray;
+ }
+ 
+ .wp_themeSkin .mceListBoxMenu {
+ 	overflow: auto;
+ 	overflow-x: hidden;
+ }
+ 
+ .wp_themeSkin .mceOldBoxModel .mceListBox .mceText {
+ 	height: 22px;
+ }
+ 
+ .wp_themeSkin select.mceListBox {
+ 	font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif;
+ 	font-size: 12px;
+ 	border-color: #B2B2B2;
+ 	background-color: #fff;
+ }
+ 
+ /* SplitButton */
+ .wp_themeSkin .mceSplitButton a,
+ .wp_themeSkin .mceSplitButton span {
+ 	display: block;
+ 	height: 20px;
+ }
+ 
+ .wp_themeSkin .mceSplitButton {
+ 	display: block;
+ 	margin: 1px;
+ 	direction: ltr;
+ }
+ 
+ .wp_themeSkin table.mceSplitButton td {
+ 	padding: 2px;
+ 	-webkit-border-radius: 2px;
+ 	border-radius: 2px;
+ }
+ 
+ .wp_themeSkin table.mceSplitButton td a {
+ 	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ 	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff;
+ }
+ 
+ .wp_themeSkin table.mceSplitButton:hover td {
+ 	background-image: inherit 0 -10px;
+ }
+ 
+ .wp_themeSkin .mceSplitButton a.mceAction {
+ 	height: 20px;
+ 	width: 20px;
+ 	padding: 1px 2px;
+ }
+ 
+ .wp_themeSkin .mceSplitButton span.mceAction {
+ 	background-image: url("../js/tinymce/themes/advanced/img/icons.gif");
+ 	background-repeat: no-repeat;
+ 	background-color: transparent;
+ 	width: 20px;
+ }
+ 
+ .wp_themeSkin .mceSplitButton a.mceOpen {
+ 	width: 10px;
+ 	height: 20px;
+ 	background-image: url("../images/down_arrow.gif");
+ 	background-position: 1px 2px;
+ 	background-repeat: no-repeat;
+ 	padding: 1px;
+ 	border-left: 0 none !important;
+ }
+ 
+ .wp_themeSkin .mceSplitButton span.mceOpen {
+ 	display: none;
+ }
+ 
+ .wp_themeSkin .mceSplitButtonDisabled .mceAction {
+ 	opacity: 0.3;
+ 	filter: alpha(opacity=30);
+ }
+ 
+ .wp_themeSkin .mceListBox a.mceText,
+ .wp_themeSkin .mceSplitButton a.mceAction {
+ 	-webkit-border-bottom-left-radius: 2px;
+ 	-webkit-border-top-left-radius: 2px;
+ 	border-bottom-left-radius: 2px;
+ 	border-top-left-radius: 2px;
+ }
+ 
+ .wp_themeSkin .mceSplitButton a.mceOpen,
+ .wp_themeSkin .mceListBox a.mceOpen {
+ 	-webkit-border-bottom-right-radius: 2px;
+ 	-webkit-border-top-right-radius: 2px;
+ 	border-bottom-right-radius: 2px;
+ 	border-top-right-radius: 2px;
+ }
+ 
+ .wp_themeSkin span.mce_undo,
+ .wp_themeSkin span.mce_redo,
+ .wp_themeSkin span.mce_bullist,
+ .wp_themeSkin span.mce_numlist,
+ .wp_themeSkin span.mce_blockquote,
+ .wp_themeSkin span.mce_charmap,
+ .wp_themeSkin span.mce_bold,
+ .wp_themeSkin span.mce_italic,
+ .wp_themeSkin span.mce_underline,
+ .wp_themeSkin span.mce_justifyleft,
+ .wp_themeSkin span.mce_justifyright,
+ .wp_themeSkin span.mce_justifycenter,
+ .wp_themeSkin span.mce_justifyfull,
+ .wp_themeSkin span.mce_indent,
+ .wp_themeSkin span.mce_outdent,
+ .wp_themeSkin span.mce_link,
+ .wp_themeSkin span.mce_unlink,
+ .wp_themeSkin span.mce_help,
+ .wp_themeSkin span.mce_removeformat,
+ .wp_themeSkin span.mce_fullscreen,
+ .wp_themeSkin span.mce_wp_fullscreen,
+ .wp_themeSkin span.mce_media,
+ .wp_themeSkin span.mce_pastetext,
+ .wp_themeSkin span.mce_pasteword,
+ .wp_themeSkin span.mce_wp_help,
+ .wp_themeSkin span.mce_wp_adv,
+ .wp_themeSkin span.mce_wp_more,
+ .wp_themeSkin span.mce_strikethrough,
+ .wp_themeSkin span.mce_spellchecker,
+ .wp_themeSkin span.mce_forecolor,
+ .wp_themeSkin .mce_forecolorpicker,
+ .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,
+ .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,
+ .wp_themeSkin .mceSplitButton span.mce_numlist,
+ .wp_themeSkin .mceSplitButton span.mce_bullist {
+ 	background-image: url(../images/wpicons.png);
+ }
+ 
+ /* ColorSplitButton */
+ .wp_themeSkin div.mceColorSplitMenu table {
+ 	background-color: #ebebeb;
+ 	border-color: #B2B2B2;
+ }
+ 
+ .wp_themeSkin .mceColorSplitMenu td {
+ 	padding: 2px;
+ }
+ 
+ .wp_themeSkin .mceColorSplitMenu a {
+ 	display: block;
+ 	width: 9px;
+ 	height: 9px;
+ 	overflow: hidden;
+ 	border-color: #B2B2B2;
+ }
+ 
+ .wp_themeSkin .mceColorSplitMenu td.mceMoreColors {
+ 	padding: 1px 3px 1px 1px;
+ }
+ 
+ .wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
+ 	width: 100%;
+ 	height: auto;
+ 	text-align: center;
+ 	font-family: Tahoma,Verdana,Arial,Helvetica;
+ 	font-size: 11px;
+ 	line-height: 20px;
+ 	border-color: #fff;
+ }
+ 
+ .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {}
+ .wp_themeSkin a.mceMoreColors:hover {}
+ .wp_themeSkin .mceColorPreview {
+ 	margin: -5px 0 0 2px;
+ 	width: 16px;
+ 	height: 4px;
+ 	overflow: hidden;
+ }
+ 
+ /* Menu */
+ .wp_themeSkin .mceMenu {
+ 	position: absolute;
+ 	left: 0;
+ 	top: 0;
+ 	z-index: 1000;
+ 	border-color: #ddd;
+ }
+ 
+ .wp_themeSkin .mceNoIcons span.mceIcon {
+ 	width: 0;
+ }
+ 
+ .wp_themeSkin .mceNoIcons a .mceText {
+ 	padding-left: 10px;
+ }
+ 
+ .wp_themeSkin .mceMenu table {
+ 	background-color: #ebeaeb;
+ }
+ 
+ .wp_themeSkin .mceMenu a,
+ .wp_themeSkin .mceMenu span,
+ .wp_themeSkin .mceMenu {
+ 	display: block;
+ }
+ 
+ .wp_themeSkin .mceMenu td {
+ 	height: 20px;overflow: hidden;
+ }
+ 
+ .wp_themeSkin .mceMenu a {
+ 	position: relative;
+ 	padding: 3px 0 4px 0;
+ 	text-decoration: none !important;
+ }
+ 
+ .wp_themeSkin .mceMenu .mceText {
+ 	position: relative;
+ 	display: block;
+ 	font-family: Tahoma,Verdana,Arial,Helvetica;
+ 	cursor: default;
+ 	margin: 0;
+ 	padding: 0 25px;
+ 	color: #000;
+ }
+ 
+ .wp_themeSkin .mceMenu span.mceText, .wp_themeSkin .mceMenu .mcePreview {
+ 	font-size: 12px;
+ }
+ 
+ .wp_themeSkin .mceMenu pre.mceText {
+ 	font-family: Monospace;
+ }
+ 
+ .wp_themeSkin .mceMenu .mceIcon {
+ 	position: absolute;
+ 	top: 0;
+ 	left: 0;
+ 	width: 22px;
+ }
+ 
+ .wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,
+ .wp_themeSkin .mceMenu .mceMenuItemActive {
+ 	background-color: #f5f5f5;
+ }
+ 
+ .wp_themeSkin td.mceMenuItemSeparator {
+ 	height: 1px;
+ 	background-color: #aaa;
+ }
+ 
+ .wp_themeSkin .mceMenuItemTitle a {
+ 	border-top: 0;
+ 	border-right: 0;
+ 	border-left: 0;
+ 	border-bottom: 1px solid #aaa;
+ 	text-decoration: none !important;
+ 	background-color: #ccc;
+ }
+ 
+ .wp_themeSkin .mceMenuItemTitle span.mceText {
+ 	font-weight: bold;
+ 	padding-left: 4px;
+ 	color: #000;
+ }
+ 
+ .wp_themeSkin .mceMenuItemSelected .mceIcon {
+ 	background: url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");
+ 	color: #888;
+ }
+ 
+ .wp_themeSkin .mceNoIcons .mceMenuItemSelected a {
+ 	background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center;
+ }
+ 
+ .wp_themeSkin .mceMenu span.mceMenuLine {
+ 	display: none;
+ }
+ 
+ .wp_themeSkin .mceMenuItemSub a {
+ 	background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top right;
+ }
+ 
+ /* Progress,Resize */
+ .wp_themeSkin .mceBlocker {
+ 	position: absolute;
+ 	left: 0;
+ 	top: 0;
+ 	z-index: 1000;
+ 	opacity: 0.5;
+ 	filter: alpha(opacity=50);
+ 	background: #FFF;
+ }
+ 
+ .wp_themeSkin .mceProgress {
+ 	position: absolute;
+ 	left: 0;
+ 	top: 0;
+ 	z-index: 1001;
+ 	background: url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;
+ 	width: 32px;
+ 	height: 32px;
+ 	margin: -16px 0 0 -16px;
+ }
+ 
+ .wp_themeSkin .mcePlaceHolder {
+ 	border: 1px dotted gray;
+ }
+ 
+ /* Formats */
+ .wp_themeSkin .mce_p span.mceText {}
+ .wp_themeSkin .mce_address span.mceText {
+ 	font-style: italic;
+ }
+ 
+ .wp_themeSkin .mce_pre span.mceText {
+ 	font-family: monospace;
+ }
+ 
+ .wp_themeSkin .mce_h1 span.mceText {
+ 	font-weight: bolder;
+ 	font-size: 17px;
+ }
+ 
+ .wp_themeSkin .mce_h2 span.mceText {
+ 	font-weight: bolder;
+ 	font-size: 16px;
+ }
+ 
+ .wp_themeSkin .mce_h3 span.mceText {
+ 	font-weight: bolder;
+ 	font-size: 15px;
+ }
+ 
+ .wp_themeSkin .mce_h4 span.mceText {
+ 	font-weight: bolder;
+ 	font-size: 14px;
+ }
+ 
+ .wp_themeSkin .mce_h5 span.mceText {
+ 	font-weight: bolder;
+ 	font-size: 13px;
+ }
+ 
+ .wp_themeSkin .mce_h6 span.mceText {
+ 	font-weight: bolder;
+ 	font-size: 12px;
+ }
+ 
+ /* Theme */
+ .wp_themeSkin span.mce_undo {background-position:-500px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_undo,
+ .wp_themeSkin .mceButtonActive span.mce_undo {background-position:-500px 0}
+ 
+ .wp_themeSkin span.mce_redo {background-position:-480px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_redo,
+ .wp_themeSkin .mceButtonActive span.mce_redo {background-position:-480px 0}
+ 
+ .wp_themeSkin span.mce_bullist {background-position:-40px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,
+ .wp_themeSkin .mceButtonActive span.mce_bullist,
+ .wp_themeSkin .mceSplitButton:hover span.mce_bullist {background-position:-40px 0}
+ 
+ .wp_themeSkin span.mce_numlist {background-position:-61px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,
+ .wp_themeSkin .mceButtonActive span.mce_numlist,
+ .wp_themeSkin .mceSplitButton:hover span.mce_numlist {background-position:-61px 0}
+ 
+ .wp_themeSkin span.mce_blockquote {background-position:-80px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,
+ .wp_themeSkin .mceButtonActive span.mce_blockquote {background-position:-80px 0}
+ 
+ .wp_themeSkin span.mce_charmap {background-position:-420px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,
+ .wp_themeSkin .mceButtonActive span.mce_charmap {background-position:-420px 0}
+ 
+ .wp_themeSkin span.mce_bold {background-position:-1px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_bold,
+ .wp_themeSkin .mceButtonActive span.mce_bold {background-position:-1px 0}
+ 
+ .wp_themeSkin span.mce_italic {background-position:-21px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_italic,
+ .wp_themeSkin .mceButtonActive span.mce_italic {background-position:-21px 0}
+ 
+ .wp_themeSkin span.mce_underline {background-position:-280px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_underline,
+ .wp_themeSkin .mceButtonActive span.mce_underline {background-position:-280px 1px}
+ 
+ .wp_themeSkin span.mce_justifyleft {background-position:-100px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,
+ .wp_themeSkin .mceButtonActive span.mce_justifyleft {background-position:-100px 1px}
+ 
+ .wp_themeSkin span.mce_justifyright {background-position:-141px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,
+ .wp_themeSkin .mceButtonActive span.mce_justifyright {background-position:-141px 1px}
+ 
+ .wp_themeSkin span.mce_justifycenter {background-position:-120px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,
+ .wp_themeSkin .mceButtonActive span.mce_justifycenter {background-position:-120px 1px}
+ 
+ .wp_themeSkin span.mce_justifyfull {background-position:-300px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,
+ .wp_themeSkin .mceButtonActive span.mce_justifyfull {background-position:-300px 1px}
+ 
+ .wp_themeSkin span.mce_indent {background-position:-461px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_indent,
+ .wp_themeSkin .mceButtonActive span.mce_indent {background-position:-461px 1px}
+ 
+ .wp_themeSkin span.mce_outdent {background-position:-440px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,
+ .wp_themeSkin .mceButtonActive span.mce_outdent {background-position:-440px 1px}
+ 
+ .wp_themeSkin span.mce_link {background-position:-161px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_link,
+ .wp_themeSkin .mceButtonActive span.mce_link {background-position:-161px 0}
+ 
+ .wp_themeSkin span.mce_unlink {background-position:-180px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,
+ .wp_themeSkin .mceButtonActive span.mce_unlink {background-position:-180px 0}
+ 
+ .wp_themeSkin span.mce_help {background-position:-521px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_help,
+ .wp_themeSkin .mceButtonActive span.mce_help {background-position:-521px 0}
+ 
+ .wp_themeSkin span.mce_removeformat {background-position:-381px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,
+ .wp_themeSkin .mceButtonActive span.mce_removeformat {background-position:-381px 0}
+ 
+ .wp_themeSkin span.mce_strikethrough {background-position:-540px -18px;}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,
+ .wp_themeSkin .mceButtonActive span.mce_strikethrough {background-position:-540px 0}
+ 
+ .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor {background-position:-321px -22px}
+ .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,
+ .wp_themeSkin .mceSplitButtonActive span.mce_forecolor {background-position:-321px -2px}
+ 
+ .wp_themeSkin .mce_forecolorpicker {background-position:-320px -20px}
+ 
+ /* Plugins in WP */
+ .wp_themeSkin span.mce_fullscreen {background-position:-240px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,
+ .wp_themeSkin .mceButtonActive span.mce_fullscreen {background-position:-240px 0}
+ 
+ .wp_themeSkin span.mce_wp_fullscreen {background-position:-240px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,
+ .wp_themeSkin .mceButtonActive span.mce_wp_fullscreen {background-position:-240px 0}
+ 
+ .wp_themeSkin span.mce_media {background-position:-401px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_media,
+ .wp_themeSkin .mceButtonActive span.mce_media {background-position:-401px 0}
+ 
+ .wp_themeSkin span.mce_pastetext {background-position:-340px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,
+ .wp_themeSkin .mceButtonActive span.mce_pastetext {background-position:-340px 0}
+ 
+ .wp_themeSkin span.mce_pasteword {background-position:-360px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,
+ .wp_themeSkin .mceButtonActive span.mce_pasteword {background-position:-360px 0}
+ 
+ .wp_themeSkin span.mce_spellchecker {background-position:-220px -19px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,
+ .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,
+ .wp_themeSkin .mceButtonActive span.mce_spellchecker,
+ .wp_themeSkin .mceSplitButtonActive span.mce_spellchecker {background-position:-220px 1px}
+ 
+ .wp_themeSkin span.mce_wp_help {background-position:-521px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,
+ .wp_themeSkin .mceButtonActive span.mce_wp_help {background-position:-521px 0}
+ 
+ .wp_themeSkin span.mce_wp_adv {background-position:-260px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,
+ .wp_themeSkin .mceButtonActive span.mce_wp_adv {background-position:-260px 0}
+ 
+ .wp_themeSkin span.mce_wp_more {background-position:-201px -20px}
+ .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,
+ .wp_themeSkin .mceButtonActive span.mce_wp_more {background-position:-201px 0}
+ 
+ /* Default icons */
+ .wp_themeSkin span.mce_cleanup {background-position:-380px -20px}
+ .wp_themeSkin span.mce_anchor {background-position:-200px 0}
+ .wp_themeSkin span.mce_sub {background-position:-600px 0}
+ .wp_themeSkin span.mce_sup {background-position:-620px 0}
+ .wp_themeSkin span.mce_newdocument {background-position:-520px 0}
+ .wp_themeSkin span.mce_image {background-position:-380px 0}
+ .wp_themeSkin span.mce_code {background-position:-260px 0}
+ .wp_themeSkin span.mce_hr {background-position:-360px 0}
+ .wp_themeSkin span.mce_visualaid {background-position:-660px 0}
+ .wp_themeSkin span.mce_paste {background-position:-560px 0}
+ .wp_themeSkin span.mce_copy {background-position:-700px 0}
+ .wp_themeSkin span.mce_cut {background-position:-680px 0}
+ .wp_themeSkin .mce_backcolor span.mceAction {background-position:-760px 0}
+ .wp_themeSkin .mce_backcolorpicker {background-position:-760px 0}
+ 
+ /* Plugins */
+ .wp_themeSkin span.mce_advhr {background-position:-0px -20px}
+ .wp_themeSkin span.mce_ltr {background-position:-20px -20px}
+ .wp_themeSkin span.mce_rtl {background-position:-40px -20px}
+ .wp_themeSkin span.mce_emotions {background-position:-60px -20px}
+ .wp_themeSkin span.mce_fullpage {background-position:-80px -20px}
+ .wp_themeSkin span.mce_iespell {background-position:-120px -20px}
+ .wp_themeSkin span.mce_insertdate {background-position:-140px -20px}
+ .wp_themeSkin span.mce_inserttime {background-position:-160px -20px}
+ .wp_themeSkin span.mce_absolute {background-position:-180px -20px}
+ .wp_themeSkin span.mce_backward {background-position:-200px -20px}
+ .wp_themeSkin span.mce_forward {background-position:-220px -20px}
+ .wp_themeSkin span.mce_insert_layer {background-position:-240px -20px}
+ .wp_themeSkin span.mce_insertlayer {background-position:-260px -20px}
+ .wp_themeSkin span.mce_movebackward {background-position:-280px -20px}
+ .wp_themeSkin span.mce_moveforward {background-position:-300px -20px}
+ .wp_themeSkin span.mce_nonbreaking {background-position:-340px -20px}
+ .wp_themeSkin span.mce_selectall {background-position:-400px -20px}
+ .wp_themeSkin span.mce_preview {background-position:-420px -20px}
+ .wp_themeSkin span.mce_print {background-position:-440px -20px}
+ .wp_themeSkin span.mce_cancel {background-position:-460px -20px}
+ .wp_themeSkin span.mce_save {background-position:-480px -20px}
+ .wp_themeSkin span.mce_replace {background-position:-500px -20px}
+ .wp_themeSkin span.mce_search {background-position:-520px -20px}
+ .wp_themeSkin span.mce_styleprops {background-position:-560px -20px}
+ .wp_themeSkin span.mce_table {background-position:-580px -20px}
+ .wp_themeSkin span.mce_cell_props {background-position:-600px -20px}
+ .wp_themeSkin span.mce_delete_table {background-position:-620px -20px}
+ .wp_themeSkin span.mce_delete_col {background-position:-640px -20px}
+ .wp_themeSkin span.mce_delete_row {background-position:-660px -20px}
+ .wp_themeSkin span.mce_col_after {background-position:-680px -20px}
+ .wp_themeSkin span.mce_col_before {background-position:-700px -20px}
+ .wp_themeSkin span.mce_row_after {background-position:-720px -20px}
+ .wp_themeSkin span.mce_row_before {background-position:-740px -20px}
+ .wp_themeSkin span.mce_merge_cells {background-position:-760px -20px}
+ .wp_themeSkin span.mce_table_props {background-position:-980px -20px}
+ .wp_themeSkin span.mce_row_props {background-position:-780px -20px}
+ .wp_themeSkin span.mce_split_cells {background-position:-800px -20px}
+ .wp_themeSkin span.mce_template {background-position:-820px -20px}
+ .wp_themeSkin span.mce_visualchars {background-position:-840px -20px}
+ .wp_themeSkin span.mce_abbr {background-position:-860px -20px}
+ .wp_themeSkin span.mce_acronym {background-position:-880px -20px}
+ .wp_themeSkin span.mce_attribs {background-position:-900px -20px}
+ .wp_themeSkin span.mce_cite {background-position:-920px -20px}
+ .wp_themeSkin span.mce_del {background-position:-940px -20px}
+ .wp_themeSkin span.mce_ins {background-position:-960px -20px}
+ .wp_themeSkin span.mce_pagebreak {background-position:0 -40px}
+ 
+ /* border */
+ .wp_themeSkin .mceExternalToolbar,
+ .wp_themeSkin .mceButton,
+ .wp_themeSkin a.mceButtonEnabled:hover,
+ .wp_themeSkin a.mceButtonActive,
+ .wp_themeSkin a.mceButtonSelected,
+ .wp_themeSkin .mceListBox .mceText,
+ .wp_themeSkin .mceListBox .mceOpen,
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceText,
+ .wp_themeSkin .mceListBoxHover .mceText,
+ .wp_themeSkin .mceListBoxSelected .mceText,
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
+ .wp_themeSkin .mceListBoxHover .mceOpen,
+ .wp_themeSkin .mceListBoxSelected .mceOpen,
+ .wp_themeSkin select.mceListBox,
+ .wp_themeSkin .mceSplitButton a.mceAction,
+ .wp_themeSkin .mceSplitButton a.mceOpen,
+ .wp_themeSkin .mceSplitButton a.mceOpen:hover,
+ .wp_themeSkin .mceSplitButtonSelected a.mceOpen,
+ .wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
+ .wp_themeSkin .mceSplitButton a.mceAction:hover,
+ .wp_themeSkin div.mceColorSplitMenu table,
+ .wp_themeSkin .mceColorSplitMenu a,
+ .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,
+ .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,
+ .wp_themeSkin a.mceMoreColors:hover,
+ .wp_themeSkin .mceMenu {
+ 	border-style: solid;
+ 	border-width: 1px;
+ }
+ 
+ .wp_themeSkin iframe {
+ 	background: transparent;
+ }
+ 
+ .wp_themeSkin .mceButton,
+ .wp_themeSkin .mceListBox .mceText,
+ .wp_themeSkin .mceListBox .mceOpen {
+ 	border-color: #ccc;
+ 	background-color: #eee; /* Fallback */
+ 	background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */
+ }
+ 
+ .wp_themeSkin a.mceButtonEnabled:hover {
+ 	border-color: #a0a0a0;
+ 	background: #ddd; /* Fallback */
+ 	background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */
+ }
+ 
+ .wp_themeSkin a.mceButton:active,
+ .wp_themeSkin a.mceButtonEnabled:active,
+ .wp_themeSkin a.mceButtonSelected:active,
+ .wp_themeSkin a.mceButtonActive,
+ .wp_themeSkin a.mceButtonActive:active,
+ .wp_themeSkin a.mceButtonActive:hover {
+ 	background-color: #ddd; /* Fallback */
+ 	background-image: -ms-linear-gradient(bottom, #eee, #bbb); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #eee, #bbb); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #eee, #bbb); /* Opera */
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#eee), to(#bbb)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(bottom, #eee, #bbb); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #eee, #bbb); /* proposed W3C Markup */
+ 	border-color: #909090;
+ }
+ 
+ .wp_themeSkin .mceButtonDisabled {
+ 	border-color: #ccc !important;
+ }
+ 
+ .wp_themeSkin .mceListBox .mceOpen {
+ 	border-left: 0 !important;
+ }
+ 
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
+ .wp_themeSkin .mceListBoxHover .mceOpen,
+ .wp_themeSkin .mceListBoxHover:active .mceOpen,
+ .wp_themeSkin .mceListBoxSelected .mceOpen,
+ .wp_themeSkin .mceListBoxSelected .mceText,
+ .wp_themeSkin table.mceListBoxEnabled:active .mceText {
+ 	background: #ccc;
+ 	border-color: #999;
+ }
+ 
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceText,
+ .wp_themeSkin .mceListBoxHover .mceText,
+ .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,
+ .wp_themeSkin .mceListBoxHover .mceOpen {
+ 	border-color: #909090;
+ 	background-color: #eee; /* Fallback */
+ 	background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */
+ }
+ 
+ /* SplitButton */
+ .wp_themeSkin .mceSplitButton a.mceAction,
+ .wp_themeSkin .mceSplitButton a.mceOpen {
+ 	border-color: #ccc;
+ }
+ 
+ .wp_themeSkin .mceSplitButton a.mceOpen:hover,
+ .wp_themeSkin .mceSplitButtonSelected a.mceOpen,
+ .wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
+ .wp_themeSkin .mceSplitButton a.mceAction:hover {
+ 	border-color: #909090;
+ }
+ 
+ .wp_themeSkin table.mceSplitButton td {
+ 	background-color: #eee; /* Fallback */
+ 	background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */
+ }
+ 
+ .wp_themeSkin table.mceSplitButton:hover td {
+ 	background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */
+ }
+ 
+ .wp_themeSkin .mceSplitButtonActive {
+ 	background-color: #B2B2B2;
+ }
+ 
+ .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {
+ 	border-color: #0A246A;
+ 	background-color: #B6BDD2;
+ }
+ 
+ .wp_themeSkin a.mceMoreColors:hover {
+ 	border-color: #0A246A;
+ }
+ 
+ .wp_themeSkin .mceMenuItemDisabled .mceText {
+ 	color: #888;
+ }
+ 
+ #mceModalBlocker {
+ 	background: #000;
+ }
+ 
+ /* WP specific */
+ .wp-editor-area {
+ 	font-family: Consolas, Monaco, monospace;
+ 	padding: 10px;
+ 	line-height: 150%;
+ 	border: 0 none;
+ 	outline: none;
+ 	resize: vertical;
+ 	-moz-box-sizing: border-box;
+ 	-webkit-box-sizing: border-box;
+ 	box-sizing: border-box;
+ }
+ 
+ .wp-editor-tools {
+ 	height: 30px;
+ 	padding: 0 10px;
+ }
+ 
+ .wp-editor-container {
+     border-width: 1px;
+ 	border-style: solid;
+ 	-webkit-border-top-right-radius: 3px;
+ 	-webkit-border-top-left-radius: 3px;
+ 	border-top-right-radius: 3px;
+ 	border-top-left-radius: 3px;
+ 	border-color: #ccc #ccc #dfdfdf;
+ }
+ 
+ .wp-editor-container textarea.wp-editor-area {
+ 	width: 99.9%;
+ }
+ 
+ .quicktags-toolbar,
+ .wp_themeSkin tr.mceFirst td.mceToolbar {
+ 	border-bottom: 1px solid #ccc;
+ 	background-color: #e9e9e9; /* Fallback */
+ 	background-image: -ms-linear-gradient(bottom, #ddd, #e9e9e9); /* IE10 */
+ 	background-image: -moz-linear-gradient(bottom, #ddd, #e9e9e9); /* Firefox */
+ 	background-image: -o-linear-gradient(bottom, #ddd, #e9e9e9); /* Opera */
+ 	background-image: -webkit-linear-gradient(bottom, #ddd, #e9e9e9); /* new Webkit */
+ 	background-image: linear-gradient(bottom, #ddd, #e9e9e9); /* proposed W3C Markup */
+ }
+ 
+ .wp-switch-editor {
+ 	height: 18px;
+     font: 13px/18px Arial,Helvetica,sans-serif normal;
+ 	margin: 5px 5px 0 0;
+ 	padding: 4px 5px 2px;
+ 	float: right;
+ 	cursor: pointer;
+ 	border-width: 1px;
+ 	border-style: solid;
+ 	-webkit-border-top-right-radius: 3px;
+ 	-webkit-border-top-left-radius: 3px;
+ 	border-top-right-radius: 3px;
+ 	border-top-left-radius: 3px;
+ 	background-color: #f1f1f1;
+ 	border-color: #dfdfdf #dfdfdf #ccc;
+ 	color: #999;
+ }
+ 
+ html[dir="rtl"] .wp-switch-editor {
+ 	float: left;
+ }
+ 
+ .wp-switch-editor:hover {
+ 	text-decoration: none !important;
+ }
+ 
+ .js .tmce-active .wp-editor-area {
+ 	color: white;
+ }
+ 
+ .tmce-active .quicktags-toolbar {
+ 	 display: none;
+ }
+ 
+ .tmce-active .switch-tmce,
+ .html-active .switch-html {
+ 	border-color: #ccc #ccc #e9e9e9;
+ 	background-color: #e9e9e9;
+ 	color: #333;
+ }
+ 
+ .wp-media-buttons {
+ 	line-height: 1;
+     padding: 9px 0 0;
+ }
+ 
+ .wp-media-buttons a {
+ 	text-decoration: none;
+ 	color: #333;
+ 	font-size: 12px;
+ 	vertical-align: bottom;
+ }
+ 
+ .wp-media-buttons img {
+ 	padding: 0 4px;
+ 	vertical-align: middle;
+ }
+ 
+ .quicktags-toolbar {
+ 	border-bottom-style: solid;
+ 	border-bottom-width: 1px;
+ 	-webkit-border-top-right-radius: 3px;
+ 	-webkit-border-top-left-radius: 3px;
+ 	border-top-right-radius: 3px;
+ 	border-top-left-radius: 3px;
+ 	padding: 2px 8px 0;
+ 	min-height: 29px;
+ }
+ 
+ .quicktags-toolbar > div {
+ 	padding: 2px 4px 0;
+ }
+ 
+ .quicktags-toolbar input {
+ 	margin: 2px 1px 4px;
+ 	line-height: 18px;
+ 	display: inline-block;
+ 	min-width: 26px;
+ 	padding: 2px 4px;
+ 	font: 12px/18px Arial,Helvetica,sans-serif normal;
+ 	color: #464646;
+ 	border: 1px solid #C3C3C3;
+ 	-webkit-border-radius: 3px;
+ 	border-radius: 3px;
+ 	background-color: #eee;
+ 	background-image: -ms-linear-gradient(bottom, #e3e3e3, #fff);
+ 	background-image: -moz-linear-gradient(bottom, #e3e3e3, #fff);
+ 	background-image: -o-linear-gradient(bottom, #e3e3e3, #fff);
+ 	background-image: -webkit-linear-gradient(bottom, #e3e3e3, #fff);
+ 	background-image: linear-gradient(bottom, #e3e3e3, #fff);
+ }
+ 
+ .quicktags-toolbar input:hover {
+ 	border-color: #aaa;
+ 	background: #ddd;
+ }
+ 
+ .quicktags-toolbar input[value="link"] {
+ 	text-decoration: underline;
+ }
+ 
+ .quicktags-toolbar input[value="del"] {
+ 	text-decoration: line-through;
+ }
+ 
+ .quicktags-toolbar input[value="i"] {
+ 	font-style: italic;
+ }
+ 
+ .quicktags-toolbar input[value="b"] {
+ 	font-weight: bold;
+ }
+ 
+ #wp_editbtns,
+ #wp_gallerybtns {
+ 	padding: 2px;
+ 	position: absolute;
+ 	display: none;
+ 	z-index: 999998;
+ }
+ 
+ #wp_editimgbtn,
+ #wp_delimgbtn,
+ #wp_editgallery,
+ #wp_delgallery {
+ 	border-color: #999;
+ 	background-color: #eee;
+ 	margin: 2px;
+ 	padding: 2px;
+ 	border-width: 1px;
+ 	border-style: solid;
+ 	-webkit-border-radius: 3px;
+ 	border-radius: 3px;
+ }
+ 
+ #wp_editimgbtn:hover,
+ #wp_delimgbtn:hover,
+ #wp_editgallery:hover,
+ #wp_delgallery:hover {
+ 	border-color: #555;
+ 	background-color: #ccc;
+ }
+ 
+ /*------------------------------------------------------------------------------
+  wp-link
+ ------------------------------------------------------------------------------*/
+ 
+ #wp-link {
+ 	background-color: #F5F5F5;
+ 	line-height: 1.4em;
+ 	font-size: 12px;
+ }
+ 
+ #wp-link ol,
+ #wp-link ul {
+ 	list-style: none;
+ 	margin: 0;
+ 	padding: 0;
+ }
+ 
+ #wp-link input[type="text"] {
+ 	-webkit-box-sizing: border-box;
+ }
+ 
+ #wp-link input[type="text"],
+ #wp-link textarea {
+ 	border-width: 1px;
+ 	border-style: solid;
+ 	-webkit-border-radius: 4px;
+ 	border-radius: 4px;
+ 	font-size: 12px;
+ 	margin: 1px;
+ 	padding: 3px;
+ }
+ 
+ #wp-link #link-options {
+ 	padding: 10px 0 14px;
+ 	border-bottom: 1px solid #dfdfdf;
+ 	margin: 0 6px 14px;
+ }
+ 
+ #wp-link p.howto {
+ 	margin: 3px;
+ }
+ 
+ #wp-link #internal-toggle {
+ 	display: inline-block;
+ 	cursor: pointer;
+ 	padding-left: 18px;
+ }
+ 
+ #wp-link .toggle-arrow {
+ 	background: transparent url( '../images/toggle-arrow.png' ) top left no-repeat;
+ 	height: 23px;
+ 	line-height: 23px;
+ }
+ 
+ #wp-link .toggle-arrow-active {
+ 	background-position: center left;
+ }
+ 
+ #wp-link label input[type="text"] {
+ 	width: 360px;
+ 	margin-top: 5px;
+ }
+ 
+ #wp-link label span {
+ 	display: inline-block;
+ 	width: 80px;
+ 	text-align: right;
+ 	padding-right: 5px;
+ }
+ 
+ #wp-link .link-search-wrapper {
+ 	margin: 5px 6px 9px;
+ 	display: block;
+ 	overflow: hidden;
+ }
+ 
+ #wp-link .link-search-wrapper span {
+ 	float: left;
+ 	margin-top: 6px;
+ }
+ 
+ #wp-link .link-search-wrapper input[type="text"] {
+ 	float: left;
+ 	width: 220px;
+ }
+ 
+ #wp-link .link-search-wrapper img.waiting {
+ 	margin: 8px 1px 0 4px;
+ 	float: left;
+ 	display: none;
+ }
+ 
+ #wp-link .link-target {
+ 	width: auto;
+ 	padding: 3px 0 0;
+ 	margin: 0 0 0 87px;
+ 	font-size: 11px;
+ }
+ 
+ #wp-link .query-results {
+ 	border: 1px #dfdfdf solid;
+ 	margin: 0 5px 5px;
+ 	background: #fff;
+ 	height: 185px;
+ 	overflow: auto;
+ 	position: relative;
+ }
+ 
+ #wp-link li,
+ #wp-link .query-notice {
+ 	clear: both;
+ 	margin-bottom: 0;
+ 	border-bottom: 1px solid #f1f1f1;
+ 	color: #333;
+ 	padding: 4px 6px;
+ 	cursor: pointer;
+ 	position: relative;
+ }
+ 
+ #wp-link li:hover {
+ 	background: #eaf2fa;
+ 	color: #151515;
+ }
+ 
+ #wp-link li.unselectable {
+ 	border-bottom: 1px solid #dfdfdf;
+ }
+ 
+ #wp-link li.unselectable:hover {
+ 	background: #fff;
+ 	cursor: auto;
+ 	color: #333;
+ }
+ 
+ #wp-link li.selected {
+ 	background: #ddd;
+ 	color: #333;
+ }
+ 
+ #wp-link li.selected .item-title {
+ 	font-weight: bold;
+ }
+ 
+ #wp-link .item-title {
+ 	display: inline-block;
+ 	width: 80%;
+ }
+ 
+ #wp-link .item-info {
+ 	text-transform: uppercase;
+ 	color: #666;
+ 	font-size: 11px;
+ 	position: absolute;
+ 	right: 5px;
+ 	top: 4px;
+ 	bottom: 0;
+ }
+ 
+ #wp-link #search-results {
+ 	display: none;
+ }
+ 
+ #wp-link  #search-panel {
+ 	float: left;
+ 	width: 100%;
+ }
+ 
+ #wp-link .river-waiting {
+ 	display: none;
+ 	padding: 10px 0;
+ }
+ 
+ #wp-link .river-waiting img.waiting {
+ 	margin: 0 auto;
+ 	display: block;
+ }
+ 
+ #wp-link .submitbox {
+ 	padding: 5px 10px;
+ 	font-size: 11px;
+ 	overflow: auto;
+ 	height: 29px;
+ }
+ 
+ #wp-link-cancel {
+ 	line-height: 25px;
+ 	float: left;
+ }
+ 
+ #wp-link-update {
+ 	line-height: 23px;
+ 	float: right;
+ }
+ 
+ /*
+  * Based on:
+  * jQuery UI CSS Framework @VERSION
+  *
+  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+  * Dual licensed under the MIT or GPL Version 2 licenses.
+  * http://jquery.org/license
+  *
+  * http://docs.jquery.com/UI/Theming/API
+  */
+ 
+ /* Layout helpers
+ ----------------------------------*/
+ .ui-helper-hidden { display: none; }
+ .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+ .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+ .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+ .ui-helper-clearfix { display: inline-block; }
+ /* required comment for clearfix to work in Opera \*/
+ * html .ui-helper-clearfix { height:1%; }
+ .ui-helper-clearfix { display:block; }
+ /* end clearfix */
+ .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+ 
+ /* Interaction Cues
+ ----------------------------------*/
+ .ui-state-disabled { cursor: default !important; }
+ 
+ /* Icons
+ ----------------------------------*/
+ 
+ /* states and images */
+ .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+ 
+ /* Misc visuals
+ ----------------------------------*/
+ 
+ /* Overlays */
+ .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+ 
+ /*
+  * jQuery UI Resizable
+  *
+  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+  * Dual licensed under the MIT or GPL Version 2 licenses.
+  * http://jquery.org/license
+  *
+  * http://docs.jquery.com/UI/Resizable#theming
+  */
+ .ui-resizable { position: relative;}
+ .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+ .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+ .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+ .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+ .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+ .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+ .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+ .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+ .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
+ 
+ /*
+  * jQuery UI Dialog
+  *
+  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+  * Dual licensed under the MIT or GPL Version 2 licenses.
+  * http://jquery.org/license
+  *
+  * http://docs.jquery.com/UI/Dialog#theming
+  */
+ .wp-dialog { position: absolute; width: 300px; overflow: hidden; }
+ .wp-dialog .ui-dialog-titlebar { position: relative; }
+ .wp-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+ .wp-dialog .ui-dialog-content { position: relative; border: 0; padding: 0; background: none; overflow: auto; zoom: 1; }
+ .wp-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+ .wp-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+ .wp-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+ .wp-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+ .ui-draggable .ui-dialog-titlebar { cursor: move; }
+ 
+ /* WP jQuery Dialog Theme */
+ .wp-dialog {
+ 	border: 1px solid #999;
+ 	-moz-box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 );
+ 	-webkit-box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 );
+ 	box-shadow: 0px 0px 16px rgba( 0,0,0,0.3 );
+ }
+ 
+ .wp-dialog .ui-dialog-title {
+ 	display: block;
+ 	text-align: center;
+ 	padding: 1px 0 2px;
+ }
+ 
+ .wp-dialog .ui-dialog-titlebar {
+ 	padding: 0 1em;
+ 	background-color: #444;
+ 	font-weight: bold;
+ 	font-size: 11px;
+ 	line-height: 18px;
+ 	color: #e5e5e5;
+ }
+ 
+ .wp-dialog {
+ 	background-color: #fff;
+ 	-webkit-border-top-left-radius: 4px;
+ 	-webkit-border-top-right-radius: 4px;
+ 	border-top-left-radius: 4px;
+ 	border-top-right-radius: 4px;
+ }
+ 
+ .wp-dialog .ui-dialog-titlebar {
+ 	-webkit-border-top-left-radius: 3px;
+ 	-webkit-border-top-right-radius: 3px;
+ 	border-top-left-radius: 3px;
+ 	border-top-right-radius: 3px;
+ }
+ 
+ .wp-dialog .ui-dialog-titlebar-close {
+ 	position: absolute;
+ 	width: 29px;
+ 	height: 16px;
+ 	top: 2px;
+ 	right: 6px;
+ 	background: url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;
+ 	padding: 0;
+ }
+ 
+ .wp-dialog .ui-dialog-titlebar-close:hover,
+ .wp-dialog .ui-dialog-titlebar-close:focus {
+ 	background-position: -87px -32px;
+ }
+ 
+ .ui-widget-overlay {
+ 	background-color: #000;
+ 	opacity: 0.6;
+ 	filter: alpha(opacity=60);
+ }
+ 
+ /*
+ RTL
+ */
+ .rtl #wp-link #internal-toggle {
+ 	padding-right: 18px;
+ 	padding-left: 0;
+ }
+ 
+ .rtl #wp-link label span {
+ 	text-align: left;
+ 	padding-left: 5px;
+ 	padding-right: 0;
+ }
+ 
+ .rtl #wp-link .link-search-wrapper span {
+ 	float: right;
+ }
+ 
+ .rtl #wp-link .link-search-wrapper input[type="text"] {
+ 	float: right;
+ }
+ 
+ .rtl #wp-link .link-search-wrapper img.waiting {
+ 	margin: 8px 4px 0 1px;
+ 	float: right;
+ }
+ 
+ .rtl #wp-link .link-target {
+ 	margin: 0 87px 0 0;
+ }
+ 
+ .rtl #wp-link .item-info {
+ 	left: 5px;
+ 	right: auto;
+ 	top: 4px;
+ 	bottom: 0;
+ }
+ 
+ .rtl #wp-link #search-panel {
+ 	float: right;
+ }
+ 
+ .rtl #wp-link-cancel {
+ 	float: right;
+ }
+ 
+ .rtl #wp-link-update {
+ 	float: left;
+ }
+ 
+ .rtl #wp-link .toggle-arrow {
+ 	background-position: top right;
+ }
+ 
+ .rtl #wp-link .toggle-arrow-active {
+ 	background-position: center right;
+ }
+ 
+ .rtl .wp_themeSkin .mceListBox .mceText {
+ 	text-align: right;
+ }
+ 
+ .rtl .wp_themeSkin .mceNoIcons a .mceText {
+ 	padding-right: 10px;
+ 	padding-left: 25px;
+ }
+ 
+ .rtl .mceListBoxMenu.mceNoIcons {
+ 	margin-left: -14px;
+ }
+ 
+ .clearlooks2 .mceFocus .mceTop .mceLeft {
+ 	background: #444444;
+ 	border-left: 1px solid #999;
+ 	border-top: 1px solid #999;
+ 	-webkit-border-top-left-radius: 3px;
+ 	border-top-left-radius: 3px;
+ }
+ 
+ .clearlooks2 .mceFocus .mceTop .mceRight {
+ 	background: #444444;
+ 	border-right: 1px solid #999;
+ 	border-top: 1px solid #999;
+ 	-webkit-border-top-right-radius: 3px;
+ 	border-top-right-radius: 3px;
+ }
+ 
+ .clearlooks2 .mceMiddle .mceLeft {
+ 	background: #f1f1f1;
+ 	border-left: 1px solid #999;
+ }
+ 
+ .clearlooks2 .mceMiddle .mceRight {
+ 	background: #f1f1f1;
+ 	border-right: 1px solid #999;
+ }
+ 
+ .clearlooks2 .mceBottom {
+ 	background: #f1f1f1;
+ 	border-bottom: 1px solid #999;
+ }
+ 
+ .clearlooks2 .mceBottom .mceLeft {
+ 	background: #f1f1f1;
+ 	border-bottom: 1px solid #999;
+ 	border-left: 1px solid #999;
+ }
+ 
+ .clearlooks2 .mceBottom .mceCenter {
+ 	background: #f1f1f1;
+ 	border-bottom: 1px solid #999;
+ }
+ 
+ .clearlooks2 .mceBottom .mceRight {
+ 	background: #f1f1f1;
+ 	border-bottom: 1px solid #999;
+ 	border-right: 1px solid #999;
+ }
+ 
+ .clearlooks2 .mceFocus .mceTop span {
+ 	color: #e5e5e5;
+ }
+ 
+ 
+ /* Distraction Free Writing mode
+  * =Overlay Styles
+ -------------------------------------------------------------- */
+ .fullscreen-overlay {
+ 	z-index: 149999;
+ 	display: none;
+ 	position: fixed;
+ 	top: 0;
+ 	bottom: 0;
+ 	left: 0;
+ 	right: 0;
+ 	filter: inherit;
+ }
+ 
+ .fullscreen-active .fullscreen-overlay,
+ .fullscreen-active #wp-fullscreen-body {
+ 	display: block;
+ }
+ 
+ .fullscreen-fader {
+ 	z-index: 200000;
+ }
+ 
+ .fullscreen-active .fullscreen-fader {
+ 	display: none;
+ }
+ 
+ /* =Overlay Body
+ -------------------------------------------------------------- */
+ #wp-fullscreen-body {
+ 	width: 100%;
+ 	z-index: 150005;
+ 	display: none;
+ 	position: absolute;
+ 	top: 0;
+ 	left: 0;
+ 	font-size: 12px;
+ }
+ 
+ #wp-fullscreen-wrap {
+ 	margin: 0 auto 50px;
+ 	position: relative;
+ 	padding-top: 60px;
+ }
+ 
+ #wp-fullscreen-title {
+     font-size: 1.7em;
+     line-height: 100%;
+     outline: medium none;
+     padding: 6px 7px;
+     width: 100%;
+     margin-bottom: 30px;
+ }
+ 
+ #wp-fullscreen-container {
+ 	padding: 4px 10px 50px;
+ }
+ 
+ #wp-fullscreen-title,
+ #wp-fullscreen-container {
+ 	-webkit-border-radius: 0;
+ 	border-radius: 0;
+ 	border: 1px dashed transparent;
+ 	background: transparent;
+ 	-moz-transition-property: border-color;
+ 	-moz-transition-duration: 0.6s;
+ 	-webkit-transition-property: border-color;
+ 	-webkit-transition-duration: 0.6s;
+ 	-o-transition-property: border-color;
+ 	-o-transition-duration: 0.6s;
+ 	transition-property: border-color;
+ 	transition-duration: 0.6s;
+ }
+ 
+ #wp_mce_fullscreen {
+ 	width: 100%;
+ 	min-height: 300px;
+ 	border: 0;
+ 	background: transparent;
+ 	font-family: Consolas, Monaco, monospace;
+ 	line-height: 1.6em;
+ 	padding: 0;
+ 	overflow-y: hidden;
+ 	outline: none;
+ 	resize: none;
+ }
+ 
+ #wp-fullscreen-tagline {
+ 	color: #BBBBBB;
+ 	font-size: 18px;
+ 	float: right;
+ 	padding-top: 5px;
+ }
+ 
+ /* =Top bar
+ -------------------------------------------------------------- */
+ #fullscreen-topbar {
+ 	position: fixed;
+ 	top: 0;
+ 	left: 0;
+ 	z-index: 150050;
+ 	border-bottom-style: solid;
+ 	border-bottom-width: 1px;
+ 	min-width: 800px;
+ 	width: 100%;
+ 	height: 40px;
+ }
+ 
+ #wp-fullscreen-toolbar {
+ 	padding: 6px 10px 0;
+ 	clear: both;
+ 	max-width: 1100px;
+ 	min-width: 820px;
+ 	margin: 0 auto;
+ }
+ 
+ #wp-fullscreen-mode-bar,
+ #wp-fullscreen-button-bar,
+ #wp-fullscreen-close,
+ #wp-fullscreen-count {
+ 	float: left;
+ }
+ 
+ #wp-fullscreen-save {
+ 	float: right;
+ 	padding: 2px 2px 0 5px;
+ }
+ 
+ #wp-fullscreen-count,
+ #wp-fullscreen-close {
+ 	padding-top: 5px;
+ }
+ 
+ #wp-fullscreen-central-toolbar {
+ 	margin: auto;
+ 	padding: 0;
+ }
+ 
+ #wp-fullscreen-buttons > div {
+ 	float: left;
+ }
+ 
+ #wp-fullscreen-mode-bar {
+ 	padding: 1px 14px 0 0;
+ }
+ 
+ #wp-fullscreen-modes a {
+ 	display: block;
+ 	font-size: 11px;
+ 	text-decoration: none;
+ 	float: left;
+ 	margin: 1px 0 0 0;
+ 	padding: 2px 6px 2px;
+ 	border-width: 1px 1px 1px 0;
+ 	border-style: solid;
+ 	border-color: #bbb;
+ 	color: #777;
+ 	text-shadow: 0 1px 0 #fff;
+ 	background-color: #f4f4f4;
+ 	background-image: -moz-linear-gradient(bottom,  #e4e4e4,  #f9f9f9);
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), to(#f9f9f9));
+ }
+ 
+ #wp-fullscreen-modes a:hover,
+ .wp-html-mode #wp-fullscreen-modes a:last-child,
+ .wp-tmce-mode #wp-fullscreen-modes a:first-child {
+ 	color: #333;
+ 	border-color: #999;
+ 	background-color: #eee;
+ 	background-image: -moz-linear-gradient(bottom,  #f9f9f9,  #e0e0e0);
+ 	background-image: -webkit-gradient(linear, left bottom, left top, from(#f9f9f9), to(#e0e0e0));
+ }
+ 
+ #wp-fullscreen-modes a:first-child {
+ 	border-width: 1px;
+ 	-webkit-border-top-left-radius: 3px;
+ 	-webkit-border-bottom-left-radius: 3px;
+ 	border-top-left-radius: 3px;
+ 	border-bottom-left-radius: 3px;
+ }
+ 
+ #wp-fullscreen-modes a:last-child {
+ 	-webkit-border-top-right-radius: 3px;
+ 	-webkit-border-bottom-right-radius: 3px;
+ 	border-top-right-radius: 3px;
+ 	border-bottom-right-radius: 3px;
+ }
+ 
+ #wp-fullscreen-buttons .active a {
+ 	background: inherit;
+ }
+ 
+ #wp-fullscreen-buttons .hidden {
+ 	display: none;
+ }
+ 
+ #wp-fullscreen-buttons .disabled {
+ 	opacity: 0.5;
+ }
+ 
+ .wp-html-mode #wp-fullscreen-buttons div {
+ 	display: none;
+ }
+ 
+ .wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both {
+ 	display: block;
+ }
+ 
+ #fullscreen-topbar.fullscreen-make-sticky {
+ 	display: block !important;
+ }
+ 
+ #wp-fullscreen-save img {
+ 	vertical-align: middle;
+ }
+ 
+ #wp-fullscreen-save img,
+ #wp-fullscreen-save span {
+ 	padding-right: 4px;
+ 	display: none;
+ }
+ 
+ #wp-fullscreen-buttons .mce_image .mce_image {
+ 	background-image: url('../../wp-admin/images/media-button.png?ver=20120201');
+ 	background-position: 3px 3px;
+ }
+ 
+ /* =Thickbox Adjustments
+ -------------------------------------------------------------- */
+ .fullscreen-active #TB_overlay {
+ 	z-index: 150100;
+ }
+ 
+ .fullscreen-active #TB_window {
+ 	z-index: 150102;
+ }
+ 
+ /* =TinyMCE Adjustments
+ -------------------------------------------------------------- */
+ #wp_mce_fullscreen_ifr {
+ 	background: transparent;
+ }
+ 
+ #wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst {
+ 	display : none;
+ }
+ 
+ #wp-fullscreen-container .wp_themeSkin table td {
+ 	vertical-align: top;
+ }
+ 
+ /* Colors */
+ .fullscreen-overlay {
+ 	background: #fff;
+ }
+ 
+ .wp-fullscreen-focus #wp-fullscreen-title,
+ .wp-fullscreen-focus #wp-fullscreen-container {
+ 	border-color: #ccc;
+ }
+ 
+ #fullscreen-topbar {
+ 	border-bottom-color: #DFDFDF;
+ 	background-color: #f1f1f1; /* Fallback */
+ 	background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); /* IE10 */
+ 	background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); /* Firefox */
+ 	background-image: -o-linear-gradient(top, #f9f9f9, #ececec); /* Opera */
+ 	background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); /* old Webkit */
+ 	background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); /* new Webkit */
+ 	background-image: linear-gradient(top, #f9f9f9, #ececec); /* proposed W3C Markup */
+ }
+ 
+ /* =CSS 3 transitions
+ -------------------------------------------------------------- */
+ 
+ .fade-1000,
+ .fade-600,
+ .fade-400,
+ .fade-300 {
+ 	opacity: 0;
+ 	-moz-transition-property: opacity;
+ 	-webkit-transition-property: opacity;
+ 	-o-transition-property: opacity;
+ 	transition-property: opacity;
+ }
+ 
+ .fade-1000 {
+ 	-moz-transition-duration: 1s;
+ 	-webkit-transition-duration: 1s;
+ 	-o-transition-duration: 1s;
+ 	transition-duration: 1s;
+ }
+ 
+ .fade-600 {
+ 	-moz-transition-duration: 0.6s;
+ 	-webkit-transition-duration: 0.6s;
+ 	-o-transition-duration: 0.6s;
+ 	transition-duration: 0.6s;
+ }
+ 
+ .fade-400 {
+ 	-moz-transition-duration: 0.4s;
+ 	-webkit-transition-duration: 0.4s;
+ 	-o-transition-duration: 0.4s;
+ 	transition-duration: 0.4s;
+ }
+ 
+ .fade-300 {
+ 	-moz-transition-duration: 0.3s;
+ 	-webkit-transition-duration: 0.3s;
+ 	-o-transition-duration: 0.3s;
+ 	transition-duration: 0.3s;
+ }
+ 
+ .fade-trigger {
+ 	opacity: 1;
+ }
+ 
+ /* Distraction Free Writing - RTL
+  * =Overlay Styles
+ -------------------------------------------------------------- */
+ 
+ /* No RTL for now, this space intentionally left blank */
+ 
+ /* =Overlay Body
+ -------------------------------------------------------------- */
+ .rtl #wp-fullscreen-tagline {
+ 	float: left;
+ }
+ 
+ /* =Top bar
+ -------------------------------------------------------------- */
+ .rtl #fullscreen-topbar {
+ 	left:auto;
+ 	right: 0;
+ }
+ 
+ .rtl #wp-fullscreen-mode-bar,
+ .rtl #wp-fullscreen-button-bar,
+ .rtl #wp-fullscreen-close,
+ .rtl #wp-fullscreen-count {
+ 	float: right;
+ }
+ 
+ .rtl #wp-fullscreen-save {
+ 	float: left;
+ }
+ 
+ .rtl #wp-fullscreen-save {
+ 	padding: 2px 5px 0 2px;
+ }
+ 
+ .rtl #wp-fullscreen-buttons > div {
+ 	float: right;
+ }
+ 
+ .rtl #wp-fullscreen-mode-bar {
+ 	padding: 1px 0 0 14px;
+ }
+ 
+ .rtl #wp-fullscreen-modes a {
+ 	float: right;
+ 	border-width: 1px 0 1px 1px;
+ }
+ 
+ .rtl #wp-fullscreen-modes a:first-child {
+ 	-webkit-border-top-left-radius: 0;
+ 	-webkit-border-top-right-radius: 3px;
+ 	-webkit-border-bottom-left-radius: 0;
+ 	-webkit-border-bottom-right-radius: 3px;
+ 	border-width: 1px;
+ 	border-top-left-radius: 0;
+ 	border-top-right-radius: 3px;
+ 	border-bottom-right-left: 0;
+ 	border-bottom-right-radius: 3px;
+ }
+ 
+ .rtl #wp-fullscreen-modes a:last-child {
+ 	-webkit-border-top-right-radius: 0;
+ 	-webkit-border-top-left-radius: 3px;
+ 	-webkit-border-bottom-right-radius: 0;
+ 	-webkit-border-bottom-left-radius: 3px;
+ 	border-top-right-radius: 0;
+ 	border-top-left-radius: 3px;
+ 	border-bottom-right-radius: 0;
+ 	border-bottom-left-radius: 3px;
+ }
+ 
+ .rtl #wp-fullscreen-save img,
+ .rtl #wp-fullscreen-save span {
+ 	padding-right: 0;
+ 	padding-left: 4px;
+ }
+ 
+ /* =Thickbox Adjustments
+ -------------------------------------------------------------- */
+ /* No RTL for now, this space intentionally left blank */
+ 
+ 
+ /* =TinyMCE Adjustments
+ -------------------------------------------------------------- */
+ /* No RTL for now, this space intentionally left blank */
+ 
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/jquery-ui-dialog.css ./wordpress-3.4/wp-includes/css/jquery-ui-dialog.css
*** ./wordpress-3.3.2/wp-includes/css/jquery-ui-dialog.css	2011-11-07 11:32:24.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/jquery-ui-dialog.css	2012-02-01 08:37:52.000000000 -0600
***************
*** 1 ****
! .ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute;left:-99999999px;}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}/* required comment for clearfix to work in Opera \*/ * html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}/* end clearfix */ .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default!important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-resizable{position:relative;}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block;}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none;}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0;}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0;}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%;}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%;}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px;}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px;}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px;}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px;}.wp-dialog{position:absolute;width:300px;overflow:hidden;}.wp-dialog .ui-dialog-titlebar{position:relative;}.wp-dialog .ui-dialog-titlebar-close span{display:block;margin:1px;}.wp-dialog .ui-dialog-content{position:relative;border:0;padding:0;background:none;overflow:auto;zoom:1;}.wp-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em;}.wp-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right;}.wp-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer;}.wp-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px;}.ui-draggable .ui-dialog-titlebar{cursor:move;}.wp-dialog{border:1px solid #999;-moz-box-shadow:0 0 16px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3);}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px;}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;line-height:18px;color:#e5e5e5;}.wp-dialog{background-color:#f5f5f5;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;}.wp-dialog .ui-dialog-titlebar{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;}.wp-dialog .ui-dialog-titlebar-close{position:absolute;width:29px;height:16px;top:2px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;padding:0;}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px;}.ui-widget-overlay{background-color:#000;opacity:.6;filter:alpha(opacity=60);}
\ No newline at end of file
--- 1 ----
! .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute;left:-99999999px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}/*\*/* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}/**/.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;z-index:99999;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.wp-dialog{position:absolute;width:300px;overflow:hidden}.wp-dialog .ui-dialog-titlebar{position:relative}.wp-dialog .ui-dialog-titlebar-close span{display:block;margin:1px}.wp-dialog .ui-dialog-content{position:relative;border:0;padding:0;background:0;overflow:auto;zoom:1}.wp-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.wp-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.wp-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.wp-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{border:1px solid #999;-moz-box-shadow:0 0 16px rgba(0,0,0,0.3);-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3)}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;line-height:18px;color:#e5e5e5}.wp-dialog{background-color:#f5f5f5;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.wp-dialog .ui-dialog-titlebar{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.wp-dialog .ui-dialog-titlebar-close{position:absolute;width:29px;height:16px;top:2px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px;padding:0}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{background-color:#000;opacity:.6;filter:alpha(opacity=60)}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/css/wp-pointer.css ./wordpress-3.4/wp-includes/css/wp-pointer.css
*** ./wordpress-3.3.2/wp-includes/css/wp-pointer.css	2011-12-05 20:39:53.000000000 -0600
--- ./wordpress-3.4/wp-includes/css/wp-pointer.css	2012-02-01 08:37:52.000000000 -0600
***************
*** 1 ****
! .wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border-style:solid;border-width:1px;border-color:#dfdfdf;border-color:rgba(0,0,0,.125);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.19);-moz-box-shadow:0 2px 4px rgba(0,0,0,.19);box-shadow:0 2px 4px rgba(0,0,0,.19);}.wp-pointer-content h3{position:relative;margin:0 0 5px;padding:15px 18px 14px 60px;line-height:1.4em;font-size:14px;color:#fff;border-radius:3px 3px 0 0;text-shadow:0 -1px 0 rgba(0,0,0,0.3);background-color:#8cc1e9;background-image:-webkit-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:-moz-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:-ms-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:-o-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);}.wp-pointer-content h3:before{position:absolute;top:0;left:15px;content:' ';width:36px;height:100%;background:url('../images/icon-pointer-flag.png') 0 50% no-repeat;}.wp-pointer-content p{padding:0 15px;}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto;}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none;}.wp-pointer-buttons a.close{padding-left:3px;position:relative;}.wp-pointer-buttons a.close:before{content:' ';width:10px;height:100%;position:absolute;left:-10px;background:url('../images/xit.gif') 0 50% no-repeat;}.wp-pointer-buttons a.close:hover:before{background-position:100% 50%;}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0;}.wp-pointer-arrow{z-index:10;background:url('../images/arrow-pointer-blue.png') 0 0 no-repeat;}.wp-pointer-arrow-inner{z-index:20;}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px;}.wp-pointer-bottom{padding-bottom:13px;}.wp-pointer-left{padding-left:13px;}.wp-pointer-right{padding-right:13px;}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px;width:30px;height:14px;}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px;width:14px;height:30px;}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;background-position:0 0;}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;background-position:0 -46px;}.wp-pointer-left .wp-pointer-arrow{left:0;background-position:0 -15px;}.wp-pointer-right .wp-pointer-arrow{right:0;background-position:-16px -15px;}.rtl .wp-pointer-content h3{padding-right:60px;padding-left:18px;}.rtl .wp-pointer-content h3:before{right:15px;}.rtl .wp-pointer-buttons a{float:left;}.rtl .wp-pointer-buttons a.close{padding-right:3px;padding-left:0;}.rtl .wp-pointer-buttons a.close:before{right:-10px;}.rtl .wp-pointer-top .wp-pointer-arrow,.rtl .wp-pointer-bottom .wp-pointer-arrow,.rtl .wp-pointer-undefined .wp-pointer-arrow{right:50px;}
\ No newline at end of file
--- 1 ----
! .wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border-style:solid;border-width:1px;border-color:#dfdfdf;border-color:rgba(0,0,0,.125);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.19);-moz-box-shadow:0 2px 4px rgba(0,0,0,.19);box-shadow:0 2px 4px rgba(0,0,0,.19)}.wp-pointer-content h3{position:relative;margin:0 0 5px;padding:15px 18px 14px 60px;line-height:1.4em;font-size:14px;color:#fff;border-radius:3px 3px 0 0;text-shadow:0 -1px 0 rgba(0,0,0,0.3);background-color:#8cc1e9;background-image:-webkit-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:-moz-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:-ms-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:-o-linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%);background-image:linear-gradient(bottom,#72a7cf 0,#8cc1e9 100%)}.wp-pointer-content h3:before{position:absolute;top:0;left:15px;content:' ';width:36px;height:100%;background:url('../images/icon-pointer-flag.png') 0 50% no-repeat}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{content:' ';width:10px;height:100%;position:absolute;left:-10px;background:url('../images/xit.gif') 0 50% no-repeat}.wp-pointer-buttons a.close:hover:before{background-position:100% 50%}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;background:url('../images/arrow-pointer-blue.png') 0 0 no-repeat}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px;width:30px;height:14px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px;width:14px;height:30px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;background-position:0 0}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;background-position:0 -46px}.wp-pointer-left .wp-pointer-arrow{left:0;background-position:0 -15px}.wp-pointer-right .wp-pointer-arrow{right:0;background-position:-16px -15px}.rtl .wp-pointer-content h3{padding-right:60px;padding-left:18px}.rtl .wp-pointer-content h3:before{right:15px}.rtl .wp-pointer-buttons a{float:left}.rtl .wp-pointer-buttons a.close{padding-right:3px;padding-left:0}.rtl .wp-pointer-buttons a.close:before{right:-10px}.rtl .wp-pointer-top .wp-pointer-arrow,.rtl .wp-pointer-bottom .wp-pointer-arrow,.rtl .wp-pointer-undefined .wp-pointer-arrow{right:50px}
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/default-constants.php ./wordpress-3.4/wp-includes/default-constants.php
*** ./wordpress-3.3.2/wp-includes/default-constants.php	2011-09-09 14:59:44.000000000 -0500
--- ./wordpress-3.4/wp-includes/default-constants.php	2012-01-27 12:52:20.000000000 -0600
***************
*** 105,111 ****
  	 * @deprecated
  	 */
  	if ( !defined('PLUGINDIR') )
! 		define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH.  For back compat.
  
  	/**
  	 * Allows for the mu-plugins directory to be moved from the default location.
--- 105,111 ----
  	 * @deprecated
  	 */
  	if ( !defined('PLUGINDIR') )
! 		define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH. For back compat.
  
  	/**
  	 * Allows for the mu-plugins directory to be moved from the default location.
***************
*** 130,136 ****
  	 * @deprecated
  	 */
  	if ( !defined( 'MUPLUGINDIR' ) )
! 		define( 'MUPLUGINDIR', 'wp-content/mu-plugins' ); // Relative to ABSPATH.  For back compat.
  }
  
  /**
--- 130,136 ----
  	 * @deprecated
  	 */
  	if ( !defined( 'MUPLUGINDIR' ) )
! 		define( 'MUPLUGINDIR', 'wp-content/mu-plugins' ); // Relative to ABSPATH. For back compat.
  }
  
  /**
***************
*** 140,147 ****
   * @since 3.0.0
   */
  function wp_cookie_constants( ) {
- 	global $wp_default_secret_key;
- 
  	/**
  	 * Used to guarantee unique hash cookies
  	 * @since 1.5
--- 140,145 ----
***************
*** 155,166 ****
  	}
  
  	/**
- 	 * Should be exactly the same as the default value of SECRET_KEY in wp-config-sample.php
- 	 * @since 2.5.0
- 	 */
- 	$wp_default_secret_key = 'put your unique phrase here';
- 
- 	/**
  	 * @since 2.0.0
  	 */
  	if ( !defined('USER_COOKIE') )
--- 153,158 ----
***************
*** 304,308 ****
  		define( 'WP_DEFAULT_THEME', 'twentyeleven' );
  
  }
- 
- ?>
--- 296,298 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/default-filters.php ./wordpress-3.4/wp-includes/default-filters.php
*** ./wordpress-3.3.2/wp-includes/default-filters.php	2011-12-03 03:35:38.000000000 -0600
--- ./wordpress-3.4/wp-includes/default-filters.php	2012-06-10 12:58:57.000000000 -0500
***************
*** 79,88 ****
  }
  
  // Keys
! foreach ( array( 'pre_post_type' ) as $filter ) {
! 	add_filter( $filter, 'sanitize_user' );
! }
! foreach ( array( 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_status' ) as $filter ) {
  	add_filter( $filter, 'sanitize_key' );
  }
  
--- 79,85 ----
  }
  
  // Keys
! foreach ( array( 'pre_post_type', 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_status' ) as $filter ) {
  	add_filter( $filter, 'sanitize_key' );
  }
  
***************
*** 193,198 ****
--- 190,196 ----
  add_filter( 'comments_open',            '_close_comments_for_old_post', 10, 2 );
  add_filter( 'pings_open',               '_close_comments_for_old_post', 10, 2 );
  add_filter( 'editable_slug',            'urldecode'                           );
+ add_filter( 'editable_slug',            'esc_textarea'                        );
  add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object'        );
  
  // Actions
***************
*** 231,237 ****
  
  // WP Cron
  if ( !defined( 'DOING_CRON' ) )
! 	add_action( 'sanitize_comment_cookies', 'wp_cron' );
  
  // 2 Actions 2 Furious
  add_action( 'do_feed_rdf',                'do_feed_rdf',                             10, 1 );
--- 229,235 ----
  
  // WP Cron
  if ( !defined( 'DOING_CRON' ) )
! 	add_action( 'init', 'wp_cron' );
  
  // 2 Actions 2 Furious
  add_action( 'do_feed_rdf',                'do_feed_rdf',                             10, 1 );
***************
*** 240,245 ****
--- 238,244 ----
  add_action( 'do_feed_atom',               'do_feed_atom',                            10, 1 );
  add_action( 'do_pings',                   'do_all_pings',                            10, 1 );
  add_action( 'do_robots',                  'do_robots'                                      );
+ add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 2 );
  add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'                       );
  add_action( 'admin_print_scripts',        'print_head_scripts',                      20    );
  add_action( 'admin_print_footer_scripts', '_wp_footer_scripts'                             );
***************
*** 255,260 ****
--- 254,260 ----
  add_action( 'transition_post_status',     '_update_term_count_on_transition_post_status', 10, 3 );
  add_action( 'comment_form',               'wp_comment_form_unfiltered_html_nonce'          );
  add_action( 'wp_scheduled_delete',        'wp_scheduled_delete'                            );
+ add_action( 'wp_scheduled_auto_draft_delete', 'wp_delete_auto_drafts'                      );
  add_action( 'admin_init',                 'send_frame_options_header',               10, 0 );
  add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment'                           );
  add_action( 'upgrader_scheduled_cleanup', 'wp_delete_attachment'                           );
***************
*** 283,287 ****
  add_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
  
  unset($filter, $action);
- 
- ?>
--- 283,285 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/default-widgets.php ./wordpress-3.4/wp-includes/default-widgets.php
*** ./wordpress-3.3.2/wp-includes/default-widgets.php	2011-11-07 11:28:20.000000000 -0600
--- ./wordpress-3.4/wp-includes/default-widgets.php	2012-03-24 09:00:52.000000000 -0500
***************
*** 102,113 ****
  		$show_rating = isset($instance['rating']) ? $instance['rating'] : false;
  		$show_images = isset($instance['images']) ? $instance['images'] : true;
  		$category = isset($instance['category']) ? $instance['category'] : false;
! 
! 		if ( is_admin() && !$category ) {
! 			// Display All Links widget as such in the widgets screen
! 			echo $before_widget . $before_title . _x('All Links', 'links widget') . $after_title . $after_widget;
! 			return;
! 		}
  
  		$before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget);
  		wp_list_bookmarks(apply_filters('widget_links_args', array(
--- 102,110 ----
  		$show_rating = isset($instance['rating']) ? $instance['rating'] : false;
  		$show_images = isset($instance['images']) ? $instance['images'] : true;
  		$category = isset($instance['category']) ? $instance['category'] : false;
! 		$orderby = isset( $instance['orderby'] ) ? $instance['orderby'] : 'name';
! 		$order = $orderby == 'rating' ? 'DESC' : 'ASC';
! 		$limit = isset( $instance['limit'] ) ? $instance['limit'] : -1;
  
  		$before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget);
  		wp_list_bookmarks(apply_filters('widget_links_args', array(
***************
*** 115,132 ****
  			'category_before' => $before_widget, 'category_after' => $after_widget,
  			'show_images' => $show_images, 'show_description' => $show_description,
  			'show_name' => $show_name, 'show_rating' => $show_rating,
! 			'category' => $category, 'class' => 'linkcat widget'
  		)));
  	}
  
  	function update( $new_instance, $old_instance ) {
  		$new_instance = (array) $new_instance;
! 		$instance = array( 'images' => 0, 'name' => 0, 'description' => 0, 'rating' => 0);
  		foreach ( $instance as $field => $val ) {
  			if ( isset($new_instance[$field]) )
  				$instance[$field] = 1;
  		}
! 		$instance['category'] = intval($new_instance['category']);
  
  		return $instance;
  	}
--- 112,137 ----
  			'category_before' => $before_widget, 'category_after' => $after_widget,
  			'show_images' => $show_images, 'show_description' => $show_description,
  			'show_name' => $show_name, 'show_rating' => $show_rating,
! 			'category' => $category, 'class' => 'linkcat widget',
! 			'orderby' => $orderby, 'order' => $order,
! 			'limit' => $limit,
  		)));
  	}
  
  	function update( $new_instance, $old_instance ) {
  		$new_instance = (array) $new_instance;
! 		$instance = array( 'images' => 0, 'name' => 0, 'description' => 0, 'rating' => 0 );
  		foreach ( $instance as $field => $val ) {
  			if ( isset($new_instance[$field]) )
  				$instance[$field] = 1;
  		}
! 
! 		$instance['orderby'] = 'name';
! 		if ( in_array( $new_instance['orderby'], array( 'name', 'rating', 'id', 'rand' ) ) )
! 			$instance['orderby'] = $new_instance['orderby'];
! 
! 		$instance['category'] = intval( $new_instance['category'] );
! 		$instance['limit'] = ! empty( $new_instance['limit'] ) ? intval( $new_instance['limit'] ) : -1;
  
  		return $instance;
  	}
***************
*** 134,144 ****
  	function form( $instance ) {
  
  		//Defaults
! 		$instance = wp_parse_args( (array) $instance, array( 'images' => true, 'name' => true, 'description' => false, 'rating' => false, 'category' => false ) );
! 		$link_cats = get_terms( 'link_category');
  ?>
  		<p>
! 		<label for="<?php echo $this->get_field_id('category'); ?>" class="screen-reader-text"><?php _e('Select Link Category'); ?></label>
  		<select class="widefat" id="<?php echo $this->get_field_id('category'); ?>" name="<?php echo $this->get_field_name('category'); ?>">
  		<option value=""><?php _ex('All Links', 'links widget'); ?></option>
  		<?php
--- 139,151 ----
  	function form( $instance ) {
  
  		//Defaults
! 		$instance = wp_parse_args( (array) $instance, array( 'images' => true, 'name' => true, 'description' => false, 'rating' => false, 'category' => false, 'orderby' => 'name', 'limit' => -1 ) );
! 		$link_cats = get_terms( 'link_category' );
! 		if ( ! $limit = intval( $instance['limit'] ) )
! 			$limit = -1;
  ?>
  		<p>
! 		<label for="<?php echo $this->get_field_id('category'); ?>"><?php _e( 'Select Link Category:' ); ?></label>
  		<select class="widefat" id="<?php echo $this->get_field_id('category'); ?>" name="<?php echo $this->get_field_name('category'); ?>">
  		<option value=""><?php _ex('All Links', 'links widget'); ?></option>
  		<?php
***************
*** 148,154 ****
  				. '>' . $link_cat->name . "</option>\n";
  		}
  		?>
! 		</select></p>
  		<p>
  		<input class="checkbox" type="checkbox" <?php checked($instance['images'], true) ?> id="<?php echo $this->get_field_id('images'); ?>" name="<?php echo $this->get_field_name('images'); ?>" />
  		<label for="<?php echo $this->get_field_id('images'); ?>"><?php _e('Show Link Image'); ?></label><br />
--- 155,169 ----
  				. '>' . $link_cat->name . "</option>\n";
  		}
  		?>
! 		</select>
! 		<label for="<?php echo $this->get_field_id('orderby'); ?>"><?php _e( 'Sort by:' ); ?></label>
! 		<select name="<?php echo $this->get_field_name('orderby'); ?>" id="<?php echo $this->get_field_id('orderby'); ?>" class="widefat">
! 			<option value="name"<?php selected( $instance['orderby'], 'name' ); ?>><?php _e( 'Link title' ); ?></option>
! 			<option value="rating"<?php selected( $instance['orderby'], 'rating' ); ?>><?php _e( 'Link rating' ); ?></option>
! 			<option value="id"<?php selected( $instance['orderby'], 'id' ); ?>><?php _e( 'Link ID' ); ?></option>
! 			<option value="rand"<?php selected( $instance['orderby'], 'rand' ); ?>><?php _e( 'Random' ); ?></option>
! 		</select>
! 		</p>
  		<p>
  		<input class="checkbox" type="checkbox" <?php checked($instance['images'], true) ?> id="<?php echo $this->get_field_id('images'); ?>" name="<?php echo $this->get_field_name('images'); ?>" />
  		<label for="<?php echo $this->get_field_id('images'); ?>"><?php _e('Show Link Image'); ?></label><br />
***************
*** 159,164 ****
--- 174,183 ----
  		<input class="checkbox" type="checkbox" <?php checked($instance['rating'], true) ?> id="<?php echo $this->get_field_id('rating'); ?>" name="<?php echo $this->get_field_name('rating'); ?>" />
  		<label for="<?php echo $this->get_field_id('rating'); ?>"><?php _e('Show Link Rating'); ?></label>
  		</p>
+ 		<p>
+ 		<label for="<?php echo $this->get_field_id('limit'); ?>"><?php _e( 'Number of links to show:' ); ?></label>
+ 		<input id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" type="text" value="<?php echo $limit == -1 ? '' : intval( $limit ); ?>" size="3" />
+ 		</p>
  <?php
  	}
  }
***************
*** 296,302 ****
  			<li><?php wp_loginout(); ?></li>
  			<li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo esc_attr(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
  			<li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo esc_attr(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
! 			<li><a href="http://wordpress.org/" title="<?php echo esc_attr(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a></li>
  			<?php wp_meta(); ?>
  			</ul>
  <?php
--- 315,324 ----
  			<li><?php wp_loginout(); ?></li>
  			<li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo esc_attr(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
  			<li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo esc_attr(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
! 			<li><a href="<?php esc_attr_e( 'http://wordpress.org/' ); ?>" title="<?php echo esc_attr(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>"><?php
! 			/* translators: meta widget link text */
! 			_e( 'WordPress.org' );
! 			?></a></li>
  			<?php wp_meta(); ?>
  			</ul>
  <?php
***************
*** 540,546 ****
  		if ( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) )
   			$number = 10;
  
! 		$r = new WP_Query(array('posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true));
  		if ($r->have_posts()) :
  ?>
  		<?php echo $before_widget; ?>
--- 562,568 ----
  		if ( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) )
   			$number = 10;
  
! 		$r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true ) ) );
  		if ($r->have_posts()) :
  ?>
  		<?php echo $before_widget; ?>
***************
*** 646,652 ****
  		if ( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) )
   			$number = 5;
  
! 		$comments = get_comments( array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) );
  		$output .= $before_widget;
  		if ( $title )
  			$output .= $before_title . $title . $after_title;
--- 668,674 ----
  		if ( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) )
   			$number = 5;
  
! 		$comments = get_comments( apply_filters( 'widget_comments_args', array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) ) );
  		$output .= $before_widget;
  		if ( $title )
  			$output .= $before_title . $title . $after_title;
***************
*** 1033,1039 ****
  	<input type="text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php if (isset ( $instance['title'])) {echo esc_attr( $instance['title'] );} ?>" /></p>
  	<p><label for="<?php echo $this->get_field_id('taxonomy'); ?>"><?php _e('Taxonomy:') ?></label>
  	<select class="widefat" id="<?php echo $this->get_field_id('taxonomy'); ?>" name="<?php echo $this->get_field_name('taxonomy'); ?>">
! 	<?php foreach ( get_object_taxonomies('post') as $taxonomy ) :
  				$tax = get_taxonomy($taxonomy);
  				if ( !$tax->show_tagcloud || empty($tax->labels->name) )
  					continue;
--- 1053,1059 ----
  	<input type="text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php if (isset ( $instance['title'])) {echo esc_attr( $instance['title'] );} ?>" /></p>
  	<p><label for="<?php echo $this->get_field_id('taxonomy'); ?>"><?php _e('Taxonomy:') ?></label>
  	<select class="widefat" id="<?php echo $this->get_field_id('taxonomy'); ?>" name="<?php echo $this->get_field_name('taxonomy'); ?>">
! 	<?php foreach ( get_taxonomies() as $taxonomy ) :
  				$tax = get_taxonomy($taxonomy);
  				if ( !$tax->show_tagcloud || empty($tax->labels->name) )
  					continue;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/deprecated.php ./wordpress-3.4/wp-includes/deprecated.php
*** ./wordpress-3.3.2/wp-includes/deprecated.php	2011-11-23 13:06:52.000000000 -0600
--- ./wordpress-3.4/wp-includes/deprecated.php	2012-06-11 12:30:57.000000000 -0500
***************
*** 2566,2572 ****
   * Is the current admin page generated by a plugin?
   *
   * @since 1.5.0
!  * @deprecated 3.1
   * @deprecated Use global $plugin_page and/or get_plugin_page_hookname() hooks.
   *
   * @global $plugin_page
--- 2564,2570 ----
   * Is the current admin page generated by a plugin?
   *
   * @since 1.5.0
!  * @deprecated 3.1.0
   * @deprecated Use global $plugin_page and/or get_plugin_page_hookname() hooks.
   *
   * @global $plugin_page
***************
*** 2592,2598 ****
   * for updating the category cache.
   *
   * @since 1.5.0
!  * @deprecated 3.1
   *
   * @return bool Always return True
   */
--- 2590,2596 ----
   * for updating the category cache.
   *
   * @since 1.5.0
!  * @deprecated 3.1.0
   *
   * @return bool Always return True
   */
***************
*** 2606,2612 ****
   * Check for PHP timezone support
   *
   * @since 2.9.0
!  * @deprecated 3.2
   *
   * @return bool
   */
--- 2604,2610 ----
   * Check for PHP timezone support
   *
   * @since 2.9.0
!  * @deprecated 3.2.0
   *
   * @return bool
   */
***************
*** 2620,2626 ****
   * Display editor: TinyMCE, HTML, or both.
   *
   * @since 2.1.0
!  * @deprecated 3.3
   *
   * @param string $content Textarea content.
   * @param string $id Optional, default is 'content'. HTML ID attribute value.
--- 2618,2626 ----
   * Display editor: TinyMCE, HTML, or both.
   *
   * @since 2.1.0
!  * @deprecated 3.3.0
!  * @deprecated Use wp_editor()
!  * @see wp_editor()
   *
   * @param string $content Textarea content.
   * @param string $id Optional, default is 'content'. HTML ID attribute value.
***************
*** 2629,2634 ****
--- 2629,2635 ----
   * @param int $tab_index Optional, not used
   */
  function the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2, $extended = true) {
+ 	_deprecated_function( __FUNCTION__, '3.3', 'wp_editor()' );
  
  	wp_editor( $content, $id, array( 'media_buttons' => $media_buttons ) );
  	return;
***************
*** 2638,2643 ****
--- 2639,2646 ----
   * Perform the query to get the $metavalues array(s) needed by _fill_user and _fill_many_users
   *
   * @since 3.0.0
+  * @deprecated 3.3.0
+  *
   * @param array $ids User ID numbers list.
   * @return array of arrays. The array is indexed by user_id, containing $metavalues object arrays.
   */
***************
*** 2670,2676 ****
   *
   * @since 2.3.0
   * @deprecated 3.3.0
-  * @uses sanitize_user_field() Used to sanitize the fields.
   *
   * @param object|array $user The User Object or Array
   * @param string $context Optional, default is 'display'. How to sanitize user fields.
--- 2673,2678 ----
***************
*** 2707,2713 ****
   * Can either be start or end post relational link.
   *
   * @since 2.8.0
!  * @deprecated 3.3
   *
   * @param string $title Optional. Link title format.
   * @param bool $in_same_cat Optional. Whether link should be in a same category.
--- 2709,2715 ----
   * Can either be start or end post relational link.
   *
   * @since 2.8.0
!  * @deprecated 3.3.0
   *
   * @param string $title Optional. Link title format.
   * @param bool $in_same_cat Optional. Whether link should be in a same category.
***************
*** 2747,2753 ****
   * Display relational link for the first post.
   *
   * @since 2.8.0
!  * @deprecated 3.3
   *
   * @param string $title Optional. Link title format.
   * @param bool $in_same_cat Optional. Whether link should be in a same category.
--- 2749,2755 ----
   * Display relational link for the first post.
   *
   * @since 2.8.0
!  * @deprecated 3.3.0
   *
   * @param string $title Optional. Link title format.
   * @param bool $in_same_cat Optional. Whether link should be in a same category.
***************
*** 2763,2769 ****
   * Get site index relational link.
   *
   * @since 2.8.0
!  * @deprecated 3.3
   *
   * @return string
   */
--- 2765,2771 ----
   * Get site index relational link.
   *
   * @since 2.8.0
!  * @deprecated 3.3.0
   *
   * @return string
   */
***************
*** 2778,2784 ****
   * Display relational link for the site index.
   *
   * @since 2.8.0
!  * @deprecated 3.3
   */
  function index_rel_link() {
  	_deprecated_function( __FUNCTION__, '3.3' );
--- 2780,2786 ----
   * Display relational link for the site index.
   *
   * @since 2.8.0
!  * @deprecated 3.3.0
   */
  function index_rel_link() {
  	_deprecated_function( __FUNCTION__, '3.3' );
***************
*** 2790,2796 ****
   * Get parent post relational link.
   *
   * @since 2.8.0
!  * @deprecated 3.3
   *
   * @param string $title Optional. Link title format.
   * @return string
--- 2792,2798 ----
   * Get parent post relational link.
   *
   * @since 2.8.0
!  * @deprecated 3.3.0
   *
   * @param string $title Optional. Link title format.
   * @return string
***************
*** 2821,2827 ****
   * Display relational link for parent item
   *
   * @since 2.8.0
!  * @deprecated 3.3
   */
  function parent_post_rel_link($title = '%title') {
  	_deprecated_function( __FUNCTION__, '3.3' );
--- 2823,2829 ----
   * Display relational link for parent item
   *
   * @since 2.8.0
!  * @deprecated 3.3.0
   */
  function parent_post_rel_link($title = '%title') {
  	_deprecated_function( __FUNCTION__, '3.3' );
***************
*** 2833,2839 ****
   * Add the "Dashboard"/"Visit Site" menu.
   *
   * @since 3.2.0
!  * @deprecated 3.3
   */
  function wp_admin_bar_dashboard_view_site_menu( $wp_admin_bar ) {
  	_deprecated_function( __FUNCTION__, '3.3' );
--- 2835,2841 ----
   * Add the "Dashboard"/"Visit Site" menu.
   *
   * @since 3.2.0
!  * @deprecated 3.3.0
   */
  function wp_admin_bar_dashboard_view_site_menu( $wp_admin_bar ) {
  	_deprecated_function( __FUNCTION__, '3.3' );
***************
*** 2854,2860 ****
   * Checks if the current user belong to a given blog.
   *
   * @since MU
!  * @deprecated 3.3
   * @deprecated Use is_user_member_of_blog()
   * @see is_user_member_of_blog()
   *
--- 2856,2862 ----
   * Checks if the current user belong to a given blog.
   *
   * @since MU
!  * @deprecated 3.3.0
   * @deprecated Use is_user_member_of_blog()
   * @see is_user_member_of_blog()
   *
***************
*** 2866,2868 ****
--- 2868,3158 ----
  
  	return is_user_member_of_blog( get_current_user_id(), $blog_id );
  }
+ 
+ /**
+  * Open the file handle for debugging.
+  *
+  * @since 0.71
+  * @deprecated Use error_log()
+  * @link http://www.php.net/manual/en/function.error-log.php
+  * @deprecated 3.4.0
+  */
+ function debug_fopen( $filename, $mode ) {
+ 	_deprecated_function( __FUNCTION__, 'error_log()' );
+ 	return false;
+ }
+ 
+ /**
+  * Write contents to the file used for debugging.
+  *
+  * @since 0.71
+  * @deprecated Use error_log() instead.
+  * @link http://www.php.net/manual/en/function.error-log.php
+  * @deprecated 3.4.0
+  */
+ function debug_fwrite( $fp, $string ) {
+ 	_deprecated_function( __FUNCTION__, 'error_log()' );
+ 	if ( ! empty( $GLOBALS['debug'] ) )
+ 		error_log( $string );
+ }
+ 
+ /**
+  * Close the debugging file handle.
+  *
+  * @since 0.71
+  * @deprecated Use error_log()
+  * @link http://www.php.net/manual/en/function.error-log.php
+  * @deprecated 3.4.0
+  */
+ function debug_fclose( $fp ) {
+ 	_deprecated_function( __FUNCTION__, 'error_log()' );
+ }
+ 
+ /**
+  * Retrieve list of themes with theme data in theme directory.
+  *
+  * The theme is broken, if it doesn't have a parent theme and is missing either
+  * style.css and, or index.php. If the theme has a parent theme then it is
+  * broken, if it is missing style.css; index.php is optional.
+  *
+  * @since 1.5.0
+  * @deprecated 3.4.0
+  * @deprecated Use wp_get_themes()
+  * @see wp_get_themes()
+  *
+  * @return array Theme list with theme data.
+  */
+ function get_themes() {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'wp_get_themes()' );
+ 
+ 	global $wp_themes;
+ 	if ( isset( $wp_themes ) )
+ 		return $wp_themes;
+ 
+ 	$themes = wp_get_themes();
+ 	$wp_themes = array();
+ 
+ 	foreach ( $themes as $theme ) {
+ 		$name = $theme->get('Name');
+ 		if ( isset( $wp_themes[ $name ] ) )
+ 			$wp_themes[ $name . '/' . $theme->get_stylesheet() ] = $theme;
+ 		else
+ 			$wp_themes[ $name ] = $theme;
+ 	}
+ 
+ 	return $wp_themes;
+ }
+ 
+ /**
+  * Retrieve theme data.
+  *
+  * @since 1.5.0
+  * @deprecated 3.4.0
+  * @deprecated Use wp_get_theme()
+  * @see wp_get_theme()
+  *
+  * @param string $theme Theme name.
+  * @return array|null Null, if theme name does not exist. Theme data, if exists.
+  */
+ function get_theme( $theme ) {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'wp_get_theme( $stylesheet )' );
+ 
+ 	$themes = get_themes();
+ 	if ( is_array( $themes ) && array_key_exists( $theme, $themes ) )
+ 		return $themes[ $theme ];
+ 	return null;
+ }
+ 
+ /**
+  * Retrieve current theme name.
+  *
+  * @since 1.5.0
+  * @deprecated 3.4.0
+  * @deprecated Use (string) wp_get_theme()
+  * @see wp_get_theme()
+  *
+  * @return string
+  */
+ function get_current_theme() {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'wp_get_theme()' );
+ 
+ 	if ( $theme = get_option( 'current_theme' ) )
+ 		return $theme;
+ 
+ 	return wp_get_theme()->get('Name');
+ }
+ 
+ /**
+  * Accepts matches array from preg_replace_callback in wpautop() or a string.
+  *
+  * Ensures that the contents of a <<pre>>...<</pre>> HTML block are not
+  * converted into paragraphs or line-breaks.
+  *
+  * @since 1.2.0
+  * @deprecated 3.4.0
+  *
+  * @param array|string $matches The array or string
+  * @return string The pre block without paragraph/line-break conversion.
+  */
+ function clean_pre($matches) {
+ 	_deprecated_function( __FUNCTION__, '3.4' );
+ 
+ 	if ( is_array($matches) )
+ 		$text = $matches[1] . $matches[2] . "</pre>";
+ 	else
+ 		$text = $matches;
+ 
+ 	$text = str_replace(array('<br />', '<br/>', '<br>'), array('', '', ''), $text);
+ 	$text = str_replace('<p>', "\n", $text);
+ 	$text = str_replace('</p>', '', $text);
+ 
+ 	return $text;
+ }
+ 
+ 
+ /**
+  * Add callbacks for image header display.
+  *
+  * @since 2.1.0
+  * @deprecated 3.4.0
+  * @deprecated Use add_theme_support('custom-header', $args)
+  * @see add_theme_support()
+  *
+  * @param callback $wp_head_callback Call on 'wp_head' action.
+  * @param callback $admin_head_callback Call on custom header administration screen.
+  * @param callback $admin_preview_callback Output a custom header image div on the custom header administration screen. Optional.
+  */
+ function add_custom_image_header( $wp_head_callback, $admin_head_callback, $admin_preview_callback = '' ) {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'add_theme_support( \'custom-header\', $args )' );
+ 	$args = array(
+ 		'wp-head-callback'    => $wp_head_callback,
+ 		'admin-head-callback' => $admin_head_callback,
+ 	);
+ 	if ( $admin_preview_callback )
+ 		$args['admin-preview-callback'] = $admin_preview_callback;
+ 	return add_theme_support( 'custom-header', $args );
+ }
+ 
+ /**
+  * Remove image header support.
+  *
+  * @since 3.1.0
+  * @deprecated 3.4.0
+  * @deprecated Use remove_theme_support('custom-header')
+  * @see remove_theme_support()
+  *
+  * @return bool Whether support was removed.
+  */
+ function remove_custom_image_header() {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'remove_theme_support( \'custom-header\' )' );
+ 	return remove_theme_support( 'custom-header' );
+ }
+ 
+ /**
+  * Add callbacks for background image display.
+  *
+  * @since 3.0.0
+  * @deprecated 3.4.0
+  * @deprecated Use add_theme_support('custom-background, $args)
+  * @see add_theme_support()
+  *
+  * @param callback $wp_head_callback Call on 'wp_head' action.
+  * @param callback $admin_head_callback Call on custom background administration screen.
+  * @param callback $admin_preview_callback Output a custom background image div on the custom background administration screen. Optional.
+  */
+ function add_custom_background( $wp_head_callback = '', $admin_head_callback = '', $admin_preview_callback = '' ) {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'add_theme_support( \'custom-background\', $args )' );
+ 	$args = array();
+ 	if ( $wp_head_callback )
+ 		$args['wp-head-callback'] = $wp_head_callback;
+ 	if ( $admin_head_callback )
+ 		$args['admin-head-callback'] = $admin_head_callback;
+ 	if ( $admin_preview_callback )
+ 		$args['admin-preview-callback'] = $admin_preview_callback;
+ 	return add_theme_support( 'custom-background', $args );
+ }
+ 
+ /**
+  * Remove custom background support.
+  *
+  * @since 3.1.0
+  * @see add_custom_background()
+  *
+  * @return bool Whether support was removed.
+  */
+ function remove_custom_background() {
+ 	_deprecated_function( __FUNCTION__, '3.4', 'remove_theme_support( \'custom-background\' )' );
+ 	return remove_theme_support( 'custom-background' );
+ }
+ 
+ /**
+  * Retrieve theme data from parsed theme file.
+  *
+  * @since 1.5.0
+  * @deprecated 3.4.0
+  * @deprecated Use wp_get_theme()
+  * @see wp_get_theme()
+  *
+  * @param string $theme_file Theme file path.
+  * @return array Theme data.
+  */
+ function get_theme_data( $theme_file ) {
+ 	_deprecated_function( __FUNCTION__, 3.4, 'wp_get_theme()' );
+ 	$theme = new WP_Theme( basename( dirname( $theme_file ) ), dirname( dirname( $theme_file ) ) );
+ 
+ 	$theme_data = array(
+ 		'Name' => $theme->get('Name'),
+ 		'URI' => $theme->display('ThemeURI', true, false),
+ 		'Description' => $theme->display('Description', true, false),
+ 		'Author' => $theme->display('Author', true, false),
+ 		'AuthorURI' => $theme->display('AuthorURI', true, false),
+ 		'Version' => $theme->get('Version'),
+ 		'Template' => $theme->get('Template'),
+ 		'Status' => $theme->get('Status'),
+ 		'Tags' => $theme->get('Tags'),
+ 		'Title' => $theme->get('Name'),
+ 		'AuthorName' => $theme->get('Author'),
+ 	);
+ 
+ 	foreach ( apply_filters( 'extra_theme_headers', array() ) as $extra_header ) {
+ 		if ( ! isset( $theme_data[ $extra_header ] ) )
+ 			$theme_data[ $extra_header ] = $theme->get( $extra_header );
+ 	}
+ 
+ 	return $theme_data;
+ }
+ 
+ /**
+  * Alias of update_post_cache().
+  *
+  * @see update_post_cache() Posts and pages are the same, alias is intentional
+  *
+  * @since 1.5.1
+  * @deprecated 3.4.0
+  *
+  * @param array $pages list of page objects
+  */
+ function update_page_cache( &$pages ) {
+ 	_deprecated_function( __FUNCTION__, 3.4, 'update_post_cache()' );
+ 
+ 	update_post_cache( $pages );
+ }
+ 
+ /**
+  * Will clean the page in the cache.
+  *
+  * Clean (read: delete) page from cache that matches $id. Will also clean cache
+  * associated with 'all_page_ids' and 'get_pages'.
+  *
+  * @since 2.0.0
+  * @deprecated 3.4.0
+  *
+  * @uses do_action() Will call the 'clean_page_cache' hook action.
+  *
+  * @param int $id Page ID to clean
+  */
+ function clean_page_cache( $id ) {
+ 	_deprecated_function( __FUNCTION__, 3.4, 'clean_post_cache()' );
+ 
+ 	clean_post_cache( $id );
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/feed-atom-comments.php ./wordpress-3.4/wp-includes/feed-atom-comments.php
*** ./wordpress-3.3.2/wp-includes/feed-atom-comments.php	2011-09-19 07:39:59.000000000 -0500
--- ./wordpress-3.4/wp-includes/feed-atom-comments.php	2012-01-29 13:56:33.000000000 -0600
***************
*** 10,16 ****
  ?>
  <feed
  	xmlns="http://www.w3.org/2005/Atom"
! 	xml:lang="<?php echo get_option('rss_language'); ?>"
  	xmlns:thr="http://purl.org/syndication/thread/1.0"
  	<?php do_action('atom_ns'); do_action('atom_comments_ns'); ?>
  >
--- 10,16 ----
  ?>
  <feed
  	xmlns="http://www.w3.org/2005/Atom"
! 	xml:lang="<?php bloginfo_rss( 'language' ); ?>"
  	xmlns:thr="http://purl.org/syndication/thread/1.0"
  	<?php do_action('atom_ns'); do_action('atom_comments_ns'); ?>
  >
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/feed-atom.php ./wordpress-3.4/wp-includes/feed-atom.php
*** ./wordpress-3.3.2/wp-includes/feed-atom.php	2011-04-17 02:39:41.000000000 -0500
--- ./wordpress-3.4/wp-includes/feed-atom.php	2012-01-29 13:56:33.000000000 -0600
***************
*** 12,18 ****
  <feed
    xmlns="http://www.w3.org/2005/Atom"
    xmlns:thr="http://purl.org/syndication/thread/1.0"
!   xml:lang="<?php echo get_option('rss_language'); ?>"
    xml:base="<?php bloginfo_rss('url') ?>/wp-atom.php"
    <?php do_action('atom_ns'); ?>
   >
--- 12,18 ----
  <feed
    xmlns="http://www.w3.org/2005/Atom"
    xmlns:thr="http://purl.org/syndication/thread/1.0"
!   xml:lang="<?php bloginfo_rss( 'language' ); ?>"
    xml:base="<?php bloginfo_rss('url') ?>/wp-atom.php"
    <?php do_action('atom_ns'); ?>
   >
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/feed.php ./wordpress-3.4/wp-includes/feed.php
*** ./wordpress-3.3.2/wp-includes/feed.php	2011-11-20 12:32:42.000000000 -0600
--- ./wordpress-3.4/wp-includes/feed.php	2012-01-09 15:20:51.000000000 -0600
***************
*** 424,430 ****
  	foreach ( (array) get_post_custom() as $key => $val ) {
  		if ($key == 'enclosure') {
  			foreach ( (array) $val as $enc ) {
! 				$enclosure = split("\n", $enc);
  				echo apply_filters('atom_enclosure', '<link href="' . trim(htmlspecialchars($enclosure[0])) . '" rel="enclosure" length="' . trim($enclosure[1]) . '" type="' . trim($enclosure[2]) . '" />' . "\n");
  			}
  		}
--- 424,430 ----
  	foreach ( (array) get_post_custom() as $key => $val ) {
  		if ($key == 'enclosure') {
  			foreach ( (array) $val as $enc ) {
! 				$enclosure = explode("\n", $enc);
  				echo apply_filters('atom_enclosure', '<link href="' . trim(htmlspecialchars($enclosure[0])) . '" rel="enclosure" length="' . trim($enclosure[1]) . '" type="' . trim($enclosure[2]) . '" />' . "\n");
  			}
  		}
***************
*** 489,496 ****
  	$host = @parse_url(home_url());
  	$host = $host['host'];
  	echo esc_url(
! 		'http'
! 		. ( (isset($_SERVER['https']) && $_SERVER['https'] == 'on') ? 's' : '' ) . '://'
  		. $host
  		. stripslashes($_SERVER['REQUEST_URI'])
  		);
--- 489,495 ----
  	$host = @parse_url(home_url());
  	$host = $host['host'];
  	echo esc_url(
! 		( is_ssl() ? 'https' : 'http' ) . '://'
  		. $host
  		. stripslashes($_SERVER['REQUEST_URI'])
  		);
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/feed-rss2.php ./wordpress-3.4/wp-includes/feed-rss2.php
*** ./wordpress-3.3.2/wp-includes/feed-rss2.php	2010-10-26 15:15:18.000000000 -0500
--- ./wordpress-3.4/wp-includes/feed-rss2.php	2012-01-29 13:56:33.000000000 -0600
***************
*** 26,32 ****
  	<link><?php bloginfo_rss('url') ?></link>
  	<description><?php bloginfo_rss("description") ?></description>
  	<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
! 	<language><?php echo get_option('rss_language'); ?></language>
  	<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
  	<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
  	<?php do_action('rss2_head'); ?>
--- 26,32 ----
  	<link><?php bloginfo_rss('url') ?></link>
  	<description><?php bloginfo_rss("description") ?></description>
  	<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
! 	<language><?php bloginfo_rss( 'language' ); ?></language>
  	<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
  	<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
  	<?php do_action('rss2_head'); ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/feed-rss.php ./wordpress-3.4/wp-includes/feed-rss.php
*** ./wordpress-3.3.2/wp-includes/feed-rss.php	2010-02-13 10:45:16.000000000 -0600
--- ./wordpress-3.4/wp-includes/feed-rss.php	2012-01-29 13:56:33.000000000 -0600
***************
*** 16,22 ****
  	<description><?php bloginfo_rss('description') ?></description>
  	<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
  	<docs>http://backend.userland.com/rss092</docs>
! 	<language><?php echo get_option('rss_language'); ?></language>
  	<?php do_action('rss_head'); ?>
  
  <?php while (have_posts()) : the_post(); ?>
--- 16,22 ----
  	<description><?php bloginfo_rss('description') ?></description>
  	<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
  	<docs>http://backend.userland.com/rss092</docs>
! 	<language><?php bloginfo_rss( 'language' ); ?></language>
  	<?php do_action('rss_head'); ?>
  
  <?php while (have_posts()) : the_post(); ?>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/formatting.php ./wordpress-3.4/wp-includes/formatting.php
*** ./wordpress-3.3.2/wp-includes/formatting.php	2012-04-17 15:02:49.000000000 -0500
--- ./wordpress-3.4/wp-includes/formatting.php	2012-05-27 11:25:43.000000000 -0500
***************
*** 28,45 ****
   */
  function wptexturize($text) {
  	global $wp_cockneyreplace;
! 	static $opening_quote, $closing_quote, $en_dash, $em_dash, $default_no_texturize_tags, $default_no_texturize_shortcodes, $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements;
  
  	// No need to set up these static variables more than once
! 	if ( empty( $opening_quote ) ) {
! 		/* translators: opening curly quote */
! 		$opening_quote = _x('&#8220;', 'opening curly quote');
! 		/* translators: closing curly quote */
! 		$closing_quote = _x('&#8221;', 'closing curly quote');
  		/* translators: en dash */
! 		$en_dash = _x('&#8211;', 'en dash');
  		/* translators: em dash */
! 		$em_dash = _x('&#8212;', 'em dash');
  
  		$default_no_texturize_tags = array('pre', 'code', 'kbd', 'style', 'script', 'tt');
  		$default_no_texturize_shortcodes = array('code');
--- 28,60 ----
   */
  function wptexturize($text) {
  	global $wp_cockneyreplace;
! 	static $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements,
! 		$default_no_texturize_tags, $default_no_texturize_shortcodes;
  
  	// No need to set up these static variables more than once
! 	if ( ! isset( $static_characters ) ) {
! 		/* translators: opening curly double quote */
! 		$opening_quote = _x( '&#8220;', 'opening curly double quote' );
! 		/* translators: closing curly double quote */
! 		$closing_quote = _x( '&#8221;', 'closing curly double quote' );
! 
! 		/* translators: apostrophe, for example in 'cause or can't */
! 		$apos = _x( '&#8217;', 'apostrophe' );
! 
! 		/* translators: prime, for example in 9' (nine feet) */
! 		$prime = _x( '&#8242;', 'prime' );
! 		/* translators: double prime, for example in 9" (nine inches) */
! 		$double_prime = _x( '&#8243;', 'double prime' );
! 
! 		/* translators: opening curly single quote */
! 		$opening_single_quote = _x( '&#8216;', 'opening curly single quote' );
! 		/* translators: closing curly single quote */
! 		$closing_single_quote = _x( '&#8217;', 'closing curly single quote' );
! 
  		/* translators: en dash */
! 		$en_dash = _x( '&#8211;', 'en dash' );
  		/* translators: em dash */
! 		$em_dash = _x( '&#8212;', 'em dash' );
  
  		$default_no_texturize_tags = array('pre', 'code', 'kbd', 'style', 'script', 'tt');
  		$default_no_texturize_shortcodes = array('code');
***************
*** 48,63 ****
  		if ( isset($wp_cockneyreplace) ) {
  			$cockney = array_keys($wp_cockneyreplace);
  			$cockneyreplace = array_values($wp_cockneyreplace);
  		} else {
! 			$cockney = array("'tain't","'twere","'twas","'tis","'twill","'til","'bout","'nuff","'round","'cause");
! 			$cockneyreplace = array("&#8217;tain&#8217;t","&#8217;twere","&#8217;twas","&#8217;tis","&#8217;twill","&#8217;til","&#8217;bout","&#8217;nuff","&#8217;round","&#8217;cause");
  		}
  
! 		$static_characters = array_merge( array('---', ' -- ', '--', ' - ', 'xn&#8211;', '...', '``', '\'\'', ' (tm)'), $cockney );
! 		$static_replacements = array_merge( array($em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '&#8230;', $opening_quote, $closing_quote, ' &#8482;'), $cockneyreplace );
  
! 		$dynamic_characters = array('/\'(\d\d(?:&#8217;|\')?s)/', '/\'(\d)/', '/(\s|\A|[([{<]|")\'/', '/(\d)"/', '/(\d)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A|[([{<])"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/\b(\d+)x(\d+)\b/');
! 		$dynamic_replacements = array('&#8217;$1','&#8217;$1', '$1&#8216;', '$1&#8243;', '$1&#8242;', '$1&#8217;$2', '$1' . $opening_quote . '$2', $closing_quote . '$1', '&#8217;$1', '$1&#215;$2');
  	}
  
  	// Transform into regexp sub-expression used in _wptexturize_pushpop_element
--- 63,102 ----
  		if ( isset($wp_cockneyreplace) ) {
  			$cockney = array_keys($wp_cockneyreplace);
  			$cockneyreplace = array_values($wp_cockneyreplace);
+ 		} elseif ( "'" != $apos ) { // Only bother if we're doing a replacement.
+ 			$cockney = array( "'tain't", "'twere", "'twas", "'tis", "'twill", "'til", "'bout", "'nuff", "'round", "'cause" );
+ 			$cockneyreplace = array( $apos . "tain" . $apos . "t", $apos . "twere", $apos . "twas", $apos . "tis", $apos . "twill", $apos . "til", $apos . "bout", $apos . "nuff", $apos . "round", $apos . "cause" );
  		} else {
! 			$cockney = $cockneyreplace = array();
  		}
  
! 		$static_characters = array_merge( array( '---', ' -- ', '--', ' - ', 'xn&#8211;', '...', '``', '\'\'', ' (tm)' ), $cockney );
! 		$static_replacements = array_merge( array( $em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '&#8230;', $opening_quote, $closing_quote, ' &#8482;' ), $cockneyreplace );
! 
! 		$dynamic = array();
! 		if ( "'" != $apos ) {
! 			$dynamic[ '/\'(\d\d(?:&#8217;|\')?s)/' ] = $apos . '$1'; // '99's
! 			$dynamic[ '/\'(\d)/'                   ] = $apos . '$1'; // '99
! 		}
! 		if ( "'" != $opening_single_quote )
! 			$dynamic[ '/(\s|\A|[([{<]|")\'/'       ] = '$1' . $opening_single_quote; // opening single quote, even after (, {, <, [
! 		if ( '"' != $double_prime )
! 			$dynamic[ '/(\d)"/'                    ] = '$1' . $double_prime; // 9" (double prime)
! 		if ( "'" != $prime )
! 			$dynamic[ '/(\d)\'/'                   ] = '$1' . $prime; // 9' (prime)
! 		if ( "'" != $apos )
! 			$dynamic[ '/(\S)\'([^\'\s])/'          ] = '$1' . $apos . '$2'; // apostrophe in a word
! 		if ( '"' != $opening_quote )
! 			$dynamic[ '/(\s|\A|[([{<])"(?!\s)/'    ] = '$1' . $opening_quote . '$2'; // opening double quote, even after (, {, <, [
! 		if ( '"' != $closing_quote )
! 			$dynamic[ '/"(\s|\S|\Z)/'              ] = $closing_quote . '$1'; // closing double quote
! 		if ( "'" != $closing_single_quote )
! 			$dynamic[ '/\'([\s.]|\Z)/'             ] = $closing_single_quote . '$1'; // closing single quote
  
! 		$dynamic[ '/\b(\d+)x(\d+)\b/'              ] = '$1&#215;$2'; // 9x9 (times)
! 
! 		$dynamic_characters = array_keys( $dynamic );
! 		$dynamic_replacements = array_values( $dynamic );
  	}
  
  	// Transform into regexp sub-expression used in _wptexturize_pushpop_element
***************
*** 134,163 ****
  }
  
  /**
-  * Accepts matches array from preg_replace_callback in wpautop() or a string.
-  *
-  * Ensures that the contents of a <<pre>>...<</pre>> HTML block are not
-  * converted into paragraphs or line-breaks.
-  *
-  * @since 1.2.0
-  *
-  * @param array|string $matches The array or string
-  * @return string The pre block without paragraph/line-break conversion.
-  */
- function clean_pre($matches) {
- 	if ( is_array($matches) )
- 		$text = $matches[1] . $matches[2] . "</pre>";
- 	else
- 		$text = $matches;
- 
- 	$text = str_replace('<br />', '', $text);
- 	$text = str_replace('<p>', "\n", $text);
- 	$text = str_replace('</p>', '', $text);
- 
- 	return $text;
- }
- 
- /**
   * Replaces double line-breaks with paragraph elements.
   *
   * A group of regex replaces used to identify text formatted with newlines and
--- 173,178 ----
***************
*** 168,177 ****
   * @since 0.71
   *
   * @param string $pee The text which has to be formatted.
!  * @param int|bool $br Optional. If set, this will convert all remaining line-breaks after paragraphing. Default true.
   * @return string Text which has been converted into correct paragraph tags.
   */
! function wpautop($pee, $br = 1) {
  
  	if ( trim($pee) === '' )
  		return '';
--- 183,193 ----
   * @since 0.71
   *
   * @param string $pee The text which has to be formatted.
!  * @param bool $br Optional. If set, this will convert all remaining line-breaks after paragraphing. Default true.
   * @return string Text which has been converted into correct paragraph tags.
   */
! function wpautop($pee, $br = true) {
! 	$pre_tags = array();
  
  	if ( trim($pee) === '' )
  		return '';
***************
*** 175,184 ****
  
  	if ( trim($pee) === '' )
  		return '';
  	$pee = $pee . "\n"; // just to make things a little easier, pad the end
  	$pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
  	// Space things out a little
! 	$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
  	$pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
  	$pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
  	$pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
--- 191,227 ----
  
  	if ( trim($pee) === '' )
  		return '';
+ 
  	$pee = $pee . "\n"; // just to make things a little easier, pad the end
+ 
+ 	if ( strpos($pee, '<pre') !== false ) {
+ 		$pee_parts = explode( '</pre>', $pee );
+ 		$last_pee = array_pop($pee_parts);
+ 		$pee = '';
+ 		$i = 0;
+ 
+ 		foreach ( $pee_parts as $pee_part ) {
+ 			$start = strpos($pee_part, '<pre');
+ 
+ 			// Malformed html?
+ 			if ( $start === false ) {
+ 				$pee .= $pee_part;
+ 				continue;
+ 			}
+ 
+ 			$name = "<pre wp-pre-tag-$i></pre>";
+ 			$pre_tags[$name] = substr( $pee_part, $start ) . '</pre>';
+ 
+ 			$pee .= substr( $pee_part, 0, $start ) . $name;
+ 			$i++;
+ 		}
+ 
+ 		$pee .= $last_pee;
+ 	}
+ 
  	$pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
  	// Space things out a little
! 	$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
  	$pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
  	$pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
  	$pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
***************
*** 200,216 ****
  	$pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
  	$pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
  	$pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
! 	if ($br) {
  		$pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', '_autop_newline_preservation_helper', $pee);
  		$pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
  		$pee = str_replace('<WPPreserveNewline />', "\n", $pee);
  	}
  	$pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
  	$pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee);
- 	if (strpos($pee, '<pre') !== false)
- 		$pee = preg_replace_callback('!(<pre[^>]*>)(.*?)</pre>!is', 'clean_pre', $pee );
  	$pee = preg_replace( "|\n</p>$|", '</p>', $pee );
  
  	return $pee;
  }
  
--- 243,260 ----
  	$pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
  	$pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
  	$pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
! 	if ( $br ) {
  		$pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', '_autop_newline_preservation_helper', $pee);
  		$pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
  		$pee = str_replace('<WPPreserveNewline />', "\n", $pee);
  	}
  	$pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
  	$pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee);
  	$pee = preg_replace( "|\n</p>$|", '</p>', $pee );
  
+ 	if ( !empty($pre_tags) )
+ 		$pee = str_replace(array_keys($pre_tags), array_values($pre_tags), $pee);
+ 
  	return $pee;
  }
  
***************
*** 671,677 ****
  		// Euro Sign
  		chr(226).chr(130).chr(172) => 'E',
  		// GBP (Pound) Sign
! 		chr(194).chr(163) => '');
  
  		$string = strtr($string, $chars);
  	} else {
--- 715,776 ----
  		// Euro Sign
  		chr(226).chr(130).chr(172) => 'E',
  		// GBP (Pound) Sign
! 		chr(194).chr(163) => '',
! 		// Vowels with diacritic (Vietnamese)
! 		// unmarked
! 		chr(198).chr(160) => 'O', chr(198).chr(161) => 'o',
! 		chr(198).chr(175) => 'U', chr(198).chr(176) => 'u',
! 		// grave accent
! 		chr(225).chr(186).chr(166) => 'A', chr(225).chr(186).chr(167) => 'a',
! 		chr(225).chr(186).chr(176) => 'A', chr(225).chr(186).chr(177) => 'a',
! 		chr(225).chr(187).chr(128) => 'E', chr(225).chr(187).chr(129) => 'e',
! 		chr(225).chr(187).chr(146) => 'O', chr(225).chr(187).chr(147) => 'o',
! 		chr(225).chr(187).chr(156) => 'O', chr(225).chr(187).chr(157) => 'o',
! 		chr(225).chr(187).chr(170) => 'U', chr(225).chr(187).chr(171) => 'u',
! 		chr(225).chr(187).chr(178) => 'Y', chr(225).chr(187).chr(179) => 'y',
! 		// hook
! 		chr(225).chr(186).chr(162) => 'A', chr(225).chr(186).chr(163) => 'a',
! 		chr(225).chr(186).chr(168) => 'A', chr(225).chr(186).chr(169) => 'a',
! 		chr(225).chr(186).chr(178) => 'A', chr(225).chr(186).chr(179) => 'a',
! 		chr(225).chr(186).chr(186) => 'E', chr(225).chr(186).chr(187) => 'e',
! 		chr(225).chr(187).chr(130) => 'E', chr(225).chr(187).chr(131) => 'e',
! 		chr(225).chr(187).chr(136) => 'I', chr(225).chr(187).chr(137) => 'i',
! 		chr(225).chr(187).chr(142) => 'O', chr(225).chr(187).chr(143) => 'o',
! 		chr(225).chr(187).chr(148) => 'O', chr(225).chr(187).chr(149) => 'o',
! 		chr(225).chr(187).chr(158) => 'O', chr(225).chr(187).chr(159) => 'o',
! 		chr(225).chr(187).chr(166) => 'U', chr(225).chr(187).chr(167) => 'u',
! 		chr(225).chr(187).chr(172) => 'U', chr(225).chr(187).chr(173) => 'u',
! 		chr(225).chr(187).chr(182) => 'Y', chr(225).chr(187).chr(183) => 'y',
! 		// tilde
! 		chr(225).chr(186).chr(170) => 'A', chr(225).chr(186).chr(171) => 'a',
! 		chr(225).chr(186).chr(180) => 'A', chr(225).chr(186).chr(181) => 'a',
! 		chr(225).chr(186).chr(188) => 'E', chr(225).chr(186).chr(189) => 'e',
! 		chr(225).chr(187).chr(132) => 'E', chr(225).chr(187).chr(133) => 'e',
! 		chr(225).chr(187).chr(150) => 'O', chr(225).chr(187).chr(151) => 'o',
! 		chr(225).chr(187).chr(160) => 'O', chr(225).chr(187).chr(161) => 'o',
! 		chr(225).chr(187).chr(174) => 'U', chr(225).chr(187).chr(175) => 'u',
! 		chr(225).chr(187).chr(184) => 'Y', chr(225).chr(187).chr(185) => 'y',
! 		// acute accent
! 		chr(225).chr(186).chr(164) => 'A', chr(225).chr(186).chr(165) => 'a',
! 		chr(225).chr(186).chr(174) => 'A', chr(225).chr(186).chr(175) => 'a',
! 		chr(225).chr(186).chr(190) => 'E', chr(225).chr(186).chr(191) => 'e',
! 		chr(225).chr(187).chr(144) => 'O', chr(225).chr(187).chr(145) => 'o',
! 		chr(225).chr(187).chr(154) => 'O', chr(225).chr(187).chr(155) => 'o',
! 		chr(225).chr(187).chr(168) => 'U', chr(225).chr(187).chr(169) => 'u',
! 		// dot below
! 		chr(225).chr(186).chr(160) => 'A', chr(225).chr(186).chr(161) => 'a',
! 		chr(225).chr(186).chr(172) => 'A', chr(225).chr(186).chr(173) => 'a',
! 		chr(225).chr(186).chr(182) => 'A', chr(225).chr(186).chr(183) => 'a',
! 		chr(225).chr(186).chr(184) => 'E', chr(225).chr(186).chr(185) => 'e',
! 		chr(225).chr(187).chr(134) => 'E', chr(225).chr(187).chr(135) => 'e',
! 		chr(225).chr(187).chr(138) => 'I', chr(225).chr(187).chr(139) => 'i',
! 		chr(225).chr(187).chr(140) => 'O', chr(225).chr(187).chr(141) => 'o',
! 		chr(225).chr(187).chr(152) => 'O', chr(225).chr(187).chr(153) => 'o',
! 		chr(225).chr(187).chr(162) => 'O', chr(225).chr(187).chr(163) => 'o',
! 		chr(225).chr(187).chr(164) => 'U', chr(225).chr(187).chr(165) => 'u',
! 		chr(225).chr(187).chr(176) => 'U', chr(225).chr(187).chr(177) => 'u',
! 		chr(225).chr(187).chr(180) => 'Y', chr(225).chr(187).chr(181) => 'y',
! 		);
  
  		$string = strtr($string, $chars);
  	} else {
***************
*** 732,738 ****
  	$extension = array_pop($parts);
  	$mimes = get_allowed_mime_types();
  
! 	// Loop over any intermediate extensions.  Munge them with a trailing underscore if they are a 2 - 5 character
  	// long alpha string not in the extension whitelist.
  	foreach ( (array) $parts as $part) {
  		$filename .= '.' . $part;
--- 831,837 ----
  	$extension = array_pop($parts);
  	$mimes = get_allowed_mime_types();
  
! 	// Loop over any intermediate extensions. Munge them with a trailing underscore if they are a 2 - 5 character
  	// long alpha string not in the extension whitelist.
  	foreach ( (array) $parts as $part) {
  		$filename .= '.' . $part;
***************
*** 873,888 ****
  	$title = str_replace('.', '-', $title);
  
  	if ( 'save' == $context ) {
! 		// nbsp, ndash and mdash
  		$title = str_replace( array( '%c2%a0', '%e2%80%93', '%e2%80%94' ), '-', $title );
! 		// iexcl and iquest
! 		$title = str_replace( array( '%c2%a1', '%c2%bf' ), '', $title );
! 		// angle quotes
! 		$title = str_replace( array( '%c2%ab', '%c2%bb', '%e2%80%b9', '%e2%80%ba' ), '', $title );
! 		// curly quotes
! 		$title = str_replace( array( '%e2%80%98', '%e2%80%99', '%e2%80%9c', '%e2%80%9d' ), '', $title );
! 		// copy, reg, deg, hellip and trade
! 		$title = str_replace( array( '%c2%a9', '%c2%ae', '%c2%b0', '%e2%80%a6', '%e2%84%a2' ), '', $title );
  	}
  
  	$title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
--- 972,995 ----
  	$title = str_replace('.', '-', $title);
  
  	if ( 'save' == $context ) {
! 		// Convert nbsp, ndash and mdash to hyphens
  		$title = str_replace( array( '%c2%a0', '%e2%80%93', '%e2%80%94' ), '-', $title );
! 
! 		// Strip these characters entirely
! 		$title = str_replace( array(
! 			// iexcl and iquest
! 			'%c2%a1', '%c2%bf',
! 			// angle quotes
! 			'%c2%ab', '%c2%bb', '%e2%80%b9', '%e2%80%ba',
! 			// curly quotes
! 			'%e2%80%98', '%e2%80%99', '%e2%80%9c', '%e2%80%9d',
! 			'%e2%80%9a', '%e2%80%9b', '%e2%80%9e', '%e2%80%9f',
! 			// copy, reg, deg, hellip and trade
! 			'%c2%a9', '%c2%ae', '%c2%b0', '%e2%80%a6', '%e2%84%a2',
! 		), '', $title );
! 
! 		// Convert times to x
! 		$title = str_replace( '%c3%97', 'x', $title );
  	}
  
  	$title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
***************
*** 972,978 ****
  	'&#139;' => '&#8249;',
  	'&#140;' => '&#338;',
  	'&#141;' => '',
! 	'&#142;' => '&#382;',
  	'&#143;' => '',
  	'&#144;' => '',
  	'&#145;' => '&#8216;',
--- 1079,1085 ----
  	'&#139;' => '&#8249;',
  	'&#140;' => '&#338;',
  	'&#141;' => '',
! 	'&#142;' => '&#381;',
  	'&#143;' => '',
  	'&#144;' => '',
  	'&#145;' => '&#8216;',
***************
*** 988,994 ****
  	'&#155;' => '&#8250;',
  	'&#156;' => '&#339;',
  	'&#157;' => '',
! 	'&#158;' => '',
  	'&#159;' => '&#376;'
  	);
  
--- 1095,1101 ----
  	'&#155;' => '&#8250;',
  	'&#156;' => '&#339;',
  	'&#157;' => '',
! 	'&#158;' => '&#382;',
  	'&#159;' => '&#376;'
  	);
  
***************
*** 1012,1025 ****
  /**
   * Will only balance the tags if forced to and the option is set to balance tags.
   *
!  * The option 'use_balanceTags' is used for whether the tags will be balanced.
!  * Both the $force parameter and 'use_balanceTags' option will have to be true
!  * before the tags will be balanced.
   *
   * @since 0.71
   *
   * @param string $text Text to be balanced
!  * @param bool $force Forces balancing, ignoring the value of the option. Default false.
   * @return string Balanced text
   */
  function balanceTags( $text, $force = false ) {
--- 1119,1130 ----
  /**
   * Will only balance the tags if forced to and the option is set to balance tags.
   *
!  * The option 'use_balanceTags' is used to determine whether the tags will be balanced.
   *
   * @since 0.71
   *
   * @param string $text Text to be balanced
!  * @param bool $force If true, forces balancing, ignoring the value of the option. Default false.
   * @return string Balanced text
   */
  function balanceTags( $text, $force = false ) {
***************
*** 1151,1164 ****
  /**
   * Acts on text which is about to be edited.
   *
!  * Unless $richedit is set, it is simply a holder for the 'format_to_edit'
!  * filter. If $richedit is set true htmlspecialchars(), through esc_textarea(),
!  * will be run on the content, converting special characters to HTML entities.
   *
   * @since 0.71
   *
   * @param string $content The text about to be edited.
!  * @param bool $richedit Whether the $content should pass through htmlspecialchars(). Default false.
   * @return string The text after the filter (and possibly htmlspecialchars()) has been run.
   */
  function format_to_edit( $content, $richedit = false ) {
--- 1256,1269 ----
  /**
   * Acts on text which is about to be edited.
   *
!  * The $content is run through esc_textarea(), which uses htmlspecialchars()
!  * to convert special characters to HTML entities. If $richedit is set to true,
!  * it is simply a holder for the 'format_to_edit' filter.
   *
   * @since 0.71
   *
   * @param string $content The text about to be edited.
!  * @param bool $richedit Whether the $content should not pass through htmlspecialchars(). Default false (meaning it will be passed).
   * @return string The text after the filter (and possibly htmlspecialchars()) has been run.
   */
  function format_to_edit( $content, $richedit = false ) {
***************
*** 1297,1304 ****
  /**
   * Navigates through an array and encodes the values to be used in a URL.
   *
-  * Uses a callback to pass the value of the array back to the function as a
-  * string.
   *
   * @since 2.2.0
   *
--- 1402,1407 ----
***************
*** 1311,1316 ****
--- 1414,1431 ----
  }
  
  /**
+  * Navigates through an array and raw encodes the values to be used in a URL.
+  *
+  * @since 3.4.0
+  *
+  * @param array|string $value The array or string to be encoded.
+  * @return array|string $value The encoded array (or string from the callback).
+  */
+ function rawurlencode_deep( $value ) {
+ 	return is_array( $value ) ? array_map( 'rawurlencode_deep', $value ) : rawurlencode( $value );
+ }
+ 
+ /**
   * Converts email addresses characters to HTML entities to block spam bots.
   *
   * @since 0.71
***************
*** 2012,2017 ****
--- 2127,2136 ----
  /**
   * Trims text to a certain number of words.
   *
+  * This function is localized. For languages that count 'words' by the individual
+  * character (such as East Asian languages), the $num_words argument will apply
+  * to the number of individual characters.
+  *
   * @since 3.3.0
   *
   * @param string $text Text to trim.
***************
*** 2024,2036 ****
  		$more = __( '&hellip;' );
  	$original_text = $text;
  	$text = wp_strip_all_tags( $text );
! 	$words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
  	if ( count( $words_array ) > $num_words ) {
  		array_pop( $words_array );
! 		$text = implode( ' ', $words_array );
  		$text = $text . $more;
  	} else {
! 		$text = implode( ' ', $words_array );
  	}
  	return apply_filters( 'wp_trim_words', $text, $num_words, $more, $original_text );
  }
--- 2143,2165 ----
  		$more = __( '&hellip;' );
  	$original_text = $text;
  	$text = wp_strip_all_tags( $text );
! 	/* translators: If your word count is based on single characters (East Asian characters),
! 	   enter 'characters'. Otherwise, enter 'words'. Do not translate into your own language. */
! 	if ( 'characters' == _x( 'words', 'word count: words or characters?' ) && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
! 		$text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' );
! 		preg_match_all( '/./u', $text, $words_array );
! 		$words_array = array_slice( $words_array[0], 0, $num_words + 1 );
! 		$sep = '';
! 	} else {
! 		$words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
! 		$sep = ' ';
! 	}
  	if ( count( $words_array ) > $num_words ) {
  		array_pop( $words_array );
! 		$text = implode( $sep, $words_array );
  		$text = $text . $more;
  	} else {
! 		$text = implode( $sep, $words_array );
  	}
  	return apply_filters( 'wp_trim_words', $text, $num_words, $more, $original_text );
  }
***************
*** 2593,2613 ****
  function sanitize_option($option, $value) {
  
  	switch ( $option ) {
! 		case 'admin_email':
! 			$value = sanitize_email($value);
! 			if ( !is_email($value) ) {
  				$value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
! 				if ( function_exists('add_settings_error') )
! 					add_settings_error('admin_email', 'invalid_admin_email', __('The email address entered did not appear to be a valid email address. Please enter a valid email address.'));
! 			}
! 			break;
! 
! 		case 'new_admin_email':
! 			$value = sanitize_email($value);
! 			if ( !is_email($value) ) {
! 				$value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
! 				if ( function_exists('add_settings_error') )
! 					add_settings_error('new_admin_email', 'invalid_admin_email', __('The email address entered did not appear to be a valid email address. Please enter a valid email address.'));
  			}
  			break;
  
--- 2722,2734 ----
  function sanitize_option($option, $value) {
  
  	switch ( $option ) {
! 		case 'admin_email' :
! 		case 'new_admin_email' :
! 			$value = sanitize_email( $value );
! 			if ( ! is_email( $value ) ) {
  				$value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
! 				if ( function_exists( 'add_settings_error' ) )
! 					add_settings_error( $option, 'invalid_admin_email', __( 'The email address entered did not appear to be a valid email address. Please enter a valid email address.' ) );
  			}
  			break;
  
***************
*** 2947,2955 ****
  	global $_links_add_base;
  	//1 = attribute name  2 = quotation mark  3 = URL
  	return $m[1] . '=' . $m[2] .
! 		(strpos($m[3], 'http://') === false ?
! 			path_join($_links_add_base, $m[3]) :
! 			$m[3])
  		. $m[2];
  }
  
--- 3068,3076 ----
  	global $_links_add_base;
  	//1 = attribute name  2 = quotation mark  3 = URL
  	return $m[1] . '=' . $m[2] .
! 		( preg_match( '#^(\w{1,20}):#', $m[3], $protocol ) && in_array( $protocol[1], wp_allowed_protocols() ) ?
! 			$m[3] :
! 			path_join( $_links_add_base, $m[3] ) )
  		. $m[2];
  }
  
***************
*** 3015,3021 ****
  	if ( $remove_breaks )
  		$string = preg_replace('/[\r\n\t ]+/', ' ', $string);
  
! 	return trim($string);
  }
  
  /**
--- 3136,3142 ----
  	if ( $remove_breaks )
  		$string = preg_replace('/[\r\n\t ]+/', ' ', $string);
  
! 	return trim( $string );
  }
  
  /**
***************
*** 3106,3109 ****
  	return apply_filters( 'sanitize_mime_type', $sani_mime_type, $mime_type );
  }
  
! ?>
--- 3227,3247 ----
  	return apply_filters( 'sanitize_mime_type', $sani_mime_type, $mime_type );
  }
  
! /**
!  * Sanitize space or carriage return separated URLs that are used to send trackbacks.
!  *
!  * @since 3.4.0
!  *
!  * @param string $to_ping Space or carriage return separated URLs
!  * @return string URLs starting with the http or https protocol, separated by a carriage return.
!  */
! function sanitize_trackback_urls( $to_ping ) {
! 	$urls_to_ping = preg_split( '/\r\n\t /', trim( $to_ping ), -1, PREG_SPLIT_NO_EMPTY );
! 	foreach ( $urls_to_ping as $k => $url ) {
! 		if ( !preg_match( '#^https?://.#i', $url ) )
! 			unset( $urls_to_ping[$k] );
! 	}
! 	$urls_to_ping = array_map( 'esc_url_raw', $urls_to_ping );
! 	$urls_to_ping = implode( "\n", $urls_to_ping );
! 	return apply_filters( 'sanitize_trackback_urls', $urls_to_ping, $to_ping );
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/functions.php ./wordpress-3.4/wp-includes/functions.php
*** ./wordpress-3.3.2/wp-includes/functions.php	2011-12-30 16:29:47.000000000 -0600
--- ./wordpress-3.4/wp-includes/functions.php	2012-05-03 11:41:59.000000000 -0500
***************
*** 5,44 ****
   * @package WordPress
   */
  
  /**
!  * Converts MySQL DATETIME field to user specified date format.
   *
!  * If $dateformatstring has 'G' value, then gmmktime() function will be used to
!  * make the time. If $dateformatstring is set to 'U', then mktime() function
!  * will be used to make the time.
   *
!  * The $translate will only be used, if it is set to true and it is by default
!  * and if the $wp_locale object has the month and weekday set.
   *
   * @since 0.71
   *
!  * @param string $dateformatstring Either 'G', 'U', or php date format.
!  * @param string $mysqlstring Time from mysql DATETIME field.
!  * @param bool $translate Optional. Default is true. Will switch format to locale.
!  * @return string Date formatted by $dateformatstring or locale (if available).
!  */
! function mysql2date( $dateformatstring, $mysqlstring, $translate = true ) {
! 	$m = $mysqlstring;
! 	if ( empty( $m ) )
  		return false;
  
! 	if ( 'G' == $dateformatstring )
! 		return strtotime( $m . ' +0000' );
  
! 	$i = strtotime( $m );
  
! 	if ( 'U' == $dateformatstring )
  		return $i;
  
  	if ( $translate )
! 		return date_i18n( $dateformatstring, $i );
  	else
! 		return date( $dateformatstring, $i );
  }
  
  /**
--- 5,44 ----
   * @package WordPress
   */
  
+ require( ABSPATH . WPINC . '/option.php' );
+ 
  /**
!  * Converts given date string into a different format.
   *
!  * $format should be either a PHP date format string, e.g. 'U' for a Unix
!  * timestamp, or 'G' for a Unix timestamp assuming that $date is GMT.
   *
!  * If $translate is true then the given date and format string will
!  * be passed to date_i18n() for translation.
   *
   * @since 0.71
   *
!  * @param string $format Format of the date to return.
!  * @param string $date Date string to convert.
!  * @param bool $translate Whether the return date should be translated. Default is true.
!  * @return string|int Formatted date string, or Unix timestamp.
!  */
! function mysql2date( $format, $date, $translate = true ) {
! 	if ( empty( $date ) )
  		return false;
  
! 	if ( 'G' == $format )
! 		return strtotime( $date . ' +0000' );
  
! 	$i = strtotime( $date );
  
! 	if ( 'U' == $format )
  		return $i;
  
  	if ( $translate )
! 		return date_i18n( $format, $i );
  	else
! 		return date( $format, $i );
  }
  
  /**
***************
*** 269,1028 ****
  			return (bool) preg_match( "/^{$token}:[0-9]+:/s", $data );
  		case 'b' :
  		case 'i' :
! 		case 'd' :
! 			return (bool) preg_match( "/^{$token}:[0-9.E-]+;\$/", $data );
! 	}
! 	return false;
! }
! 
! /**
!  * Check whether serialized data is of string type.
!  *
!  * @since 2.0.5
!  *
!  * @param mixed $data Serialized data
!  * @return bool False if not a serialized string, true if it is.
!  */
! function is_serialized_string( $data ) {
! 	// if it isn't a string, it isn't a serialized string
! 	if ( !is_string( $data ) )
! 		return false;
! 	$data = trim( $data );
! 	$length = strlen( $data );
! 	if ( $length < 4 )
! 		return false;
! 	elseif ( ':' !== $data[1] )
! 		return false;
! 	elseif ( ';' !== $data[$length-1] )
! 		return false;
! 	elseif ( $data[0] !== 's' )
! 		return false;
! 	elseif ( '"' !== $data[$length-2] )
! 		return false;
! 	else
! 		return true;
! }
! 
! /**
!  * Retrieve option value based on name of option.
!  *
!  * If the option does not exist or does not have a value, then the return value
!  * will be false. This is useful to check whether you need to install an option
!  * and is commonly used during installation of plugin options and to test
!  * whether upgrading is required.
!  *
!  * If the option was serialized then it will be unserialized when it is returned.
!  *
!  * @since 1.5.0
!  * @package WordPress
!  * @subpackage Option
!  * @uses apply_filters() Calls 'pre_option_$option' before checking the option.
!  * 	Any value other than false will "short-circuit" the retrieval of the option
!  *	and return the returned value. You should not try to override special options,
!  * 	but you will not be prevented from doing so.
!  * @uses apply_filters() Calls 'option_$option', after checking the option, with
!  * 	the option value.
!  *
!  * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
!  * @param mixed $default Optional. Default value to return if the option does not exist.
!  * @return mixed Value set for the option.
!  */
! function get_option( $option, $default = false ) {
! 	global $wpdb;
! 
! 	// Allow plugins to short-circuit options.
! 	$pre = apply_filters( 'pre_option_' . $option, false );
! 	if ( false !== $pre )
! 		return $pre;
! 
! 	$option = trim($option);
! 	if ( empty($option) )
! 		return false;
! 
! 	if ( defined( 'WP_SETUP_CONFIG' ) )
! 		return false;
! 
! 	if ( ! defined( 'WP_INSTALLING' ) ) {
! 		// prevent non-existent options from triggering multiple queries
! 		$notoptions = wp_cache_get( 'notoptions', 'options' );
! 		if ( isset( $notoptions[$option] ) )
! 			return $default;
! 
! 		$alloptions = wp_load_alloptions();
! 
! 		if ( isset( $alloptions[$option] ) ) {
! 			$value = $alloptions[$option];
! 		} else {
! 			$value = wp_cache_get( $option, 'options' );
! 
! 			if ( false === $value ) {
! 				$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
! 
! 				// Has to be get_row instead of get_var because of funkiness with 0, false, null values
! 				if ( is_object( $row ) ) {
! 					$value = $row->option_value;
! 					wp_cache_add( $option, $value, 'options' );
! 				} else { // option does not exist, so we must cache its non-existence
! 					$notoptions[$option] = true;
! 					wp_cache_set( 'notoptions', $notoptions, 'options' );
! 					return $default;
! 				}
! 			}
! 		}
! 	} else {
! 		$suppress = $wpdb->suppress_errors();
! 		$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
! 		$wpdb->suppress_errors( $suppress );
! 		if ( is_object( $row ) )
! 			$value = $row->option_value;
! 		else
! 			return $default;
! 	}
! 
! 	// If home is not set use siteurl.
! 	if ( 'home' == $option && '' == $value )
! 		return get_option( 'siteurl' );
! 
! 	if ( in_array( $option, array('siteurl', 'home', 'category_base', 'tag_base') ) )
! 		$value = untrailingslashit( $value );
! 
! 	return apply_filters( 'option_' . $option, maybe_unserialize( $value ) );
! }
! 
! /**
!  * Protect WordPress special option from being modified.
!  *
!  * Will die if $option is in protected list. Protected options are 'alloptions'
!  * and 'notoptions' options.
!  *
!  * @since 2.2.0
!  * @package WordPress
!  * @subpackage Option
!  *
!  * @param string $option Option name.
!  */
! function wp_protect_special_option( $option ) {
! 	$protected = array( 'alloptions', 'notoptions' );
! 	if ( in_array( $option, $protected ) )
! 		wp_die( sprintf( __( '%s is a protected WP option and may not be modified' ), esc_html( $option ) ) );
! }
! 
! /**
!  * Print option value after sanitizing for forms.
!  *
!  * @uses attr Sanitizes value.
!  * @since 1.5.0
!  * @package WordPress
!  * @subpackage Option
!  *
!  * @param string $option Option name.
!  */
! function form_option( $option ) {
! 	echo esc_attr( get_option( $option ) );
! }
! 
! /**
!  * Loads and caches all autoloaded options, if available or all options.
!  *
!  * @since 2.2.0
!  * @package WordPress
!  * @subpackage Option
!  *
!  * @return array List of all options.
!  */
! function wp_load_alloptions() {
! 	global $wpdb;
! 
! 	if ( !defined( 'WP_INSTALLING' ) || !is_multisite() )
! 		$alloptions = wp_cache_get( 'alloptions', 'options' );
! 	else
! 		$alloptions = false;
! 
! 	if ( !$alloptions ) {
! 		$suppress = $wpdb->suppress_errors();
! 		if ( !$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" ) )
! 			$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" );
! 		$wpdb->suppress_errors($suppress);
! 		$alloptions = array();
! 		foreach ( (array) $alloptions_db as $o ) {
! 			$alloptions[$o->option_name] = $o->option_value;
! 		}
! 		if ( !defined( 'WP_INSTALLING' ) || !is_multisite() )
! 			wp_cache_add( 'alloptions', $alloptions, 'options' );
! 	}
! 
! 	return $alloptions;
! }
! 
! /**
!  * Loads and caches certain often requested site options if is_multisite() and a persistent cache is not being used.
!  *
!  * @since 3.0.0
!  * @package WordPress
!  * @subpackage Option
!  *
!  * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
!  */
! function wp_load_core_site_options( $site_id = null ) {
! 	global $wpdb, $_wp_using_ext_object_cache;
! 
! 	if ( !is_multisite() || $_wp_using_ext_object_cache || defined( 'WP_INSTALLING' ) )
! 		return;
! 
! 	if ( empty($site_id) )
! 		$site_id = $wpdb->siteid;
! 
! 	$core_options = array('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled' );
! 
! 	$core_options_in = "'" . implode("', '", $core_options) . "'";
! 	$options = $wpdb->get_results( $wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key IN ($core_options_in) AND site_id = %d", $site_id) );
! 
! 	foreach ( $options as $option ) {
! 		$key = $option->meta_key;
! 		$cache_key = "{$site_id}:$key";
! 		$option->meta_value = maybe_unserialize( $option->meta_value );
! 
! 		wp_cache_set( $cache_key, $option->meta_value, 'site-options' );
! 	}
! }
! 
! /**
!  * Update the value of an option that was already added.
!  *
!  * You do not need to serialize values. If the value needs to be serialized, then
!  * it will be serialized before it is inserted into the database. Remember,
!  * resources can not be serialized or added as an option.
!  *
!  * If the option does not exist, then the option will be added with the option
!  * value, but you will not be able to set whether it is autoloaded. If you want
!  * to set whether an option is autoloaded, then you need to use the add_option().
!  *
!  * @since 1.0.0
!  * @package WordPress
!  * @subpackage Option
!  *
!  * @uses apply_filters() Calls 'pre_update_option_$option' hook to allow overwriting the
!  * 	option value to be stored.
!  * @uses do_action() Calls 'update_option' hook before updating the option.
!  * @uses do_action() Calls 'update_option_$option' and 'updated_option' hooks on success.
!  *
!  * @param string $option Option name. Expected to not be SQL-escaped.
!  * @param mixed $newvalue Option value. Expected to not be SQL-escaped.
!  * @return bool False if value was not updated and true if value was updated.
!  */
! function update_option( $option, $newvalue ) {
! 	global $wpdb;
! 
! 	$option = trim($option);
! 	if ( empty($option) )
! 		return false;
! 
! 	wp_protect_special_option( $option );
! 
! 	if ( is_object($newvalue) )
! 		$newvalue = clone $newvalue;
! 
! 	$newvalue = sanitize_option( $option, $newvalue );
! 	$oldvalue = get_option( $option );
! 	$newvalue = apply_filters( 'pre_update_option_' . $option, $newvalue, $oldvalue );
! 
! 	// If the new and old values are the same, no need to update.
! 	if ( $newvalue === $oldvalue )
! 		return false;
! 
! 	if ( false === $oldvalue )
! 		return add_option( $option, $newvalue );
! 
! 	$notoptions = wp_cache_get( 'notoptions', 'options' );
! 	if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
! 		unset( $notoptions[$option] );
! 		wp_cache_set( 'notoptions', $notoptions, 'options' );
! 	}
! 
! 	$_newvalue = $newvalue;
! 	$newvalue = maybe_serialize( $newvalue );
! 
! 	do_action( 'update_option', $option, $oldvalue, $_newvalue );
! 	if ( ! defined( 'WP_INSTALLING' ) ) {
! 		$alloptions = wp_load_alloptions();
! 		if ( isset( $alloptions[$option] ) ) {
! 			$alloptions[$option] = $_newvalue;
! 			wp_cache_set( 'alloptions', $alloptions, 'options' );
! 		} else {
! 			wp_cache_set( $option, $_newvalue, 'options' );
! 		}
! 	}
! 
! 	$result = $wpdb->update( $wpdb->options, array( 'option_value' => $newvalue ), array( 'option_name' => $option ) );
! 
! 	if ( $result ) {
! 		do_action( "update_option_{$option}", $oldvalue, $_newvalue );
! 		do_action( 'updated_option', $option, $oldvalue, $_newvalue );
! 		return true;
! 	}
! 	return false;
! }
! 
! /**
!  * Add a new option.
!  *
!  * You do not need to serialize values. If the value needs to be serialized, then
!  * it will be serialized before it is inserted into the database. Remember,
!  * resources can not be serialized or added as an option.
!  *
!  * You can create options without values and then update the values later.
!  * Existing options will not be updated and checks are performed to ensure that you
!  * aren't adding a protected WordPress option. Care should be taken to not name
!  * options the same as the ones which are protected.
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 1.0.0
!  *
!  * @uses do_action() Calls 'add_option' hook before adding the option.
!  * @uses do_action() Calls 'add_option_$option' and 'added_option' hooks on success.
!  *
!  * @param string $option Name of option to add. Expected to not be SQL-escaped.
!  * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
!  * @param mixed $deprecated Optional. Description. Not used anymore.
!  * @param bool $autoload Optional. Default is enabled. Whether to load the option when WordPress starts up.
!  * @return bool False if option was not added and true if option was added.
!  */
! function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) {
! 	global $wpdb;
! 
! 	if ( !empty( $deprecated ) )
! 		_deprecated_argument( __FUNCTION__, '2.3' );
! 
! 	$option = trim($option);
! 	if ( empty($option) )
! 		return false;
! 
! 	wp_protect_special_option( $option );
! 
! 	if ( is_object($value) )
! 		$value = clone $value;
! 
! 	$value = sanitize_option( $option, $value );
! 
! 	// Make sure the option doesn't already exist. We can check the 'notoptions' cache before we ask for a db query
! 	$notoptions = wp_cache_get( 'notoptions', 'options' );
! 	if ( !is_array( $notoptions ) || !isset( $notoptions[$option] ) )
! 		if ( false !== get_option( $option ) )
! 			return false;
! 
! 	$_value = $value;
! 	$value = maybe_serialize( $value );
! 	$autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
! 	do_action( 'add_option', $option, $_value );
! 	if ( ! defined( 'WP_INSTALLING' ) ) {
! 		if ( 'yes' == $autoload ) {
! 			$alloptions = wp_load_alloptions();
! 			$alloptions[$option] = $value;
! 			wp_cache_set( 'alloptions', $alloptions, 'options' );
! 		} else {
! 			wp_cache_set( $option, $value, 'options' );
! 		}
! 	}
! 
! 	// This option exists now
! 	$notoptions = wp_cache_get( 'notoptions', 'options' ); // yes, again... we need it to be fresh
! 	if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
! 		unset( $notoptions[$option] );
! 		wp_cache_set( 'notoptions', $notoptions, 'options' );
! 	}
! 
! 	$result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload ) );
! 
! 	if ( $result ) {
! 		do_action( "add_option_{$option}", $option, $_value );
! 		do_action( 'added_option', $option, $_value );
! 		return true;
! 	}
! 	return false;
! }
! 
! /**
!  * Removes option by name. Prevents removal of protected WordPress options.
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 1.2.0
!  *
!  * @uses do_action() Calls 'delete_option' hook before option is deleted.
!  * @uses do_action() Calls 'deleted_option' and 'delete_option_$option' hooks on success.
!  *
!  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
!  * @return bool True, if option is successfully deleted. False on failure.
!  */
! function delete_option( $option ) {
! 	global $wpdb;
! 
! 	wp_protect_special_option( $option );
! 
! 	// Get the ID, if no ID then return
! 	$row = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) );
! 	if ( is_null( $row ) )
! 		return false;
! 	do_action( 'delete_option', $option );
! 	$result = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name = %s", $option) );
! 	if ( ! defined( 'WP_INSTALLING' ) ) {
! 		if ( 'yes' == $row->autoload ) {
! 			$alloptions = wp_load_alloptions();
! 			if ( is_array( $alloptions ) && isset( $alloptions[$option] ) ) {
! 				unset( $alloptions[$option] );
! 				wp_cache_set( 'alloptions', $alloptions, 'options' );
! 			}
! 		} else {
! 			wp_cache_delete( $option, 'options' );
! 		}
! 	}
! 	if ( $result ) {
! 		do_action( "delete_option_$option", $option );
! 		do_action( 'deleted_option', $option );
! 		return true;
! 	}
! 	return false;
! }
! 
! /**
!  * Delete a transient.
!  *
!  * @since 2.8.0
!  * @package WordPress
!  * @subpackage Transient
!  *
!  * @uses do_action() Calls 'delete_transient_$transient' hook before transient is deleted.
!  * @uses do_action() Calls 'deleted_transient' hook on success.
!  *
!  * @param string $transient Transient name. Expected to not be SQL-escaped.
!  * @return bool true if successful, false otherwise
!  */
! function delete_transient( $transient ) {
! 	global $_wp_using_ext_object_cache;
! 
! 	do_action( 'delete_transient_' . $transient, $transient );
! 
! 	if ( $_wp_using_ext_object_cache ) {
! 		$result = wp_cache_delete( $transient, 'transient' );
! 	} else {
! 		$option_timeout = '_transient_timeout_' . $transient;
! 		$option = '_transient_' . $transient;
! 		$result = delete_option( $option );
! 		if ( $result )
! 			delete_option( $option_timeout );
! 	}
! 
! 	if ( $result )
! 		do_action( 'deleted_transient', $transient );
! 	return $result;
! }
! 
! /**
!  * Get the value of a transient.
!  *
!  * If the transient does not exist or does not have a value, then the return value
!  * will be false.
!  *
!  * @uses apply_filters() Calls 'pre_transient_$transient' hook before checking the transient.
!  * 	Any value other than false will "short-circuit" the retrieval of the transient
!  *	and return the returned value.
!  * @uses apply_filters() Calls 'transient_$option' hook, after checking the transient, with
!  * 	the transient value.
!  *
!  * @since 2.8.0
!  * @package WordPress
!  * @subpackage Transient
!  *
!  * @param string $transient Transient name. Expected to not be SQL-escaped
!  * @return mixed Value of transient
!  */
! function get_transient( $transient ) {
! 	global $_wp_using_ext_object_cache;
! 
! 	$pre = apply_filters( 'pre_transient_' . $transient, false );
! 	if ( false !== $pre )
! 		return $pre;
! 
! 	if ( $_wp_using_ext_object_cache ) {
! 		$value = wp_cache_get( $transient, 'transient' );
! 	} else {
! 		$transient_option = '_transient_' . $transient;
! 		if ( ! defined( 'WP_INSTALLING' ) ) {
! 			// If option is not in alloptions, it is not autoloaded and thus has a timeout
! 			$alloptions = wp_load_alloptions();
! 			if ( !isset( $alloptions[$transient_option] ) ) {
! 				$transient_timeout = '_transient_timeout_' . $transient;
! 				if ( get_option( $transient_timeout ) < time() ) {
! 					delete_option( $transient_option  );
! 					delete_option( $transient_timeout );
! 					return false;
! 				}
! 			}
! 		}
! 
! 		$value = get_option( $transient_option );
! 	}
! 
! 	return apply_filters( 'transient_' . $transient, $value );
! }
! 
! /**
!  * Set/update the value of a transient.
!  *
!  * You do not need to serialize values. If the value needs to be serialized, then
!  * it will be serialized before it is set.
!  *
!  * @since 2.8.0
!  * @package WordPress
!  * @subpackage Transient
!  *
!  * @uses apply_filters() Calls 'pre_set_transient_$transient' hook to allow overwriting the
!  * 	transient value to be stored.
!  * @uses do_action() Calls 'set_transient_$transient' and 'setted_transient' hooks on success.
!  *
!  * @param string $transient Transient name. Expected to not be SQL-escaped.
!  * @param mixed $value Transient value. Expected to not be SQL-escaped.
!  * @param int $expiration Time until expiration in seconds, default 0
!  * @return bool False if value was not set and true if value was set.
!  */
! function set_transient( $transient, $value, $expiration = 0 ) {
! 	global $_wp_using_ext_object_cache;
! 
! 	$value = apply_filters( 'pre_set_transient_' . $transient, $value );
! 
! 	if ( $_wp_using_ext_object_cache ) {
! 		$result = wp_cache_set( $transient, $value, 'transient', $expiration );
! 	} else {
! 		$transient_timeout = '_transient_timeout_' . $transient;
! 		$transient = '_transient_' . $transient;
! 		if ( false === get_option( $transient ) ) {
! 			$autoload = 'yes';
! 			if ( $expiration ) {
! 				$autoload = 'no';
! 				add_option( $transient_timeout, time() + $expiration, '', 'no' );
! 			}
! 			$result = add_option( $transient, $value, '', $autoload );
! 		} else {
! 			if ( $expiration )
! 				update_option( $transient_timeout, time() + $expiration );
! 			$result = update_option( $transient, $value );
! 		}
! 	}
! 	if ( $result ) {
! 		do_action( 'set_transient_' . $transient );
! 		do_action( 'setted_transient', $transient );
! 	}
! 	return $result;
! }
! 
! /**
!  * Saves and restores user interface settings stored in a cookie.
!  *
!  * Checks if the current user-settings cookie is updated and stores it. When no
!  * cookie exists (different browser used), adds the last saved cookie restoring
!  * the settings.
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.7.0
!  */
! function wp_user_settings() {
! 
! 	if ( ! is_admin() )
! 		return;
! 
! 	if ( defined('DOING_AJAX') )
! 		return;
! 
! 	if ( ! $user = wp_get_current_user() )
! 		return;
! 
! 	$settings = get_user_option( 'user-settings', $user->ID );
! 
! 	if ( isset( $_COOKIE['wp-settings-' . $user->ID] ) ) {
! 		$cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
! 
! 		if ( ! empty( $cookie ) && strpos( $cookie, '=' ) ) {
! 			if ( $cookie == $settings )
! 				return;
! 
! 			$last_time = (int) get_user_option( 'user-settings-time', $user->ID );
! 			$saved = isset( $_COOKIE['wp-settings-time-' . $user->ID]) ? preg_replace( '/[^0-9]/', '', $_COOKIE['wp-settings-time-' . $user->ID] ) : 0;
! 
! 			if ( $saved > $last_time ) {
! 				update_user_option( $user->ID, 'user-settings', $cookie, false );
! 				update_user_option( $user->ID, 'user-settings-time', time() - 5, false );
! 				return;
! 			}
! 		}
! 	}
! 
! 	setcookie( 'wp-settings-' . $user->ID, $settings, time() + 31536000, SITECOOKIEPATH );
! 	setcookie( 'wp-settings-time-' . $user->ID, time(), time() + 31536000, SITECOOKIEPATH );
! 	$_COOKIE['wp-settings-' . $user->ID] = $settings;
! }
! 
! /**
!  * Retrieve user interface setting value based on setting name.
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.7.0
!  *
!  * @param string $name The name of the setting.
!  * @param string $default Optional default value to return when $name is not set.
!  * @return mixed the last saved user setting or the default value/false if it doesn't exist.
!  */
! function get_user_setting( $name, $default = false ) {
! 
! 	$all = get_all_user_settings();
! 
! 	return isset($all[$name]) ? $all[$name] : $default;
! }
! 
! /**
!  * Add or update user interface setting.
!  *
!  * Both $name and $value can contain only ASCII letters, numbers and underscores.
!  * This function has to be used before any output has started as it calls setcookie().
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.8.0
!  *
!  * @param string $name The name of the setting.
!  * @param string $value The value for the setting.
!  * @return bool true if set successfully/false if not.
!  */
! function set_user_setting( $name, $value ) {
! 
! 	if ( headers_sent() )
! 		return false;
! 
! 	$all = get_all_user_settings();
! 	$name = preg_replace( '/[^A-Za-z0-9_]+/', '', $name );
! 
! 	if ( empty($name) )
! 		return false;
! 
! 	$all[$name] = $value;
! 
! 	return wp_set_all_user_settings($all);
! }
! 
! /**
!  * Delete user interface settings.
!  *
!  * Deleting settings would reset them to the defaults.
!  * This function has to be used before any output has started as it calls setcookie().
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.7.0
!  *
!  * @param mixed $names The name or array of names of the setting to be deleted.
!  * @return bool true if deleted successfully/false if not.
!  */
! function delete_user_setting( $names ) {
! 
! 	if ( headers_sent() )
! 		return false;
! 
! 	$all = get_all_user_settings();
! 	$names = (array) $names;
! 
! 	foreach ( $names as $name ) {
! 		if ( isset($all[$name]) ) {
! 			unset($all[$name]);
! 			$deleted = true;
! 		}
! 	}
! 
! 	if ( isset($deleted) )
! 		return wp_set_all_user_settings($all);
! 
! 	return false;
! }
! 
! /**
!  * Retrieve all user interface settings.
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.7.0
!  *
!  * @return array the last saved user settings or empty array.
!  */
! function get_all_user_settings() {
! 	global $_updated_user_settings;
! 
! 	if ( ! $user = wp_get_current_user() )
! 		return array();
! 
! 	if ( isset($_updated_user_settings) && is_array($_updated_user_settings) )
! 		return $_updated_user_settings;
! 
! 	$all = array();
! 	if ( isset($_COOKIE['wp-settings-' . $user->ID]) ) {
! 		$cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
! 
! 		if ( $cookie && strpos($cookie, '=') ) // the '=' cannot be 1st char
! 			parse_str($cookie, $all);
! 
! 	} else {
! 		$option = get_user_option('user-settings', $user->ID);
! 		if ( $option && is_string($option) )
! 			parse_str( $option, $all );
! 	}
! 
! 	return $all;
! }
! 
! /**
!  * Private. Set all user interface settings.
!  *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.8.0
!  *
!  * @param unknown $all
!  * @return bool
!  */
! function wp_set_all_user_settings($all) {
! 	global $_updated_user_settings;
! 
! 	if ( ! $user = wp_get_current_user() )
! 		return false;
! 
! 	$_updated_user_settings = $all;
! 	$settings = '';
! 	foreach ( $all as $k => $v ) {
! 		$v = preg_replace( '/[^A-Za-z0-9_]+/', '', $v );
! 		$settings .= $k . '=' . $v . '&';
! 	}
! 
! 	$settings = rtrim($settings, '&');
! 
! 	update_user_option( $user->ID, 'user-settings', $settings, false );
! 	update_user_option( $user->ID, 'user-settings-time', time(), false );
! 
! 	return true;
  }
  
  /**
!  * Delete the user settings of the current user.
   *
!  * @package WordPress
!  * @subpackage Option
!  * @since 2.7.0
   */
! function delete_all_user_settings() {
! 	if ( ! $user = wp_get_current_user() )
! 		return;
! 
! 	update_user_option( $user->ID, 'user-settings', '', false );
! 	setcookie('wp-settings-' . $user->ID, ' ', time() - 31536000, SITECOOKIEPATH);
  }
  
  /**
--- 269,306 ----
  			return (bool) preg_match( "/^{$token}:[0-9]+:/s", $data );
  		case 'b' :
  		case 'i' :
! 		case 'd' :
! 			return (bool) preg_match( "/^{$token}:[0-9.E-]+;\$/", $data );
! 	}
! 	return false;
  }
  
  /**
!  * Check whether serialized data is of string type.
   *
!  * @since 2.0.5
!  *
!  * @param mixed $data Serialized data
!  * @return bool False if not a serialized string, true if it is.
   */
! function is_serialized_string( $data ) {
! 	// if it isn't a string, it isn't a serialized string
! 	if ( !is_string( $data ) )
! 		return false;
! 	$data = trim( $data );
! 	$length = strlen( $data );
! 	if ( $length < 4 )
! 		return false;
! 	elseif ( ':' !== $data[1] )
! 		return false;
! 	elseif ( ';' !== $data[$length-1] )
! 		return false;
! 	elseif ( $data[0] !== 's' )
! 		return false;
! 	elseif ( '"' !== $data[$length-2] )
! 		return false;
! 	else
! 		return true;
  }
  
  /**
***************
*** 1115,1185 ****
  }
  
  /**
-  * Open the file handle for debugging.
-  *
-  * This function is used for XMLRPC feature, but it is general purpose enough
-  * to be used in anywhere.
-  *
-  * @see fopen() for mode options.
-  * @package WordPress
-  * @subpackage Debug
-  * @since 0.71
-  * @uses $debug Used for whether debugging is enabled.
-  *
-  * @param string $filename File path to debug file.
-  * @param string $mode Same as fopen() mode parameter.
-  * @return bool|resource File handle. False on failure.
-  */
- function debug_fopen( $filename, $mode ) {
- 	global $debug;
- 	if ( 1 == $debug ) {
- 		$fp = fopen( $filename, $mode );
- 		return $fp;
- 	} else {
- 		return false;
- 	}
- }
- 
- /**
-  * Write contents to the file used for debugging.
-  *
-  * Technically, this can be used to write to any file handle when the global
-  * $debug is set to 1 or true.
-  *
-  * @package WordPress
-  * @subpackage Debug
-  * @since 0.71
-  * @uses $debug Used for whether debugging is enabled.
-  *
-  * @param resource $fp File handle for debugging file.
-  * @param string $string Content to write to debug file.
-  */
- function debug_fwrite( $fp, $string ) {
- 	global $debug;
- 	if ( 1 == $debug )
- 		fwrite( $fp, $string );
- }
- 
- /**
-  * Close the debugging file handle.
-  *
-  * Technically, this can be used to close any file handle when the global $debug
-  * is set to 1 or true.
-  *
-  * @package WordPress
-  * @subpackage Debug
-  * @since 0.71
-  * @uses $debug Used for whether debugging is enabled.
-  *
-  * @param resource $fp Debug File handle.
-  */
- function debug_fclose( $fp ) {
- 	global $debug;
- 	if ( 1 == $debug )
- 		fclose( $fp );
- }
- 
- /**
   * Check content for video and audio links to add as enclosures.
   *
   * Will not add enclosures that have already been added and will
--- 393,398 ----
***************
*** 1200,1208 ****
  	//TODO: Tidy this ghetto code up and make the debug code optional
  	include_once( ABSPATH . WPINC . '/class-IXR.php' );
  
- 	$log = debug_fopen( ABSPATH . 'enclosures.log', 'a' );
  	$post_links = array();
- 	debug_fwrite( $log, 'BEGIN ' . date( 'YmdHis', time() ) . "\n" );
  
  	$pung = get_enclosed( $post_ID );
  
--- 413,419 ----
***************
*** 1213,1227 ****
  
  	preg_match_all( "{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x", $content, $post_links_temp );
  
- 	debug_fwrite( $log, 'Post contents:' );
- 	debug_fwrite( $log, $content . "\n" );
- 
  	foreach ( $pung as $link_test ) {
  		if ( !in_array( $link_test, $post_links_temp[0] ) ) { // link no longer in post
! 			$mid = $wpdb->get_col( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $link_test ) . '%') );
! 			do_action( 'delete_postmeta', $mid );
! 			$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_id IN(%s)", implode( ',', $mid ) ) );
! 			do_action( 'deleted_postmeta', $mid );
  		}
  	}
  
--- 424,434 ----
  
  	preg_match_all( "{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x", $content, $post_links_temp );
  
  	foreach ( $pung as $link_test ) {
  		if ( !in_array( $link_test, $post_links_temp[0] ) ) { // link no longer in post
! 			$mids = $wpdb->get_col( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $link_test ) . '%') );
! 			foreach ( $mids as $mid )
! 				delete_metadata_by_mid( 'post', $mid );
  		}
  	}
  
***************
*** 1241,1248 ****
  		if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $url ) . '%' ) ) ) {
  
  			if ( $headers = wp_get_http_headers( $url) ) {
! 				$len = (int) $headers['content-length'];
! 				$type = $headers['content-type'];
  				$allowed_types = array( 'video', 'audio' );
  
  				// Check to see if we can figure out the mime type from
--- 448,455 ----
  		if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $url ) . '%' ) ) ) {
  
  			if ( $headers = wp_get_http_headers( $url) ) {
! 				$len = isset( $headers['content-length'] ) ? (int) $headers['content-length'] : 0;
! 				$type = isset( $headers['content-type'] ) ? $headers['content-type'] : '';
  				$allowed_types = array( 'video', 'audio' );
  
  				// Check to see if we can figure out the mime type from
***************
*** 1261,1269 ****
  				}
  
  				if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) {
! 					$meta_value = "$url\n$len\n$type\n";
! 					$wpdb->insert($wpdb->postmeta, array('post_id' => $post_ID, 'meta_key' => 'enclosure', 'meta_value' => $meta_value) );
! 					do_action( 'added_postmeta', $wpdb->insert_id, $post_ID, 'enclosure', $meta_value );
  				}
  			}
  		}
--- 468,474 ----
  				}
  
  				if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) {
! 					add_post_meta( $post_ID, 'enclosure', "$url\n$len\n$mime\n" );
  				}
  			}
  		}
***************
*** 1393,1399 ****
  			$k = $prefix.$k;
  		if ( !empty($key) )
  			$k = $key . '%5B' . $k . '%5D';
! 		if ( $v === NULL )
  			continue;
  		elseif ( $v === FALSE )
  			$v = '0';
--- 598,604 ----
  			$k = $prefix.$k;
  		if ( !empty($key) )
  			$k = $key . '%5B' . $k . '%5D';
! 		if ( $v === null )
  			continue;
  		elseif ( $v === FALSE )
  			$v = '0';
***************
*** 1406,1412 ****
  			array_push($ret, $k.'='.$v);
  	}
  
! 	if ( NULL === $sep )
  		$sep = ini_get('arg_separator.output');
  
  	return implode($sep, $ret);
--- 611,617 ----
  			array_push($ret, $k.'='.$v);
  	}
  
! 	if ( null === $sep )
  		$sep = ini_get('arg_separator.output');
  
  	return implode($sep, $ret);
***************
*** 1905,1911 ****
  
  	$suppress = $wpdb->suppress_errors();
  
! 	// Loop over the WP tables.  If none exist, then scratch install is allowed.
  	// If one or more exist, suggest table repair since we got here because the options
  	// table could not be accessed.
  	$wp_tables = $wpdb->tables();
--- 1110,1116 ----
  
  	$suppress = $wpdb->suppress_errors();
  
! 	// Loop over the WP tables. If none exist, then scratch install is allowed.
  	// If one or more exist, suggest table repair since we got here because the options
  	// table could not be accessed.
  	$wp_tables = $wpdb->tables();
***************
*** 1921,1928 ****
  
  		// One or more tables exist. We are insane.
  
  		// Die with a DB error.
! 		$wpdb->error = sprintf( /*WP_I18N_NO_TABLES*/'One or more database tables are unavailable.  The database may need to be <a href="%s">repaired</a>.'/*/WP_I18N_NO_TABLES*/, 'maint/repair.php?referrer=is_blog_installed' );
  		dead_db();
  	}
  
--- 1126,1135 ----
  
  		// One or more tables exist. We are insane.
  
+ 		wp_load_translations_early();
+ 
  		// Die with a DB error.
! 		$wpdb->error = sprintf( __( 'One or more database tables are unavailable. The database may need to be <a href="%s">repaired</a>.' ), 'maint/repair.php?referrer=is_blog_installed' );
  		dead_db();
  	}
  
***************
*** 2762,2776 ****
   * @param string $title Error title.
   * @param string|array $args Optional arguments to control behavior.
   */
! function wp_die( $message, $title = '', $args = array() ) {
  	if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
! 		die('-1');
! 
! 	if ( function_exists( 'apply_filters' ) ) {
! 		$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler');
! 	} else {
! 		$function = '_default_wp_die_handler';
! 	}
  
  	call_user_func( $function, $message, $title, $args );
  }
--- 1968,1982 ----
   * @param string $title Error title.
   * @param string|array $args Optional arguments to control behavior.
   */
! function wp_die( $message = '', $title = '', $args = array() ) {
  	if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
! 		$function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
! 	elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
! 		$function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
! 	elseif ( defined( 'APP_REQUEST' ) && APP_REQUEST )
! 		$function = apply_filters( 'wp_die_app_handler', '_scalar_wp_die_handler' );
! 	else
! 		$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
  
  	call_user_func( $function, $message, $title, $args );
  }
***************
*** 2821,2827 ****
  		$message .= "\n<p><a href='javascript:history.back()'>$back_text</a></p>";
  	}
  
! 	if ( !function_exists( 'did_action' ) || !did_action( 'admin_head' ) ) :
  		if ( !headers_sent() ) {
  			status_header( $r['response'] );
  			nocache_headers();
--- 2027,2033 ----
  		$message .= "\n<p><a href='javascript:history.back()'>$back_text</a></p>";
  	}
  
! 	if ( ! did_action( 'admin_head' ) ) :
  		if ( !headers_sent() ) {
  			status_header( $r['response'] );
  			nocache_headers();
***************
*** 2859,2864 ****
--- 2065,2079 ----
  			border: 1px solid #dfdfdf;
  			max-width: 700px;
  		}
+ 		h1 {
+ 			border-bottom: 1px solid #dadada;
+ 			clear: both;
+ 			color: #666;
+ 			font: 24px Georgia, "Times New Roman", Times, serif;
+ 			margin: 30px 0 0 0;
+ 			padding: 0;
+ 			padding-bottom: 7px;
+ 		}
  		#error-page {
  			margin-top: 50px;
  		}
***************
*** 2925,2931 ****
  	</style>
  </head>
  <body id="error-page">
! <?php endif; // !function_exists( 'did_action' ) || !did_action( 'admin_head' ) ?>
  	<?php echo $message; ?>
  </body>
  </html>
--- 2140,2146 ----
  	</style>
  </head>
  <body id="error-page">
! <?php endif; // ! did_action( 'admin_head' ) ?>
  	<?php echo $message; ?>
  </body>
  </html>
***************
*** 2959,2973 ****
  }
  
  /**
!  * Filter to enable special wp_die handler for xmlrpc requests.
   *
!  * @since 3.2.0
   * @access private
   */
! function _xmlrpc_wp_die_filter() {
! 	return '_xmlrpc_wp_die_handler';
  }
  
  
  /**
   * Retrieve the WordPress home page URL.
--- 2174,2209 ----
  }
  
  /**
!  * Kill WordPress ajax execution.
   *
!  * This is the handler for wp_die when processing Ajax requests.
!  *
!  * @since 3.4.0
   * @access private
+  *
+  * @param string $message Optional. Response to print.
   */
! function _ajax_wp_die_handler( $message = '' ) {
! 	if ( is_scalar( $message ) )
! 		die( (string) $message );
! 	die( '0' );
  }
  
+ /**
+  * Kill WordPress execution.
+  *
+  * This is the handler for wp_die when processing APP requests.
+  *
+  * @since 3.4.0
+  * @access private
+  *
+  * @param string $message Optional. Response to print.
+  */
+ function _scalar_wp_die_handler( $message = '' ) {
+ 	if ( is_scalar( $message ) )
+ 		die( (string) $message );
+ 	die();
+ }
  
  /**
   * Retrieve the WordPress home page URL.
***************
*** 3098,3104 ****
  		      ':-x' => 'icon_mad.gif',
  		      ':-|' => 'icon_neutral.gif',
  		      ';-)' => 'icon_wink.gif',
! 		       '8)' => 'icon_cool.gif',
  		       '8O' => 'icon_eek.gif',
  		       ':(' => 'icon_sad.gif',
  		       ':)' => 'icon_smile.gif',
--- 2333,2340 ----
  		      ':-x' => 'icon_mad.gif',
  		      ':-|' => 'icon_neutral.gif',
  		      ';-)' => 'icon_wink.gif',
! 		// This one transformation breaks regular text with frequency.
! 		//     '8)' => 'icon_cool.gif',
  		       '8O' => 'icon_eek.gif',
  		       ':(' => 'icon_sad.gif',
  		       ':)' => 'icon_smile.gif',
***************
*** 3369,3384 ****
  	status_header( 500 );
  	nocache_headers();
  	header( 'Content-Type: text/html; charset=utf-8' );
  ?>
  <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) ) language_attributes(); ?>>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! 	<title><?php echo /*WP_I18N_DB_ERROR*/'Database Error'/*/WP_I18N_DB_ERROR*/; ?></title>
  
  </head>
  <body>
! 	<h1><?php echo /*WP_I18N_DB_CONNECTION_ERROR*/'Error establishing a database connection'/*/WP_I18N_DB_CONNECTION_ERROR*/; ?></h1>
  </body>
  </html>
  <?php
--- 2605,2622 ----
  	status_header( 500 );
  	nocache_headers();
  	header( 'Content-Type: text/html; charset=utf-8' );
+ 
+ 	wp_load_translations_early();
  ?>
  <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml"<?php if ( is_rtl() ) echo ' dir="rtl"'; ?>>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! 	<title><?php _e( 'Database Error' ); ?></title>
  
  </head>
  <body>
! 	<h1><?php _e( 'Error establishing a database connection' ); ?></h1>
  </body>
  </html>
  <?php
***************
*** 3762,3768 ****
  		$url = WP_SITEURL;
  	} else {
  		$schema = is_ssl() ? 'https://' : 'http://';
! 		$url = preg_replace('|/wp-admin/.*|i', '', $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
  	}
  	return rtrim($url, '/');
  }
--- 3000,3006 ----
  		$url = WP_SITEURL;
  	} else {
  		$schema = is_ssl() ? 'https://' : 'http://';
! 		$url = preg_replace('#/(wp-admin/.*|wp-login.php)#i', '', $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
  	}
  	return rtrim($url, '/');
  }
***************
*** 3794,3801 ****
  /**
   * Suspend cache invalidation.
   *
!  * Turns cache invalidation on and off.  Useful during imports where you don't wont to do invalidations
!  * every time a post is inserted.  Callers must be sure that what they are doing won't lead to an inconsistent
   * cache when invalidation is suspended.
   *
   * @since 2.7.0
--- 3032,3039 ----
  /**
   * Suspend cache invalidation.
   *
!  * Turns cache invalidation on and off. Useful during imports where you don't wont to do invalidations
!  * every time a post is inserted. Callers must be sure that what they are doing won't lead to an inconsistent
   * cache when invalidation is suspended.
   *
   * @since 2.7.0
***************
*** 3812,4134 ****
  }
  
  /**
-  * Retrieve site option value based on name of option.
-  *
-  * @see get_option()
-  * @package WordPress
-  * @subpackage Option
-  * @since 2.8.0
-  *
-  * @uses apply_filters() Calls 'pre_site_option_$option' before checking the option.
-  * 	Any value other than false will "short-circuit" the retrieval of the option
-  *	and return the returned value.
-  * @uses apply_filters() Calls 'site_option_$option', after checking the  option, with
-  * 	the option value.
-  *
-  * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
-  * @param mixed $default Optional value to return if option doesn't exist. Default false.
-  * @param bool $use_cache Whether to use cache. Multisite only. Default true.
-  * @return mixed Value set for the option.
-  */
- function get_site_option( $option, $default = false, $use_cache = true ) {
- 	global $wpdb;
- 
- 	// Allow plugins to short-circuit site options.
-  	$pre = apply_filters( 'pre_site_option_' . $option, false );
-  	if ( false !== $pre )
-  		return $pre;
- 
- 	if ( !is_multisite() ) {
- 		$value = get_option($option, $default);
- 	} else {
- 		$cache_key = "{$wpdb->siteid}:$option";
- 		if ( $use_cache )
- 			$value = wp_cache_get($cache_key, 'site-options');
- 
- 		if ( !isset($value) || (false === $value) ) {
- 			$row = $wpdb->get_row( $wpdb->prepare("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
- 
- 			// Has to be get_row instead of get_var because of funkiness with 0, false, null values
- 			if ( is_object( $row ) ) {
- 				$value = $row->meta_value;
- 				$value = maybe_unserialize( $value );
- 				wp_cache_set( $cache_key, $value, 'site-options' );
- 			} else {
- 				$value = $default;
- 			}
- 		}
- 	}
- 
-  	return apply_filters( 'site_option_' . $option, $value );
- }
- 
- /**
-  * Add a new site option.
-  *
-  * Existing options will not be updated. Note that prior to 3.3 this wasn't the case.
-  *
-  * @see add_option()
-  * @package WordPress
-  * @subpackage Option
-  * @since 2.8.0
-  *
-  * @uses apply_filters() Calls 'pre_add_site_option_$option' hook to allow overwriting the
-  * 	option value to be stored.
-  * @uses do_action() Calls 'add_site_option_$option' and 'add_site_option' hooks on success.
-  *
-  * @param string $option Name of option to add. Expected to not be SQL-escaped.
-  * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
-  * @return bool False if option was not added and true if option was added.
-  */
- function add_site_option( $option, $value ) {
- 	global $wpdb;
- 
- 	$value = apply_filters( 'pre_add_site_option_' . $option, $value );
- 
- 	if ( !is_multisite() ) {
- 		$result = add_option( $option, $value );
- 	} else {
- 		$cache_key = "{$wpdb->siteid}:$option";
- 
- 		if ( false !== get_site_option( $option ) )
- 			return false;
- 
- 		$value = sanitize_option( $option, $value );
- 		wp_cache_set( $cache_key, $value, 'site-options' );
- 
- 		$_value = $value;
- 		$value = maybe_serialize( $value );
- 		$result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $value ) );
- 		$value = $_value;
- 	}
- 
- 	if ( $result ) {
- 		do_action( "add_site_option_{$option}", $option, $value );
- 		do_action( "add_site_option", $option, $value );
- 		return true;
- 	}
- 	return false;
- }
- 
- /**
-  * Removes site option by name.
-  *
-  * @see delete_option()
-  * @package WordPress
-  * @subpackage Option
-  * @since 2.8.0
-  *
-  * @uses do_action() Calls 'pre_delete_site_option_$option' hook before option is deleted.
-  * @uses do_action() Calls 'delete_site_option' and 'delete_site_option_$option'
-  * 	hooks on success.
-  *
-  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
-  * @return bool True, if succeed. False, if failure.
-  */
- function delete_site_option( $option ) {
- 	global $wpdb;
- 
- 	// ms_protect_special_option( $option ); @todo
- 
- 	do_action( 'pre_delete_site_option_' . $option );
- 
- 	if ( !is_multisite() ) {
- 		$result = delete_option( $option );
- 	} else {
- 		$row = $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM {$wpdb->sitemeta} WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
- 		if ( is_null( $row ) || !$row->meta_id )
- 			return false;
- 		$cache_key = "{$wpdb->siteid}:$option";
- 		wp_cache_delete( $cache_key, 'site-options' );
- 
- 		$result = $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->sitemeta} WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
- 	}
- 
- 	if ( $result ) {
- 		do_action( "delete_site_option_{$option}", $option );
- 		do_action( "delete_site_option", $option );
- 		return true;
- 	}
- 	return false;
- }
- 
- /**
-  * Update the value of a site option that was already added.
-  *
-  * @see update_option()
-  * @since 2.8.0
-  * @package WordPress
-  * @subpackage Option
-  *
-  * @uses apply_filters() Calls 'pre_update_site_option_$option' hook to allow overwriting the
-  * 	option value to be stored.
-  * @uses do_action() Calls 'update_site_option_$option' and 'update_site_option' hooks on success.
-  *
-  * @param string $option Name of option. Expected to not be SQL-escaped.
-  * @param mixed $value Option value. Expected to not be SQL-escaped.
-  * @return bool False if value was not updated and true if value was updated.
-  */
- function update_site_option( $option, $value ) {
- 	global $wpdb;
- 
- 	$oldvalue = get_site_option( $option );
- 	$value = apply_filters( 'pre_update_site_option_' . $option, $value, $oldvalue );
- 
- 	if ( $value === $oldvalue )
- 		return false;
- 
- 	if ( false === $oldvalue )
- 		return add_site_option( $option, $value );
- 
- 	if ( !is_multisite() ) {
- 		$result = update_option( $option, $value );
- 	} else {
- 		$value = sanitize_option( $option, $value );
- 		$cache_key = "{$wpdb->siteid}:$option";
- 		wp_cache_set( $cache_key, $value, 'site-options' );
- 
- 		$_value = $value;
- 		$value = maybe_serialize( $value );
- 		$result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => $value ), array( 'site_id' => $wpdb->siteid, 'meta_key' => $option ) );
- 		$value = $_value;
- 	}
- 
- 	if ( $result ) {
- 		do_action( "update_site_option_{$option}", $option, $value, $oldvalue );
- 		do_action( "update_site_option", $option, $value, $oldvalue );
- 		return true;
- 	}
- 	return false;
- }
- 
- /**
-  * Delete a site transient.
-  *
-  * @since 2.9.0
-  * @package WordPress
-  * @subpackage Transient
-  *
-  * @uses do_action() Calls 'delete_site_transient_$transient' hook before transient is deleted.
-  * @uses do_action() Calls 'deleted_site_transient' hook on success.
-  *
-  * @param string $transient Transient name. Expected to not be SQL-escaped.
-  * @return bool True if successful, false otherwise
-  */
- function delete_site_transient( $transient ) {
- 	global $_wp_using_ext_object_cache;
- 
- 	do_action( 'delete_site_transient_' . $transient, $transient );
- 	if ( $_wp_using_ext_object_cache ) {
- 		$result = wp_cache_delete( $transient, 'site-transient' );
- 	} else {
- 		$option_timeout = '_site_transient_timeout_' . $transient;
- 		$option = '_site_transient_' . $transient;
- 		$result = delete_site_option( $option );
- 		if ( $result )
- 			delete_site_option( $option_timeout );
- 	}
- 	if ( $result )
- 		do_action( 'deleted_site_transient', $transient );
- 	return $result;
- }
- 
- /**
-  * Get the value of a site transient.
-  *
-  * If the transient does not exist or does not have a value, then the return value
-  * will be false.
-  *
-  * @see get_transient()
-  * @since 2.9.0
-  * @package WordPress
-  * @subpackage Transient
-  *
-  * @uses apply_filters() Calls 'pre_site_transient_$transient' hook before checking the transient.
-  * 	Any value other than false will "short-circuit" the retrieval of the transient
-  *	and return the returned value.
-  * @uses apply_filters() Calls 'site_transient_$option' hook, after checking the transient, with
-  * 	the transient value.
-  *
-  * @param string $transient Transient name. Expected to not be SQL-escaped.
-  * @return mixed Value of transient
-  */
- function get_site_transient( $transient ) {
- 	global $_wp_using_ext_object_cache;
- 
- 	$pre = apply_filters( 'pre_site_transient_' . $transient, false );
- 	if ( false !== $pre )
- 		return $pre;
- 
- 	if ( $_wp_using_ext_object_cache ) {
- 		$value = wp_cache_get( $transient, 'site-transient' );
- 	} else {
- 		// Core transients that do not have a timeout. Listed here so querying timeouts can be avoided.
- 		$no_timeout = array('update_core', 'update_plugins', 'update_themes');
- 		$transient_option = '_site_transient_' . $transient;
- 		if ( ! in_array( $transient, $no_timeout ) ) {
- 			$transient_timeout = '_site_transient_timeout_' . $transient;
- 			$timeout = get_site_option( $transient_timeout );
- 			if ( false !== $timeout && $timeout < time() ) {
- 				delete_site_option( $transient_option  );
- 				delete_site_option( $transient_timeout );
- 				return false;
- 			}
- 		}
- 
- 		$value = get_site_option( $transient_option );
- 	}
- 
- 	return apply_filters( 'site_transient_' . $transient, $value );
- }
- 
- /**
-  * Set/update the value of a site transient.
-  *
-  * You do not need to serialize values, if the value needs to be serialize, then
-  * it will be serialized before it is set.
-  *
-  * @see set_transient()
-  * @since 2.9.0
-  * @package WordPress
-  * @subpackage Transient
-  *
-  * @uses apply_filters() Calls 'pre_set_site_transient_$transient' hook to allow overwriting the
-  * 	transient value to be stored.
-  * @uses do_action() Calls 'set_site_transient_$transient' and 'setted_site_transient' hooks on success.
-  *
-  * @param string $transient Transient name. Expected to not be SQL-escaped.
-  * @param mixed $value Transient value. Expected to not be SQL-escaped.
-  * @param int $expiration Time until expiration in seconds, default 0
-  * @return bool False if value was not set and true if value was set.
-  */
- function set_site_transient( $transient, $value, $expiration = 0 ) {
- 	global $_wp_using_ext_object_cache;
- 
- 	$value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
- 
- 	if ( $_wp_using_ext_object_cache ) {
- 		$result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
- 	} else {
- 		$transient_timeout = '_site_transient_timeout_' . $transient;
- 		$transient = '_site_transient_' . $transient;
- 		if ( false === get_site_option( $transient ) ) {
- 			if ( $expiration )
- 				add_site_option( $transient_timeout, time() + $expiration );
- 			$result = add_site_option( $transient, $value );
- 		} else {
- 			if ( $expiration )
- 				update_site_option( $transient_timeout, time() + $expiration );
- 			$result = update_site_option( $transient, $value );
- 		}
- 	}
- 	if ( $result ) {
- 		do_action( 'set_site_transient_' . $transient );
- 		do_action( 'setted_site_transient', $transient );
- 	}
- 	return $result;
- }
- 
- /**
   * Is main site?
   *
   *
--- 3050,3055 ----
***************
*** 4457,4485 ****
  	// PHP will close file handle, but we are good citizens.
  	fclose( $fp );
  
! 	if ( $context != '' ) {
! 		$extra_headers = apply_filters( "extra_{$context}_headers", array() );
  
! 		$extra_headers = array_flip( $extra_headers );
! 		foreach( $extra_headers as $key=>$value ) {
! 			$extra_headers[$key] = $key;
! 		}
  		$all_headers = array_merge( $extra_headers, (array) $default_headers );
  	} else {
  		$all_headers = $default_headers;
  	}
  
  	foreach ( $all_headers as $field => $regex ) {
! 		preg_match( '/^[ \t\/*#@]*' . preg_quote( $regex, '/' ) . ':(.*)$/mi', $file_data, ${$field});
! 		if ( !empty( ${$field} ) )
! 			${$field} = _cleanup_header_comment( ${$field}[1] );
  		else
! 			${$field} = '';
  	}
  
! 	$file_data = compact( array_keys( $all_headers ) );
! 
! 	return $file_data;
  }
  
  /**
--- 3378,3401 ----
  	// PHP will close file handle, but we are good citizens.
  	fclose( $fp );
  
! 	// Make sure we catch CR-only line endings.
! 	$file_data = str_replace( "\r", "\n", $file_data );
  
! 	if ( $context && $extra_headers = apply_filters( "extra_{$context}_headers", array() ) ) {
! 		$extra_headers = array_combine( $extra_headers, $extra_headers ); // keys equal values
  		$all_headers = array_merge( $extra_headers, (array) $default_headers );
  	} else {
  		$all_headers = $default_headers;
  	}
  
  	foreach ( $all_headers as $field => $regex ) {
! 		if ( preg_match( '/^[ \t\/*#@]*' . preg_quote( $regex, '/' ) . ':(.*)$/mi', $file_data, $match ) && $match[1] )
! 			$all_headers[ $field ] = _cleanup_header_comment( $match[1] );
  		else
! 			$all_headers[ $field ] = '';
  	}
  
! 	return $all_headers;
  }
  
  /**
***************
*** 4548,4553 ****
--- 3464,3481 ----
  }
  
  /**
+  * Returns null.
+  *
+  * Useful for returning null to filters easily.
+  *
+  * @since 3.4.0
+  * @return null
+  */
+ function __return_null() {
+ 	return null;
+ }
+ 
+ /**
   * Send a HTTP header to disable content type sniffing in browsers which support it.
   *
   * @link http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
***************
*** 4682,4685 ****
  	return $protocols;
  }
  
! ?>
--- 3610,3698 ----
  	return $protocols;
  }
  
! /**
!  * Return a comma separated string of functions that have been called to get to the current point in code.
!  *
!  * @link http://core.trac.wordpress.org/ticket/19589
!  * @since 3.4
!  *
!  * @param string $ignore_class A class to ignore all function calls within - useful when you want to just give info about the callee
!  * @param int $skip_frames A number of stack frames to skip - useful for unwinding back to the source of the issue
!  * @param bool $pretty Whether or not you want a comma separated string or raw array returned
!  * @return string|array Either a string containing a reversed comma separated trace or an array of individual calls.
!  */
! function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pretty = true ) {
! 	$trace  = debug_backtrace( false );
! 	$caller = array();
! 	$check_class = ! is_null( $ignore_class );
! 	$skip_frames++; // skip this function
! 
! 	foreach ( $trace as $call ) {
! 		if ( $skip_frames > 0 ) {
! 			$skip_frames--;
! 		} elseif ( isset( $call['class'] ) ) {
! 			if ( $check_class && $ignore_class == $call['class'] )
! 				continue; // Filter out calls
! 
! 			$caller[] = "{$call['class']}{$call['type']}{$call['function']}";
! 		} else {
! 			if ( in_array( $call['function'], array( 'do_action', 'apply_filters' ) ) ) {
! 				$caller[] = "{$call['function']}('{$call['args'][0]}')";
! 			} elseif ( in_array( $call['function'], array( 'include', 'include_once', 'require', 'require_once' ) ) ) {
! 				$caller[] = $call['function'] . "('" . str_replace( array( WP_CONTENT_DIR, ABSPATH ) , '', $call['args'][0] ) . "')";
! 			} else {
! 				$caller[] = $call['function'];
! 			}
! 		}
! 	}
! 	if ( $pretty )
! 		return join( ', ', array_reverse( $caller ) );
! 	else
! 		return $caller;
! }
! 
! /**
!  * Retrieve ids that are not already present in the cache
!  *
!  * @since 3.4.0
!  *
!  * @param array $object_ids ID list
!  * @param string $cache_key The cache bucket to check against
!  *
!  * @return array
!  */
! function _get_non_cached_ids( $object_ids, $cache_key ) {
! 	$clean = array();
! 	foreach ( $object_ids as $id ) {
! 		$id = (int) $id;
! 		if ( !wp_cache_get( $id, $cache_key ) ) {
! 			$clean[] = $id;
! 		}
! 	}
! 
! 	return $clean;
! }
! 
! /**
!  * Test if the current device has the capability to upload files.
!  *
!  * @since 3.4.0
!  * @access private
!  *
!  * @return bool true|false
!  */
! function _device_can_upload() {
! 	if ( ! wp_is_mobile() )
! 		return true;
! 
! 	$ua = $_SERVER['HTTP_USER_AGENT'];
! 
! 	if ( strpos($ua, 'iPhone') !== false
! 		|| strpos($ua, 'iPad') !== false
! 		|| strpos($ua, 'iPod') !== false ) {
! 			return false;
! 	} else {
! 		return true;
! 	}
! }
! 
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/functions.wp-scripts.php ./wordpress-3.4/wp-includes/functions.wp-scripts.php
*** ./wordpress-3.3.2/wp-includes/functions.wp-scripts.php	2011-12-08 14:46:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/functions.wp-scripts.php	2012-01-05 14:50:54.000000000 -0600
***************
*** 45,51 ****
   * @param string $handle Script name
   * @param string $src Script url
   * @param array $deps (optional) Array of script names on which this script depends
!  * @param string|bool $ver (optional) Script version (used for cache busting), set to NULL to disable
   * @param bool $in_footer (optional) Whether to enqueue the script before </head> or before </body>
   * @return null
   */
--- 45,51 ----
   * @param string $handle Script name
   * @param string $src Script url
   * @param array $deps (optional) Array of script names on which this script depends
!  * @param string|bool $ver (optional) Script version (used for cache busting), set to null to disable
   * @param bool $in_footer (optional) Whether to enqueue the script before </head> or before </body>
   * @return null
   */
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/functions.wp-styles.php ./wordpress-3.4/wp-includes/functions.wp-styles.php
*** ./wordpress-3.3.2/wp-includes/functions.wp-styles.php	2012-01-02 16:34:31.000000000 -0600
--- ./wordpress-3.4/wp-includes/functions.wp-styles.php	2012-01-05 14:50:54.000000000 -0600
***************
*** 47,53 ****
   * added to the same stylesheet $handle, they will be printed in the order
   * they were added, i.e. the latter added styles can redeclare the previous.
   *
!  * @since 3.3
   * @see WP_Scripts::add_inline_style()
   */
  function wp_add_inline_style( $handle, $data ) {
--- 47,53 ----
   * added to the same stylesheet $handle, they will be printed in the order
   * they were added, i.e. the latter added styles can redeclare the previous.
   *
!  * @since 3.3.0
   * @see WP_Scripts::add_inline_style()
   */
  function wp_add_inline_style( $handle, $data ) {
***************
*** 74,80 ****
   * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
   * @param array $deps Array of handles of any stylesheet that this stylesheet depends on.
   *  (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
!  * @param string|bool $ver String specifying the stylesheet version number. Set to NULL to disable.
   *  Used to ensure that the correct version is sent to the client regardless of caching.
   * @param string $media The media for which this stylesheet has been defined.
   */
--- 74,80 ----
   * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
   * @param array $deps Array of handles of any stylesheet that this stylesheet depends on.
   *  (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
!  * @param string|bool $ver String specifying the stylesheet version number. Set to null to disable.
   *  Used to ensure that the correct version is sent to the client regardless of caching.
   * @param string $media The media for which this stylesheet has been defined.
   */
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/general-template.php ./wordpress-3.4/wp-includes/general-template.php
*** ./wordpress-3.3.2/wp-includes/general-template.php	2011-11-30 22:51:35.000000000 -0600
--- ./wordpress-3.4/wp-includes/general-template.php	2012-06-04 11:04:54.000000000 -0500
***************
*** 1747,1761 ****
   * @return bool
   */
  function user_can_richedit() {
! 	global $wp_rich_edit, $is_gecko, $is_opera, $is_safari, $is_chrome, $is_iphone, $is_IE;
  
  	if ( !isset($wp_rich_edit) ) {
  		$wp_rich_edit = false;
  
! 		if ( get_user_option( 'rich_editing' ) == 'true' || !is_user_logged_in() ) { // default to 'true' for logged out users
  			if ( $is_safari ) {
! 				if ( !$is_iphone || ( preg_match( '!AppleWebKit/(\d+)!', $_SERVER['HTTP_USER_AGENT'], $match ) && intval($match[1]) >= 534 ) )
! 					$wp_rich_edit = true;
  			} elseif ( $is_gecko || $is_opera || $is_chrome || $is_IE ) {
  				$wp_rich_edit = true;
  			}
--- 1746,1759 ----
   * @return bool
   */
  function user_can_richedit() {
! 	global $wp_rich_edit, $is_gecko, $is_opera, $is_safari, $is_chrome, $is_IE;
  
  	if ( !isset($wp_rich_edit) ) {
  		$wp_rich_edit = false;
  
! 		if ( get_user_option( 'rich_editing' ) == 'true' || ! is_user_logged_in() ) { // default to 'true' for logged out users
  			if ( $is_safari ) {
! 				$wp_rich_edit = ! wp_is_mobile() || ( preg_match( '!AppleWebKit/(\d+)!', $_SERVER['HTTP_USER_AGENT'], $match ) && intval( $match[1] ) >= 534 );
  			} elseif ( $is_gecko || $is_opera || $is_chrome || $is_IE ) {
  				$wp_rich_edit = true;
  			}
***************
*** 1797,1803 ****
   * See http://core.trac.wordpress.org/ticket/19173 for more information.
   *
   * @see wp-includes/class-wp-editor.php
!  * @since 3.3
   *
   * @param string $content Initial content for the editor.
   * @param string $editor_id HTML ID attribute value for the textarea and TinyMCE. Can only be /[a-z]+/.
--- 1795,1801 ----
   * See http://core.trac.wordpress.org/ticket/19173 for more information.
   *
   * @see wp-includes/class-wp-editor.php
!  * @since 3.3.0
   *
   * @param string $content Initial content for the editor.
   * @param string $editor_id HTML ID attribute value for the textarea and TinyMCE. Can only be /[a-z]+/.
***************
*** 2037,2043 ****
  	wp_admin_css_color( 'classic', _x( 'Blue', 'admin color scheme' ), admin_url( 'css/colors-classic.css' ),
  		array( '#5589aa', '#cfdfe9', '#d1e5ee', '#eff8ff' ) );
  	wp_admin_css_color( 'fresh', _x( 'Gray', 'admin color scheme' ), admin_url( 'css/colors-fresh.css' ),
! 		array( '#7c7976', '#c6c6c6', '#e0e0e0', '#f1f1f1' ) );
  }
  
  /**
--- 2035,2041 ----
  	wp_admin_css_color( 'classic', _x( 'Blue', 'admin color scheme' ), admin_url( 'css/colors-classic.css' ),
  		array( '#5589aa', '#cfdfe9', '#d1e5ee', '#eff8ff' ) );
  	wp_admin_css_color( 'fresh', _x( 'Gray', 'admin color scheme' ), admin_url( 'css/colors-fresh.css' ),
! 		array( '#555', '#a0a0a0', '#ccc', '#f1f1f1' ) );
  }
  
  /**
***************
*** 2066,2072 ****
   * "Intelligently" decides to enqueue or to print the CSS file. If the
   * 'wp_print_styles' action has *not* yet been called, the CSS file will be
   * enqueued. If the wp_print_styles action *has* been called, the CSS link will
!  * be printed. Printing may be forced by passing TRUE as the $force_echo
   * (second) parameter.
   *
   * For backward compatibility with WordPress 2.3 calling method: If the $file
--- 2064,2070 ----
   * "Intelligently" decides to enqueue or to print the CSS file. If the
   * 'wp_print_styles' action has *not* yet been called, the CSS file will be
   * enqueued. If the wp_print_styles action *has* been called, the CSS link will
!  * be printed. Printing may be forced by passing true as the $force_echo
   * (second) parameter.
   *
   * For backward compatibility with WordPress 2.3 calling method: If the $file
***************
*** 2080,2086 ****
   *
   * @param string $file Optional. Style handle name or file name (without ".css" extension) relative
   * 	 to wp-admin/. Defaults to 'wp-admin'.
!  * @param bool $force_echo Optional.  Force the stylesheet link to be printed rather than enqueued.
   */
  function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
  	global $wp_styles;
--- 2078,2084 ----
   *
   * @param string $file Optional. Style handle name or file name (without ".css" extension) relative
   * 	 to wp-admin/. Defaults to 'wp-admin'.
!  * @param bool $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
   */
  function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
  	global $wp_styles;
***************
*** 2091,2097 ****
  	$handle = 0 === strpos( $file, 'css/' ) ? substr( $file, 4 ) : $file;
  
  	if ( $wp_styles->query( $handle ) ) {
! 		if ( $force_echo || did_action( 'wp_print_styles' ) ) // we already printed the style queue.  Print this one immediately
  			wp_print_styles( $handle );
  		else // Add to style queue
  			wp_enqueue_style( $handle );
--- 2089,2095 ----
  	$handle = 0 === strpos( $file, 'css/' ) ? substr( $file, 4 ) : $file;
  
  	if ( $wp_styles->query( $handle ) ) {
! 		if ( $force_echo || did_action( 'wp_print_styles' ) ) // we already printed the style queue. Print this one immediately
  			wp_print_styles( $handle );
  		else // Add to style queue
  			wp_enqueue_style( $handle );
***************
*** 2099,2105 ****
  	}
  
  	echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( $file ) ) . "' type='text/css' />\n", $file );
! 	if ( is_rtl() )
  		echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( "$file-rtl" ) ) . "' type='text/css' />\n", "$file-rtl" );
  }
  
--- 2097,2103 ----
  	}
  
  	echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( $file ) ) . "' type='text/css' />\n", $file );
! 	if ( function_exists( 'is_rtl' ) && is_rtl() )
  		echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( "$file-rtl" ) ) . "' type='text/css' />\n", "$file-rtl" );
  }
  
***************
*** 2107,2113 ****
   * Enqueues the default ThickBox js and css.
   *
   * If any of the settings need to be changed, this can be done with another js
!  * file similar to media-upload.js and theme-preview.js. That file should
   * require array('thickbox') to ensure it is loaded after.
   *
   * @since 2.5.0
--- 2105,2111 ----
   * Enqueues the default ThickBox js and css.
   *
   * If any of the settings need to be changed, this can be done with another js
!  * file similar to media-upload.js. That file should
   * require array('thickbox') to ensure it is loaded after.
   *
   * @since 2.5.0
***************
*** 2283,2287 ****
  
  	return $result;
  }
- 
- ?>
--- 2281,2283 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/http.php ./wordpress-3.4/wp-includes/http.php
*** ./wordpress-3.3.2/wp-includes/http.php	2011-09-03 11:02:41.000000000 -0500
--- ./wordpress-3.4/wp-includes/http.php	2012-05-15 13:46:03.000000000 -0500
***************
*** 197,203 ****
   * @since 3.2.0
   *
   * @param array  $capabilities Array of capabilities to test or a wp_remote_request() $args array.
!  * @param string $url Optional.  If given, will check if the URL requires SSL and adds that requirement to the capabilities array.
   *
   * @return bool
   */
--- 197,203 ----
   * @since 3.2.0
   *
   * @param array  $capabilities Array of capabilities to test or a wp_remote_request() $args array.
!  * @param string $url Optional. If given, will check if the URL requires SSL and adds that requirement to the capabilities array.
   *
   * @return bool
   */
***************
*** 222,224 ****
--- 222,301 ----
  
  	return (bool) $objFetchSite->_get_first_available_transport( $capabilities );
  }
+ 
+ /**
+  * Get the HTTP Origin of the current request.
+  *
+  * @since 3.4.0
+  *
+  * @return string URL of the origin. Empty string if no origin.
+  */
+ function get_http_origin() {
+ 	$origin = '';
+ 	if ( ! empty ( $_SERVER[ 'HTTP_ORIGIN' ] ) )
+ 		$origin = $_SERVER[ 'HTTP_ORIGIN' ];
+ 
+ 	return apply_filters( 'http_origin', $origin );
+ }
+ 
+ /**
+  * Retrieve list of allowed http origins.
+  *
+  * @since 3.4.0
+  *
+  * @return array Array of origin URLs.
+  */
+ function get_allowed_http_origins() {
+ 	$admin_origin = parse_url( admin_url() );
+ 	$home_origin = parse_url( home_url() );
+ 
+ 	// @todo preserve port?
+ 	$allowed_origins = array_unique( array(
+ 		'http://' . $admin_origin[ 'host' ],
+ 		'https://' . $admin_origin[ 'host' ],
+ 		'http://' . $home_origin[ 'host' ],
+ 		'https://' . $home_origin[ 'host' ],
+ 	) );
+ 
+ 	return apply_filters( 'allowed_http_origins' , $allowed_origins );
+ }
+ 
+ /**
+  * Determines if the http origin is an authorized one.
+  *
+  * @since 3.4.0
+  *
+  * @param string Origin URL. If not provided, the value of get_http_origin() is used.
+  * @return bool True if the origin is allowed. False otherwise.
+  */
+ function is_allowed_http_origin( $origin = null ) {
+ 	$origin_arg = $origin;
+ 
+ 	if ( null === $origin )
+ 		$origin = get_http_origin();
+ 
+ 	if ( $origin && ! in_array( $origin, get_allowed_http_origins() ) )
+ 		$origin = '';
+ 
+ 	return apply_filters( 'allowed_http_origin', $origin, $origin_arg );
+ }
+ 
+ /**
+  * Send Access-Control-Allow-Origin and related headers if the current request
+  * is from an allowed origin.
+  *
+  * @since 3.4.0
+  *
+  * @return bool|string Returns the origin URL if headers are sent. Returns false
+  * if headers are not sent.
+  */
+ function send_origin_headers() {
+ 	$origin = get_http_origin();
+ 	if ( ! is_allowed_http_origin( $origin ) )
+ 		return false;
+ 
+ 	@header( 'Access-Control-Allow-Origin: ' .  $origin );
+ 	@header( 'Access-Control-Allow-Credentials: true' );
+ 
+ 	return $origin;
+ }
\ No newline at end of file
Binary files ./wordpress-3.3.2/wp-includes/images/admin-bar-sprite-2x.png and ./wordpress-3.4/wp-includes/images/admin-bar-sprite-2x.png differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/admin-bar.dev.js ./wordpress-3.4/wp-includes/js/admin-bar.dev.js
*** ./wordpress-3.3.2/wp-includes/js/admin-bar.dev.js	2011-11-30 19:07:43.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/admin-bar.dev.js	2012-02-06 17:17:28.000000000 -0600
***************
*** 59,64 ****
--- 59,72 ----
  			target.siblings('.ab-sub-wrapper').find('.ab-item').each(refresh);
  		});
  
+ 		$('#wpadminbar').click( function(e) {
+ 			if ( e.target.id != 'wpadminbar' && e.target.id != 'wp-admin-bar-top-secondary' )
+ 				return;
+ 
+ 			e.preventDefault();
+ 			$('html, body').animate({ scrollTop: 0 }, 'fast');
+ 		});
+ 
  	});
  } else {
  	(function(d, w) {
***************
*** 178,183 ****
--- 186,225 ----
  				}
  			}
  			return false;
+ 		},
+ 
+ 		scrollToTop = function(t) {
+ 			var distance, speed, step, steps, timer, speed_step;
+ 
+ 			// Ensure that the #wpadminbar was the target of the click.
+ 			if ( t.id != 'wpadminbar' && t.id != 'wp-admin-bar-top-secondary' )
+ 				return;
+ 
+ 			distance    = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
+ 
+ 			if ( distance < 1 )
+ 				return;
+ 
+ 			speed_step = distance > 800 ? 130 : 100;
+ 			speed     = Math.min( 12, Math.round( distance / speed_step ) );
+ 			step      = distance > 800 ? Math.round( distance / 30  ) : Math.round( distance / 20  );
+ 			steps     = [];
+ 			timer     = 0;
+ 
+ 			// Animate scrolling to the top of the page by generating steps to
+ 			// the top of the page and shifting to each step at a set interval.
+ 			while ( distance ) {
+ 				distance -= step;
+ 				if ( distance < 0 )
+ 					distance = 0;
+ 				steps.push( distance );
+ 
+ 				setTimeout( function() {
+ 					window.scrollTo( 0, steps.shift() );
+ 				}, timer * speed );
+ 
+ 				timer++;
+ 			}
  		};
  
  		addEvent(w, 'load', function() {
***************
*** 198,203 ****
--- 240,249 ----
  				});
  
  				addEvent(aB, 'click', clickShortlink );
+ 
+ 				addEvent(aB, 'click', function(e) {
+ 					scrollToTop( e.target || e.srcElement );
+ 				});
  			}
  
  			if ( w.location.hash )
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/admin-bar.js ./wordpress-3.4/wp-includes/js/admin-bar.js
*** ./wordpress-3.3.2/wp-includes/js/admin-bar.js	2011-11-30 19:07:43.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/admin-bar.js	2012-02-06 17:31:17.000000000 -0600
***************
*** 1 ****
! if(typeof(jQuery)!="undefined"){if(typeof(jQuery.fn.hoverIntent)=="undefined"){(function(b){b.fn.hoverIntent=function(p,r){var g={sensitivity:7,interval:100,timeout:0};g=b.extend(g,r?{over:p,out:r}:p);var a,f,t,v;var u=function(c){a=c.pageX;f=c.pageY};var w=function(c,d){d.hoverIntent_t=clearTimeout(d.hoverIntent_t);if((Math.abs(t-a)+Math.abs(v-f))<g.sensitivity){b(d).unbind("mousemove",u);d.hoverIntent_s=1;return g.over.apply(d,[c])}else{t=a;v=f;d.hoverIntent_t=setTimeout(function(){w(c,d)},g.interval)}};var s=function(c,d){d.hoverIntent_t=clearTimeout(d.hoverIntent_t);d.hoverIntent_s=0;return g.out.apply(d,[c])};var x=function(e){var d=this;var c=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(c&&c!=this){try{c=c.parentNode}catch(e){c=this}}if(c==this){if(b.browser.mozilla){if(e.type=="mouseout"){d.mtout=setTimeout(function(){q(e,d)},30)}else{if(d.mtout){d.mtout=clearTimeout(d.mtout)}}}return}else{if(d.mtout){d.mtout=clearTimeout(d.mtout)}q(e,d)}};var q=function(e,d){var c=jQuery.extend({},e);if(d.hoverIntent_t){d.hoverIntent_t=clearTimeout(d.hoverIntent_t)}if(e.type=="mouseover"){t=c.pageX;v=c.pageY;b(d).bind("mousemove",u);if(d.hoverIntent_s!=1){d.hoverIntent_t=setTimeout(function(){w(c,d)},g.interval)}}else{b(d).unbind("mousemove",u);if(d.hoverIntent_s==1){d.hoverIntent_t=setTimeout(function(){s(c,d)},g.timeout)}}};return this.mouseover(x).mouseout(x)}})(jQuery)}jQuery(document).ready(function(b){var a=function(c,e){var f=b(e),d=f.attr("tabindex");if(d){f.attr("tabindex","0").attr("tabindex",d)}};b("#wpadminbar").removeClass("nojq").removeClass("nojs").find("li.menupop").hoverIntent({over:function(c){b(this).addClass("hover")},out:function(c){b(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100});b("#wp-admin-bar-get-shortlink").click(function(c){c.preventDefault();b(this).addClass("selected").children(".shortlink-input").blur(function(){b(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()});b("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(f){if(f.which!=13){return}var d=b(f.target),c=d.closest("ab-sub-wrapper");f.stopPropagation();f.preventDefault();if(!c.length){c=b("#wpadminbar .quicklinks")}c.find(".menupop").removeClass("hover");d.parent().toggleClass("hover");d.siblings(".ab-sub-wrapper").find(".ab-item").each(a)}).each(a);b("#wpadminbar .ab-item").bind("keydown.adminbar",function(d){if(d.which!=27){return}var c=b(d.target);d.stopPropagation();d.preventDefault();c.closest(".hover").removeClass("hover").children(".ab-item").focus();c.siblings(".ab-sub-wrapper").find(".ab-item").each(a)})})}else{(function(i,k){var c=function(n,m,d){if(n.addEventListener){n.addEventListener(m,d,false)}else{if(n.attachEvent){n.attachEvent("on"+m,function(){return d.call(n,window.event)})}}},e,f=new RegExp("\\bhover\\b","g"),a=[],j=new RegExp("\\bselected\\b","g"),g=function(m){var d=a.length;while(d--){if(a[d]&&m==a[d][1]){return a[d][0]}}return false},h=function(s){var n,d,q,m,p,r,u=[],o=0;while(s&&s!=e&&s!=i){if("LI"==s.nodeName.toUpperCase()){u[u.length]=s;d=g(s);if(d){clearTimeout(d)}s.className=s.className?(s.className.replace(f,"")+" hover"):"hover";m=s}s=s.parentNode}if(m&&m.parentNode){p=m.parentNode;if(p&&"UL"==p.nodeName.toUpperCase()){n=p.childNodes.length;while(n--){r=p.childNodes[n];if(r!=m){r.className=r.className?r.className.replace(j,""):""}}}}n=a.length;while(n--){q=false;o=u.length;while(o--){if(u[o]==a[n][1]){q=true}}if(!q){a[n][1].className=a[n][1].className?a[n][1].className.replace(f,""):""}}},l=function(d){while(d&&d!=e&&d!=i){if("LI"==d.nodeName.toUpperCase()){(function(m){var n=setTimeout(function(){m.className=m.className?m.className.replace(f,""):""},500);a[a.length]=[n,m]})(d)}d=d.parentNode}},b=function(p){var n,d,o,m=p.target||p.srcElement;while(true){if(!m||m==i||m==e){return}if(m.id&&m.id=="wp-admin-bar-get-shortlink"){break}m=m.parentNode}if(p.preventDefault){p.preventDefault()}p.returnValue=false;if(-1==m.className.indexOf("selected")){m.className+=" selected"}for(n=0,d=m.childNodes.length;n<d;n++){o=m.childNodes[n];if(o.className&&-1!=o.className.indexOf("shortlink-input")){o.focus();o.select();o.onblur=function(){m.className=m.className?m.className.replace(j,""):""};break}}return false};c(k,"load",function(){e=i.getElementById("wpadminbar");if(i.body&&e){i.body.appendChild(e);if(e.className){e.className=e.className.replace(/nojs/,"")}c(e,"mouseover",function(d){h(d.target||d.srcElement)});c(e,"mouseout",function(d){l(d.target||d.srcElement)});c(e,"click",b)}if(k.location.hash){k.scrollBy(0,-32)}})})(document,window)};
\ No newline at end of file
--- 1 ----
! if(typeof(jQuery)!="undefined"){if(typeof(jQuery.fn.hoverIntent)=="undefined"){(function(b){b.fn.hoverIntent=function(p,r){var g={sensitivity:7,interval:100,timeout:0};g=b.extend(g,r?{over:p,out:r}:p);var a,f,t,v;var u=function(c){a=c.pageX;f=c.pageY};var w=function(c,d){d.hoverIntent_t=clearTimeout(d.hoverIntent_t);if((Math.abs(t-a)+Math.abs(v-f))<g.sensitivity){b(d).unbind("mousemove",u);d.hoverIntent_s=1;return g.over.apply(d,[c])}else{t=a;v=f;d.hoverIntent_t=setTimeout(function(){w(c,d)},g.interval)}};var s=function(c,d){d.hoverIntent_t=clearTimeout(d.hoverIntent_t);d.hoverIntent_s=0;return g.out.apply(d,[c])};var x=function(e){var d=this;var c=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(c&&c!=this){try{c=c.parentNode}catch(e){c=this}}if(c==this){if(b.browser.mozilla){if(e.type=="mouseout"){d.mtout=setTimeout(function(){q(e,d)},30)}else{if(d.mtout){d.mtout=clearTimeout(d.mtout)}}}return}else{if(d.mtout){d.mtout=clearTimeout(d.mtout)}q(e,d)}};var q=function(e,d){var c=jQuery.extend({},e);if(d.hoverIntent_t){d.hoverIntent_t=clearTimeout(d.hoverIntent_t)}if(e.type=="mouseover"){t=c.pageX;v=c.pageY;b(d).bind("mousemove",u);if(d.hoverIntent_s!=1){d.hoverIntent_t=setTimeout(function(){w(c,d)},g.interval)}}else{b(d).unbind("mousemove",u);if(d.hoverIntent_s==1){d.hoverIntent_t=setTimeout(function(){s(c,d)},g.timeout)}}};return this.mouseover(x).mouseout(x)}})(jQuery)}jQuery(document).ready(function(b){var a=function(c,e){var f=b(e),d=f.attr("tabindex");if(d){f.attr("tabindex","0").attr("tabindex",d)}};b("#wpadminbar").removeClass("nojq").removeClass("nojs").find("li.menupop").hoverIntent({over:function(c){b(this).addClass("hover")},out:function(c){b(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100});b("#wp-admin-bar-get-shortlink").click(function(c){c.preventDefault();b(this).addClass("selected").children(".shortlink-input").blur(function(){b(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()});b("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(f){if(f.which!=13){return}var d=b(f.target),c=d.closest("ab-sub-wrapper");f.stopPropagation();f.preventDefault();if(!c.length){c=b("#wpadminbar .quicklinks")}c.find(".menupop").removeClass("hover");d.parent().toggleClass("hover");d.siblings(".ab-sub-wrapper").find(".ab-item").each(a)}).each(a);b("#wpadminbar .ab-item").bind("keydown.adminbar",function(d){if(d.which!=27){return}var c=b(d.target);d.stopPropagation();d.preventDefault();c.closest(".hover").removeClass("hover").children(".ab-item").focus();c.siblings(".ab-sub-wrapper").find(".ab-item").each(a)});b("#wpadminbar").click(function(c){if(c.target.id!="wpadminbar"&&c.target.id!="wp-admin-bar-top-secondary"){return}c.preventDefault();b("html, body").animate({scrollTop:0},"fast")})})}else{(function(j,l){var e=function(o,n,d){if(o.addEventListener){o.addEventListener(n,d,false)}else{if(o.attachEvent){o.attachEvent("on"+n,function(){return d.call(o,window.event)})}}},f,g=new RegExp("\\bhover\\b","g"),b=[],k=new RegExp("\\bselected\\b","g"),h=function(n){var d=b.length;while(d--){if(b[d]&&n==b[d][1]){return b[d][0]}}return false},i=function(u){var o,d,r,n,q,s,v=[],p=0;while(u&&u!=f&&u!=j){if("LI"==u.nodeName.toUpperCase()){v[v.length]=u;d=h(u);if(d){clearTimeout(d)}u.className=u.className?(u.className.replace(g,"")+" hover"):"hover";n=u}u=u.parentNode}if(n&&n.parentNode){q=n.parentNode;if(q&&"UL"==q.nodeName.toUpperCase()){o=q.childNodes.length;while(o--){s=q.childNodes[o];if(s!=n){s.className=s.className?s.className.replace(k,""):""}}}}o=b.length;while(o--){r=false;p=v.length;while(p--){if(v[p]==b[o][1]){r=true}}if(!r){b[o][1].className=b[o][1].className?b[o][1].className.replace(g,""):""}}},m=function(d){while(d&&d!=f&&d!=j){if("LI"==d.nodeName.toUpperCase()){(function(n){var o=setTimeout(function(){n.className=n.className?n.className.replace(g,""):""},500);b[b.length]=[o,n]})(d)}d=d.parentNode}},c=function(q){var o,d,p,n=q.target||q.srcElement;while(true){if(!n||n==j||n==f){return}if(n.id&&n.id=="wp-admin-bar-get-shortlink"){break}n=n.parentNode}if(q.preventDefault){q.preventDefault()}q.returnValue=false;if(-1==n.className.indexOf("selected")){n.className+=" selected"}for(o=0,d=n.childNodes.length;o<d;o++){p=n.childNodes[o];if(p.className&&-1!=p.className.indexOf("shortlink-input")){p.focus();p.select();p.onblur=function(){n.className=n.className?n.className.replace(k,""):""};break}}return false},a=function(n){var s,q,p,d,r,o;if(n.id!="wpadminbar"&&n.id!="wp-admin-bar-top-secondary"){return}s=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;if(s<1){return}o=s>800?130:100;q=Math.min(12,Math.round(s/o));p=s>800?Math.round(s/30):Math.round(s/20);d=[];r=0;while(s){s-=p;if(s<0){s=0}d.push(s);setTimeout(function(){window.scrollTo(0,d.shift())},r*q);r++}};e(l,"load",function(){f=j.getElementById("wpadminbar");if(j.body&&f){j.body.appendChild(f);if(f.className){f.className=f.className.replace(/nojs/,"")}e(f,"mouseover",function(d){i(d.target||d.srcElement)});e(f,"mouseout",function(d){m(d.target||d.srcElement)});e(f,"click",c);e(f,"click",function(d){a(d.target||d.srcElement)})}if(l.location.hash){l.scrollBy(0,-32)}})})(document,window)};
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/autosave.dev.js ./wordpress-3.4/wp-includes/js/autosave.dev.js
*** ./wordpress-3.3.2/wp-includes/js/autosave.dev.js	2011-11-29 12:06:56.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/autosave.dev.js	2011-12-13 17:45:31.000000000 -0600
***************
*** 229,235 ****
  
  function autosave_disable_buttons() {
  	jQuery(':button, :submit', '#submitpost').prop('disabled', true);
! 	// Re-enable 5 sec later.  Just gives autosave a head start to avoid collisions.
  	setTimeout(autosave_enable_buttons, 5000);
  }
  
--- 229,235 ----
  
  function autosave_disable_buttons() {
  	jQuery(':button, :submit', '#submitpost').prop('disabled', true);
! 	// Re-enable 5 sec later. Just gives autosave a head start to avoid collisions.
  	setTimeout(autosave_enable_buttons, 5000);
  }
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/customize-base.dev.js ./wordpress-3.4/wp-includes/js/customize-base.dev.js
*** ./wordpress-3.3.2/wp-includes/js/customize-base.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/customize-base.dev.js	2012-06-08 17:59:48.000000000 -0500
***************
*** 0 ****
--- 1,586 ----
+ if ( typeof wp === 'undefined' )
+ 	var wp = {};
+ 
+ (function( exports, $ ){
+ 	var api, extend, ctor, inherits,
+ 		slice = Array.prototype.slice;
+ 
+ 	/* =====================================================================
+ 	 * Micro-inheritance - thank you, backbone.js.
+ 	 * ===================================================================== */
+ 
+ 	extend = function( protoProps, classProps ) {
+ 		var child = inherits( this, protoProps, classProps );
+ 		child.extend = this.extend;
+ 		return child;
+ 	};
+ 
+ 	// Shared empty constructor function to aid in prototype-chain creation.
+ 	ctor = function() {};
+ 
+ 	// Helper function to correctly set up the prototype chain, for subclasses.
+ 	// Similar to `goog.inherits`, but uses a hash of prototype properties and
+ 	// class properties to be extended.
+ 	inherits = function( parent, protoProps, staticProps ) {
+ 		var child;
+ 
+ 		// The constructor function for the new subclass is either defined by you
+ 		// (the "constructor" property in your `extend` definition), or defaulted
+ 		// by us to simply call `super()`.
+ 		if ( protoProps && protoProps.hasOwnProperty( 'constructor' ) ) {
+ 			child = protoProps.constructor;
+ 		} else {
+ 			child = function() {
+ 				// Storing the result `super()` before returning the value
+ 				// prevents a bug in Opera where, if the constructor returns
+ 				// a function, Opera will reject the return value in favor of
+ 				// the original object. This causes all sorts of trouble.
+ 				var result = parent.apply( this, arguments );
+ 				return result;
+ 			};
+ 		}
+ 
+ 		// Inherit class (static) properties from parent.
+ 		$.extend( child, parent );
+ 
+ 		// Set the prototype chain to inherit from `parent`, without calling
+ 		// `parent`'s constructor function.
+ 		ctor.prototype  = parent.prototype;
+ 		child.prototype = new ctor();
+ 
+ 		// Add prototype properties (instance properties) to the subclass,
+ 		// if supplied.
+ 		if ( protoProps )
+ 			$.extend( child.prototype, protoProps );
+ 
+ 		// Add static properties to the constructor function, if supplied.
+ 		if ( staticProps )
+ 			$.extend( child, staticProps );
+ 
+ 		// Correctly set child's `prototype.constructor`.
+ 		child.prototype.constructor = child;
+ 
+ 		// Set a convenience property in case the parent's prototype is needed later.
+ 		child.__super__ = parent.prototype;
+ 
+ 		return child;
+ 	};
+ 
+ 	api = {};
+ 
+ 	/* =====================================================================
+ 	 * Base class.
+ 	 * ===================================================================== */
+ 
+ 	api.Class = function( applicator, argsArray, options ) {
+ 		var magic, args = arguments;
+ 
+ 		if ( applicator && argsArray && api.Class.applicator === applicator ) {
+ 			args = argsArray;
+ 			$.extend( this, options || {} );
+ 		}
+ 
+ 		magic = this;
+ 		if ( this.instance ) {
+ 			magic = function() {
+ 				return magic.instance.apply( magic, arguments );
+ 			};
+ 
+ 			$.extend( magic, this );
+ 		}
+ 
+ 		magic.initialize.apply( magic, args );
+ 		return magic;
+ 	};
+ 
+ 	api.Class.applicator = {};
+ 
+ 	api.Class.prototype.initialize = function() {};
+ 
+ 	/*
+ 	 * Checks whether a given instance extended a constructor.
+ 	 *
+ 	 * The magic surrounding the instance parameter causes the instanceof
+ 	 * keyword to return inaccurate results; it defaults to the function's
+ 	 * prototype instead of the constructor chain. Hence this function.
+ 	 */
+ 	api.Class.prototype.extended = function( constructor ) {
+ 		var proto = this;
+ 
+ 		while ( typeof proto.constructor !== 'undefined' ) {
+ 			if ( proto.constructor === constructor )
+ 				return true;
+ 			if ( typeof proto.constructor.__super__ === 'undefined' )
+ 				return false;
+ 			proto = proto.constructor.__super__;
+ 		}
+ 		return false;
+ 	};
+ 
+ 	api.Class.extend = extend;
+ 
+ 	/* =====================================================================
+ 	 * Events mixin.
+ 	 * ===================================================================== */
+ 
+ 	api.Events = {
+ 		trigger: function( id ) {
+ 			if ( this.topics && this.topics[ id ] )
+ 				this.topics[ id ].fireWith( this, slice.call( arguments, 1 ) );
+ 			return this;
+ 		},
+ 
+ 		bind: function( id, callback ) {
+ 			this.topics = this.topics || {};
+ 			this.topics[ id ] = this.topics[ id ] || $.Callbacks();
+ 			this.topics[ id ].add.apply( this.topics[ id ], slice.call( arguments, 1 ) );
+ 			return this;
+ 		},
+ 
+ 		unbind: function( id, callback ) {
+ 			if ( this.topics && this.topics[ id ] )
+ 				this.topics[ id ].remove.apply( this.topics[ id ], slice.call( arguments, 1 ) );
+ 			return this;
+ 		}
+ 	};
+ 
+ 	/* =====================================================================
+ 	 * Observable values that support two-way binding.
+ 	 * ===================================================================== */
+ 
+ 	api.Value = api.Class.extend({
+ 		initialize: function( initial, options ) {
+ 			this._value = initial; // @todo: potentially change this to a this.set() call.
+ 			this.callbacks = $.Callbacks();
+ 
+ 			$.extend( this, options || {} );
+ 
+ 			this.set = $.proxy( this.set, this );
+ 		},
+ 
+ 		/*
+ 		 * Magic. Returns a function that will become the instance.
+ 		 * Set to null to prevent the instance from extending a function.
+ 		 */
+ 		instance: function() {
+ 			return arguments.length ? this.set.apply( this, arguments ) : this.get();
+ 		},
+ 
+ 		get: function() {
+ 			return this._value;
+ 		},
+ 
+ 		set: function( to ) {
+ 			var from = this._value;
+ 
+ 			to = this._setter.apply( this, arguments );
+ 			to = this.validate( to );
+ 
+ 			// Bail if the sanitized value is null or unchanged.
+ 			if ( null === to || this._value === to )
+ 				return this;
+ 
+ 			this._value = to;
+ 
+ 			this.callbacks.fireWith( this, [ to, from ] );
+ 
+ 			return this;
+ 		},
+ 
+ 		_setter: function( to ) {
+ 			return to;
+ 		},
+ 
+ 		setter: function( callback ) {
+ 			var from = this.get();
+ 			this._setter = callback;
+ 			// Temporarily clear value so setter can decide if it's valid.
+ 			this._value = null;
+ 			this.set( from );
+ 			return this;
+ 		},
+ 
+ 		resetSetter: function() {
+ 			this._setter = this.constructor.prototype._setter;
+ 			this.set( this.get() );
+ 			return this;
+ 		},
+ 
+ 		validate: function( value ) {
+ 			return value;
+ 		},
+ 
+ 		bind: function( callback ) {
+ 			this.callbacks.add.apply( this.callbacks, arguments );
+ 			return this;
+ 		},
+ 
+ 		unbind: function( callback ) {
+ 			this.callbacks.remove.apply( this.callbacks, arguments );
+ 			return this;
+ 		},
+ 
+ 		link: function() { // values*
+ 			var set = this.set;
+ 			$.each( arguments, function() {
+ 				this.bind( set );
+ 			});
+ 			return this;
+ 		},
+ 
+ 		unlink: function() { // values*
+ 			var set = this.set;
+ 			$.each( arguments, function() {
+ 				this.unbind( set );
+ 			});
+ 			return this;
+ 		},
+ 
+ 		sync: function() { // values*
+ 			var that = this;
+ 			$.each( arguments, function() {
+ 				that.link( this );
+ 				this.link( that );
+ 			});
+ 			return this;
+ 		},
+ 
+ 		unsync: function() { // values*
+ 			var that = this;
+ 			$.each( arguments, function() {
+ 				that.unlink( this );
+ 				this.unlink( that );
+ 			});
+ 			return this;
+ 		}
+ 	});
+ 
+ 	/* =====================================================================
+ 	 * A collection of observable values.
+ 	 * ===================================================================== */
+ 
+ 	api.Values = api.Class.extend({
+ 		defaultConstructor: api.Value,
+ 
+ 		initialize: function( options ) {
+ 			$.extend( this, options || {} );
+ 
+ 			this._value = {};
+ 			this._deferreds = {};
+ 		},
+ 
+ 		instance: function( id ) {
+ 			if ( arguments.length === 1 )
+ 				return this.value( id );
+ 
+ 			return this.when.apply( this, arguments );
+ 		},
+ 
+ 		value: function( id ) {
+ 			return this._value[ id ];
+ 		},
+ 
+ 		has: function( id ) {
+ 			return typeof this._value[ id ] !== 'undefined';
+ 		},
+ 
+ 		add: function( id, value ) {
+ 			if ( this.has( id ) )
+ 				return this.value( id );
+ 
+ 			this._value[ id ] = value;
+ 			value.parent = this;
+ 			if ( value.extended( api.Value ) )
+ 				value.bind( this._change );
+ 
+ 			this.trigger( 'add', value );
+ 
+ 			if ( this._deferreds[ id ] )
+ 				this._deferreds[ id ].resolve();
+ 
+ 			return this._value[ id ];
+ 		},
+ 
+ 		create: function( id ) {
+ 			return this.add( id, new this.defaultConstructor( api.Class.applicator, slice.call( arguments, 1 ) ) );
+ 		},
+ 
+ 		each: function( callback, context ) {
+ 			context = typeof context === 'undefined' ? this : context;
+ 
+ 			$.each( this._value, function( key, obj ) {
+ 				callback.call( context, obj, key );
+ 			});
+ 		},
+ 
+ 		remove: function( id ) {
+ 			var value;
+ 
+ 			if ( this.has( id ) ) {
+ 				value = this.value( id );
+ 				this.trigger( 'remove', value );
+ 				if ( value.extended( api.Value ) )
+ 					value.unbind( this._change );
+ 				delete value.parent;
+ 			}
+ 
+ 			delete this._value[ id ];
+ 			delete this._deferreds[ id ];
+ 		},
+ 
+ 		/**
+ 		 * Runs a callback once all requested values exist.
+ 		 *
+ 		 * when( ids*, [callback] );
+ 		 *
+ 		 * For example:
+ 		 *     when( id1, id2, id3, function( value1, value2, value3 ) {} );
+ 		 *
+ 		 * @returns $.Deferred.promise();
+ 		 */
+ 		when: function() {
+ 			var self = this,
+ 				ids  = slice.call( arguments ),
+ 				dfd  = $.Deferred();
+ 
+ 			// If the last argument is a callback, bind it to .done()
+ 			if ( $.isFunction( ids[ ids.length - 1 ] ) )
+ 				dfd.done( ids.pop() );
+ 
+ 			$.when.apply( $, $.map( ids, function( id ) {
+ 				if ( self.has( id ) )
+ 					return;
+ 
+ 				return self._deferreds[ id ] = self._deferreds[ id ] || $.Deferred();
+ 			})).done( function() {
+ 				var values = $.map( ids, function( id ) {
+ 						return self( id );
+ 					});
+ 
+ 				// If a value is missing, we've used at least one expired deferred.
+ 				// Call Values.when again to generate a new deferred.
+ 				if ( values.length !== ids.length ) {
+ 					// ids.push( callback );
+ 					self.when.apply( self, ids ).done( function() {
+ 						dfd.resolveWith( self, values );
+ 					});
+ 					return;
+ 				}
+ 
+ 				dfd.resolveWith( self, values );
+ 			});
+ 
+ 			return dfd.promise();
+ 		},
+ 
+ 		_change: function() {
+ 			this.parent.trigger( 'change', this );
+ 		}
+ 	});
+ 
+ 	$.extend( api.Values.prototype, api.Events );
+ 
+ 	/* =====================================================================
+ 	 * An observable value that syncs with an element.
+ 	 *
+ 	 * Handles inputs, selects, and textareas by default.
+ 	 * ===================================================================== */
+ 
+ 	api.ensure = function( element ) {
+ 		return typeof element == 'string' ? $( element ) : element;
+ 	};
+ 
+ 	api.Element = api.Value.extend({
+ 		initialize: function( element, options ) {
+ 			var self = this,
+ 				synchronizer = api.Element.synchronizer.html,
+ 				type, update, refresh;
+ 
+ 			this.element = api.ensure( element );
+ 			this.events = '';
+ 
+ 			if ( this.element.is('input, select, textarea') ) {
+ 				this.events += 'change';
+ 				synchronizer = api.Element.synchronizer.val;
+ 
+ 				if ( this.element.is('input') ) {
+ 					type = this.element.prop('type');
+ 					if ( api.Element.synchronizer[ type ] )
+ 						synchronizer = api.Element.synchronizer[ type ];
+ 					if ( 'text' === type || 'password' === type )
+ 						this.events += ' keyup';
+ 				} else if ( this.element.is('textarea') ) {
+ 					this.events += ' keyup';
+ 				}
+ 			}
+ 
+ 			api.Value.prototype.initialize.call( this, null, $.extend( options || {}, synchronizer ) );
+ 			this._value = this.get();
+ 
+ 			update  = this.update;
+ 			refresh = this.refresh;
+ 
+ 			this.update = function( to ) {
+ 				if ( to !== refresh.call( self ) )
+ 					update.apply( this, arguments );
+ 			};
+ 			this.refresh = function() {
+ 				self.set( refresh.call( self ) );
+ 			};
+ 
+ 			this.bind( this.update );
+ 			this.element.bind( this.events, this.refresh );
+ 		},
+ 
+ 		find: function( selector ) {
+ 			return $( selector, this.element );
+ 		},
+ 
+ 		refresh: function() {},
+ 
+ 		update: function() {}
+ 	});
+ 
+ 	api.Element.synchronizer = {};
+ 
+ 	$.each( [ 'html', 'val' ], function( i, method ) {
+ 		api.Element.synchronizer[ method ] = {
+ 			update: function( to ) {
+ 				this.element[ method ]( to );
+ 			},
+ 			refresh: function() {
+ 				return this.element[ method ]();
+ 			}
+ 		};
+ 	});
+ 
+ 	api.Element.synchronizer.checkbox = {
+ 		update: function( to ) {
+ 			this.element.prop( 'checked', to );
+ 		},
+ 		refresh: function() {
+ 			return this.element.prop( 'checked' );
+ 		}
+ 	};
+ 
+ 	api.Element.synchronizer.radio = {
+ 		update: function( to ) {
+ 			this.element.filter( function() {
+ 				return this.value === to;
+ 			}).prop( 'checked', true );
+ 		},
+ 		refresh: function() {
+ 			return this.element.filter( ':checked' ).val();
+ 		}
+ 	};
+ 
+ 	/* =====================================================================
+ 	 * Messenger for postMessage.
+ 	 * ===================================================================== */
+ 
+ 	$.support.postMessage = !! window.postMessage;
+ 
+ 	api.Messenger = api.Class.extend({
+ 		add: function( key, initial, options ) {
+ 			return this[ key ] = new api.Value( initial, options );
+ 		},
+ 
+ 		/**
+ 		 * Initialize Messenger.
+ 		 *
+ 		 * @param  {object} params        Parameters to configure the messenger.
+ 		 *         {string} .url          The URL to communicate with.
+ 		 *         {window} .targetWindow The window instance to communicate with. Default window.parent.
+ 		 *         {string} .channel      If provided, will send the channel with each message and only accept messages a matching channel.
+ 		 * @param  {object} options       Extend any instance parameter or method with this object.
+ 		 */
+ 		initialize: function( params, options ) {
+ 			// Target the parent frame by default, but only if a parent frame exists.
+ 			var defaultTarget = window.parent == window ? null : window.parent;
+ 
+ 			$.extend( this, options || {} );
+ 
+ 			this.add( 'channel', params.channel );
+ 			this.add( 'url', params.url || '' );
+ 			this.add( 'targetWindow', params.targetWindow || defaultTarget );
+ 			this.add( 'origin', this.url() ).link( this.url ).setter( function( to ) {
+ 				return to.replace( /([^:]+:\/\/[^\/]+).*/, '$1' );
+ 			});
+ 
+ 			// Since we want jQuery to treat the receive function as unique
+ 			// to this instance, we give the function a new guid.
+ 			//
+ 			// This will prevent every Messenger's receive function from being
+ 			// unbound when calling $.off( 'message', this.receive );
+ 			this.receive = $.proxy( this.receive, this );
+ 			this.receive.guid = $.guid++;
+ 
+ 			$( window ).on( 'message', this.receive );
+ 		},
+ 
+ 		destroy: function() {
+ 			$( window ).off( 'message', this.receive );
+ 		},
+ 
+ 		receive: function( event ) {
+ 			var message;
+ 
+ 			event = event.originalEvent;
+ 
+ 			if ( ! this.targetWindow() )
+ 				return;
+ 
+ 			// Check to make sure the origin is valid.
+ 			if ( this.origin() && event.origin !== this.origin() )
+ 				return;
+ 
+ 			message = JSON.parse( event.data );
+ 
+ 			// Check required message properties.
+ 			if ( ! message || ! message.id || typeof message.data === 'undefined' )
+ 				return;
+ 
+ 			// Check if channel names match.
+ 			if ( ( message.channel || this.channel() ) && this.channel() !== message.channel )
+ 				return;
+ 
+ 			this.trigger( message.id, message.data );
+ 		},
+ 
+ 		send: function( id, data ) {
+ 			var message;
+ 
+ 			data = typeof data === 'undefined' ? null : data;
+ 
+ 			if ( ! this.url() || ! this.targetWindow() )
+ 				return;
+ 
+ 			message = { id: id, data: data };
+ 			if ( this.channel() )
+ 				message.channel = this.channel();
+ 
+ 			this.targetWindow().postMessage( JSON.stringify( message ), this.origin() );
+ 		}
+ 	});
+ 
+ 	// Add the Events mixin to api.Messenger.
+ 	$.extend( api.Messenger.prototype, api.Events );
+ 
+ 	/* =====================================================================
+ 	 * Core customize object.
+ 	 * ===================================================================== */
+ 
+ 	api = $.extend( new api.Values(), api );
+ 	api.get = function() {
+ 		var result = {};
+ 
+ 		this.each( function( obj, key ) {
+ 			result[ key ] = obj.get();
+ 		});
+ 
+ 		return result;
+ 	};
+ 
+ 	// Expose the API to the world.
+ 	exports.customize = api;
+ })( wp, jQuery );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/customize-base.js ./wordpress-3.4/wp-includes/js/customize-base.js
*** ./wordpress-3.3.2/wp-includes/js/customize-base.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/customize-base.js	2012-06-08 18:02:40.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ if(typeof wp==="undefined"){var wp={}}(function(a,d){var b,g,c,f,e=Array.prototype.slice;g=function(h,i){var j=f(this,h,i);j.extend=this.extend;return j};c=function(){};f=function(i,h,j){var k;if(h&&h.hasOwnProperty("constructor")){k=h.constructor}else{k=function(){var l=i.apply(this,arguments);return l}}d.extend(k,i);c.prototype=i.prototype;k.prototype=new c();if(h){d.extend(k.prototype,h)}if(j){d.extend(k,j)}k.prototype.constructor=k;k.__super__=i.prototype;return k};b={};b.Class=function(l,k,i){var j,h=arguments;if(l&&k&&b.Class.applicator===l){h=k;d.extend(this,i||{})}j=this;if(this.instance){j=function(){return j.instance.apply(j,arguments)};d.extend(j,this)}j.initialize.apply(j,h);return j};b.Class.applicator={};b.Class.prototype.initialize=function(){};b.Class.prototype.extended=function(h){var i=this;while(typeof i.constructor!=="undefined"){if(i.constructor===h){return true}if(typeof i.constructor.__super__==="undefined"){return false}i=i.constructor.__super__}return false};b.Class.extend=g;b.Events={trigger:function(h){if(this.topics&&this.topics[h]){this.topics[h].fireWith(this,e.call(arguments,1))}return this},bind:function(i,h){this.topics=this.topics||{};this.topics[i]=this.topics[i]||d.Callbacks();this.topics[i].add.apply(this.topics[i],e.call(arguments,1));return this},unbind:function(i,h){if(this.topics&&this.topics[i]){this.topics[i].remove.apply(this.topics[i],e.call(arguments,1))}return this}};b.Value=b.Class.extend({initialize:function(i,h){this._value=i;this.callbacks=d.Callbacks();d.extend(this,h||{});this.set=d.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(i){var h=this._value;i=this._setter.apply(this,arguments);i=this.validate(i);if(null===i||this._value===i){return this}this._value=i;this.callbacks.fireWith(this,[i,h]);return this},_setter:function(h){return h},setter:function(i){var h=this.get();this._setter=i;this._value=null;this.set(h);return this},resetSetter:function(){this._setter=this.constructor.prototype._setter;this.set(this.get());return this},validate:function(h){return h},bind:function(h){this.callbacks.add.apply(this.callbacks,arguments);return this},unbind:function(h){this.callbacks.remove.apply(this.callbacks,arguments);return this},link:function(){var h=this.set;d.each(arguments,function(){this.bind(h)});return this},unlink:function(){var h=this.set;d.each(arguments,function(){this.unbind(h)});return this},sync:function(){var h=this;d.each(arguments,function(){h.link(this);this.link(h)});return this},unsync:function(){var h=this;d.each(arguments,function(){h.unlink(this);this.unlink(h)});return this}});b.Values=b.Class.extend({defaultConstructor:b.Value,initialize:function(h){d.extend(this,h||{});this._value={};this._deferreds={}},instance:function(h){if(arguments.length===1){return this.value(h)}return this.when.apply(this,arguments)},value:function(h){return this._value[h]},has:function(h){return typeof this._value[h]!=="undefined"},add:function(i,h){if(this.has(i)){return this.value(i)}this._value[i]=h;h.parent=this;if(h.extended(b.Value)){h.bind(this._change)}this.trigger("add",h);if(this._deferreds[i]){this._deferreds[i].resolve()}return this._value[i]},create:function(h){return this.add(h,new this.defaultConstructor(b.Class.applicator,e.call(arguments,1)))},each:function(i,h){h=typeof h==="undefined"?this:h;d.each(this._value,function(j,k){i.call(h,k,j)})},remove:function(i){var h;if(this.has(i)){h=this.value(i);this.trigger("remove",h);if(h.extended(b.Value)){h.unbind(this._change)}delete h.parent}delete this._value[i];delete this._deferreds[i]},when:function(){var i=this,j=e.call(arguments),h=d.Deferred();if(d.isFunction(j[j.length-1])){h.done(j.pop())}d.when.apply(d,d.map(j,function(k){if(i.has(k)){return}return i._deferreds[k]=i._deferreds[k]||d.Deferred()})).done(function(){var k=d.map(j,function(l){return i(l)});if(k.length!==j.length){i.when.apply(i,j).done(function(){h.resolveWith(i,k)});return}h.resolveWith(i,k)});return h.promise()},_change:function(){this.parent.trigger("change",this)}});d.extend(b.Values.prototype,b.Events);b.ensure=function(h){return typeof h=="string"?d(h):h};b.Element=b.Value.extend({initialize:function(j,i){var h=this,m=b.Element.synchronizer.html,l,n,k;this.element=b.ensure(j);this.events="";if(this.element.is("input, select, textarea")){this.events+="change";m=b.Element.synchronizer.val;if(this.element.is("input")){l=this.element.prop("type");if(b.Element.synchronizer[l]){m=b.Element.synchronizer[l]}if("text"===l||"password"===l){this.events+=" keyup"}}else{if(this.element.is("textarea")){this.events+=" keyup"}}}b.Value.prototype.initialize.call(this,null,d.extend(i||{},m));this._value=this.get();n=this.update;k=this.refresh;this.update=function(o){if(o!==k.call(h)){n.apply(this,arguments)}};this.refresh=function(){h.set(k.call(h))};this.bind(this.update);this.element.bind(this.events,this.refresh)},find:function(h){return d(h,this.element)},refresh:function(){},update:function(){}});b.Element.synchronizer={};d.each(["html","val"],function(h,j){b.Element.synchronizer[j]={update:function(i){this.element[j](i)},refresh:function(){return this.element[j]()}}});b.Element.synchronizer.checkbox={update:function(h){this.element.prop("checked",h)},refresh:function(){return this.element.prop("checked")}};b.Element.synchronizer.radio={update:function(h){this.element.filter(function(){return this.value===h}).prop("checked",true)},refresh:function(){return this.element.filter(":checked").val()}};d.support.postMessage=!!window.postMessage;b.Messenger=b.Class.extend({add:function(j,i,h){return this[j]=new b.Value(i,h)},initialize:function(j,h){var i=window.parent==window?null:window.parent;d.extend(this,h||{});this.add("channel",j.channel);this.add("url",j.url||"");this.add("targetWindow",j.targetWindow||i);this.add("origin",this.url()).link(this.url).setter(function(k){return k.replace(/([^:]+:\/\/[^\/]+).*/,"$1")});this.receive=d.proxy(this.receive,this);this.receive.guid=d.guid++;d(window).on("message",this.receive)},destroy:function(){d(window).off("message",this.receive)},receive:function(i){var h;i=i.originalEvent;if(!this.targetWindow()){return}if(this.origin()&&i.origin!==this.origin()){return}h=JSON.parse(i.data);if(!h||!h.id||typeof h.data==="undefined"){return}if((h.channel||this.channel())&&this.channel()!==h.channel){return}this.trigger(h.id,h.data)},send:function(j,i){var h;i=typeof i==="undefined"?null:i;if(!this.url()||!this.targetWindow()){return}h={id:j,data:i};if(this.channel()){h.channel=this.channel()}this.targetWindow().postMessage(JSON.stringify(h),this.origin())}});d.extend(b.Messenger.prototype,b.Events);b=d.extend(new b.Values(),b);b.get=function(){var h={};this.each(function(j,i){h[i]=j.get()});return h};a.customize=b})(wp,jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/customize-loader.dev.js ./wordpress-3.4/wp-includes/js/customize-loader.dev.js
*** ./wordpress-3.3.2/wp-includes/js/customize-loader.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/customize-loader.dev.js	2012-06-08 13:52:44.000000000 -0500
***************
*** 0 ****
--- 1,159 ----
+ if ( typeof wp === 'undefined' )
+ 	var wp = {};
+ 
+ (function( exports, $ ){
+ 	var api = wp.customize,
+ 		Loader;
+ 
+ 	$.extend( $.support, {
+ 		history: !! ( window.history && history.pushState ),
+ 		hashchange: ('onhashchange' in window) && (document.documentMode === undefined || document.documentMode > 7)
+ 	});
+ 
+ 	Loader = $.extend( {}, api.Events, {
+ 		initialize: function() {
+ 			this.body = $( document.body );
+ 
+ 			// Ensure the loader is supported.
+ 			// Check for settings, postMessage support, and whether we require CORS support.
+ 			if ( ! Loader.settings || ! $.support.postMessage || ( ! $.support.cors && Loader.settings.isCrossDomain ) ) {
+ 				return;
+ 			}
+ 
+ 			this.window  = $( window );
+ 			this.element = $( '<div id="customize-container" />' ).appendTo( this.body );
+ 
+ 			this.bind( 'open', this.overlay.show );
+ 			this.bind( 'close', this.overlay.hide );
+ 
+ 			$('#wpbody').on( 'click', '.load-customize', function( event ) {
+ 				event.preventDefault();
+ 
+ 				// Load the theme.
+ 				Loader.open( $(this).attr('href') );
+ 			});
+ 
+ 			// Add navigation listeners.
+ 			if ( $.support.history )
+ 				this.window.on( 'popstate', Loader.popstate );
+ 
+ 			if ( $.support.hashchange ) {
+ 				this.window.on( 'hashchange', Loader.hashchange );
+ 				this.window.triggerHandler( 'hashchange' );
+ 			}
+ 		},
+ 
+ 		popstate: function( e ) {
+ 			var state = e.originalEvent.state;
+ 			if ( state && state.customize )
+ 				Loader.open( state.customize );
+ 			else if ( Loader.active )
+ 				Loader.close();
+ 		},
+ 
+ 		hashchange: function( e ) {
+ 			var hash = window.location.toString().split('#')[1];
+ 
+ 			if ( hash && 0 === hash.indexOf( 'wp_customize=on' ) )
+ 				Loader.open( Loader.settings.url + '?' + hash );
+ 
+ 			if ( ! hash && ! $.support.history )
+ 				Loader.close();
+ 		},
+ 
+ 		open: function( src ) {
+ 			var hash;
+ 
+ 			if ( this.active )
+ 				return;
+ 
+ 			// Load the full page on mobile devices.
+ 			if ( Loader.settings.browser.mobile )
+ 				return window.location = src;
+ 
+ 			this.active = true;
+ 			this.body.addClass('customize-loading');
+ 
+ 			this.iframe = $( '<iframe />', { src: src }).appendTo( this.element );
+ 			this.iframe.one( 'load', this.loaded );
+ 
+ 			// Create a postMessage connection with the iframe.
+ 			this.messenger = new api.Messenger({
+ 				url: src,
+ 				channel: 'loader',
+ 				targetWindow: this.iframe[0].contentWindow
+ 			});
+ 
+ 			// Wait for the connection from the iframe before sending any postMessage events.
+ 			this.messenger.bind( 'ready', function() {
+ 				Loader.messenger.send( 'back' );
+ 			});
+ 
+ 			this.messenger.bind( 'close', function() {
+ 				if ( $.support.history )
+ 					history.back();
+ 				else if ( $.support.hashchange )
+ 					window.location.hash = '';
+ 				else
+ 					Loader.close();
+ 			});
+ 
+ 			this.messenger.bind( 'activated', function( location ) {
+ 				if ( location )
+ 					window.location = location;
+ 			});
+ 
+ 			hash = src.split('?')[1];
+ 
+ 			// Ensure we don't call pushState if the user hit the forward button.
+ 			if ( $.support.history && window.location.href !== src )
+ 				history.pushState( { customize: src }, '', src );
+ 			else if ( ! $.support.history && $.support.hashchange && hash )
+ 				window.location.hash = 'wp_customize=on&' + hash;
+ 
+ 			this.trigger( 'open' );
+ 		},
+ 
+ 		opened: function() {
+ 			Loader.body.addClass( 'customize-active full-overlay-active' );
+ 		},
+ 
+ 		close: function() {
+ 			if ( ! this.active )
+ 				return;
+ 			this.active = false;
+ 
+ 			this.trigger( 'close' );
+ 		},
+ 
+ 		closed: function() {
+ 			Loader.iframe.remove();
+ 			Loader.messenger.destroy();
+ 			Loader.iframe    = null;
+ 			Loader.messenger = null;
+ 			Loader.body.removeClass( 'customize-active full-overlay-active' ).removeClass( 'customize-loading' );
+ 		},
+ 
+ 		loaded: function() {
+ 			Loader.body.removeClass('customize-loading');
+ 		},
+ 
+ 		overlay: {
+ 			show: function() {
+ 				this.element.fadeIn( 200, Loader.opened );
+ 			},
+ 
+ 			hide: function() {
+ 				this.element.fadeOut( 200, Loader.closed );
+ 			}
+ 		}
+ 	});
+ 
+ 	$( function() {
+ 		Loader.settings = _wpCustomizeLoaderSettings;
+ 		Loader.initialize();
+ 	});
+ 
+ 	// Expose the API to the world.
+ 	api.Loader = Loader;
+ })( wp, jQuery );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/customize-loader.js ./wordpress-3.4/wp-includes/js/customize-loader.js
*** ./wordpress-3.3.2/wp-includes/js/customize-loader.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/customize-loader.js	2012-06-08 13:58:24.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ if(typeof wp==="undefined"){var wp={}}(function(a,c){var b=wp.customize,d;c.extend(c.support,{history:!!(window.history&&history.pushState),hashchange:("onhashchange" in window)&&(document.documentMode===undefined||document.documentMode>7)});d=c.extend({},b.Events,{initialize:function(){this.body=c(document.body);if(!d.settings||!c.support.postMessage||(!c.support.cors&&d.settings.isCrossDomain)){return}this.window=c(window);this.element=c('<div id="customize-container" />').appendTo(this.body);this.bind("open",this.overlay.show);this.bind("close",this.overlay.hide);c("#wpbody").on("click",".load-customize",function(e){e.preventDefault();d.open(c(this).attr("href"))});if(c.support.history){this.window.on("popstate",d.popstate)}if(c.support.hashchange){this.window.on("hashchange",d.hashchange);this.window.triggerHandler("hashchange")}},popstate:function(g){var f=g.originalEvent.state;if(f&&f.customize){d.open(f.customize)}else{if(d.active){d.close()}}},hashchange:function(g){var f=window.location.toString().split("#")[1];if(f&&0===f.indexOf("wp_customize=on")){d.open(d.settings.url+"?"+f)}if(!f&&!c.support.history){d.close()}},open:function(f){var e;if(this.active){return}if(d.settings.browser.mobile){return window.location=f}this.active=true;this.body.addClass("customize-loading");this.iframe=c("<iframe />",{src:f}).appendTo(this.element);this.iframe.one("load",this.loaded);this.messenger=new b.Messenger({url:f,channel:"loader",targetWindow:this.iframe[0].contentWindow});this.messenger.bind("ready",function(){d.messenger.send("back")});this.messenger.bind("close",function(){if(c.support.history){history.back()}else{if(c.support.hashchange){window.location.hash=""}else{d.close()}}});this.messenger.bind("activated",function(g){if(g){window.location=g}});e=f.split("?")[1];if(c.support.history&&window.location.href!==f){history.pushState({customize:f},"",f)}else{if(!c.support.history&&c.support.hashchange&&e){window.location.hash="wp_customize=on&"+e}}this.trigger("open")},opened:function(){d.body.addClass("customize-active full-overlay-active")},close:function(){if(!this.active){return}this.active=false;this.trigger("close")},closed:function(){d.iframe.remove();d.messenger.destroy();d.iframe=null;d.messenger=null;d.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading")},loaded:function(){d.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,d.opened)},hide:function(){this.element.fadeOut(200,d.closed)}}});c(function(){d.settings=_wpCustomizeLoaderSettings;d.initialize()});b.Loader=d})(wp,jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/customize-preview.dev.js ./wordpress-3.4/wp-includes/js/customize-preview.dev.js
*** ./wordpress-3.3.2/wp-includes/js/customize-preview.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/customize-preview.dev.js	2012-06-11 16:25:05.000000000 -0500
***************
*** 0 ****
--- 1,141 ----
+ (function( exports, $ ){
+ 	var api = wp.customize,
+ 		debounce;
+ 
+ 	debounce = function( fn, delay, context ) {
+ 		var timeout;
+ 		return function() {
+ 			var args = arguments;
+ 
+ 			context = context || this;
+ 
+ 			clearTimeout( timeout );
+ 			timeout = setTimeout( function() {
+ 				timeout = null;
+ 				fn.apply( context, args );
+ 			}, delay );
+ 		};
+ 	};
+ 
+ 	api.Preview = api.Messenger.extend({
+ 		/**
+ 		 * Requires params:
+ 		 *  - url    - the URL of preview frame
+ 		 */
+ 		initialize: function( params, options ) {
+ 			var self = this;
+ 
+ 			api.Messenger.prototype.initialize.call( this, params, options );
+ 
+ 			this.body = $( document.body );
+ 			this.body.on( 'click.preview', 'a', function( event ) {
+ 				event.preventDefault();
+ 				self.send( 'scroll', 0 );
+ 				self.send( 'url', $(this).prop('href') );
+ 			});
+ 
+ 			// You cannot submit forms.
+ 			// @todo: Allow form submissions by mixing $_POST data with the customize setting $_POST data.
+ 			this.body.on( 'submit.preview', 'form', function( event ) {
+ 				event.preventDefault();
+ 			});
+ 
+ 			this.window = $( window );
+ 			this.window.on( 'scroll.preview', debounce( function() {
+ 				self.send( 'scroll', self.window.scrollTop() );
+ 			}, 200 ));
+ 
+ 			this.bind( 'scroll', function( distance ) {
+ 				self.window.scrollTop( distance );
+ 			});
+ 		}
+ 	});
+ 
+ 	$( function() {
+ 		api.settings = window._wpCustomizeSettings;
+ 		if ( ! api.settings )
+ 			return;
+ 
+ 		var preview, bg;
+ 
+ 		preview = new api.Preview({
+ 			url: window.location.href,
+ 			channel: api.settings.channel
+ 		});
+ 
+ 		preview.bind( 'settings', function( values ) {
+ 			$.each( values, function( id, value ) {
+ 				if ( api.has( id ) )
+ 					api( id ).set( value );
+ 				else
+ 					api.create( id, value );
+ 			});
+ 		});
+ 
+ 		preview.trigger( 'settings', api.settings.values );
+ 
+ 		preview.bind( 'setting', function( args ) {
+ 			var value;
+ 
+ 			args = args.slice();
+ 
+ 			if ( value = api( args.shift() ) )
+ 				value.set.apply( value, args );
+ 		});
+ 
+ 		preview.bind( 'sync', function( events ) {
+ 			$.each( events, function( event, args ) {
+ 				preview.trigger( event, args );
+ 			});
+ 			preview.send( 'synced' );
+ 		})
+ 
+ 		preview.send( 'ready' );
+ 
+ 		/* Custom Backgrounds */
+ 		bg = $.map(['color', 'image', 'position_x', 'repeat', 'attachment'], function( prop ) {
+ 			return 'background_' + prop;
+ 		});
+ 
+ 		api.when.apply( api, bg ).done( function( color, image, position_x, repeat, attachment ) {
+ 			var body = $(document.body),
+ 				head = $('head'),
+ 				style = $('#custom-background-css'),
+ 				update;
+ 
+ 			// If custom backgrounds are active and we can't find the
+ 			// default output, bail.
+ 			if ( body.hasClass('custom-background') && ! style.length )
+ 				return;
+ 
+ 			update = function() {
+ 				var css = '';
+ 
+ 				// The body will support custom backgrounds if either
+ 				// the color or image are set.
+ 				//
+ 				// See get_body_class() in /wp-includes/post-template.php
+ 				body.toggleClass( 'custom-background', !! ( color() || image() ) );
+ 
+ 				if ( color() )
+ 					css += 'background-color: ' + color() + ';';
+ 
+ 				if ( image() ) {
+ 					css += 'background-image: url("' + image() + '");';
+ 					css += 'background-position: top ' + position_x() + ';';
+ 					css += 'background-repeat: ' + repeat() + ';';
+ 					css += 'background-position: top ' + attachment() + ';';
+ 				}
+ 
+ 				// Refresh the stylesheet by removing and recreating it.
+ 				style.remove();
+ 				style = $('<style type="text/css" id="custom-background-css">body.custom-background { ' + css + ' }</style>').appendTo( head );
+ 			};
+ 
+ 			$.each( arguments, function() {
+ 				this.bind( update );
+ 			});
+ 		});
+ 	});
+ 
+ })( wp, jQuery );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/customize-preview.js ./wordpress-3.4/wp-includes/js/customize-preview.js
*** ./wordpress-3.3.2/wp-includes/js/customize-preview.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/customize-preview.js	2012-06-11 16:28:44.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ (function(b,d){var c=wp.customize,a;a=function(g,e,f){var h;return function(){var i=arguments;f=f||this;clearTimeout(h);h=setTimeout(function(){h=null;g.apply(f,i)},e)}};c.Preview=c.Messenger.extend({initialize:function(g,f){var e=this;c.Messenger.prototype.initialize.call(this,g,f);this.body=d(document.body);this.body.on("click.preview","a",function(h){h.preventDefault();e.send("scroll",0);e.send("url",d(this).prop("href"))});this.body.on("submit.preview","form",function(h){h.preventDefault()});this.window=d(window);this.window.on("scroll.preview",a(function(){e.send("scroll",e.window.scrollTop())},200));this.bind("scroll",function(h){e.window.scrollTop(h)})}});d(function(){c.settings=window._wpCustomizeSettings;if(!c.settings){return}var f,e;f=new c.Preview({url:window.location.href,channel:c.settings.channel});f.bind("settings",function(g){d.each(g,function(i,h){if(c.has(i)){c(i).set(h)}else{c.create(i,h)}})});f.trigger("settings",c.settings.values);f.bind("setting",function(g){var h;g=g.slice();if(h=c(g.shift())){h.set.apply(h,g)}});f.bind("sync",function(g){d.each(g,function(i,h){f.trigger(i,h)});f.send("synced")});f.send("ready");e=d.map(["color","image","position_x","repeat","attachment"],function(g){return"background_"+g});c.when.apply(c,e).done(function(j,i,m,h,l){var n=d(document.body),o=d("head"),g=d("#custom-background-css"),k;if(n.hasClass("custom-background")&&!g.length){return}k=function(){var p="";n.toggleClass("custom-background",!!(j()||i()));if(j()){p+="background-color: "+j()+";"}if(i()){p+='background-image: url("'+i()+'");';p+="background-position: top "+m()+";";p+="background-repeat: "+h()+";";p+="background-position: top "+l()+";"}g.remove();g=d('<style type="text/css" id="custom-background-css">body.custom-background { '+p+" }</style>").appendTo(o)};d.each(arguments,function(){this.bind(k)})})})})(wp,jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/hoverIntent.dev.js ./wordpress-3.4/wp-includes/js/hoverIntent.dev.js
*** ./wordpress-3.3.2/wp-includes/js/hoverIntent.dev.js	2009-01-02 09:08:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/hoverIntent.dev.js	2011-12-20 14:54:54.000000000 -0600
***************
*** 4,10 ****
  * to see if the user's mouse has slowed down (beneath the sensitivity
  * threshold) before firing the onMouseOver event.
  * 
! * hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
  * <http://cherne.net/brian/resources/jquery.hoverIntent.html>
  * 
  * hoverIntent is currently available for use in all personal or commercial 
--- 4,10 ----
  * to see if the user's mouse has slowed down (beneath the sensitivity
  * threshold) before firing the onMouseOver event.
  * 
! * hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
  * <http://cherne.net/brian/resources/jquery.hoverIntent.html>
  * 
  * hoverIntent is currently available for use in all personal or commercial 
***************
*** 25,31 ****
  * 
  * @param  f  onMouseOver function || An object with configuration options
  * @param  g  onMouseOut function  || Nothing (use configuration options object)
! * @author    Brian Cherne <brian@cherne.net>
  */
  (function($) {
  	$.fn.hoverIntent = function(f,g) {
--- 25,31 ----
  * 
  * @param  f  onMouseOver function || An object with configuration options
  * @param  g  onMouseOut function  || Nothing (use configuration options object)
! * @author    Brian Cherne brian(at)cherne(dot)net
  */
  (function($) {
  	$.fn.hoverIntent = function(f,g) {
***************
*** 72,111 ****
  			ob.hoverIntent_s = 0;
  			return cfg.out.apply(ob,[ev]);
  		};
- 		
- 		// workaround for Mozilla bug: not firing mouseout/mouseleave on absolute positioned elements over textareas and input type="text"
- 		var handleHover = function(e) {
- 			var t = this;
- 			
- 			// next two lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
- 			var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
- 			while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
- 			if ( p == this ) {
- 				if ( $.browser.mozilla ) {
- 					if ( e.type == "mouseout" ) {
- 						t.mtout = setTimeout( function(){doHover(e,t);}, 30 );
- 					} else {
- 						if (t.mtout) { t.mtout = clearTimeout(t.mtout); }
- 					}
- 				}
- 				return;
- 			} else {
- 				if (t.mtout) { t.mtout = clearTimeout(t.mtout); }
- 				doHover(e,t);
- 			}
- 		};
  
  		// A private function for handling mouse 'hovering'
! 		var doHover = function(e,ob) {
! 
  			// copy objects to be passed into t (required for event object to be passed in IE)
  			var ev = jQuery.extend({},e);
  
  			// cancel hoverIntent timer if it exists
  			if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
  
! 			// else e.type == "onmouseover"
! 			if (e.type == "mouseover") {
  				// set "previous" X and Y position based on initial entry point
  				pX = ev.pageX; pY = ev.pageY;
  				// update "current" X and Y position based on mousemove
--- 72,89 ----
  			ob.hoverIntent_s = 0;
  			return cfg.out.apply(ob,[ev]);
  		};
  
  		// A private function for handling mouse 'hovering'
! 		var handleHover = function(e) {
  			// copy objects to be passed into t (required for event object to be passed in IE)
  			var ev = jQuery.extend({},e);
+ 			var ob = this;
  
  			// cancel hoverIntent timer if it exists
  			if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
  
! 			// if e.type == "mouseenter"
! 			if (e.type == "mouseenter") {
  				// set "previous" X and Y position based on initial entry point
  				pX = ev.pageX; pY = ev.pageY;
  				// update "current" X and Y position based on mousemove
***************
*** 113,119 ****
  				// start polling interval (self-calling timeout) to compare mouse coordinates over time
  				if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
  
! 			// else e.type == "onmouseout"
  			} else {
  				// unbind expensive mousemove event
  				$(ob).unbind("mousemove",track);
--- 91,97 ----
  				// start polling interval (self-calling timeout) to compare mouse coordinates over time
  				if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
  
! 			// else e.type == "mouseleave"
  			} else {
  				// unbind expensive mousemove event
  				$(ob).unbind("mousemove",track);
***************
*** 123,128 ****
  		};
  
  		// bind the function to the two event listeners
! 		return this.mouseover(handleHover).mouseout(handleHover);
  	};
  })(jQuery);
\ No newline at end of file
--- 101,106 ----
  		};
  
  		// bind the function to the two event listeners
! 		return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover);
  	};
  })(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/hoverIntent.js ./wordpress-3.4/wp-includes/js/hoverIntent.js
*** ./wordpress-3.3.2/wp-includes/js/hoverIntent.js	2009-01-02 09:08:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/hoverIntent.js	2011-12-20 22:22:21.000000000 -0600
***************
*** 1 ****
! (function(a){a.fn.hoverIntent=function(l,j){var m={sensitivity:7,interval:100,timeout:0};m=a.extend(m,j?{over:l,out:j}:l);var o,n,h,d;var e=function(f){o=f.pageX;n=f.pageY};var c=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);if((Math.abs(h-o)+Math.abs(d-n))<m.sensitivity){a(f).unbind("mousemove",e);f.hoverIntent_s=1;return m.over.apply(f,[g])}else{h=o;d=n;f.hoverIntent_t=setTimeout(function(){c(g,f)},m.interval)}};var i=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);f.hoverIntent_s=0;return m.out.apply(f,[g])};var b=function(q){var f=this;var g=(q.type=="mouseover"?q.fromElement:q.toElement)||q.relatedTarget;while(g&&g!=this){try{g=g.parentNode}catch(q){g=this}}if(g==this){if(a.browser.mozilla){if(q.type=="mouseout"){f.mtout=setTimeout(function(){k(q,f)},30)}else{if(f.mtout){f.mtout=clearTimeout(f.mtout)}}}return}else{if(f.mtout){f.mtout=clearTimeout(f.mtout)}k(q,f)}};var k=function(p,f){var g=jQuery.extend({},p);if(f.hoverIntent_t){f.hoverIntent_t=clearTimeout(f.hoverIntent_t)}if(p.type=="mouseover"){h=g.pageX;d=g.pageY;a(f).bind("mousemove",e);if(f.hoverIntent_s!=1){f.hoverIntent_t=setTimeout(function(){c(g,f)},m.interval)}}else{a(f).unbind("mousemove",e);if(f.hoverIntent_s==1){f.hoverIntent_t=setTimeout(function(){i(g,f)},m.timeout)}}};return this.mouseover(b).mouseout(b)}})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(a){a.fn.hoverIntent=function(k,j){var l={sensitivity:7,interval:100,timeout:0};l=a.extend(l,j?{over:k,out:j}:k);var n,m,h,d;var e=function(f){n=f.pageX;m=f.pageY};var c=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);if((Math.abs(h-n)+Math.abs(d-m))<l.sensitivity){a(f).unbind("mousemove",e);f.hoverIntent_s=1;return l.over.apply(f,[g])}else{h=n;d=m;f.hoverIntent_t=setTimeout(function(){c(g,f)},l.interval)}};var i=function(g,f){f.hoverIntent_t=clearTimeout(f.hoverIntent_t);f.hoverIntent_s=0;return l.out.apply(f,[g])};var b=function(o){var g=jQuery.extend({},o);var f=this;if(f.hoverIntent_t){f.hoverIntent_t=clearTimeout(f.hoverIntent_t)}if(o.type=="mouseenter"){h=g.pageX;d=g.pageY;a(f).bind("mousemove",e);if(f.hoverIntent_s!=1){f.hoverIntent_t=setTimeout(function(){c(g,f)},l.interval)}}else{a(f).unbind("mousemove",e);if(f.hoverIntent_s==1){f.hoverIntent_t=setTimeout(function(){i(g,f)},l.timeout)}}};return this.bind("mouseenter",b).bind("mouseleave",b)}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/imgareaselect/imgareaselect.css ./wordpress-3.4/wp-includes/js/imgareaselect/imgareaselect.css
*** ./wordpress-3.3.2/wp-includes/js/imgareaselect/imgareaselect.css	2009-09-10 17:07:33.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/imgareaselect/imgareaselect.css	2012-04-25 16:49:57.000000000 -0500
***************
*** 20,40 ****
  
  .imgareaselect-border1, .imgareaselect-border2,
  .imgareaselect-border3, .imgareaselect-border4 {
- 	opacity: 0.5;
      filter: alpha(opacity=50);
  }
  
  .imgareaselect-handle {
      background-color: #fff;
  	border: solid 1px #000;
! 	opacity: 0.4;
! 	filter: alpha(opacity=40);
  }
  
  .imgareaselect-outer {
  	background-color: #000;
! 	opacity: 0.4;
!     filter: alpha(opacity=40);
  }
  
  .imgareaselect-selection {
--- 20,40 ----
  
  .imgareaselect-border1, .imgareaselect-border2,
  .imgareaselect-border3, .imgareaselect-border4 {
      filter: alpha(opacity=50);
+ 	opacity: 0.5;
  }
  
  .imgareaselect-handle {
      background-color: #fff;
  	border: solid 1px #000;
!     filter: alpha(opacity=50);
! 	opacity: 0.5;
  }
  
  .imgareaselect-outer {
  	background-color: #000;
!     filter: alpha(opacity=50);
! 	opacity: 0.5;
  }
  
  .imgareaselect-selection {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js ./wordpress-3.4/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js
*** ./wordpress-3.3.2/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js	2011-05-15 13:03:51.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js	2012-04-25 16:49:57.000000000 -0500
***************
*** 1,6 ****
  /*
   * imgAreaSelect jQuery plugin
!  * version 0.9.6
   *
   * Copyright (c) 2008-2011 Michal Wojciechowski (odyniec.net)
   *
--- 1,6 ----
  /*
   * imgAreaSelect jQuery plugin
!  * version 0.9.8
   *
   * Copyright (c) 2008-2011 Michal Wojciechowski (odyniec.net)
   *
***************
*** 13,102 ****
  
  (function($) {
  
  var abs = Math.abs,
      max = Math.max,
      min = Math.min,
      round = Math.round;
  
  function div() {
      return $('<div/>');
  }
  
  $.imgAreaSelect = function (img, options) {
      var
! 
          $img = $(img),
  
          imgLoaded,
  
          $box = div(),
          $area = div(),
          $border = div().add(div()).add(div()).add(div()),
          $outer = div().add(div()).add(div()).add(div()),
          $handles = $([]),
  
          $areaOpera,
  
          left, top,
  
          imgOfs = { left: 0, top: 0 },
  
          imgWidth, imgHeight,
  
          $parent,
  
          parOfs = { left: 0, top: 0 },
  
          zIndex = 0,
  
          position = 'absolute',
  
          startX, startY,
  
          scaleX, scaleY,
  
!         resizeMargin = 10,
! 
          resize,
  
          minWidth, minHeight, maxWidth, maxHeight,
  
          aspectRatio,
  
          shown,
  
          x1, y1, x2, y2,
  
          selection = { x1: 0, y1: 0, x2: 0, y2: 0, width: 0, height: 0 },
  
          docElem = document.documentElement,
  
          $p, d, i, o, w, h, adjusted;
  
      function viewX(x) {
          return x + imgOfs.left - parOfs.left;
      }
  
      function viewY(y) {
          return y + imgOfs.top - parOfs.top;
      }
  
      function selX(x) {
          return x - imgOfs.left + parOfs.left;
      }
  
      function selY(y) {
          return y - imgOfs.top + parOfs.top;
      }
  
      function evX(event) {
          return event.pageX - parOfs.left;
      }
  
      function evY(event) {
          return event.pageY - parOfs.top;
      }
  
      function getSelection(noScale) {
          var sx = noScale || scaleX, sy = noScale || scaleY;
  
--- 13,213 ----
  
  (function($) {
  
+ /*
+  * Math functions will be used extensively, so it's convenient to make a few
+  * shortcuts
+  */
  var abs = Math.abs,
      max = Math.max,
      min = Math.min,
      round = Math.round;
  
+ /**
+  * Create a new HTML div element
+  *
+  * @return A jQuery object representing the new element
+  */
  function div() {
      return $('<div/>');
  }
  
+ /**
+  * imgAreaSelect initialization
+  *
+  * @param img
+  *            A HTML image element to attach the plugin to
+  * @param options
+  *            An options object
+  */
  $.imgAreaSelect = function (img, options) {
      var
!         /* jQuery object representing the image */
          $img = $(img),
  
+         /* Has the image finished loading? */
          imgLoaded,
  
+         /* Plugin elements */
+ 
+         /* Container box */
          $box = div(),
+         /* Selection area */
          $area = div(),
+         /* Border (four divs) */
          $border = div().add(div()).add(div()).add(div()),
+         /* Outer area (four divs) */
          $outer = div().add(div()).add(div()).add(div()),
+         /* Handles (empty by default, initialized in setOptions()) */
          $handles = $([]),
  
+         /*
+          * Additional element to work around a cursor problem in Opera
+          * (explained later)
+          */
          $areaOpera,
  
+         /* Image position (relative to viewport) */
          left, top,
  
+         /* Image offset (as returned by .offset()) */
          imgOfs = { left: 0, top: 0 },
  
+         /* Image dimensions (as returned by .width() and .height()) */
          imgWidth, imgHeight,
  
+         /*
+          * jQuery object representing the parent element that the plugin
+          * elements are appended to
+          */
          $parent,
  
+         /* Parent element offset (as returned by .offset()) */
          parOfs = { left: 0, top: 0 },
  
+         /* Base z-index for plugin elements */
          zIndex = 0,
  
+         /* Plugin elements position */
          position = 'absolute',
  
+         /* X/Y coordinates of the starting point for move/resize operations */
          startX, startY,
  
+         /* Horizontal and vertical scaling factors */
          scaleX, scaleY,
  
!         /* Current resize mode ("nw", "se", etc.) */
          resize,
  
+         /* Selection area constraints */
          minWidth, minHeight, maxWidth, maxHeight,
  
+         /* Aspect ratio to maintain (floating point number) */
          aspectRatio,
  
+         /* Are the plugin elements currently displayed? */
          shown,
  
+         /* Current selection (relative to parent element) */
          x1, y1, x2, y2,
  
+         /* Current selection (relative to scaled image) */
          selection = { x1: 0, y1: 0, x2: 0, y2: 0, width: 0, height: 0 },
  
+         /* Document element */
          docElem = document.documentElement,
  
+         /* Various helper variables used throughout the code */
          $p, d, i, o, w, h, adjusted;
  
+     /*
+      * Translate selection coordinates (relative to scaled image) to viewport
+      * coordinates (relative to parent element)
+      */
+ 
+     /**
+      * Translate selection X to viewport X
+      *
+      * @param x
+      *            Selection X
+      * @return Viewport X
+      */
      function viewX(x) {
          return x + imgOfs.left - parOfs.left;
      }
  
+     /**
+      * Translate selection Y to viewport Y
+      *
+      * @param y
+      *            Selection Y
+      * @return Viewport Y
+      */
      function viewY(y) {
          return y + imgOfs.top - parOfs.top;
      }
  
+     /*
+      * Translate viewport coordinates to selection coordinates
+      */
+ 
+     /**
+      * Translate viewport X to selection X
+      *
+      * @param x
+      *            Viewport X
+      * @return Selection X
+      */
      function selX(x) {
          return x - imgOfs.left + parOfs.left;
      }
  
+     /**
+      * Translate viewport Y to selection Y
+      *
+      * @param y
+      *            Viewport Y
+      * @return Selection Y
+      */
      function selY(y) {
          return y - imgOfs.top + parOfs.top;
      }
  
+     /*
+      * Translate event coordinates (relative to document) to viewport
+      * coordinates
+      */
+ 
+     /**
+      * Get event X and translate it to viewport X
+      *
+      * @param event
+      *            The event object
+      * @return Viewport X
+      */
      function evX(event) {
          return event.pageX - parOfs.left;
      }
  
+     /**
+      * Get event Y and translate it to viewport Y
+      *
+      * @param event
+      *            The event object
+      * @return Viewport Y
+      */
      function evY(event) {
          return event.pageY - parOfs.top;
      }
  
+     /**
+      * Get the current selection
+      *
+      * @param noScale
+      *            If set to <code>true</code>, scaling is not applied to the
+      *            returned selection
+      * @return Selection object
+      */
      function getSelection(noScale) {
          var sx = noScale || scaleX, sy = noScale || scaleY;
  
***************
*** 108,113 ****
--- 219,239 ----
              height: round(selection.y2 * sy) - round(selection.y1 * sy) };
      }
  
+     /**
+      * Set the current selection
+      *
+      * @param x1
+      *            X coordinate of the upper left corner of the selection area
+      * @param y1
+      *            Y coordinate of the upper left corner of the selection area
+      * @param x2
+      *            X coordinate of the lower right corner of the selection area
+      * @param y2
+      *            Y coordinate of the lower right corner of the selection area
+      * @param noScale
+      *            If set to <code>true</code>, scaling is not applied to the
+      *            new selection
+      */
      function setSelection(x1, y1, x2, y2, noScale) {
          var sx = noScale || scaleX, sy = noScale || scaleY;
  
***************
*** 122,144 ****
          selection.height = selection.y2 - selection.y1;
      }
  
      function adjust() {
          if (!$img.width())
              return;
  
          imgOfs = { left: round($img.offset().left), top: round($img.offset().top) };
  
          imgWidth = $img.innerWidth();
          imgHeight = $img.innerHeight();
  
          imgOfs.top += ($img.outerHeight() - imgHeight) >> 1;
          imgOfs.left += ($img.outerWidth() - imgWidth) >> 1;
  
!         minWidth = options.minWidth || 0;
!         minHeight = options.minHeight || 0;
!         maxWidth = min(options.maxWidth || 1<<24, imgWidth);
!         maxHeight = min(options.maxHeight || 1<<24, imgHeight);
! 
          if ($().jquery == '1.3.2' && position == 'fixed' &&
              !docElem['getBoundingClientRect'])
          {
--- 248,288 ----
          selection.height = selection.y2 - selection.y1;
      }
  
+     /**
+      * Recalculate image and parent offsets
+      */
      function adjust() {
+         /*
+          * Do not adjust if image width is not a positive number. This might
+          * happen when imgAreaSelect is put on a parent element which is then
+          * hidden.
+          */
          if (!$img.width())
              return;
  
+         /*
+          * Get image offset. The .offset() method returns float values, so they
+          * need to be rounded.
+          */
          imgOfs = { left: round($img.offset().left), top: round($img.offset().top) };
  
+         /* Get image dimensions */
          imgWidth = $img.innerWidth();
          imgHeight = $img.innerHeight();
  
          imgOfs.top += ($img.outerHeight() - imgHeight) >> 1;
          imgOfs.left += ($img.outerWidth() - imgWidth) >> 1;
  
!         /* Set minimum and maximum selection area dimensions */
!         minWidth = round(options.minWidth / scaleX) || 0;
!         minHeight = round(options.minHeight / scaleY) || 0;
!         maxWidth = round(min(options.maxWidth / scaleX || 1<<24, imgWidth));
!         maxHeight = round(min(options.maxHeight / scaleY || 1<<24, imgHeight));
! 
!         /*
!          * Workaround for jQuery 1.3.2 incorrect offset calculation, originally
!          * observed in Safari 3. Firefox 2 is also affected.
!          */
          if ($().jquery == '1.3.2' && position == 'fixed' &&
              !docElem['getBoundingClientRect'])
          {
***************
*** 146,152 ****
              imgOfs.left += max(document.body.scrollLeft, docElem.scrollLeft);
          }
  
!         parOfs = $.inArray($parent.css('position'), ['absolute', 'relative']) + 1 ?
              { left: round($parent.offset().left) - $parent.scrollLeft(),
                  top: round($parent.offset().top) - $parent.scrollTop() } :
              position == 'fixed' ?
--- 290,297 ----
              imgOfs.left += max(document.body.scrollLeft, docElem.scrollLeft);
          }
  
!         /* Determine parent element offset */
!         parOfs = /absolute|relative/.test($parent.css('position')) ?
              { left: round($parent.offset().left) - $parent.scrollLeft(),
                  top: round($parent.offset().top) - $parent.scrollTop() } :
              position == 'fixed' ?
***************
*** 156,177 ****
--- 301,344 ----
          left = viewX(0);
          top = viewY(0);
  
+         /*
+          * Check if selection area is within image boundaries, adjust if
+          * necessary
+          */
          if (selection.x2 > imgWidth || selection.y2 > imgHeight)
              doResize();
      }
  
+     /**
+      * Update plugin elements
+      *
+      * @param resetKeyPress
+      *            If set to <code>false</code>, this instance's keypress
+      *            event handler is not activated
+      */
      function update(resetKeyPress) {
+         /* If plugin elements are hidden, do nothing */
          if (!shown) return;
  
+         /*
+          * Set the position and size of the container box and the selection area
+          * inside it
+          */
          $box.css({ left: viewX(selection.x1), top: viewY(selection.y1) })
              .add($area).width(w = selection.width).height(h = selection.height);
  
+         /*
+          * Reset the position of selection area, borders, and handles (IE6/IE7
+          * position them incorrectly if we don't do this)
+          */
          $area.add($border).add($handles).css({ left: 0, top: 0 });
  
+         /* Set border dimensions */
          $border
              .width(max(w - $border.outerWidth() + $border.innerWidth(), 0))
              .height(max(h - $border.outerHeight() + $border.innerHeight(), 0));
  
+         /* Arrange the outer area elements */
          $($outer[0]).css({ left: left, top: top,
              width: selection.x1, height: imgHeight });
          $($outer[1]).css({ left: left + selection.x1, top: top,
***************
*** 184,189 ****
--- 351,357 ----
          w -= $handles.outerWidth();
          h -= $handles.outerHeight();
  
+         /* Arrange handles */
          switch ($handles.length) {
          case 8:
              $($handles[4]).css({ left: w >> 1 });
***************
*** 196,216 ****
--- 364,412 ----
          }
  
          if (resetKeyPress !== false) {
+             /*
+              * Need to reset the document keypress event handler -- unbind the
+              * current handler
+              */
              if ($.imgAreaSelect.keyPress != docKeyPress)
                  $(document).unbind($.imgAreaSelect.keyPress,
                      $.imgAreaSelect.onKeyPress);
  
              if (options.keys)
+                 /*
+                  * Set the document keypress event handler to this instance's
+                  * docKeyPress() function
+                  */
                  $(document)[$.imgAreaSelect.keyPress](
                      $.imgAreaSelect.onKeyPress = docKeyPress);
          }
  
+         /*
+          * Internet Explorer displays 1px-wide dashed borders incorrectly by
+          * filling the spaces between dashes with white. Toggling the margin
+          * property between 0 and "auto" fixes this in IE6 and IE7 (IE8 is still
+          * broken). This workaround is not perfect, as it requires setTimeout()
+          * and thus causes the border to flicker a bit, but I haven't found a
+          * better solution.
+          *
+          * Note: This only happens with CSS borders, set with the borderWidth,
+          * borderOpacity, borderColor1, and borderColor2 options (which are now
+          * deprecated). Borders created with GIF background images are fine.
+          */
          if ($.browser.msie && $border.outerWidth() - $border.innerWidth() == 2) {
              $border.css('margin', 0);
              setTimeout(function () { $border.css('margin', 'auto'); }, 0);
          }
      }
  
+     /**
+      * Do the complete update sequence: recalculate offsets, update the
+      * elements, and set the correct values of x1, y1, x2, and y2.
+      *
+      * @param resetKeyPress
+      *            If set to <code>false</code>, this instance's keypress
+      *            event handler is not activated
+      */
      function doUpdate(resetKeyPress) {
          adjust();
          update(resetKeyPress);
***************
*** 218,228 ****
          x2 = viewX(selection.x2); y2 = viewY(selection.y2);
      }
  
      function hide($elem, fn) {
          options.fadeSpeed ? $elem.fadeOut(options.fadeSpeed, fn) : $elem.hide();
- 
      }
  
      function areaMouseMove(event) {
          var x = selX(evX(event)) - selection.x1,
              y = selY(evY(event)) - selection.y1;
--- 414,437 ----
          x2 = viewX(selection.x2); y2 = viewY(selection.y2);
      }
  
+     /**
+      * Hide or fade out an element (or multiple elements)
+      *
+      * @param $elem
+      *            A jQuery object containing the element(s) to hide/fade out
+      * @param fn
+      *            Callback function to be called when fadeOut() completes
+      */
      function hide($elem, fn) {
          options.fadeSpeed ? $elem.fadeOut(options.fadeSpeed, fn) : $elem.hide();
      }
  
+     /**
+      * Selection area mousemove event handler
+      *
+      * @param event
+      *            The event object
+      */
      function areaMouseMove(event) {
          var x = selX(evX(event)) - selection.x1,
              y = selY(evY(event)) - selection.y1;
***************
*** 234,242 ****
--- 443,456 ----
              $box.one('mouseout', function () { adjusted = false; });
          }
  
+         /* Clear the resize mode */
          resize = '';
  
          if (options.resizable) {
+             /*
+              * Check if the mouse pointer is over the resize margin area and set
+              * the resize mode accordingly
+              */
              if (y <= options.resizeMargin)
                  resize = 'n';
              else if (y >= selection.height - options.resizeMargin)
***************
*** 253,260 ****
--- 467,485 ----
              $areaOpera.toggle();
      }
  
+     /**
+      * Document mouseup event handler
+      *
+      * @param event
+      *            The event object
+      */
      function docMouseUp(event) {
+         /* Set back the default cursor */
          $('body').css('cursor', '');
+         /*
+          * If autoHide is enabled, or if the selection has zero width/height,
+          * hide the selection and the outer area
+          */
          if (options.autoHide || selection.width * selection.height == 0)
              hide($box.add($outer), function () { $(this).hide(); });
  
***************
*** 264,275 ****
--- 489,508 ----
          options.onSelectEnd(img, getSelection());
      }
  
+     /**
+      * Selection area mousedown event handler
+      *
+      * @param event
+      *            The event object
+      * @return false
+      */
      function areaMouseDown(event) {
          if (event.which != 1) return false;
  
          adjust();
  
          if (resize) {
+             /* Resize mode is in effect */
              $('body').css('cursor', resize + '-resize');
  
              x1 = viewX(selection[/w/.test(resize) ? 'x2' : 'x1']);
***************
*** 299,304 ****
--- 532,544 ----
          return false;
      }
  
+     /**
+      * Adjust the x2/y2 coordinates to maintain aspect ratio (if defined)
+      *
+      * @param xFirst
+      *            If set to <code>true</code>, calculate x2 first. Otherwise,
+      *            calculate y2 first.
+      */
      function fixAspectRatio(xFirst) {
          if (aspectRatio)
              if (xFirst) {
***************
*** 318,328 ****
--- 557,577 ----
              }
      }
  
+     /**
+      * Resize the selection area respecting the minimum/maximum dimensions and
+      * aspect ratio
+      */
      function doResize() {
+         /*
+          * Make sure the top left corner of the selection area stays within
+          * image boundaries (it might not if the image source was dynamically
+          * changed).
+          */
          x1 = min(x1, left + imgWidth);
          y1 = min(y1, top + imgHeight);
  
          if (abs(x2 - x1) < minWidth) {
+             /* Selection width is smaller than minWidth */
              x2 = x1 - minWidth * (x2 < x1 || -1);
  
              if (x2 < left)
***************
*** 332,337 ****
--- 581,587 ----
          }
  
          if (abs(y2 - y1) < minHeight) {
+             /* Selection height is smaller than minHeight */
              y2 = y1 - minHeight * (y2 < y1 || -1);
  
              if (y2 < top)
***************
*** 346,356 ****
--- 596,608 ----
          fixAspectRatio(abs(x2 - x1) < abs(y2 - y1) * aspectRatio);
  
          if (abs(x2 - x1) > maxWidth) {
+             /* Selection width is greater than maxWidth */
              x2 = x1 - maxWidth * (x2 < x1 || -1);
              fixAspectRatio();
          }
  
          if (abs(y2 - y1) > maxHeight) {
+             /* Selection height is greater than maxHeight */
              y2 = y1 - maxHeight * (y2 < y1 || -1);
              fixAspectRatio(true);
          }
***************
*** 364,372 ****
          options.onSelectChange(img, getSelection());
      }
  
      function selectingMouseMove(event) {
!         x2 = resize == '' || /w|e/.test(resize) || aspectRatio ? evX(event) : viewX(selection.x2);
!         y2 = resize == '' || /n|s/.test(resize) || aspectRatio ? evY(event) : viewY(selection.y2);
  
          doResize();
  
--- 616,631 ----
          options.onSelectChange(img, getSelection());
      }
  
+     /**
+      * Mousemove event handler triggered when the user is selecting an area
+      *
+      * @param event
+      *            The event object
+      * @return false
+      */
      function selectingMouseMove(event) {
!         x2 = /w|e|^$/.test(resize) || aspectRatio ? evX(event) : viewX(selection.x2);
!         y2 = /n|s|^$/.test(resize) || aspectRatio ? evY(event) : viewY(selection.y2);
  
          doResize();
  
***************
*** 371,379 ****
          doResize();
  
          return false;
- 
      }
  
      function doMove(newX1, newY1) {
          x2 = (x1 = newX1) + selection.width;
          y2 = (y1 = newY1) + selection.height;
--- 630,645 ----
          doResize();
  
          return false;
      }
  
+     /**
+      * Move the selection area
+      *
+      * @param newX1
+      *            New viewport X1
+      * @param newY1
+      *            New viewport Y1
+      */
      function doMove(newX1, newY1) {
          x2 = (x1 = newX1) + selection.width;
          y2 = (y1 = newY1) + selection.height;
***************
*** 386,391 ****
--- 652,664 ----
          options.onSelectChange(img, getSelection());
      }
  
+     /**
+      * Mousemove event handler triggered when the selection area is being moved
+      *
+      * @param event
+      *            The event object
+      * @return false
+      */
      function movingMouseMove(event) {
          x1 = max(left, min(startX + evX(event), left + imgWidth - selection.width));
          y1 = max(top, min(startY + evY(event), top + imgHeight - selection.height));
***************
*** 397,402 ****
--- 669,677 ----
          return false;
      }
  
+     /**
+      * Start selection
+      */
      function startSelection() {
          $(document).unbind('mousemove', startSelection);
          adjust();
***************
*** 408,414 ****
  
          resize = '';
  
!         if ($outer.is(':not(:visible)'))
              $box.add($outer).hide().fadeIn(options.fadeSpeed||0);
  
          shown = true;
--- 682,689 ----
  
          resize = '';
  
!         if (!$outer.is(':visible'))
!             /* Show the plugin elements */
              $box.add($outer).hide().fadeIn(options.fadeSpeed||0);
  
          shown = true;
***************
*** 420,425 ****
--- 695,703 ----
          options.onSelectStart(img, getSelection());
      }
  
+     /**
+      * Cancel selection
+      */
      function cancelSelection() {
          $(document).unbind('mousemove', startSelection)
              .unbind('mouseup', cancelSelection);
***************
*** 427,455 ****
  
          setSelection(selX(x1), selY(y1), selX(x1), selY(y1));
  
!         options.onSelectChange(img, getSelection());
!         options.onSelectEnd(img, getSelection());
      }
  
      function imgMouseDown(event) {
          if (event.which != 1 || $outer.is(':animated')) return false;
  
          adjust();
          startX = x1 = evX(event);
          startY = y1 = evY(event);
  
          $(document).mousemove(startSelection).mouseup(cancelSelection);
  
          return false;
      }
  
      function windowResize() {
          doUpdate(false);
      }
  
      function imgLoad() {
          imgLoaded = true;
  
          setOptions(options = $.extend({
              classPrefix: 'imgareaselect',
              movable: true,
--- 705,753 ----
  
          setSelection(selX(x1), selY(y1), selX(x1), selY(y1));
  
!         /* If this is an API call, callback functions should not be triggered */
!         if (!this instanceof $.imgAreaSelect) {
!             options.onSelectChange(img, getSelection());
!             options.onSelectEnd(img, getSelection());
!         }
      }
  
+     /**
+      * Image mousedown event handler
+      *
+      * @param event
+      *            The event object
+      * @return false
+      */
      function imgMouseDown(event) {
+         /* Ignore the event if animation is in progress */
          if (event.which != 1 || $outer.is(':animated')) return false;
  
          adjust();
          startX = x1 = evX(event);
          startY = y1 = evY(event);
  
+         /* Selection will start when the mouse is moved */
          $(document).mousemove(startSelection).mouseup(cancelSelection);
  
          return false;
      }
  
+     /**
+      * Window resize event handler
+      */
      function windowResize() {
          doUpdate(false);
      }
  
+     /**
+      * Image load event handler. This is the final part of the initialization
+      * process.
+      */
      function imgLoad() {
          imgLoaded = true;
  
+         /* Set options */
          setOptions(options = $.extend({
              classPrefix: 'imgareaselect',
              movable: true,
***************
*** 471,479 ****
--- 769,789 ----
              $box.add($outer).hide().fadeIn(options.fadeSpeed||0);
          }
  
+         /*
+          * Call the onInit callback. The setTimeout() call is used to ensure
+          * that the plugin has been fully initialized and the object instance is
+          * available (so that it can be obtained in the callback).
+          */
          setTimeout(function () { options.onInit(img, getSelection()); }, 0);
      }
  
+     /**
+      * Document keypress event handler
+      *
+      * @param event
+      *            The event object
+      * @return false
+      */
      var docKeyPress = function(event) {
          var k = options.keys, d, t, key = event.keyCode;
  
***************
*** 486,503 ****
--- 796,819 ----
              (k.ctrl == 'resize' && event.ctrlKey) ||
              (k.alt == 'resize' && (event.altKey || event.originalEvent.altKey)))
          {
+             /* Resize selection */
+ 
              switch (key) {
              case 37:
+                 /* Left */
                  d = -d;
              case 39:
+                 /* Right */
                  t = max(x1, x2);
                  x1 = min(x1, x2);
                  x2 = max(t + d, x1);
                  fixAspectRatio();
                  break;
              case 38:
+                 /* Up */
                  d = -d;
              case 40:
+                 /* Down */
                  t = max(y1, y2);
                  y1 = min(y1, y2);
                  y2 = max(t + d, y1);
***************
*** 510,529 ****
--- 826,851 ----
              doResize();
          }
          else {
+             /* Move selection */
+ 
              x1 = min(x1, x2);
              y1 = min(y1, y2);
  
              switch (key) {
              case 37:
+                 /* Left */
                  doMove(max(x1 - d, left), y1);
                  break;
              case 38:
+                 /* Up */
                  doMove(x1, max(y1 - d, top));
                  break;
              case 39:
+                 /* Right */
                  doMove(x1 + min(d, imgWidth - selX(x2)), y1);
                  break;
              case 40:
+                 /* Down */
                  doMove(x1, y1 + min(d, imgHeight - selY(y2)));
                  break;
              default:
***************
*** 534,554 ****
--- 856,893 ----
          return false;
      };
  
+     /**
+      * Apply style options to plugin element (or multiple elements)
+      *
+      * @param $elem
+      *            A jQuery object representing the element(s) to style
+      * @param props
+      *            An object that maps option names to corresponding CSS
+      *            properties
+      */
      function styleOptions($elem, props) {
          for (option in props)
              if (options[option] !== undefined)
                  $elem.css(props[option], options[option]);
      }
  
+     /**
+      * Set plugin options
+      *
+      * @param newOptions
+      *            The new options object
+      */
      function setOptions(newOptions) {
          if (newOptions.parent)
              ($parent = $(newOptions.parent)).append($box.add($outer));
  
+         /* Merge the new options with the existing ones */
          $.extend(options, newOptions);
  
          adjust();
  
          if (newOptions.handles != null) {
+             /* Recreate selection area handles */
              $handles.remove();
              $handles = $([]);
  
***************
*** 557,582 ****
--- 896,937 ----
              while (i--)
                  $handles = $handles.add(div());
  
+             /* Add a class to handles and set the CSS properties */
              $handles.addClass(options.classPrefix + '-handle').css({
                  position: 'absolute',
+                 /*
+                  * The font-size property needs to be set to zero, otherwise
+                  * Internet Explorer makes the handles too large
+                  */
                  fontSize: 0,
                  zIndex: zIndex + 1 || 1
              });
  
+             /*
+              * If handle width/height has not been set with CSS rules, set the
+              * default 5px
+              */
              if (!parseInt($handles.css('width')) >= 0)
                  $handles.width(5).height(5);
  
+             /*
+              * If the borderWidth option is in use, add a solid border to
+              * handles
+              */
              if (o = options.borderWidth)
                  $handles.css({ borderWidth: o, borderStyle: 'solid' });
  
+             /* Apply other style options */
              styleOptions($handles, { borderColor1: 'border-color',
                  borderColor2: 'background-color',
                  borderOpacity: 'opacity' });
          }
  
+         /* Calculate scale factors */
          scaleX = options.imageWidth / imgWidth || 1;
          scaleY = options.imageHeight / imgHeight || 1;
  
+         /* Set selection */
          if (newOptions.x1 != null) {
              setSelection(newOptions.x1, newOptions.y1, newOptions.x2,
                  newOptions.y2);
***************
*** 584,597 ****
--- 939,955 ----
          }
  
          if (newOptions.keys)
+             /* Enable keyboard support */
              options.keys = $.extend({ shift: 1, ctrl: 'resize' },
                  newOptions.keys);
  
+         /* Add classes to plugin elements */
          $outer.addClass(options.classPrefix + '-outer');
          $area.addClass(options.classPrefix + '-selection');
          for (i = 0; i++ < 4;)
              $($border[i-1]).addClass(options.classPrefix + '-border' + i);
  
+         /* Apply style options */
          styleOptions($area, { selectionColor: 'background-color',
              selectionOpacity: 'opacity' });
          styleOptions($border, { borderOpacity: 'opacity',
***************
*** 603,614 ****
          if (o = options.borderColor2)
              $($border[1]).css({ borderStyle: 'dashed', borderColor: o });
  
          $box.append($area.add($border).add($areaOpera).add($handles));
  
          if ($.browser.msie) {
!             if (o = $outer.css('filter').match(/opacity=([0-9]+)/))
                  $outer.css('opacity', o[1]/100);
!             if (o = $border.css('filter').match(/opacity=([0-9]+)/))
                  $border.css('opacity', o[1]/100);
          }
  
--- 961,973 ----
          if (o = options.borderColor2)
              $($border[1]).css({ borderStyle: 'dashed', borderColor: o });
  
+         /* Append all the selection area elements to the container box */
          $box.append($area.add($border).add($areaOpera).add($handles));
  
          if ($.browser.msie) {
!             if (o = $outer.css('filter').match(/opacity=(\d+)/))
                  $outer.css('opacity', o[1]/100);
!             if (o = $border.css('filter').match(/opacity=(\d+)/))
                  $border.css('opacity', o[1]/100);
          }
  
***************
*** 620,635 ****
--- 979,997 ----
              doUpdate();
          }
  
+         /* Calculate the aspect ratio factor */
          aspectRatio = (d = (options.aspectRatio || '').split(/:/))[0] / d[1];
  
          $img.add($outer).unbind('mousedown', imgMouseDown);
  
          if (options.disable || options.enable === false) {
+             /* Disable the plugin */
              $box.unbind('mousemove', areaMouseMove).unbind('mousedown', areaMouseDown);
              $(window).unbind('resize', windowResize);
          }
          else {
              if (options.enable || options.disable === false) {
+                 /* Enable the plugin */
                  if (options.resizable || options.movable)
                      $box.mousemove(areaMouseMove).mousedown(areaMouseDown);
  
***************
*** 643,711 ****
          options.enable = options.disable = undefined;
      }
  
      this.remove = function () {
          setOptions({ disable: true });
          $box.add($outer).remove();
      };
  
      this.getOptions = function () { return options; };
  
      this.setOptions = setOptions;
  
      this.getSelection = getSelection;
  
      this.setSelection = setSelection;
  
      this.update = doUpdate;
  
      $p = $img;
  
      while ($p.length) {
          zIndex = max(zIndex,
              !isNaN($p.css('z-index')) ? $p.css('z-index') : zIndex);
          if ($p.css('position') == 'fixed')
              position = 'fixed';
  
          $p = $p.parent(':not(body)');
      }
  
      zIndex = options.zIndex || zIndex;
  
      if ($.browser.msie)
          $img.attr('unselectable', 'on');
  
      $.imgAreaSelect.keyPress = $.browser.msie ||
          $.browser.safari ? 'keydown' : 'keypress';
  
      if ($.browser.opera)
          $areaOpera = div().css({ width: '100%', height: '100%',
              position: 'absolute', zIndex: zIndex + 2 || 2 });
  
      $box.add($outer).css({ visibility: 'hidden', position: position,
          overflow: 'hidden', zIndex: zIndex || '0' });
      $box.css({ zIndex: zIndex + 2 || 2 });
      $area.add($border).css({ position: 'absolute', fontSize: 0 });
  
      img.complete || img.readyState == 'complete' || !$img.is('img') ?
          imgLoad() : $img.one('load', imgLoad);
  
!     if ($.browser.msie && $.browser.version >= 9)
          img.src = img.src;
  };
  
  $.fn.imgAreaSelect = function (options) {
      options = options || {};
  
      this.each(function () {
          if ($(this).data('imgAreaSelect')) {
              if (options.remove) {
                  $(this).data('imgAreaSelect').remove();
                  $(this).removeData('imgAreaSelect');
              }
              else
                  $(this).data('imgAreaSelect').setOptions(options);
          }
          else if (!options.remove) {
              if (options.enable === undefined && options.disable === undefined)
                  options.enable = true;
  
--- 1005,1183 ----
          options.enable = options.disable = undefined;
      }
  
+     /**
+      * Remove plugin completely
+      */
      this.remove = function () {
+         /*
+          * Call setOptions with { disable: true } to unbind the event handlers
+          */
          setOptions({ disable: true });
          $box.add($outer).remove();
      };
  
+     /*
+      * Public API
+      */
+ 
+     /**
+      * Get current options
+      *
+      * @return An object containing the set of options currently in use
+      */
      this.getOptions = function () { return options; };
  
+     /**
+      * Set plugin options
+      *
+      * @param newOptions
+      *            The new options object
+      */
      this.setOptions = setOptions;
  
+     /**
+      * Get the current selection
+      *
+      * @param noScale
+      *            If set to <code>true</code>, scaling is not applied to the
+      *            returned selection
+      * @return Selection object
+      */
      this.getSelection = getSelection;
  
+     /**
+      * Set the current selection
+      *
+      * @param x1
+      *            X coordinate of the upper left corner of the selection area
+      * @param y1
+      *            Y coordinate of the upper left corner of the selection area
+      * @param x2
+      *            X coordinate of the lower right corner of the selection area
+      * @param y2
+      *            Y coordinate of the lower right corner of the selection area
+      * @param noScale
+      *            If set to <code>true</code>, scaling is not applied to the
+      *            new selection
+      */
      this.setSelection = setSelection;
  
+     /**
+      * Cancel selection
+      */
+     this.cancelSelection = cancelSelection;
+ 
+     /**
+      * Update plugin elements
+      *
+      * @param resetKeyPress
+      *            If set to <code>false</code>, this instance's keypress
+      *            event handler is not activated
+      */
      this.update = doUpdate;
  
+     /*
+      * Traverse the image's parent elements (up to <body>) and find the
+      * highest z-index
+      */
      $p = $img;
  
      while ($p.length) {
          zIndex = max(zIndex,
              !isNaN($p.css('z-index')) ? $p.css('z-index') : zIndex);
+         /* Also check if any of the ancestor elements has fixed position */
          if ($p.css('position') == 'fixed')
              position = 'fixed';
  
          $p = $p.parent(':not(body)');
      }
  
+     /*
+      * If z-index is given as an option, it overrides the one found by the
+      * above loop
+      */
      zIndex = options.zIndex || zIndex;
  
      if ($.browser.msie)
          $img.attr('unselectable', 'on');
  
+     /*
+      * In MSIE and WebKit, we need to use the keydown event instead of keypress
+      */
      $.imgAreaSelect.keyPress = $.browser.msie ||
          $.browser.safari ? 'keydown' : 'keypress';
  
+     /*
+      * There is a bug affecting the CSS cursor property in Opera (observed in
+      * versions up to 10.00) that prevents the cursor from being updated unless
+      * the mouse leaves and enters the element again. To trigger the mouseover
+      * event, we're adding an additional div to $box and we're going to toggle
+      * it when mouse moves inside the selection area.
+      */
      if ($.browser.opera)
          $areaOpera = div().css({ width: '100%', height: '100%',
              position: 'absolute', zIndex: zIndex + 2 || 2 });
  
+     /*
+      * We initially set visibility to "hidden" as a workaround for a weird
+      * behaviour observed in Google Chrome 1.0.154.53 (on Windows XP). Normally
+      * we would just set display to "none", but, for some reason, if we do so
+      * then Chrome refuses to later display the element with .show() or
+      * .fadeIn().
+      */
      $box.add($outer).css({ visibility: 'hidden', position: position,
          overflow: 'hidden', zIndex: zIndex || '0' });
      $box.css({ zIndex: zIndex + 2 || 2 });
      $area.add($border).css({ position: 'absolute', fontSize: 0 });
  
+     /*
+      * If the image has been fully loaded, or if it is not really an image (eg.
+      * a div), call imgLoad() immediately; otherwise, bind it to be called once
+      * on image load event.
+      */
      img.complete || img.readyState == 'complete' || !$img.is('img') ?
          imgLoad() : $img.one('load', imgLoad);
  
!     /*
!      * MSIE 9.0 doesn't always fire the image load event -- resetting the src
!      * attribute seems to trigger it. The check is for version 7 and above to
!      * accommodate for MSIE 9 running in compatibility mode.
!      */
!    if ($.browser.msie && $.browser.version >= 7)
          img.src = img.src;
  };
  
+ /**
+  * Invoke imgAreaSelect on a jQuery object containing the image(s)
+  *
+  * @param options
+  *            Options object
+  * @return The jQuery object or a reference to imgAreaSelect instance (if the
+  *         <code>instance</code> option was specified)
+  */
  $.fn.imgAreaSelect = function (options) {
      options = options || {};
  
      this.each(function () {
+         /* Is there already an imgAreaSelect instance bound to this element? */
          if ($(this).data('imgAreaSelect')) {
+             /* Yes there is -- is it supposed to be removed? */
              if (options.remove) {
+                 /* Remove the plugin */
                  $(this).data('imgAreaSelect').remove();
                  $(this).removeData('imgAreaSelect');
              }
              else
+                 /* Reset options */
                  $(this).data('imgAreaSelect').setOptions(options);
          }
          else if (!options.remove) {
+             /* No exising instance -- create a new one */
+ 
+             /*
+              * If neither the "enable" nor the "disable" option is present, add
+              * "enable" as the default
+              */
              if (options.enable === undefined && options.disable === undefined)
                  options.enable = true;
  
***************
*** 714,719 ****
--- 1186,1195 ----
      });
  
      if (options.instance)
+         /*
+          * Return the imgAreaSelect instance bound to the first element in the
+          * set
+          */
          return $(this).data('imgAreaSelect');
  
      return this;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/imgareaselect/jquery.imgareaselect.js ./wordpress-3.4/wp-includes/js/imgareaselect/jquery.imgareaselect.js
*** ./wordpress-3.3.2/wp-includes/js/imgareaselect/jquery.imgareaselect.js	2011-05-15 13:03:51.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/imgareaselect/jquery.imgareaselect.js	2012-04-25 16:58:24.000000000 -0500
***************
*** 1 ****
! (function(e){var b=Math.abs,a=Math.max,d=Math.min,c=Math.round;function f(){return e("<div/>")}e.imgAreaSelect=function(Q,ad){var M=e(Q),u,B=f(),E=f(),ap=f().add(f()).add(f()).add(f()),v=f().add(f()).add(f()).add(f()),ax=e([]),aj,T,ao,ay={left:0,top:0},S,aA,p,V={left:0,top:0},g=0,ak="absolute",an,am,ab,aa,az=10,t,q,al,k,x,aE,ah,D,n,C,l,aC={x1:0,y1:0,x2:0,y2:0,width:0,height:0},F=document.documentElement,Z,R,O,N,K,P,I;function Y(h){return h+ay.left-V.left}function X(h){return h+ay.top-V.top}function au(h){return h-ay.left+V.left}function at(h){return h-ay.top+V.top}function A(h){return h.pageX-V.left}function z(h){return h.pageY-V.top}function ar(h){var o=h||ab,i=h||aa;return{x1:c(aC.x1*o),y1:c(aC.y1*i),x2:c(aC.x2*o),y2:c(aC.y2*i),width:c(aC.x2*o)-c(aC.x1*o),height:c(aC.y2*i)-c(aC.y1*i)}}function aq(i,w,h,o,aF){var aH=aF||ab,aG=aF||aa;aC={x1:c(i/aH||0),y1:c(w/aG||0),x2:c(h/aH||0),y2:c(o/aG||0)};aC.width=aC.x2-aC.x1;aC.height=aC.y2-aC.y1}function m(){if(!M.width()){return}ay={left:c(M.offset().left),top:c(M.offset().top)};S=M.innerWidth();aA=M.innerHeight();ay.top+=(M.outerHeight()-aA)>>1;ay.left+=(M.outerWidth()-S)>>1;q=ad.minWidth||0;al=ad.minHeight||0;k=d(ad.maxWidth||1<<24,S);x=d(ad.maxHeight||1<<24,aA);if(e().jquery=="1.3.2"&&ak=="fixed"&&!F.getBoundingClientRect){ay.top+=a(document.body.scrollTop,F.scrollTop);ay.left+=a(document.body.scrollLeft,F.scrollLeft)}V=e.inArray(p.css("position"),["absolute","relative"])+1?{left:c(p.offset().left)-p.scrollLeft(),top:c(p.offset().top)-p.scrollTop()}:ak=="fixed"?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0};T=Y(0);ao=X(0);if(aC.x2>S||aC.y2>aA){aB()}}function J(h){if(!ah){return}B.css({left:Y(aC.x1),top:X(aC.y1)}).add(E).width(K=aC.width).height(P=aC.height);E.add(ap).add(ax).css({left:0,top:0});ap.width(a(K-ap.outerWidth()+ap.innerWidth(),0)).height(a(P-ap.outerHeight()+ap.innerHeight(),0));e(v[0]).css({left:T,top:ao,width:aC.x1,height:aA});e(v[1]).css({left:T+aC.x1,top:ao,width:K,height:aC.y1});e(v[2]).css({left:T+aC.x2,top:ao,width:S-aC.x2,height:aA});e(v[3]).css({left:T+aC.x1,top:ao+aC.y2,width:K,height:aA-aC.y2});K-=ax.outerWidth();P-=ax.outerHeight();switch(ax.length){case 8:e(ax[4]).css({left:K>>1});e(ax[5]).css({left:K,top:P>>1});e(ax[6]).css({left:K>>1,top:P});e(ax[7]).css({top:P>>1});case 4:ax.slice(1,3).css({left:K});ax.slice(2,4).css({top:P})}if(h!==false){if(e.imgAreaSelect.keyPress!=av){e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress)}if(ad.keys){e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=av)}}if(e.browser.msie&&ap.outerWidth()-ap.innerWidth()==2){ap.css("margin",0);setTimeout(function(){ap.css("margin","auto")},0)}}function y(h){m();J(h);D=Y(aC.x1);n=X(aC.y1);C=Y(aC.x2);l=X(aC.y2)}function ag(h,i){ad.fadeSpeed?h.fadeOut(ad.fadeSpeed,i):h.hide()}function H(i){var h=au(A(i))-aC.x1,o=at(z(i))-aC.y1;if(!I){m();I=true;B.one("mouseout",function(){I=false})}t="";if(ad.resizable){if(o<=ad.resizeMargin){t="n"}else{if(o>=aC.height-ad.resizeMargin){t="s"}}if(h<=ad.resizeMargin){t+="w"}else{if(h>=aC.width-ad.resizeMargin){t+="e"}}}B.css("cursor",t?t+"-resize":ad.movable?"move":"");if(aj){aj.toggle()}}function j(h){e("body").css("cursor","");if(ad.autoHide||aC.width*aC.height==0){ag(B.add(v),function(){e(this).hide()})}e(document).unbind("mousemove",ae);B.mousemove(H);ad.onSelectEnd(Q,ar())}function aw(h){if(h.which!=1){return false}m();if(t){e("body").css("cursor",t+"-resize");D=Y(aC[/w/.test(t)?"x2":"x1"]);n=X(aC[/n/.test(t)?"y2":"y1"]);e(document).mousemove(ae).one("mouseup",j);B.unbind("mousemove",H)}else{if(ad.movable){an=T+aC.x1-A(h);am=ao+aC.y1-z(h);B.unbind("mousemove",H);e(document).mousemove(ac).one("mouseup",function(){ad.onSelectEnd(Q,ar());e(document).unbind("mousemove",ac);B.mousemove(H)})}else{M.mousedown(h)}}return false}function L(h){if(aE){if(h){C=a(T,d(T+S,D+b(l-n)*aE*(C>D||-1)));l=c(a(ao,d(ao+aA,n+b(C-D)/aE*(l>n||-1))));C=c(C)}else{l=a(ao,d(ao+aA,n+b(C-D)/aE*(l>n||-1)));C=c(a(T,d(T+S,D+b(l-n)*aE*(C>D||-1))));l=c(l)}}}function aB(){D=d(D,T+S);n=d(n,ao+aA);if(b(C-D)<q){C=D-q*(C<D||-1);if(C<T){D=T+q}else{if(C>T+S){D=T+S-q}}}if(b(l-n)<al){l=n-al*(l<n||-1);if(l<ao){n=ao+al}else{if(l>ao+aA){n=ao+aA-al}}}C=a(T,d(C,T+S));l=a(ao,d(l,ao+aA));L(b(C-D)<b(l-n)*aE);if(b(C-D)>k){C=D-k*(C<D||-1);L()}if(b(l-n)>x){l=n-x*(l<n||-1);L(true)}aC={x1:au(d(D,C)),x2:au(a(D,C)),y1:at(d(n,l)),y2:at(a(n,l)),width:b(C-D),height:b(l-n)};J();ad.onSelectChange(Q,ar())}function ae(h){C=t==""||/w|e/.test(t)||aE?A(h):Y(aC.x2);l=t==""||/n|s/.test(t)||aE?z(h):X(aC.y2);aB();return false}function U(h,i){C=(D=h)+aC.width;l=(n=i)+aC.height;e.extend(aC,{x1:au(D),y1:at(n),x2:au(C),y2:at(l)});J();ad.onSelectChange(Q,ar())}function ac(h){D=a(T,d(an+A(h),T+S-aC.width));n=a(ao,d(am+z(h),ao+aA-aC.height));U(D,n);h.preventDefault();return false}function r(){e(document).unbind("mousemove",r);m();C=D;l=n;aB();t="";if(v.is(":not(:visible)")){B.add(v).hide().fadeIn(ad.fadeSpeed||0)}ah=true;e(document).unbind("mouseup",W).mousemove(ae).one("mouseup",j);B.unbind("mousemove",H);ad.onSelectStart(Q,ar())}function W(){e(document).unbind("mousemove",r).unbind("mouseup",W);ag(B.add(v));aq(au(D),at(n),au(D),at(n));ad.onSelectChange(Q,ar());ad.onSelectEnd(Q,ar())}function aD(h){if(h.which!=1||v.is(":animated")){return false}m();an=D=A(h);am=n=z(h);e(document).mousemove(r).mouseup(W);return false}function ai(){y(false)}function s(){u=true;af(ad=e.extend({classPrefix:"imgareaselect",movable:true,parent:"body",resizable:true,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},ad));B.add(v).css({visibility:""});if(ad.show){ah=true;m();J();B.add(v).hide().fadeIn(ad.fadeSpeed||0)}setTimeout(function(){ad.onInit(Q,ar())},0)}var av=function(w){var h=ad.keys,aF,o,i=w.keyCode;aF=!isNaN(h.alt)&&(w.altKey||w.originalEvent.altKey)?h.alt:!isNaN(h.ctrl)&&w.ctrlKey?h.ctrl:!isNaN(h.shift)&&w.shiftKey?h.shift:!isNaN(h.arrows)?h.arrows:10;if(h.arrows=="resize"||(h.shift=="resize"&&w.shiftKey)||(h.ctrl=="resize"&&w.ctrlKey)||(h.alt=="resize"&&(w.altKey||w.originalEvent.altKey))){switch(i){case 37:aF=-aF;case 39:o=a(D,C);D=d(D,C);C=a(o+aF,D);L();break;case 38:aF=-aF;case 40:o=a(n,l);n=d(n,l);l=a(o+aF,n);L(true);break;default:return}aB()}else{D=d(D,C);n=d(n,l);switch(i){case 37:U(a(D-aF,T),n);break;case 38:U(D,a(n-aF,ao));break;case 39:U(D+d(aF,S-au(C)),n);break;case 40:U(D,n+d(aF,aA-at(l)));break;default:return}}return false};function G(h,i){for(option in i){if(ad[option]!==undefined){h.css(i[option],ad[option])}}}function af(h){if(h.parent){(p=e(h.parent)).append(B.add(v))}e.extend(ad,h);m();if(h.handles!=null){ax.remove();ax=e([]);O=h.handles?h.handles=="corners"?4:8:0;while(O--){ax=ax.add(f())}ax.addClass(ad.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:g+1||1});if(!parseInt(ax.css("width"))>=0){ax.width(5).height(5)}if(N=ad.borderWidth){ax.css({borderWidth:N,borderStyle:"solid"})}G(ax,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}ab=ad.imageWidth/S||1;aa=ad.imageHeight/aA||1;if(h.x1!=null){aq(h.x1,h.y1,h.x2,h.y2);h.show=!h.hide}if(h.keys){ad.keys=e.extend({shift:1,ctrl:"resize"},h.keys)}v.addClass(ad.classPrefix+"-outer");E.addClass(ad.classPrefix+"-selection");for(O=0;O++<4;){e(ap[O-1]).addClass(ad.classPrefix+"-border"+O)}G(E,{selectionColor:"background-color",selectionOpacity:"opacity"});G(ap,{borderOpacity:"opacity",borderWidth:"border-width"});G(v,{outerColor:"background-color",outerOpacity:"opacity"});if(N=ad.borderColor1){e(ap[0]).css({borderStyle:"solid",borderColor:N})}if(N=ad.borderColor2){e(ap[1]).css({borderStyle:"dashed",borderColor:N})}B.append(E.add(ap).add(aj).add(ax));if(e.browser.msie){if(N=v.css("filter").match(/opacity=([0-9]+)/)){v.css("opacity",N[1]/100)}if(N=ap.css("filter").match(/opacity=([0-9]+)/)){ap.css("opacity",N[1]/100)}}if(h.hide){ag(B.add(v))}else{if(h.show&&u){ah=true;B.add(v).fadeIn(ad.fadeSpeed||0);y()}}aE=(R=(ad.aspectRatio||"").split(/:/))[0]/R[1];M.add(v).unbind("mousedown",aD);if(ad.disable||ad.enable===false){B.unbind("mousemove",H).unbind("mousedown",aw);e(window).unbind("resize",ai)}else{if(ad.enable||ad.disable===false){if(ad.resizable||ad.movable){B.mousemove(H).mousedown(aw)}e(window).resize(ai)}if(!ad.persistent){M.add(v).mousedown(aD)}}ad.enable=ad.disable=undefined}this.remove=function(){af({disable:true});B.add(v).remove()};this.getOptions=function(){return ad};this.setOptions=af;this.getSelection=ar;this.setSelection=aq;this.update=y;Z=M;while(Z.length){g=a(g,!isNaN(Z.css("z-index"))?Z.css("z-index"):g);if(Z.css("position")=="fixed"){ak="fixed"}Z=Z.parent(":not(body)")}g=ad.zIndex||g;if(e.browser.msie){M.attr("unselectable","on")}e.imgAreaSelect.keyPress=e.browser.msie||e.browser.safari?"keydown":"keypress";if(e.browser.opera){aj=f().css({width:"100%",height:"100%",position:"absolute",zIndex:g+2||2})}B.add(v).css({visibility:"hidden",position:ak,overflow:"hidden",zIndex:g||"0"});B.css({zIndex:g+2||2});E.add(ap).css({position:"absolute",fontSize:0});Q.complete||Q.readyState=="complete"||!M.is("img")?s():M.one("load",s);if(e.browser.msie&&e.browser.version>=9){Q.src=Q.src}};e.fn.imgAreaSelect=function(g){g=g||{};this.each(function(){if(e(this).data("imgAreaSelect")){if(g.remove){e(this).data("imgAreaSelect").remove();e(this).removeData("imgAreaSelect")}else{e(this).data("imgAreaSelect").setOptions(g)}}else{if(!g.remove){if(g.enable===undefined&&g.disable===undefined){g.enable=true}e(this).data("imgAreaSelect",new e.imgAreaSelect(this,g))}}});if(g.instance){return e(this).data("imgAreaSelect")}return this}})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(e){var b=Math.abs,a=Math.max,d=Math.min,c=Math.round;function f(){return e("<div/>")}e.imgAreaSelect=function(s,X){var az=e(s),Z,av=f(),ai=f(),K=f().add(f()).add(f()).add(f()),ab=f().add(f()).add(f()).add(f()),O=e([]),V,n,q,aC={left:0,top:0},Q,j,C,P={left:0,top:0},D=0,ag="absolute",T,S,ad,ac,L,E,U,W,am,Y,N,A,aD,z,aB,y={x1:0,y1:0,x2:0,y2:0,width:0,height:0},p=document.documentElement,l,au,ap,aj,af,aq,x;function J(h){return h+aC.left-P.left}function I(h){return h+aC.top-P.top}function H(h){return h-aC.left+P.left}function B(h){return h-aC.top+P.top}function ao(h){return h.pageX-P.left}function al(h){return h.pageY-P.top}function G(h){var o=h||ad,i=h||ac;return{x1:c(y.x1*o),y1:c(y.y1*i),x2:c(y.x2*o),y2:c(y.y2*i),width:c(y.x2*o)-c(y.x1*o),height:c(y.y2*i)-c(y.y1*i)}}function ah(i,w,h,o,aE){var aG=aE||ad,aF=aE||ac;y={x1:c(i/aG||0),y1:c(w/aF||0),x2:c(h/aG||0),y2:c(o/aF||0)};y.width=y.x2-y.x1;y.height=y.y2-y.y1}function ar(){if(!az.width()){return}aC={left:c(az.offset().left),top:c(az.offset().top)};Q=az.innerWidth();j=az.innerHeight();aC.top+=(az.outerHeight()-j)>>1;aC.left+=(az.outerWidth()-Q)>>1;E=c(X.minWidth/ad)||0;U=c(X.minHeight/ac)||0;W=c(d(X.maxWidth/ad||1<<24,Q));am=c(d(X.maxHeight/ac||1<<24,j));if(e().jquery=="1.3.2"&&ag=="fixed"&&!p.getBoundingClientRect){aC.top+=a(document.body.scrollTop,p.scrollTop);aC.left+=a(document.body.scrollLeft,p.scrollLeft)}P=/absolute|relative/.test(C.css("position"))?{left:c(C.offset().left)-C.scrollLeft(),top:c(C.offset().top)-C.scrollTop()}:ag=="fixed"?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0};n=J(0);q=I(0);if(y.x2>Q||y.y2>j){ay()}}function aa(h){if(!N){return}av.css({left:J(y.x1),top:I(y.y1)}).add(ai).width(af=y.width).height(aq=y.height);ai.add(K).add(O).css({left:0,top:0});K.width(a(af-K.outerWidth()+K.innerWidth(),0)).height(a(aq-K.outerHeight()+K.innerHeight(),0));e(ab[0]).css({left:n,top:q,width:y.x1,height:j});e(ab[1]).css({left:n+y.x1,top:q,width:af,height:y.y1});e(ab[2]).css({left:n+y.x2,top:q,width:Q-y.x2,height:j});e(ab[3]).css({left:n+y.x1,top:q+y.y2,width:af,height:j-y.y2});af-=O.outerWidth();aq-=O.outerHeight();switch(O.length){case 8:e(O[4]).css({left:af>>1});e(O[5]).css({left:af,top:aq>>1});e(O[6]).css({left:af>>1,top:aq});e(O[7]).css({top:aq>>1});case 4:O.slice(1,3).css({left:af});O.slice(2,4).css({top:aq})}if(h!==false){if(e.imgAreaSelect.keyPress!=aw){e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress)}if(X.keys){e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=aw)}}if(e.browser.msie&&K.outerWidth()-K.innerWidth()==2){K.css("margin",0);setTimeout(function(){K.css("margin","auto")},0)}}function u(h){ar();aa(h);A=J(y.x1);aD=I(y.y1);z=J(y.x2);aB=I(y.y2)}function ak(h,i){X.fadeSpeed?h.fadeOut(X.fadeSpeed,i):h.hide()}function F(i){var h=H(ao(i))-y.x1,o=B(al(i))-y.y1;if(!x){ar();x=true;av.one("mouseout",function(){x=false})}L="";if(X.resizable){if(o<=X.resizeMargin){L="n"}else{if(o>=y.height-X.resizeMargin){L="s"}}if(h<=X.resizeMargin){L+="w"}else{if(h>=y.width-X.resizeMargin){L+="e"}}}av.css("cursor",L?L+"-resize":X.movable?"move":"");if(V){V.toggle()}}function an(h){e("body").css("cursor","");if(X.autoHide||y.width*y.height==0){ak(av.add(ab),function(){e(this).hide()})}e(document).unbind("mousemove",ae);av.mousemove(F);X.onSelectEnd(s,G())}function t(h){if(h.which!=1){return false}ar();if(L){e("body").css("cursor",L+"-resize");A=J(y[/w/.test(L)?"x2":"x1"]);aD=I(y[/n/.test(L)?"y2":"y1"]);e(document).mousemove(ae).one("mouseup",an);av.unbind("mousemove",F)}else{if(X.movable){T=n+y.x1-ao(h);S=q+y.y1-al(h);av.unbind("mousemove",F);e(document).mousemove(g).one("mouseup",function(){X.onSelectEnd(s,G());e(document).unbind("mousemove",g);av.mousemove(F)})}else{az.mousedown(h)}}return false}function r(h){if(Y){if(h){z=a(n,d(n+Q,A+b(aB-aD)*Y*(z>A||-1)));aB=c(a(q,d(q+j,aD+b(z-A)/Y*(aB>aD||-1))));z=c(z)}else{aB=a(q,d(q+j,aD+b(z-A)/Y*(aB>aD||-1)));z=c(a(n,d(n+Q,A+b(aB-aD)*Y*(z>A||-1))));aB=c(aB)}}}function ay(){A=d(A,n+Q);aD=d(aD,q+j);if(b(z-A)<E){z=A-E*(z<A||-1);if(z<n){A=n+E}else{if(z>n+Q){A=n+Q-E}}}if(b(aB-aD)<U){aB=aD-U*(aB<aD||-1);if(aB<q){aD=q+U}else{if(aB>q+j){aD=q+j-U}}}z=a(n,d(z,n+Q));aB=a(q,d(aB,q+j));r(b(z-A)<b(aB-aD)*Y);if(b(z-A)>W){z=A-W*(z<A||-1);r()}if(b(aB-aD)>am){aB=aD-am*(aB<aD||-1);r(true)}y={x1:H(d(A,z)),x2:H(a(A,z)),y1:B(d(aD,aB)),y2:B(a(aD,aB)),width:b(z-A),height:b(aB-aD)};aa();X.onSelectChange(s,G())}function ae(h){z=/w|e|^$/.test(L)||Y?ao(h):J(y.x2);aB=/n|s|^$/.test(L)||Y?al(h):I(y.y2);ay();return false}function R(h,i){z=(A=h)+y.width;aB=(aD=i)+y.height;e.extend(y,{x1:H(A),y1:B(aD),x2:H(z),y2:B(aB)});aa();X.onSelectChange(s,G())}function g(h){A=a(n,d(T+ao(h),n+Q-y.width));aD=a(q,d(S+al(h),q+j-y.height));R(A,aD);h.preventDefault();return false}function aA(){e(document).unbind("mousemove",aA);ar();z=A;aB=aD;ay();L="";if(!ab.is(":visible")){av.add(ab).hide().fadeIn(X.fadeSpeed||0)}N=true;e(document).unbind("mouseup",at).mousemove(ae).one("mouseup",an);av.unbind("mousemove",F);X.onSelectStart(s,G())}function at(){e(document).unbind("mousemove",aA).unbind("mouseup",at);ak(av.add(ab));ah(H(A),B(aD),H(A),B(aD));if(!this instanceof e.imgAreaSelect){X.onSelectChange(s,G());X.onSelectEnd(s,G())}}function m(h){if(h.which!=1||ab.is(":animated")){return false}ar();T=A=ao(h);S=aD=al(h);e(document).mousemove(aA).mouseup(at);return false}function v(){u(false)}function ax(){Z=true;M(X=e.extend({classPrefix:"imgareaselect",movable:true,parent:"body",resizable:true,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},X));av.add(ab).css({visibility:""});if(X.show){N=true;ar();aa();av.add(ab).hide().fadeIn(X.fadeSpeed||0)}setTimeout(function(){X.onInit(s,G())},0)}var aw=function(w){var h=X.keys,aE,o,i=w.keyCode;aE=!isNaN(h.alt)&&(w.altKey||w.originalEvent.altKey)?h.alt:!isNaN(h.ctrl)&&w.ctrlKey?h.ctrl:!isNaN(h.shift)&&w.shiftKey?h.shift:!isNaN(h.arrows)?h.arrows:10;if(h.arrows=="resize"||(h.shift=="resize"&&w.shiftKey)||(h.ctrl=="resize"&&w.ctrlKey)||(h.alt=="resize"&&(w.altKey||w.originalEvent.altKey))){switch(i){case 37:aE=-aE;case 39:o=a(A,z);A=d(A,z);z=a(o+aE,A);r();break;case 38:aE=-aE;case 40:o=a(aD,aB);aD=d(aD,aB);aB=a(o+aE,aD);r(true);break;default:return}ay()}else{A=d(A,z);aD=d(aD,aB);switch(i){case 37:R(a(A-aE,n),aD);break;case 38:R(A,a(aD-aE,q));break;case 39:R(A+d(aE,Q-H(z)),aD);break;case 40:R(A,aD+d(aE,j-B(aB)));break;default:return}}return false};function k(h,i){for(option in i){if(X[option]!==undefined){h.css(i[option],X[option])}}}function M(h){if(h.parent){(C=e(h.parent)).append(av.add(ab))}e.extend(X,h);ar();if(h.handles!=null){O.remove();O=e([]);ap=h.handles?h.handles=="corners"?4:8:0;while(ap--){O=O.add(f())}O.addClass(X.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:D+1||1});if(!parseInt(O.css("width"))>=0){O.width(5).height(5)}if(aj=X.borderWidth){O.css({borderWidth:aj,borderStyle:"solid"})}k(O,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}ad=X.imageWidth/Q||1;ac=X.imageHeight/j||1;if(h.x1!=null){ah(h.x1,h.y1,h.x2,h.y2);h.show=!h.hide}if(h.keys){X.keys=e.extend({shift:1,ctrl:"resize"},h.keys)}ab.addClass(X.classPrefix+"-outer");ai.addClass(X.classPrefix+"-selection");for(ap=0;ap++<4;){e(K[ap-1]).addClass(X.classPrefix+"-border"+ap)}k(ai,{selectionColor:"background-color",selectionOpacity:"opacity"});k(K,{borderOpacity:"opacity",borderWidth:"border-width"});k(ab,{outerColor:"background-color",outerOpacity:"opacity"});if(aj=X.borderColor1){e(K[0]).css({borderStyle:"solid",borderColor:aj})}if(aj=X.borderColor2){e(K[1]).css({borderStyle:"dashed",borderColor:aj})}av.append(ai.add(K).add(V).add(O));if(e.browser.msie){if(aj=ab.css("filter").match(/opacity=(\d+)/)){ab.css("opacity",aj[1]/100)}if(aj=K.css("filter").match(/opacity=(\d+)/)){K.css("opacity",aj[1]/100)}}if(h.hide){ak(av.add(ab))}else{if(h.show&&Z){N=true;av.add(ab).fadeIn(X.fadeSpeed||0);u()}}Y=(au=(X.aspectRatio||"").split(/:/))[0]/au[1];az.add(ab).unbind("mousedown",m);if(X.disable||X.enable===false){av.unbind("mousemove",F).unbind("mousedown",t);e(window).unbind("resize",v)}else{if(X.enable||X.disable===false){if(X.resizable||X.movable){av.mousemove(F).mousedown(t)}e(window).resize(v)}if(!X.persistent){az.add(ab).mousedown(m)}}X.enable=X.disable=undefined}this.remove=function(){M({disable:true});av.add(ab).remove()};this.getOptions=function(){return X};this.setOptions=M;this.getSelection=G;this.setSelection=ah;this.cancelSelection=at;this.update=u;l=az;while(l.length){D=a(D,!isNaN(l.css("z-index"))?l.css("z-index"):D);if(l.css("position")=="fixed"){ag="fixed"}l=l.parent(":not(body)")}D=X.zIndex||D;if(e.browser.msie){az.attr("unselectable","on")}e.imgAreaSelect.keyPress=e.browser.msie||e.browser.safari?"keydown":"keypress";if(e.browser.opera){V=f().css({width:"100%",height:"100%",position:"absolute",zIndex:D+2||2})}av.add(ab).css({visibility:"hidden",position:ag,overflow:"hidden",zIndex:D||"0"});av.css({zIndex:D+2||2});ai.add(K).css({position:"absolute",fontSize:0});s.complete||s.readyState=="complete"||!az.is("img")?ax():az.one("load",ax);if(e.browser.msie&&e.browser.version>=7){s.src=s.src}};e.fn.imgAreaSelect=function(g){g=g||{};this.each(function(){if(e(this).data("imgAreaSelect")){if(g.remove){e(this).data("imgAreaSelect").remove();e(this).removeData("imgAreaSelect")}else{e(this).data("imgAreaSelect").setOptions(g)}}else{if(!g.remove){if(g.enable===undefined&&g.disable===undefined){g.enable=true}e(this).data("imgAreaSelect",new e.imgAreaSelect(this,g))}}});if(g.instance){return e(this).data("imgAreaSelect")}return this}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/jquery.form.js ./wordpress-3.4/wp-includes/js/jquery/jquery.form.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/jquery.form.js	2011-05-17 09:22:50.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/jquery.form.js	2012-02-01 08:37:52.000000000 -0600
***************
*** 1,4 ****
! /*
   * jQuery Form Plugin
   * version: 2.73 (03-MAY-2011)
   * @requires jQuery v1.3.2 or later
--- 1,4 ----
! /*!
   * jQuery Form Plugin
   * version: 2.73 (03-MAY-2011)
   * @requires jQuery v1.3.2 or later
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/jquery.hotkeys.dev.js ./wordpress-3.4/wp-includes/js/jquery/jquery.hotkeys.dev.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/jquery.hotkeys.dev.js	2009-01-02 09:08:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/jquery/jquery.hotkeys.dev.js	2012-06-09 10:57:11.000000000 -0500
***************
*** 51,60 ****
          
          // inspect if keystroke matches
          var inspector = function(event) {
!             event = jQuery.event.fix(event); // jQuery event normalization.
              var element = event.target;
              // @ TextNode -> nodeType == 3
!             element = (element.nodeType==3) ? element.parentNode : element;
              
              if(opt['disableInInput']) { // Disable shortcut keys in Input, Textarea fields
                  var target = jQuery(element);
--- 51,62 ----
          
          // inspect if keystroke matches
          var inspector = function(event) {
!             // WP: not needed with newer jQuery
!             // event = jQuery.event.fix(event); // jQuery event normalization.
              var element = event.target;
              // @ TextNode -> nodeType == 3
!             // WP: not needed with newer jQuery
!             // element = (element.nodeType==3) ? element.parentNode : element;
              
              if(opt['disableInInput']) { // Disable shortcut keys in Input, Textarea fields
                  var target = jQuery(element);
***************
*** 76,86 ****
              // in opera + safari, the event.target is unpredictable.
              // for example: 'keydown' might be associated with HtmlBodyElement 
              // or the element where you last clicked with your mouse.
!             if (jQuery.browser.opera || jQuery.browser.safari){
                  while (!that.all[element] && element.parentNode){
                      element = element.parentNode;
                  }
!             }
              var cbMap = that.all[element].events[type].callbackMap;
              if(!shift && !ctrl && !alt && !meta) { // No Modifiers
                  mapPoint = cbMap[special] ||  cbMap[character]
--- 78,89 ----
              // in opera + safari, the event.target is unpredictable.
              // for example: 'keydown' might be associated with HtmlBodyElement 
              // or the element where you last clicked with your mouse.
!             // WP: needed for all browsers 
!             // if (jQuery.browser.opera || jQuery.browser.safari){
                  while (!that.all[element] && element.parentNode){
                      element = element.parentNode;
                  }
!             // }
              var cbMap = that.all[element].events[type].callbackMap;
              if(!shift && !ctrl && !alt && !meta) { // No Modifiers
                  mapPoint = cbMap[special] ||  cbMap[character]
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/jquery.hotkeys.js ./wordpress-3.4/wp-includes/js/jquery/jquery.hotkeys.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/jquery.hotkeys.js	2009-01-02 09:08:58.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/jquery/jquery.hotkeys.js	2012-06-09 10:58:24.000000000 -0500
***************
*** 1 ****
! (function(a){this.version="(beta)(0.0.3)";this.all={};this.special_keys={27:"esc",9:"tab",32:"space",13:"return",8:"backspace",145:"scroll",20:"capslock",144:"numlock",19:"pause",45:"insert",36:"home",46:"del",35:"end",33:"pageup",34:"pagedown",37:"left",38:"up",39:"right",40:"down",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"};this.shift_nums={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"};this.add=function(c,b,h){if(a.isFunction(b)){h=b;b={}}var d={},f={type:"keydown",propagate:false,disableInInput:false,target:a("html")[0]},e=this;d=a.extend(d,f,b||{});c=c.toLowerCase();var g=function(j){j=a.event.fix(j);var o=j.target;o=(o.nodeType==3)?o.parentNode:o;if(d.disableInInput){var s=a(o);if(s.is("input")||s.is("textarea")){return}}var l=j.which,u=j.type,r=String.fromCharCode(l).toLowerCase(),t=e.special_keys[l],m=j.shiftKey,i=j.ctrlKey,p=j.altKey,w=j.metaKey,q=true,k=null;if(a.browser.opera||a.browser.safari){while(!e.all[o]&&o.parentNode){o=o.parentNode}}var v=e.all[o].events[u].callbackMap;if(!m&&!i&&!p&&!w){k=v[t]||v[r]}else{var n="";if(p){n+="alt+"}if(i){n+="ctrl+"}if(m){n+="shift+"}if(w){n+="meta+"}k=v[n+t]||v[n+r]||v[n+e.shift_nums[r]]}if(k){k.cb(j);if(!k.propagate){j.stopPropagation();j.preventDefault();return false}}};if(!this.all[d.target]){this.all[d.target]={events:{}}}if(!this.all[d.target].events[d.type]){this.all[d.target].events[d.type]={callbackMap:{}};a.event.add(d.target,d.type,g)}this.all[d.target].events[d.type].callbackMap[c]={cb:h,propagate:d.propagate};return a};this.remove=function(c,b){b=b||{};target=b.target||a("html")[0];type=b.type||"keydown";c=c.toLowerCase();delete this.all[target].events[type].callbackMap[c];return a};a.hotkeys=this;return a})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(a){this.version="(beta)(0.0.3)";this.all={};this.special_keys={27:"esc",9:"tab",32:"space",13:"return",8:"backspace",145:"scroll",20:"capslock",144:"numlock",19:"pause",45:"insert",36:"home",46:"del",35:"end",33:"pageup",34:"pagedown",37:"left",38:"up",39:"right",40:"down",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"};this.shift_nums={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"};this.add=function(c,b,h){if(a.isFunction(b)){h=b;b={}}var d={},f={type:"keydown",propagate:false,disableInInput:false,target:a("html")[0]},e=this;d=a.extend(d,f,b||{});c=c.toLowerCase();var g=function(j){var o=j.target;if(d.disableInInput){var s=a(o);if(s.is("input")||s.is("textarea")){return}}var l=j.which,u=j.type,r=String.fromCharCode(l).toLowerCase(),t=e.special_keys[l],m=j.shiftKey,i=j.ctrlKey,p=j.altKey,w=j.metaKey,q=true,k=null;while(!e.all[o]&&o.parentNode){o=o.parentNode}var v=e.all[o].events[u].callbackMap;if(!m&&!i&&!p&&!w){k=v[t]||v[r]}else{var n="";if(p){n+="alt+"}if(i){n+="ctrl+"}if(m){n+="shift+"}if(w){n+="meta+"}k=v[n+t]||v[n+r]||v[n+e.shift_nums[r]]}if(k){k.cb(j);if(!k.propagate){j.stopPropagation();j.preventDefault();return false}}};if(!this.all[d.target]){this.all[d.target]={events:{}}}if(!this.all[d.target].events[d.type]){this.all[d.target].events[d.type]={callbackMap:{}};a.event.add(d.target,d.type,g)}this.all[d.target].events[d.type].callbackMap[c]={cb:h,propagate:d.propagate};return a};this.remove=function(c,b){b=b||{};target=b.target||a("html")[0];type=b.type||"keydown";c=c.toLowerCase();delete this.all[target].events[type].callbackMap[c];return a};a.hotkeys=this;return a})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/jquery.js ./wordpress-3.4/wp-includes/js/jquery/jquery.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/jquery.js	2011-11-23 13:36:15.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/jquery/jquery.js	2012-04-01 15:13:36.000000000 -0500
***************
*** 1,5 ****
! /*! jQuery v1.7.1 jquery.com | jquery.org/license */
! (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
! f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
! {for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
  jQuery.noConflict();
--- 1,5 ----
! /*! jQuery v1.7.2 jquery.com | jquery.org/license */
! (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
! a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
! .clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
  jQuery.noConflict();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/jquery.ui.touch-punch.js ./wordpress-3.4/wp-includes/js/jquery/jquery.ui.touch-punch.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/jquery.ui.touch-punch.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/jquery/jquery.ui.touch-punch.js	2012-04-10 21:58:23.000000000 -0500
***************
*** 0 ****
--- 1,11 ----
+ /*!
+  * jQuery UI Touch Punch 0.2.2
+  *
+  * Copyright 2011, Dave Furfero
+  * Dual licensed under the MIT or GPL Version 2 licenses.
+  *
+  * Depends:
+  *  jquery.ui.widget.js
+  *  jquery.ui.mouse.js
+  */
+ (function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return}var c=b.ui.mouse.prototype,e=c._mouseInit,a;function d(g,h){if(g.originalEvent.touches.length>1){return}g.preventDefault();var i=g.originalEvent.changedTouches[0],f=document.createEvent("MouseEvents");f.initMouseEvent(h,true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);g.target.dispatchEvent(f)}c._touchStart=function(g){var f=this;if(a||!f._mouseCapture(g.originalEvent.changedTouches[0])){return}a=true;f._touchMoved=false;d(g,"mouseover");d(g,"mousemove");d(g,"mousedown")};c._touchMove=function(f){if(!a){return}this._touchMoved=true;d(f,"mousemove")};c._touchEnd=function(f){if(!a){return}d(f,"mouseup");d(f,"mouseout");if(!this._touchMoved){d(f,"click")}a=false};c._mouseInit=function(){var f=this;f.element.bind("touchstart",b.proxy(f,"_touchStart")).bind("touchmove",b.proxy(f,"_touchMove")).bind("touchend",b.proxy(f,"_touchEnd"));e.call(f)}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.blind.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.blind.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.blind.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.blind.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Blind 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Blind
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
! g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.blind.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.bounce.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.bounce.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.bounce.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.bounce.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,15 ****
! /*
!  * jQuery UI Effects Bounce 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Bounce
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
! 3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
! b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.bounce.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight({margin:!0})/3:c.outerWidth({margin:!0})/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m<h;m++){var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing),g=e=="hide"?g*2:g/2}if(e=="hide"){var l={opacity:0};l[j]=(k=="pos"?"-=":"+=")+g,c.animate(l,i/2,b.options.easing,function(){c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}else{var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.clip.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.clip.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.clip.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.clip.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Clip 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Clip
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
! c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.clip.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.clip=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","height","width"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=c[0].tagName=="IMG"?g:c,i={size:f=="vertical"?"height":"width",position:f=="vertical"?"top":"left"},j=f=="vertical"?h.height():h.width();e=="show"&&(h.css(i.size,0),h.css(i.position,j/2));var k={};k[i.size]=e=="show"?j:0,k[i.position]=e=="show"?0:j/2,h.animate(k,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()}})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.core.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.core.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.core.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.core.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,31 ****
! /*
!  * jQuery UI Effects 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/
!  */
! jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
! 16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
! a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
! a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
! "borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
! 0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
! 211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
! d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})};
! f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,
! [{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=
! 0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),
! d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement;
! if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});
! return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,
! arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/
! 2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,
! d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,
! a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,
! d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=
! 0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;
! if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,
! a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.core.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array&&b.length==3?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:(c=/rgba\(0, 0, 0, 0\)/.exec(b))?e.transparent:e[a.trim(b).toLowerCase()]}function d(b,d){var e;do{e=a.curCSS(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};return a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete,[b,c,d,e]}function l(b){return!b||typeof b=="number"||a.fx.speeds[b]?!0:typeof b=="string"&&!a.effects[b]?!0:!1}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){return a.isFunction(d)&&(e=d,d=null),this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class")||"";a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.20",save:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.data("ec.storage."+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.css(b[c],a.data("ec.storage."+b[c]))},setMode:function(a,b){return b=="toggle"&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return b==0?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return b<1?-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c:h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,c,d,e,f,g){return g==b&&(g=1.70158),e*(c/=f)*c*((g+1)*c-g)+d},easeOutBack:function(a,c,d,e,f,g){return g==b&&(g=1.70158),e*((c=c/f-1)*c*((g+1)*c+g)+1)+d},easeInOutBack:function(a,c,d,e,f,g){return g==b&&(g=1.70158),(c/=f/2)<1?e/2*c*c*(((g*=1.525)+1)*c-g)+d:e/2*((c-=2)*c*(((g*=1.525)+1)*c+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(b,c,d,e,f){return c<f/2?a.easing.easeInBounce(b,c*2,0,e,f)*.5+d:a.easing.easeOutBounce(b,c*2-f,0,e,f)*.5+e*.5+d}})}(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.drop.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.drop.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.drop.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.drop.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Drop 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Drop
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
! "show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.drop.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.drop=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","opacity"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0})/2:c.outerWidth({margin:!0})/2);e=="show"&&c.css("opacity",0).css(g,h=="pos"?-i:i);var j={opacity:e=="show"?1:0};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.explode.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.explode.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.explode.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.explode.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,15 ****
! /*
!  * jQuery UI Effects Explode 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Explode
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
! 0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
! e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.explode.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.explode=function(b){return this.queue(function(){var c=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3,d=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":b.options.mode;var e=a(this).show().css("visibility","hidden"),f=e.offset();f.top-=parseInt(e.css("marginTop"),10)||0,f.left-=parseInt(e.css("marginLeft"),10)||0;var g=e.outerWidth(!0),h=e.outerHeight(!0);for(var i=0;i<c;i++)for(var j=0;j<d;j++)e.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.fade.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.fade.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.fade.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.fade.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,13 ****
! /*
!  * jQuery UI Effects Fade 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Fade
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.fade.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.fold.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.fold.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.fold.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.fold.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Fold 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Fold
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],
! 10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.fold.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.highlight.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.highlight.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.highlight.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.highlight.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Highlight 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Highlight
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
! this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.highlight.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Pulsate 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Pulsate
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
! a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.pulsate.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i<e;i++)c.animate({opacity:h},f,b.options.easing),h=(h+1)%2;c.animate({opacity:h},f,b.options.easing,function(){h==0&&c.hide(),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.scale.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.scale.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.scale.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.scale.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,20 ****
! /*
!  * jQuery UI Effects Scale 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Scale
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
! b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
! 1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
! p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};
! if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);
! a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);
! child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,
! n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.scale.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.puff=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide"),e=parseInt(b.options.percent,10)||150,f=e/100,g={height:c.height(),width:c.width()};a.extend(b.options,{fade:!0,mode:d,percent:d=="hide"?e:100,from:d=="hide"?g:{height:g.height*f,width:g.width*f}}),c.effect("scale",b.options,b.duration,b.callback),c.dequeue()})},a.effects.scale=function(b){return this.queue(function(){var c=a(this),d=a.extend(!0,{},b.options),e=a.effects.setMode(c,b.options.mode||"effect"),f=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:e=="hide"?0:100),g=b.options.direction||"both",h=b.options.origin;e!="effect"&&(d.origin=h||["middle","center"],d.restore=!0);var i={height:c.height(),width:c.width()};c.from=b.options.from||(e=="show"?{height:0,width:0}:i);var j={y:g!="horizontal"?f/100:1,x:g!="vertical"?f/100:1};c.to={height:i.height*j.y,width:i.width*j.x},b.options.fade&&(e=="show"&&(c.from.opacity=0,c.to.opacity=1),e=="hide"&&(c.from.opacity=1,c.to.opacity=0)),d.from=c.from,d.to=c.to,d.mode=e,c.effect("size",d,b.duration,b.callback),c.dequeue()})},a.effects.size=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","width","height","overflow","opacity"],e=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],g=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],j=a.effects.setMode(c,b.options.mode||"effect"),k=b.options.restore||!1,l=b.options.scale||"both",m=b.options.origin,n={height:c.height(),width:c.width()};c.from=b.options.from||n,c.to=b.options.to||n;if(m){var p=a.effects.getBaseline(m,n);c.from.top=(n.height-c.from.height)*p.y,c.from.left=(n.width-c.from.width)*p.x,c.to.top=(n.height-c.to.height)*p.y,c.to.left=(n.width-c.to.width)*p.x}var q={from:{y:c.from.height/n.height,x:c.from.width/n.width},to:{y:c.to.height/n.height,x:c.to.width/n.width}};if(l=="box"||l=="both")q.from.y!=q.to.y&&(d=d.concat(h),c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(d=d.concat(i),c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to));(l=="content"||l=="both")&&q.from.y!=q.to.y&&(d=d.concat(g),c.from=a.effects.setTransition(c,g,q.from.y,c.from),c.to=a.effects.setTransition(c,g,q.to.y,c.to)),a.effects.save(c,k?d:e),c.show(),a.effects.createWrapper(c),c.css("overflow","hidden").css(c.from);if(l=="content"||l=="both")h=h.concat(["marginTop","marginBottom"]).concat(g),i=i.concat(["marginLeft","marginRight"]),f=d.concat(h).concat(i),c.find("*[width]").each(function(){var c=a(this);k&&a.effects.save(c,f);var d={height:c.height(),width:c.width()};c.from={height:d.height*q.from.y,width:d.width*q.from.x},c.to={height:d.height*q.to.y,width:d.width*q.to.x},q.from.y!=q.to.y&&(c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.options.easing,function(){k&&a.effects.restore(c,f)})});c.animate(c.to,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity),j=="hide"&&c.hide(),a.effects.restore(c,k?d:e),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.shake.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.shake.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.shake.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.shake.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Shake 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Shake
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=
! (h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.shake.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.shake=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"left",g=b.options.distance||20,h=b.options.times||3,i=b.duration||b.options.duration||140;a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",l={},m={},n={};l[j]=(k=="pos"?"-=":"+=")+g,m[j]=(k=="pos"?"+=":"-=")+g*2,n[j]=(k=="pos"?"-=":"+=")+g*2,c.animate(l,i,b.options.easing);for(var p=1;p<h;p++)c.animate(m,i,b.options.easing).animate(n,i,b.options.easing);c.animate(m,i,b.options.easing).animate(l,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.slide.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.slide.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.slide.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.slide.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Slide 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Slide
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
! var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.slide.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.slide=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"show"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c).css({overflow:"hidden"});var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0}):c.outerWidth({margin:!0}));e=="show"&&c.css(g,h=="pos"?isNaN(i)?"-"+i:-i:i);var j={};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.transfer.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.transfer.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.effects.transfer.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.effects.transfer.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,14 ****
! /*
!  * jQuery UI Effects Transfer 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Effects/Transfer
!  *
!  * Depends:
!  *	jquery.effects.core.js
!  */
! (function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
! b.dequeue()})})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.effects.transfer.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,30 ****
! /*
!  * jQuery UI Accordion 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Accordion
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.widget.js
!  */
! (function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
! a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
! if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",
! function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a=
! this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
! this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
! b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
! a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
! c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
! if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
! if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(),
! e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight||
! e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",
! "aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16",
! animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);
! f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",
! paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.accordion.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("<span></span>").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");return(b.autoHeight||b.fillHeight)&&c.css("height",""),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(this.options.disabled||b.altKey||b.ctrlKey)return;var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}return f?(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),!1):!0},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];return this._clickHandler({target:b},b),this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(d.disabled)return;if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!g)return;return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(this.running)return;this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data)}}),a.extend(a.ui.accordion,{version:"1.8.20",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size()){b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);return}if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,32 ****
! /*
!  * jQuery UI Autocomplete 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Autocomplete
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.widget.js
!  *	jquery.ui.position.js
!  */
! (function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g=
! false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=
! a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};
! this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&
! a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
! d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&
! b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source=
! this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();
! this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label||
! b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this;
! d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
! "\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery);
! (function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
! -1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
! this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,
! this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
! this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
! this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.autocomplete.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)===!1)return;return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close()},close:function(a){clearTimeout(this.closing),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.deactivate(),this._trigger("close",a))},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return typeof b=="string"?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.button.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.button.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.button.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.button.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,27 ****
! /*
!  * jQuery UI Button 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Button
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.widget.js
!  */
! (function(b){var h,i,j,g,l=function(){var a=b(this).find(":ui-button");setTimeout(function(){a.button("refresh")},1)},k=function(a){var c=a.name,e=a.form,f=b([]);if(c)f=e?b(e).find("[name='"+c+"']"):b("[name='"+c+"']",a.ownerDocument).filter(function(){return!this.form});return f};b.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",l);if(typeof this.options.disabled!==
! "boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var a=this,c=this.options,e=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!e?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){b(this).addClass("ui-state-hover");
! this===h&&b(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||b(this).removeClass(f)}).bind("click.button",function(d){if(c.disabled){d.preventDefault();d.stopImmediatePropagation()}});this.element.bind("focus.button",function(){a.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){a.buttonElement.removeClass("ui-state-focus")});if(e){this.element.bind("change.button",function(){g||a.refresh()});this.buttonElement.bind("mousedown.button",function(d){if(!c.disabled){g=
! false;i=d.pageX;j=d.pageY}}).bind("mouseup.button",function(d){if(!c.disabled)if(i!==d.pageX||j!==d.pageY)g=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).toggleClass("ui-state-active");a.buttonElement.attr("aria-pressed",a.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).addClass("ui-state-active");a.buttonElement.attr("aria-pressed","true");
! var d=a.element[0];k(d).not(d).map(function(){return b(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;b(this).addClass("ui-state-active");h=this;b(document).one("mouseup",function(){h=null})}).bind("mouseup.button",function(){if(c.disabled)return false;b(this).removeClass("ui-state-active")}).bind("keydown.button",function(d){if(c.disabled)return false;if(d.keyCode==b.ui.keyCode.SPACE||
! d.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")}).bind("keyup.button",function(){b(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(d){d.keyCode===b.ui.keyCode.SPACE&&b(this).click()})}this._setOption("disabled",c.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type===
! "radio"){var a=this.element.parents().filter(":last"),c="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(c);if(!this.buttonElement.length){a=a.length?a.siblings():this.element.siblings();this.buttonElement=a.filter(c);if(!this.buttonElement.length)this.buttonElement=a.find(c)}this.element.addClass("ui-helper-hidden-accessible");(a=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",a)}else this.buttonElement=this.element},
! widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active  ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title");
! b.Widget.prototype.destroy.call(this)},_setOption:function(a,c){b.Widget.prototype._setOption.apply(this,arguments);if(a==="disabled")c?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var a=this.element.is(":disabled");a!==this.options.disabled&&this._setOption("disabled",a);if(this.type==="radio")k(this.element[0]).each(function(){b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
! "true"):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var a=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
! c=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>");e.secondary&&a.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>");if(!this.options.text){d.push(f?"ui-button-icons-only":
! "ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")===
! "ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
! b.Widget.prototype.destroy.call(this)}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.button.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);return c&&(d?e=a(d).find("[name='"+c+"']"):e=a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form})),e};a.widget("ui.button",{options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",j),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.propAttr("disabled"):this.element.propAttr("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(i?"":" ui-state-active"),m="ui-state-focus";h.label===null&&(h.label=this.buttonElement.html()),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter.button",function(){if(h.disabled)return;a(this).addClass("ui-state-hover"),this===c&&a(this).addClass("ui-state-active")}).bind("mouseleave.button",function(){if(h.disabled)return;a(this).removeClass(l)}).bind("click.button",function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus.button",function(){b.buttonElement.addClass(m)}).bind("blur.button",function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change.button",function(){if(f)return;b.refresh()}),this.buttonElement.bind("mousedown.button",function(a){if(h.disabled)return;f=!1,d=a.pageX,e=a.pageY}).bind("mouseup.button",function(a){if(h.disabled)return;if(d!==a.pageX||e!==a.pageY)f=!0})),this.type==="checkbox"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).toggleClass("ui-state-active"),b.buttonElement.attr("aria-pressed",b.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown.button",function(){if(h.disabled)return!1;a(this).addClass("ui-state-active"),c=this,a(document).one("mouseup",function(){c=null})}).bind("mouseup.button",function(){if(h.disabled)return!1;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(b){if(h.disabled)return!1;(b.keyCode==a.ui.keyCode.SPACE||b.keyCode==a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){this.element.is(":checkbox")?this.type="checkbox":this.element.is(":radio")?this.type="radio":this.element.is("input")?this.type="input":this.type="button";if(this.type==="checkbox"||this.type==="radio"){var a=this.element.parents().filter(":last"),b="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible");var c=this.element.is(":checked");c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.attr("aria-pressed",c)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title"),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled"){c?this.element.propAttr("disabled",!0):this.element.propAttr("disabled",!1);return}this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b),this.type==="radio"?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type==="checkbox"&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type==="input"){this.options.label&&this.element.val(this.options.label);return}var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.core.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.core.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.core.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.core.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,18 ****
! /*!
!  * jQuery UI 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI
!  */
! (function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
! keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
! this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
! "overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
! "mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
! outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
! "tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
! a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
! c.ui.isOverAxis(b,e,i)}})}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.core.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.20",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,83 ****
! /*
!  * jQuery UI Datepicker 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Datepicker
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  */
! (function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
! "ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
! "Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
! minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout",
! function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
! b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
! setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
! "\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
! function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
! "focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
! d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
! b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
! 1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
! 2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=
! d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
! a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
! "datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==
! a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
! d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
! this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
! b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,
! a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
! a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
! "stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
! return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
! a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
! "";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
! c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
! true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
! a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
! !a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
! h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=
! this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
! this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
! _checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
! 0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"?
! "Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
! this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");
! if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?
! b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=
! o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
! function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
! 1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",
! COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
! null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
! (new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
! 0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
! var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
! i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
! Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>
! 12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
! a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
! new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
! n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,
! g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
! a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
! B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
! "";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
! x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
! z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()==
! P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
! r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
! "");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
! (!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
! e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
! (c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
! a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
! e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
! "dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;
! if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a==
! "string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.datepicker.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.20"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;return c&&s++,c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;return r+=f[0].length,parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase())return f=c[0],r+=d.length,!1});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;return c&&m++,c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;return c&&e++,c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()==a.lastVal)return;var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.getFullYear():0,this._adjustInstDate(a)},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var d=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());return f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0)),this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return e=d&&e>d?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.20",window["DP_jQuery_"+dpuuid]=$})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,40 ****
! /*
!  * jQuery UI Dialog 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Dialog
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.widget.js
!  *  jquery.ui.button.js
!  *	jquery.ui.draggable.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.position.js
!  *	jquery.ui.resizable.js
!  */
! (function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
! position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
! b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
! h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
! e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
! a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
! b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1;
! d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
! f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
! function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
! handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
! originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
! f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
! [a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
! if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
! e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
! this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
! b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
! create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&!d.isDefaultPrevented()&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||
! c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&
! c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+
! "px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.dialog.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){return b.close(a),!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("<span></span>").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;return a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle),a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1===c._trigger("beforeClose",b))return;return c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d),c},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;return e.modal&&!b||!e.stack&&!e.modal?d._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c),d)},open:function(){if(this._isOpen)return;var b=this,c=b.options,d=b.uiDialog;return b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode!==a.ui.keyCode.TAB)return;var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey)return d.focus(1),!1;if(b.target===d[0]&&b.shiftKey)return e.focus(1),!1}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open"),b},_createButtons:function(b){var c=this,d=!1,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('<button type="button"></button>').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){if(a==="click")return;a in f?e[a](b):e.attr(a,b)}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.20",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop()||a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});return a.fn.bgiframe&&c.bgiframe(),this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;return a.browser.msie&&a.browser.version<7?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),b<c?a(window).height()+"px":b+"px"):a(document).height()+"px"},width:function(){var b,c;return a.browser.msie?(b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),b<c?a(window).width()+"px":b+"px"):a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,50 ****
! /*
!  * jQuery UI Draggable 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Draggables
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.widget.js
!  */
! (function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
! "original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
! this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;
! this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
! this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true},
! _mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=
! false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
! 10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||
! !d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&
! a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
! this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
! 10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
! 10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
! (a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!=
! "hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),
! 10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+
! this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&
! !(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;
! if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
! b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<
! 526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,
! c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.16"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});
! h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
! false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
! this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;
! c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
! this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=
! a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!=
! "x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<
! c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
! c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
! width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&
! o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t=
! p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&
! (p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
! 10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.draggable.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!this.element.data("draggable"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.20"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!e.length)return;var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,27 ****
! /*
!  * jQuery UI Droppable 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Droppables
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.widget.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.draggable.js
!  */
! (function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
! a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
! this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
! this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
! d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
! a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.16"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
! switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
! i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
! "none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
! a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},dragStart:function(a,b){a.element.parents(":not(body,html)").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);
! if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parents(":not(body,html)").unbind("scroll.droppable");
! a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.droppable.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var b=this.options,c=b.accept;this.isover=0,this.isout=1,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++)b[c]==this&&b.splice(c,1);return this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"),this},_setOption:function(b,c){b=="accept"&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return;this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return;this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current;if(!d||(d.currentItem||d.element)[0]==this.element[0])return!1;var e=!1;return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope==d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance))return e=!0,!1}),e?!1:this.accept.call(this.element[0],d.currentItem||d.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element):!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.extend(a.ui.droppable,{version:"1.8.20"}),a.ui.intersect=function(b,c,d){if(!c.offset)return!1;var e=(b.positionAbs||b.position.absolute).left,f=e+b.helperProportions.width,g=(b.positionAbs||b.position.absolute).top,h=g+b.helperProportions.height,i=c.offset.left,j=i+c.proportions.width,k=c.offset.top,l=k+c.proportions.height;switch(d){case"fit":return i<=e&&f<=j&&k<=g&&h<=l;case"intersect":return i<e+b.helperProportions.width/2&&f-b.helperProportions.width/2<j&&k<g+b.helperProportions.height/2&&h-b.helperProportions.height/2<l;case"pointer":var m=(b.positionAbs||b.position.absolute).left+(b.clickOffset||b.offset.click).left,n=(b.positionAbs||b.position.absolute).top+(b.clickOffset||b.offset.click).top,o=a.ui.isOver(n,m,k,i,c.proportions.height,c.proportions.width);return o;case"touch":return(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l)&&(e>=i&&e<=j||f>=i&&f<=j||e<i&&f>j);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();g:for(var h=0;h<d.length;h++){if(d[h].options.disabled||b&&!d[h].accept.call(d[h].element[0],b.currentItem||b.element))continue;for(var i=0;i<f.length;i++)if(f[i]==d[h].element[0]){d[h].proportions.height=0;continue g}d[h].visible=d[h].element.css("display")!="none";if(!d[h].visible)continue;e=="mousedown"&&d[h]._activate.call(d[h],c),d[h].offset=d[h].element.offset(),d[h].proportions={width:d[h].element[0].offsetWidth,height:d[h].element[0].offsetHeight}}},drop:function(b,c){var d=!1;return a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options)return;!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,c))}),d},dragStart:function(b,c){b.element.parents(":not(body,html)").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(this.options.disabled||this.greedyChild||!this.visible)return;var d=a.ui.intersect(b,this,this.options.tolerance),e=!d&&this.isover==1?"isout":d&&this.isover==0?"isover":null;if(!e)return;var f;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");g.length&&(f=a.data(g[0],"droppable"),f.greedyChild=e=="isover"?1:0)}f&&e=="isover"&&(f.isover=0,f.isout=1,f._out.call(f,c)),this[e]=1,this[e=="isout"?"isover":"isout"]=0,this[e=="isover"?"_over":"_out"].call(this,c),f&&e=="isout"&&(f.isout=0,f.isover=1,f._over.call(f,c))})},dragStop:function(b,c){b.element.parents(":not(body,html)").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,17 ****
! /*!
!  * jQuery UI Mouse 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Mouse
!  *
!  * Depends:
!  *	jquery.ui.widget.js
!  */
! (function(b){var d=false;b(document).mouseup(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
! this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"&&a.target.nodeName?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
! this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
! !(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
! false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.mouse.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.position.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.position.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.position.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.position.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,16 ****
! /*
!  * jQuery UI Position 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Position
!  */
! (function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
! left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
! k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
! m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
! d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
! a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
! g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.position.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,16 ****
! /*
!  * jQuery UI Progressbar 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Progressbar
!  *
!  * Depends:
!  *   jquery.ui.core.js
!  *   jquery.ui.widget.js
!  */
! (function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
! this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
! this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.progressbar.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;return typeof a!="number"&&(a=0),Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.20"})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,49 ****
! /*
!  * jQuery UI Resizable 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Resizables
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.widget.js
!  */
! (function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
! _proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
! top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
! this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
! nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
! String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
! this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
! var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
! false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
! this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
! {width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
! if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},
! _mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,
! {top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
! Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
! b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
! a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=
! null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||
! 0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
! a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+
! c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);
! b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),
! 10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-
! f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?
! e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=
! e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,
! step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
! e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;
! var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:
! a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-
! d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,
! f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
! display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=
! e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=
! d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.resizable.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');h.css({zIndex:c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){if(c.disabled)return;a(this).removeClass("ui-resizable-autohide"),b._handles.show()},function(){if(c.disabled)return;b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}return this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement),this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");return a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);return l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui()),!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}return a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;return d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width)),a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;return p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null),a},_proportionallyResize:function(){var b=this.options;if(!this._proportionallyResizeElements.length)return;var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(!a.browser.msie||!a(c).is(":hidden")&&!a(c).parents(":hidden").length)e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0});else continue}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.20"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!i)return;e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/d.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*d.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,22 ****
! /*
!  * jQuery UI Selectable 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Selectables
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.widget.js
!  */
! (function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
! selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
! c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
! c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
! this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
! a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
! !a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
! e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.16"})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.selectable.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){return this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy(),this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(this.options.disabled)return;var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");return d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element}),!1}})},_mouseDrag:function(b){var c=this;this.dragged=!0;if(this.options.disabled)return;var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}return this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!i||i.element==c.element[0])return;var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.right<e||i.top>h||i.bottom<f):d.tolerance=="fit"&&(j=i.left>e&&i.right<g&&i.top>f&&i.bottom<h),j?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,c._trigger("selecting",b,{selecting:i.element}))):(i.selecting&&((b.metaKey||b.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),c._trigger("unselecting",b,{unselecting:i.element}))),i.selected&&!b.metaKey&&!b.ctrlKey&&!i.startselected&&(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,c._trigger("unselecting",b,{unselecting:i.element})))}),!1},_mouseStop:function(b){var c=this;this.dragged=!1;var d=this.options;return a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}}),a.extend(a.ui.selectable,{version:"1.8.20"})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.slider.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.slider.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.slider.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.slider.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,33 ****
! /*
!  * jQuery UI Slider 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Slider
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.widget.js
!  */
! (function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
! this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
! this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
! g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length?
! (h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i-
! m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
! return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false;
! this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=
! this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=
! this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);
! c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});
! a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
! this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):
! this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
! this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
! return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
! this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e-
! g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"},
! b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.slider.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(b.options.disabled)return;switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){return this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=this._trimAlignValue(a),this._refreshValue(),this._change(null,0);return}return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a),a},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b),b;c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.20"})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,60 ****
! /*
!  * jQuery UI Sortable 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Sortables
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.mouse.js
!  *	jquery.ui.widget.js
!  */
! (function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
! this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
! "disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
! !b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
! left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
! this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
! document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
! return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
! b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
! b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
! a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
! e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
! c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
! this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
! dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
! toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
! this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
! var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
! _getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
! if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
! this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
! this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
! this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
! this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
! d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
! 0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
! a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
! f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
! this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
! ""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
! this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
! {top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
! 10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
! document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
! 10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
! this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
! this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
! var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
! this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
! this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
! this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
! "";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
! f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
! this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
! a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
! _uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.16"})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.sortable.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=this.options.axis==="x"||a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=this.options.axis==="y"||a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return e?this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1):!1},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i])}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.20"})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,35 ****
! /*
!  * jQuery UI Tabs 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Tabs
!  *
!  * Depends:
!  *	jquery.ui.core.js
!  *	jquery.ui.widget.js
!  */
! (function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
! e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
! d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
! (q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
! this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
! this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
! if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
! this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
! g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
! function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
! this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
! -1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
! d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
! d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
! e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
! j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
! if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
! this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
! load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
! "cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
! url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
! a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.tabs.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.20"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){e()}:function(a){a.clientX&&c.rotate(null)});return a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate),this}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.widget.min.js ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.widget.min.js
*** ./wordpress-3.3.2/wp-includes/js/jquery/ui/jquery.ui.widget.min.js	2011-09-23 00:03:31.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/jquery/ui/jquery.ui.widget.min.js	2012-04-30 16:53:09.000000000 -0500
***************
*** 1,15 ****
! /*!
!  * jQuery UI Widget 1.8.16
!  *
!  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
!  * Dual licensed under the MIT or GPL Version 2 licenses.
!  * http://jquery.org/license
!  *
!  * http://docs.jquery.com/UI/Widget
!  */
! (function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
! function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
! d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
! b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
! "-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
! c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
--- 1,5 ----
! /*! jQuery UI - v1.8.20 - 2012-04-30
! * https://github.com/jquery/jquery-ui
! * Includes: jquery.ui.widget.js
! * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
! (function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/plupload/handlers.dev.js ./wordpress-3.4/wp-includes/js/plupload/handlers.dev.js
*** ./wordpress-3.3.2/wp-includes/js/plupload/handlers.dev.js	2012-04-16 17:46:36.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/plupload/handlers.dev.js	2012-06-01 20:39:00.000000000 -0500
***************
*** 83,89 ****
  	serverData = serverData.replace(/^<pre>(\d+)<\/pre>$/, '$1');
  
  	// if async-upload returned an error message, place it in the media item div and return
! 	if ( serverData.match('media-upload-error') ) {
  		item.html(serverData);
  		return;
  	} else {
--- 83,89 ----
  	serverData = serverData.replace(/^<pre>(\d+)<\/pre>$/, '$1');
  
  	// if async-upload returned an error message, place it in the media item div and return
! 	if ( serverData.match(/media-upload-error|error-div/) ) {
  		item.html(serverData);
  		return;
  	} else {
***************
*** 138,144 ****
  	jQuery('a.delete', item).click(function(){
  		// Tell the server to delete it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: 'admin-ajax.php',
  			type: 'post',
  			success: deleteSuccess,
  			error: deleteError,
--- 138,144 ----
  	jQuery('a.delete', item).click(function(){
  		// Tell the server to delete it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: ajaxurl,
  			type: 'post',
  			success: deleteSuccess,
  			error: deleteError,
***************
*** 156,162 ****
  	jQuery('a.undo', item).click(function(){
  		// Tell the server to untrash it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: 'admin-ajax.php',
  			type: 'post',
  			id: fileObj.id,
  			data: {
--- 156,162 ----
  	jQuery('a.undo', item).click(function(){
  		// Tell the server to untrash it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: ajaxurl,
  			type: 'post',
  			id: fileObj.id,
  			data: {
***************
*** 346,354 ****
  		if ( target.is('input[type="radio"]') ) { // remember the last used image size and alignment
  			tr = target.closest('tr');
  
! 			if ( $(tr).hasClass('align') )
  				setUserSetting('align', target.val());
! 			else if ( $(tr).hasClass('image-size') )
  				setUserSetting('imgsize', target.val());
  
  		} else if ( target.is('button.button') ) { // remember the last used image link url
--- 346,354 ----
  		if ( target.is('input[type="radio"]') ) { // remember the last used image size and alignment
  			tr = target.closest('tr');
  
! 			if ( tr.hasClass('align') )
  				setUserSetting('align', target.val());
! 			else if ( tr.hasClass('image-size') )
  				setUserSetting('imgsize', target.val());
  
  		} else if ( target.is('button.button') ) { // remember the last used image link url
***************
*** 357,363 ****
  
  			if ( c && c[1] ) {
  				setUserSetting('urlbutton', c[1]);
! 				target.siblings('.urlfield').val( target.attr('title') );
  			}
  		} else if ( target.is('a.dismiss') ) {
  			target.parents('.media-item').fadeOut(200, function(){
--- 357,363 ----
  
  			if ( c && c[1] ) {
  				setUserSetting('urlbutton', c[1]);
! 				target.siblings('.urlfield').val( target.data('link-url') );
  			}
  		} else if ( target.is('a.dismiss') ) {
  			target.parents('.media-item').fadeOut(200, function(){
***************
*** 366,376 ****
  		} else if ( target.is('.upload-flash-bypass a') || target.is('a.uploader-html') ) { // switch uploader to html4
  			$('#media-items, p.submit, span.big-file-warning').css('display', 'none');
  			switchUploader(0);
! 			return false;
  		} else if ( target.is('.upload-html-bypass a') ) { // switch uploader to multi-file
  			$('#media-items, p.submit, span.big-file-warning').css('display', '');
  			switchUploader(1);
! 			return false;
  		} else if ( target.is('a.describe-toggle-on') ) { // Show
  			target.parent().addClass('open');
  			target.siblings('.slidetoggle').fadeIn(250, function(){
--- 366,376 ----
  		} else if ( target.is('.upload-flash-bypass a') || target.is('a.uploader-html') ) { // switch uploader to html4
  			$('#media-items, p.submit, span.big-file-warning').css('display', 'none');
  			switchUploader(0);
! 			e.preventDefault();
  		} else if ( target.is('.upload-html-bypass a') ) { // switch uploader to multi-file
  			$('#media-items, p.submit, span.big-file-warning').css('display', '');
  			switchUploader(1);
! 			e.preventDefault();
  		} else if ( target.is('a.describe-toggle-on') ) { // Show
  			target.parent().addClass('open');
  			target.siblings('.slidetoggle').fadeIn(250, function(){
***************
*** 388,399 ****
  					}
  				}
  			});
! 			return false;
  		} else if ( target.is('a.describe-toggle-off') ) { // Hide
  			target.siblings('.slidetoggle').fadeOut(250, function(){
  				target.parent().removeClass('open');
  			});
! 			return false;
  		}
  	});
  
--- 388,399 ----
  					}
  				}
  			});
! 			e.preventDefault();
  		} else if ( target.is('a.describe-toggle-off') ) { // Hide
  			target.siblings('.slidetoggle').fadeOut(250, function(){
  				target.parent().removeClass('open');
  			});
! 			e.preventDefault();
  		}
  	});
  
***************
*** 417,423 ****
  
  			setResize( getUserSetting('upload_resize', false) );
  
! 			if ( up.features.dragdrop ) {
  				uploaddiv.addClass('drag-drop');
  				$('#drag-drop-area').bind('dragover.wp-uploader', function(){ // dragenter doesn't fire right :(
  					uploaddiv.addClass('drag-over');
--- 417,423 ----
  
  			setResize( getUserSetting('upload_resize', false) );
  
! 			if ( up.features.dragdrop && ! $(document.body).hasClass('mobile') ) {
  				uploaddiv.addClass('drag-drop');
  				$('#drag-drop-area').bind('dragover.wp-uploader', function(){ // dragenter doesn't fire right :(
  					uploaddiv.addClass('drag-over');
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/plupload/handlers.js ./wordpress-3.4/wp-includes/js/plupload/handlers.js
*** ./wordpress-3.3.2/wp-includes/js/plupload/handlers.js	2011-11-20 13:16:35.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/plupload/handlers.js	2012-06-01 20:58:27.000000000 -0500
***************
*** 1 ****
! var topWin=window.dialogArguments||opener||parent||top,uploader,uploader_init;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(b){jQuery(".media-blank").remove();var a=jQuery("#media-items").children(),c=post_id||0;if(a.length==1){a.removeClass("open").find(".slidetoggle").slideUp(200)}jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item child-of-'+c+'"><div class="progress"><div class="percent">0%</div><div class="bar"></div></div><div class="filename original"> '+b.name+"</div></div>");jQuery("#insert-gallery").prop("disabled",true)}function uploadStart(){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(a){}return true}function uploadProgress(a,b){var c=jQuery("#media-item-"+b.id);jQuery(".bar",c).width((200*b.loaded)/b.size);jQuery(".percent",c).html(b.percent+"%")}function fileUploading(c,d){var b=100*1024*1024,a=parseInt(c.settings.max_file_size,10);if(a>b&&d.size>b){setTimeout(function(){if(d.status==2&&d.loaded==0){wpFileError(d,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"));if(c.current&&c.current.file.id==d.id&&c.current.xhr.abort){c.current.xhr.abort()}}},10000)}}function updateMediaForm(){var a=jQuery("#media-items").children();if(a.length==1){a.addClass("open").find(".slidetoggle").show();jQuery(".insert-gallery").hide()}else{if(a.length>1){a.removeClass("open");jQuery(".insert-gallery").show()}}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}}function uploadSuccess(c,a){var b=jQuery("#media-item-"+c.id);a=a.replace(/^<pre>(\d+)<\/pre>$/,"$1");if(a.match("media-upload-error")){b.html(a);return}else{jQuery(".percent",b).html(pluploadL10n.crunching)}prepareMediaItem(c,a);updateMediaForm();if(post_id&&b.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function setResize(a){if(a){if(uploader.features.jpgresize){uploader.settings.resize={width:resize_width,height:resize_height,quality:100}}else{uploader.settings.multipart_params.image_resize=true}}else{delete (uploader.settings.resize);delete (uploader.settings.multipart_params.image_resize)}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("class","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.delete",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(post_id&&c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery(".menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").addClass("open").find("slidetoggle").fadeIn()}function wpQueueError(a){jQuery("#media-upload-error").show().html('<div class="error"><p>'+a+"</p></div>")}function wpFileError(b,a){itemAjaxError(b.id,a)}function itemAjaxError(e,c){var b=jQuery("#media-item-"+e),a=b.find(".filename").text(),d=b.data("last-err");if(d==e){return}b.html('<div class="error-div"><a class="dismiss" href="#">'+pluploadL10n.dismiss+"</a><strong>"+pluploadL10n.error_uploading.replace("%s",jQuery.trim(a))+"</strong> "+c+"</div>").data("last-err",e)}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(post_id&&a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+pluploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",false)}function switchUploader(a){if(a){deleteUserSetting("uploader");jQuery(".media-upload-form").removeClass("html-uploader");if(typeof(uploader)=="object"){uploader.refresh()}}else{setUserSetting("uploader","1");jQuery(".media-upload-form").addClass("html-uploader")}}function dndHelper(a){var b=document.getElementById("dnd-helper");if(a){b.style.display="block"}else{b.style.display="none"}}function uploadError(d,f,c,e){var b=100*1024*1024,a;switch(f){case plupload.FAILED:wpFileError(d,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(d,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(e,d);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(d,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(d,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(d,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:a=parseInt(e.settings.max_file_size,10);if(a>b&&d.size>b){wpFileError(d,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"))}else{wpQueueError(pluploadL10n.io_error)}break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(d,pluploadL10n.default_error)}}function uploadSizeError(a,b,d){var c;if(d){c=pluploadL10n.big_upload_queued.replace("%s",b.name)+" "+pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")}else{c=pluploadL10n.file_exceeds_size_limit.replace("%s",b.name)}jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item error"><p>'+c+"</p></div>");a.removeFile(b)}jQuery(document).ready(function(a){a(".media-upload-form").bind("click.uploader",function(f){var d=a(f.target),b,g;if(d.is('input[type="radio"]')){b=d.closest("tr");if(a(b).hasClass("align")){setUserSetting("align",d.val())}else{if(a(b).hasClass("image-size")){setUserSetting("imgsize",d.val())}}}else{if(d.is("button.button")){g=f.target.className||"";g=g.match(/url([^ '"]+)/);if(g&&g[1]){setUserSetting("urlbutton",g[1]);d.siblings(".urlfield").val(d.attr("title"))}}else{if(d.is("a.dismiss")){d.parents(".media-item").fadeOut(200,function(){a(this).remove()})}else{if(d.is(".upload-flash-bypass a")||d.is("a.uploader-html")){a("#media-items, p.submit, span.big-file-warning").css("display","none");switchUploader(0);return false}else{if(d.is(".upload-html-bypass a")){a("#media-items, p.submit, span.big-file-warning").css("display","");switchUploader(1);return false}else{if(d.is("a.describe-toggle-on")){d.parent().addClass("open");d.siblings(".slidetoggle").fadeIn(250,function(){var i=a(window).scrollTop(),e=a(window).height(),k=a(this).offset().top,j=a(this).height(),c,l;if(e&&k&&j){c=k+j;l=i+e;if(c>l){if(c-l<k-i){window.scrollBy(0,(c-l)+10)}else{window.scrollBy(0,k-i-40)}}}});return false}else{if(d.is("a.describe-toggle-off")){d.siblings(".slidetoggle").fadeOut(250,function(){d.parent().removeClass("open")});return false}}}}}}}});uploader_init=function(){uploader=new plupload.Uploader(wpUploaderInit);a("#image_resize").bind("change",function(){var b=a(this).prop("checked");setResize(b);if(b){setUserSetting("upload_resize","1")}else{deleteUserSetting("upload_resize")}});uploader.bind("Init",function(b){var c=a("#plupload-upload-ui");setResize(getUserSetting("upload_resize",false));if(b.features.dragdrop){c.addClass("drag-drop");a("#drag-drop-area").bind("dragover.wp-uploader",function(){c.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){c.removeClass("drag-over")})}else{c.removeClass("drag-drop");a("#drag-drop-area").unbind(".wp-uploader")}});uploader.init();uploader.bind("FilesAdded",function(d,e){var c=100*1024*1024,b=parseInt(d.settings.max_file_size,10);a("#media-upload-error").html("");uploadStart();plupload.each(e,function(f){if(b>c&&f.size>c&&d.runtime!="html5"){uploadSizeError(d,f,true)}else{fileQueued(f)}});d.refresh();d.start()});uploader.bind("BeforeUpload",function(b,c){});uploader.bind("UploadFile",function(b,c){fileUploading(b,c)});uploader.bind("UploadProgress",function(b,c){uploadProgress(b,c)});uploader.bind("Error",function(b,c){uploadError(c.file,c.code,c.message,b);b.refresh()});uploader.bind("FileUploaded",function(b,d,c){uploadSuccess(d,c.response)});uploader.bind("UploadComplete",function(b,c){uploadComplete()})};if(typeof(wpUploaderInit)=="object"){uploader_init()}});
\ No newline at end of file
--- 1 ----
! var topWin=window.dialogArguments||opener||parent||top,uploader,uploader_init;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(b){jQuery(".media-blank").remove();var a=jQuery("#media-items").children(),c=post_id||0;if(a.length==1){a.removeClass("open").find(".slidetoggle").slideUp(200)}jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item child-of-'+c+'"><div class="progress"><div class="percent">0%</div><div class="bar"></div></div><div class="filename original"> '+b.name+"</div></div>");jQuery("#insert-gallery").prop("disabled",true)}function uploadStart(){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(a){}return true}function uploadProgress(a,b){var c=jQuery("#media-item-"+b.id);jQuery(".bar",c).width((200*b.loaded)/b.size);jQuery(".percent",c).html(b.percent+"%")}function fileUploading(c,d){var b=100*1024*1024,a=parseInt(c.settings.max_file_size,10);if(a>b&&d.size>b){setTimeout(function(){var e;if(d.status<3&&d.loaded==0){wpFileError(d,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"));c.stop();c.removeFile(d);c.start()}},10000)}}function updateMediaForm(){var a=jQuery("#media-items").children();if(a.length==1){a.addClass("open").find(".slidetoggle").show();jQuery(".insert-gallery").hide()}else{if(a.length>1){a.removeClass("open");jQuery(".insert-gallery").show()}}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}}function uploadSuccess(c,a){var b=jQuery("#media-item-"+c.id);a=a.replace(/^<pre>(\d+)<\/pre>$/,"$1");if(a.match(/media-upload-error|error-div/)){b.html(a);return}else{jQuery(".percent",b).html(pluploadL10n.crunching)}prepareMediaItem(c,a);updateMediaForm();if(post_id&&b.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function setResize(a){if(a){if(uploader.features.jpgresize){uploader.settings.resize={width:resize_width,height:resize_height,quality:100}}else{uploader.settings.multipart_params.image_resize=true}}else{delete (uploader.settings.resize);delete (uploader.settings.multipart_params.image_resize)}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("class","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.delete",a).click(function(){jQuery.ajax({url:ajaxurl,type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:ajaxurl,type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(post_id&&c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery(".menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").addClass("open").find("slidetoggle").fadeIn()}function wpQueueError(a){jQuery("#media-upload-error").show().html('<div class="error"><p>'+a+"</p></div>")}function wpFileError(b,a){itemAjaxError(b.id,a)}function itemAjaxError(e,c){var b=jQuery("#media-item-"+e),a=b.find(".filename").text(),d=b.data("last-err");if(d==e){return}b.html('<div class="error-div"><a class="dismiss" href="#">'+pluploadL10n.dismiss+"</a><strong>"+pluploadL10n.error_uploading.replace("%s",jQuery.trim(a))+"</strong> "+c+"</div>").data("last-err",e)}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(post_id&&a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+pluploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",false)}function switchUploader(a){if(a){deleteUserSetting("uploader");jQuery(".media-upload-form").removeClass("html-uploader");if(typeof(uploader)=="object"){uploader.refresh()}}else{setUserSetting("uploader","1");jQuery(".media-upload-form").addClass("html-uploader")}}function dndHelper(a){var b=document.getElementById("dnd-helper");if(a){b.style.display="block"}else{b.style.display="none"}}function uploadError(d,f,c,e){var b=100*1024*1024,a;switch(f){case plupload.FAILED:wpFileError(d,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(d,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(e,d);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(d,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(d,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(d,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:a=parseInt(e.settings.max_file_size,10);if(a>b&&d.size>b){wpFileError(d,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"))}else{wpQueueError(pluploadL10n.io_error)}break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(d,pluploadL10n.default_error)}}function uploadSizeError(a,b,d){var c;if(d){c=pluploadL10n.big_upload_queued.replace("%s",b.name)+" "+pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")}else{c=pluploadL10n.file_exceeds_size_limit.replace("%s",b.name)}jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item error"><p>'+c+"</p></div>");a.removeFile(b)}jQuery(document).ready(function(a){a(".media-upload-form").bind("click.uploader",function(f){var d=a(f.target),b,g;if(d.is('input[type="radio"]')){b=d.closest("tr");if(b.hasClass("align")){setUserSetting("align",d.val())}else{if(b.hasClass("image-size")){setUserSetting("imgsize",d.val())}}}else{if(d.is("button.button")){g=f.target.className||"";g=g.match(/url([^ '"]+)/);if(g&&g[1]){setUserSetting("urlbutton",g[1]);d.siblings(".urlfield").val(d.data("link-url"))}}else{if(d.is("a.dismiss")){d.parents(".media-item").fadeOut(200,function(){a(this).remove()})}else{if(d.is(".upload-flash-bypass a")||d.is("a.uploader-html")){a("#media-items, p.submit, span.big-file-warning").css("display","none");switchUploader(0);f.preventDefault()}else{if(d.is(".upload-html-bypass a")){a("#media-items, p.submit, span.big-file-warning").css("display","");switchUploader(1);f.preventDefault()}else{if(d.is("a.describe-toggle-on")){d.parent().addClass("open");d.siblings(".slidetoggle").fadeIn(250,function(){var i=a(window).scrollTop(),e=a(window).height(),k=a(this).offset().top,j=a(this).height(),c,l;if(e&&k&&j){c=k+j;l=i+e;if(c>l){if(c-l<k-i){window.scrollBy(0,(c-l)+10)}else{window.scrollBy(0,k-i-40)}}}});f.preventDefault()}else{if(d.is("a.describe-toggle-off")){d.siblings(".slidetoggle").fadeOut(250,function(){d.parent().removeClass("open")});f.preventDefault()}}}}}}}});uploader_init=function(){uploader=new plupload.Uploader(wpUploaderInit);a("#image_resize").bind("change",function(){var b=a(this).prop("checked");setResize(b);if(b){setUserSetting("upload_resize","1")}else{deleteUserSetting("upload_resize")}});uploader.bind("Init",function(b){var c=a("#plupload-upload-ui");setResize(getUserSetting("upload_resize",false));if(b.features.dragdrop&&!a(document.body).hasClass("mobile")){c.addClass("drag-drop");a("#drag-drop-area").bind("dragover.wp-uploader",function(){c.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){c.removeClass("drag-over")})}else{c.removeClass("drag-drop");a("#drag-drop-area").unbind(".wp-uploader")}});uploader.init();uploader.bind("FilesAdded",function(d,e){var c=100*1024*1024,b=parseInt(d.settings.max_file_size,10);a("#media-upload-error").html("");uploadStart();plupload.each(e,function(f){if(b>c&&f.size>c&&d.runtime!="html5"){uploadSizeError(d,f,true)}else{fileQueued(f)}});d.refresh();d.start()});uploader.bind("BeforeUpload",function(b,c){});uploader.bind("UploadFile",function(b,c){fileUploading(b,c)});uploader.bind("UploadProgress",function(b,c){uploadProgress(b,c)});uploader.bind("Error",function(b,c){uploadError(c.file,c.code,c.message,b);b.refresh()});uploader.bind("FileUploaded",function(b,d,c){uploadSuccess(d,c.response)});uploader.bind("UploadComplete",function(b,c){uploadComplete()})};if(typeof(wpUploaderInit)=="object"){uploader_init()}});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/plupload/wp-plupload.dev.js ./wordpress-3.4/wp-includes/js/plupload/wp-plupload.dev.js
*** ./wordpress-3.3.2/wp-includes/js/plupload/wp-plupload.dev.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/plupload/wp-plupload.dev.js	2012-06-06 16:45:17.000000000 -0500
***************
*** 0 ****
--- 1,220 ----
+ if ( typeof wp === 'undefined' )
+ 	var wp = {};
+ 
+ (function( exports, $ ) {
+ 	var Uploader;
+ 
+ 	if ( typeof _wpPluploadSettings === 'undefined' )
+ 		return;
+ 
+ 	/*
+ 	 * An object that helps create a WordPress uploader using plupload.
+ 	 *
+ 	 * @param options - object - The options passed to the new plupload instance.
+ 	 *    Requires the following parameters:
+ 	 *    - container - The id of uploader container.
+ 	 *    - browser   - The id of button to trigger the file select.
+ 	 *    - dropzone  - The id of file drop target.
+ 	 *    - plupload  - An object of parameters to pass to the plupload instance.
+ 	 *    - params    - An object of parameters to pass to $_POST when uploading the file.
+ 	 *                  Extends this.plupload.multipart_params under the hood.
+ 	 *
+ 	 * @param attributes - object - Attributes and methods for this specific instance.
+ 	 */
+ 	Uploader = function( options ) {
+ 		var self = this,
+ 			elements = {
+ 				container: 'container',
+ 				browser:   'browse_button',
+ 				dropzone:  'drop_element'
+ 			},
+ 			key;
+ 
+ 		this.supports = {
+ 			upload: Uploader.browser.supported
+ 		};
+ 
+ 		this.supported = this.supports.upload;
+ 
+ 		if ( ! this.supported )
+ 			return;
+ 
+ 		// Use deep extend to ensure that multipart_params and other objects are cloned.
+ 		this.plupload = $.extend( true, { multipart_params: {} }, Uploader.defaults );
+ 		this.container = document.body; // Set default container.
+ 
+ 		// Extend the instance with options
+ 		//
+ 		// Use deep extend to allow options.plupload to override individual
+ 		// default plupload keys.
+ 		$.extend( true, this, options );
+ 
+ 		// Proxy all methods so this always refers to the current instance.
+ 		for ( key in this ) {
+ 			if ( $.isFunction( this[ key ] ) )
+ 				this[ key ] = $.proxy( this[ key ], this );
+ 		}
+ 
+ 		// Ensure all elements are jQuery elements and have id attributes
+ 		// Then set the proper plupload arguments to the ids.
+ 		for ( key in elements ) {
+ 			if ( ! this[ key ] )
+ 				continue;
+ 
+ 			this[ key ] = $( this[ key ] ).first();
+ 
+ 			if ( ! this[ key ].length ) {
+ 				delete this[ key ];
+ 				continue;
+ 			}
+ 
+ 			if ( ! this[ key ].prop('id') )
+ 				this[ key ].prop( 'id', '__wp-uploader-id-' + Uploader.uuid++ );
+ 			this.plupload[ elements[ key ] ] = this[ key ].prop('id');
+ 		}
+ 
+ 		this.uploader = new plupload.Uploader( this.plupload );
+ 		delete this.plupload;
+ 
+ 		// Set default params and remove this.params alias.
+ 		this.param( this.params || {} );
+ 		delete this.params;
+ 
+ 		this.uploader.init();
+ 
+ 		this.supports.dragdrop = this.uploader.features.dragdrop && ! Uploader.browser.mobile;
+ 
+ 		// Generate drag/drop helper classes.
+ 		(function( dropzone, supported ) {
+ 			var sensitivity = 50,
+ 				active;
+ 
+ 			if ( ! dropzone )
+ 				return;
+ 
+ 			dropzone.toggleClass( 'supports-drag-drop', !! supported );
+ 
+ 			if ( ! supported )
+ 				return dropzone.unbind('.wp-uploader');
+ 
+ 			// 'dragenter' doesn't fire correctly,
+ 			// simulate it with a limited 'dragover'
+ 			dropzone.bind( 'dragover.wp-uploader', function(){
+ 				if ( active )
+ 					return;
+ 
+ 				dropzone.addClass('drag-over');
+ 				active = true;
+ 			});
+ 
+ 			dropzone.bind('dragleave.wp-uploader, drop.wp-uploader', function(){
+ 				active = false;
+ 				dropzone.removeClass('drag-over');
+ 			});
+ 		}( this.dropzone, this.supports.dragdrop ));
+ 
+ 		this.browser.on( 'mouseenter', this.refresh );
+ 
+ 		this.uploader.bind( 'UploadProgress', this.progress );
+ 
+ 		this.uploader.bind( 'FileUploaded', function( up, file, response ) {
+ 			try {
+ 				response = JSON.parse( response.response );
+ 			} catch ( e ) {
+ 				return self.error( pluploadL10n.default_error, e );
+ 			}
+ 
+ 			if ( ! response || ! response.type || ! response.data )
+ 				return self.error( pluploadL10n.default_error );
+ 
+ 			if ( 'error' === response.type )
+ 				return self.error( response.data.message, response.data );
+ 
+ 			if ( 'success' === response.type )
+ 				return self.success( response.data );
+ 
+ 		});
+ 
+ 		this.uploader.bind( 'Error', function( up, error ) {
+ 			var message = pluploadL10n.default_error,
+ 				key;
+ 
+ 			// Check for plupload errors.
+ 			for ( key in Uploader.errorMap ) {
+ 				if ( error.code === plupload[ key ] ) {
+ 					message = Uploader.errorMap[ key ];
+ 					break;
+ 				}
+ 			}
+ 
+ 			self.error( message, error );
+ 			up.refresh();
+ 		});
+ 
+ 		this.uploader.bind( 'FilesAdded', function( up, files ) {
+ 			$.each( files, function() {
+ 				self.added( this );
+ 			});
+ 
+ 			up.refresh();
+ 			up.start();
+ 		});
+ 
+ 		this.init();
+ 	};
+ 
+ 	// Adds the 'defaults' and 'browser' properties.
+ 	$.extend( Uploader, _wpPluploadSettings );
+ 
+ 	Uploader.uuid = 0;
+ 
+ 	Uploader.errorMap = {
+ 		'FAILED':                 pluploadL10n.upload_failed,
+ 		'FILE_EXTENSION_ERROR':   pluploadL10n.invalid_filetype,
+ 		// 'FILE_SIZE_ERROR': '',
+ 		'IMAGE_FORMAT_ERROR':     pluploadL10n.not_an_image,
+ 		'IMAGE_MEMORY_ERROR':     pluploadL10n.image_memory_exceeded,
+ 		'IMAGE_DIMENSIONS_ERROR': pluploadL10n.image_dimensions_exceeded,
+ 		'GENERIC_ERROR':          pluploadL10n.upload_failed,
+ 		'IO_ERROR':               pluploadL10n.io_error,
+ 		'HTTP_ERROR':             pluploadL10n.http_error,
+ 		'SECURITY_ERROR':         pluploadL10n.security_error
+ 	};
+ 
+ 	$.extend( Uploader.prototype, {
+ 		/**
+ 		 * Acts as a shortcut to extending the uploader's multipart_params object.
+ 		 *
+ 		 * param( key )
+ 		 *    Returns the value of the key.
+ 		 *
+ 		 * param( key, value )
+ 		 *    Sets the value of a key.
+ 		 *
+ 		 * param( map )
+ 		 *    Sets values for a map of data.
+ 		 */
+ 		param: function( key, value ) {
+ 			if ( arguments.length === 1 && typeof key === 'string' )
+ 				return this.uploader.settings.multipart_params[ key ];
+ 
+ 			if ( arguments.length > 1 ) {
+ 				this.uploader.settings.multipart_params[ key ] = value;
+ 			} else {
+ 				$.extend( this.uploader.settings.multipart_params, key );
+ 			}
+ 		},
+ 
+ 		init:     function() {},
+ 		error:    function() {},
+ 		success:  function() {},
+ 		added:    function() {},
+ 		progress: function() {},
+ 		complete: function() {},
+ 		refresh:  function() {
+ 			this.uploader.refresh();
+ 		}
+ 	});
+ 
+ 	exports.Uploader = Uploader;
+ })( wp, jQuery );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/plupload/wp-plupload.js ./wordpress-3.4/wp-includes/js/plupload/wp-plupload.js
*** ./wordpress-3.3.2/wp-includes/js/plupload/wp-plupload.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/plupload/wp-plupload.js	2012-06-06 16:51:13.000000000 -0500
***************
*** 0 ****
--- 1 ----
+ if(typeof wp==="undefined"){var wp={}}(function(a,b){var c;if(typeof _wpPluploadSettings==="undefined"){return}c=function(e){var d=this,g={container:"container",browser:"browse_button",dropzone:"drop_element"},f;this.supports={upload:c.browser.supported};this.supported=this.supports.upload;if(!this.supported){return}this.plupload=b.extend(true,{multipart_params:{}},c.defaults);this.container=document.body;b.extend(true,this,e);for(f in this){if(b.isFunction(this[f])){this[f]=b.proxy(this[f],this)}}for(f in g){if(!this[f]){continue}this[f]=b(this[f]).first();if(!this[f].length){delete this[f];continue}if(!this[f].prop("id")){this[f].prop("id","__wp-uploader-id-"+c.uuid++)}this.plupload[g[f]]=this[f].prop("id")}this.uploader=new plupload.Uploader(this.plupload);delete this.plupload;this.param(this.params||{});delete this.params;this.uploader.init();this.supports.dragdrop=this.uploader.features.dragdrop&&!c.browser.mobile;(function(j,h){var i=50,k;if(!j){return}j.toggleClass("supports-drag-drop",!!h);if(!h){return j.unbind(".wp-uploader")}j.bind("dragover.wp-uploader",function(){if(k){return}j.addClass("drag-over");k=true});j.bind("dragleave.wp-uploader, drop.wp-uploader",function(){k=false;j.removeClass("drag-over")})}(this.dropzone,this.supports.dragdrop));this.browser.on("mouseenter",this.refresh);this.uploader.bind("UploadProgress",this.progress);this.uploader.bind("FileUploaded",function(h,j,i){try{i=JSON.parse(i.response)}catch(k){return d.error(pluploadL10n.default_error,k)}if(!i||!i.type||!i.data){return d.error(pluploadL10n.default_error)}if("error"===i.type){return d.error(i.data.message,i.data)}if("success"===i.type){return d.success(i.data)}});this.uploader.bind("Error",function(h,i){var k=pluploadL10n.default_error,j;for(j in c.errorMap){if(i.code===plupload[j]){k=c.errorMap[j];break}}d.error(k,i);h.refresh()});this.uploader.bind("FilesAdded",function(h,i){b.each(i,function(){d.added(this)});h.refresh();h.start()});this.init()};b.extend(c,_wpPluploadSettings);c.uuid=0;c.errorMap={FAILED:pluploadL10n.upload_failed,FILE_EXTENSION_ERROR:pluploadL10n.invalid_filetype,IMAGE_FORMAT_ERROR:pluploadL10n.not_an_image,IMAGE_MEMORY_ERROR:pluploadL10n.image_memory_exceeded,IMAGE_DIMENSIONS_ERROR:pluploadL10n.image_dimensions_exceeded,GENERIC_ERROR:pluploadL10n.upload_failed,IO_ERROR:pluploadL10n.io_error,HTTP_ERROR:pluploadL10n.http_error,SECURITY_ERROR:pluploadL10n.security_error};b.extend(c.prototype,{param:function(d,e){if(arguments.length===1&&typeof d==="string"){return this.uploader.settings.multipart_params[d]}if(arguments.length>1){this.uploader.settings.multipart_params[d]=e}else{b.extend(this.uploader.settings.multipart_params,d)}},init:function(){},error:function(){},success:function(){},added:function(){},progress:function(){},complete:function(){},refresh:function(){this.uploader.refresh()}});a.Uploader=c})(wp,jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/quicktags.dev.js ./wordpress-3.4/wp-includes/js/quicktags.dev.js
*** ./wordpress-3.3.2/wp-includes/js/quicktags.dev.js	2011-11-14 19:15:10.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/quicktags.dev.js	2012-06-12 14:27:41.000000000 -0500
***************
*** 1,6 ****
  /*
   * Quicktags
!  * 
   * This is the HTML editor in WordPress. It can be attached to any textarea and will
   * append a toolbar above it. This script is self-contained (does not require external libraries).
   *
--- 1,6 ----
  /*
   * Quicktags
!  *
   * This is the HTML editor in WordPress. It can be attached to any textarea and will
   * append a toolbar above it. This script is self-contained (does not require external libraries).
   *
***************
*** 51,57 ****
  
  /**
   * Inserts content at the caret in the active editor (textarea)
!  * 
   * Added for back compatibility
   * @see QTags.insertContent()
   */
--- 51,57 ----
  
  /**
   * Inserts content at the caret in the active editor (textarea)
!  *
   * Added for back compatibility
   * @see QTags.insertContent()
   */
***************
*** 61,72 ****
  
  /**
   * Adds a button to all instances of the editor
!  * 
   * Added for back compatibility, use QTags.addButton() as it gives more flexibility like type of button, button placement, etc.
   * @see QTags.addButton()
   */
  function edButton(id, display, tagStart, tagEnd, access, open) {
! 	return QTags.addButton( id, display, tagStart, tagEnd, access, '', -1 );	
  }
  
  (function(){
--- 61,72 ----
  
  /**
   * Adds a button to all instances of the editor
!  *
   * Added for back compatibility, use QTags.addButton() as it gives more flexibility like type of button, button placement, etc.
   * @see QTags.addButton()
   */
  function edButton(id, display, tagStart, tagEnd, access, open) {
! 	return QTags.addButton( id, display, tagStart, tagEnd, access, '', -1 );
  }
  
  (function(){
***************
*** 264,269 ****
--- 264,275 ----
  				html += theButtons['fullscreen'].html(name + '_');
  			}
  
+ 
+ 			if ( 'rtl' == document.getElementsByTagName('html')[0].dir ) {
+ 				theButtons['textdirection'] = new qt.TextDirectionButton();
+ 				html += theButtons['textdirection'].html(name + '_');
+ 			}
+ 
  			ed.toolbar.innerHTML = html;
  			ed.theButtons = theButtons;
  		}
***************
*** 272,278 ****
  
  	/**
  	 * Main API function for adding a button to Quicktags
! 	 * 
  	 * Adds qt.Button or qt.TagButton depending on the args. The first three args are always required.
  	 * To be able to add button(s) to Quicktags, your script should be enqueued as dependent
  	 * on "quicktags" and outputted in the footer. If you are echoing JS directly from PHP,
--- 278,284 ----
  
  	/**
  	 * Main API function for adding a button to Quicktags
! 	 *
  	 * Adds qt.Button or qt.TagButton depending on the args. The first three args are always required.
  	 * To be able to add button(s) to Quicktags, your script should be enqueued as dependent
  	 * on "quicktags" and outputted in the footer. If you are echoing JS directly from PHP,
***************
*** 291,304 ****
  	 * @param arg1 string || function required Either a starting tag to be inserted like "<span>" or a callback that is executed when the button is clicked.
  	 * @param arg2 string optional Ending tag like "</span>"
  	 * @param access_key string optional Access key for the button.
! 	 * @param title string optional Button's title="..." 
  	 * @param priority int optional Number representing the desired position of the button in the toolbar. 1 - 9 = first, 11 - 19 = second, 21 - 29 = third, etc.
  	 * @param instance string optional Limit the button to a specifric instance of Quicktags, add to all instances if not present.
  	 * @return mixed null or the button object that is needed for back-compat.
! 	 */	 	 	 	
  	qt.addButton = function( id, display, arg1, arg2, access_key, title, priority, instance ) {
  		var btn;
! 		
  		if ( !id || !display )
  			return;
  
--- 297,310 ----
  	 * @param arg1 string || function required Either a starting tag to be inserted like "<span>" or a callback that is executed when the button is clicked.
  	 * @param arg2 string optional Ending tag like "</span>"
  	 * @param access_key string optional Access key for the button.
! 	 * @param title string optional Button's title="..."
  	 * @param priority int optional Number representing the desired position of the button in the toolbar. 1 - 9 = first, 11 - 19 = second, 21 - 29 = third, etc.
  	 * @param instance string optional Limit the button to a specifric instance of Quicktags, add to all instances if not present.
  	 * @return mixed null or the button object that is needed for back-compat.
! 	 */
  	qt.addButton = function( id, display, arg1, arg2, access_key, title, priority, instance ) {
  		var btn;
! 
  		if ( !id || !display )
  			return;
  
***************
*** 599,610 ****
  	};
  	qt.FullscreenButton.prototype = new qt.Button();
  	qt.FullscreenButton.prototype.callback = function(e, c) {
! 		if ( c.id != 'content' || typeof(fullscreen) == 'undefined' )
  			return;
  
  		fullscreen.on();
  	};
  
  	// ensure backward compatibility
  	edButtons[10] = new qt.TagButton('strong','b','<strong>','</strong>','b');
  	edButtons[20] = new qt.TagButton('em','i','<em>','</em>','i'),
--- 605,631 ----
  	};
  	qt.FullscreenButton.prototype = new qt.Button();
  	qt.FullscreenButton.prototype.callback = function(e, c) {
! 		if ( !c.id || typeof(fullscreen) == 'undefined' )
  			return;
  
  		fullscreen.on();
  	};
  
+ 	qt.TextDirectionButton = function() {
+ 		qt.Button.call(this, 'textdirection', quicktagsL10n.textdirection, '', quicktagsL10n.toggleTextdirection)
+ 	};
+ 	qt.TextDirectionButton.prototype = new qt.Button();
+ 	qt.TextDirectionButton.prototype.callback = function(e, c) {
+ 		var isRTL = ( 'rtl' == document.getElementsByTagName('html')[0].dir ),
+ 			currentDirection = c.style.direction;
+ 
+ 		if ( ! currentDirection )
+ 			currentDirection = ( isRTL ) ? 'rtl' : 'ltr';
+ 
+ 		c.style.direction = ( 'rtl' == currentDirection ) ? 'ltr' : 'rtl';
+ 		c.focus();
+ 	}
+ 
  	// ensure backward compatibility
  	edButtons[10] = new qt.TagButton('strong','b','<strong>','</strong>','b');
  	edButtons[20] = new qt.TagButton('em','i','<em>','</em>','i'),
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/quicktags.js ./wordpress-3.4/wp-includes/js/quicktags.js
*** ./wordpress-3.3.2/wp-includes/js/quicktags.js	2011-11-14 19:15:10.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/quicktags.js	2012-04-12 12:58:20.000000000 -0500
***************
*** 1 ****
! var QTags,edButtons=[],edCanvas,edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};function quicktags(a){return new QTags(a)}function edInsertContent(b,a){return QTags.insertContent(a)}function edButton(f,e,c,b,a,d){return QTags.addButton(f,e,c,b,a,"",-1)}(function(){var b=function(g){var f,e,d;if(typeof jQuery!="undefined"){jQuery(document).ready(g)}else{f=b;f.funcs=[];f.ready=function(){if(!f.isReady){f.isReady=true;for(e=0;e<f.funcs.length;e++){f.funcs[e]()}}};if(f.isReady){g()}else{f.funcs.push(g)}if(!f.eventAttached){if(document.addEventListener){d=function(){document.removeEventListener("DOMContentLoaded",d,false);f.ready()};document.addEventListener("DOMContentLoaded",d,false);window.addEventListener("load",f.ready,false)}else{if(document.attachEvent){d=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",d);f.ready()}};document.attachEvent("onreadystatechange",d);window.attachEvent("onload",f.ready);(function(){try{document.documentElement.doScroll("left")}catch(h){setTimeout(arguments.callee,50);return}f.ready()})()}}f.eventAttached=true}}},a=(function(){var d=new Date(),e;e=function(f){var g=f.toString();if(g.length<2){g="0"+g}return g};return d.getUTCFullYear()+"-"+e(d.getUTCMonth()+1)+"-"+e(d.getUTCDate())+"T"+e(d.getUTCHours())+":"+e(d.getUTCMinutes())+":"+e(d.getUTCSeconds())+"+00:00"})(),c;c=QTags=function(j){if(typeof(j)=="string"){j={id:j}}else{if(typeof(j)!="object"){return false}}var i=this,k=j.id,h=document.getElementById(k),g="qt_"+k,d,f,e;if(!k||!h){return false}i.name=g;i.id=k;i.canvas=h;i.settings=j;if(k=="content"&&typeof(adminpage)=="string"&&(adminpage=="post-new-php"||adminpage=="post-php")){edCanvas=h;e="ed_toolbar"}else{e=g+"_toolbar"}d=document.createElement("div");d.id=e;d.className="quicktags-toolbar";h.parentNode.insertBefore(d,h);i.toolbar=d;f=function(n){n=n||window.event;var m=n.target||n.srcElement,l;if(/ ed_button /.test(" "+m.className+" ")){i.canvas=h=document.getElementById(k);l=m.id.replace(g+"_","");if(i.theButtons[l]){i.theButtons[l].callback.call(i.theButtons[l],m,h,i)}}};if(d.addEventListener){d.addEventListener("click",f,false)}else{if(d.attachEvent){d.attachEvent("onclick",f)}}i.getButton=function(l){return i.theButtons[l]};i.getButtonElement=function(l){return document.getElementById(g+"_"+l)};c.instances[k]=i;if(!c.instances[0]){c.instances[0]=c.instances[k];b(function(){c._buttonsInit()})}};c.instances={};c.getInstance=function(d){return c.instances[d]};c._buttonsInit=function(){var p=this,g,e,h,o,m,l,n,f,k,d,j=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,spell,close,";for(l in p.instances){if(l==0){continue}n=p.instances[l];g=n.canvas;e=n.name;h=n.settings;m="";o={};d="";if(h.buttons){d=","+h.buttons+","}for(k in edButtons){if(!edButtons[k]){continue}f=edButtons[k].id;if(d&&j.indexOf(","+f+",")!=-1&&d.indexOf(","+f+",")==-1){continue}if(!edButtons[k].instance||edButtons[k].instance==l){o[f]=edButtons[k];if(edButtons[k].html){m+=edButtons[k].html(e+"_")}}}if(d&&d.indexOf(",fullscreen,")!=-1){o.fullscreen=new c.FullscreenButton();m+=o.fullscreen.html(e+"_")}n.toolbar.innerHTML=m;n.theButtons=o}p.buttonsInitDone=true};c.addButton=function(e,i,h,g,d,j,k,l){var f;if(!e||!i){return}k=k||0;g=g||"";if(typeof(h)==="function"){f=new c.Button(e,i,d,j,l);f.callback=h}else{if(typeof(h)==="string"){f=new c.TagButton(e,i,h,g,d,j,l)}else{return}}if(k==-1){return f}if(k>0){while(typeof(edButtons[k])!="undefined"){k++}edButtons[k]=f}else{edButtons[edButtons.length]=f}if(this.buttonsInitDone){this._buttonsInit()}};c.insertContent=function(g){var h,f,e,i,j,d=document.getElementById(wpActiveEditor);if(!d){return false}if(document.selection){d.focus();h=document.selection.createRange();h.text=g;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){j=d.value;f=d.selectionStart;e=d.selectionEnd;i=d.scrollTop;d.value=j.substring(0,f)+g+j.substring(e,j.length);d.focus();d.selectionStart=f+g.length;d.selectionEnd=f+g.length;d.scrollTop=i}else{d.value+=g;d.focus()}}return true};c.Button=function(i,g,e,h,d){var f=this;f.id=i;f.display=g;f.access=e;f.title=h||"";f.instance=d||""};c.Button.prototype.html=function(e){var d=this.access?' accesskey="'+this.access+'"':"";return'<input type="button" id="'+e+this.id+'"'+d+' class="ed_button" title="'+this.title+'" value="'+this.display+'" />'};c.Button.prototype.callback=function(){};c.TagButton=function(k,i,g,f,e,j,d){var h=this;c.Button.call(h,k,i,e,j,d);h.tagStart=g;h.tagEnd=f};c.TagButton.prototype=new c.Button();c.TagButton.prototype.openTag=function(g,d){var f=this;if(!d.openTags){d.openTags=[]}if(f.tagEnd){d.openTags.push(f.id);g.value="/"+g.value}};c.TagButton.prototype.closeTag=function(h,d){var g=this,f=g.isOpen(d);if(f!==false){d.openTags.splice(f,1)}h.value=g.display};c.TagButton.prototype.isOpen=function(d){var g=this,f=0,e=false;if(d.openTags){while(e===false&&f<d.openTags.length){e=d.openTags[f]==g.id?f:false;f++}}else{e=false}return e};c.TagButton.prototype.callback=function(o,h,p){var u=this,q,e,m,g,s=h.value,j,d,n,f,k=s?u.tagEnd:"";if(document.selection){h.focus();f=document.selection.createRange();if(f.text.length>0){if(!u.tagEnd){f.text=f.text+u.tagStart}else{f.text=u.tagStart+f.text+k}}else{if(!u.tagEnd){f.text=u.tagStart}else{if(u.isOpen(p)===false){f.text=u.tagStart;u.openTag(o,p)}else{f.text=k;u.closeTag(o,p)}}}h.focus()}else{if(h.selectionStart||h.selectionStart=="0"){q=h.selectionStart;e=h.selectionEnd;m=e;g=h.scrollTop;j=s.substring(0,q);d=s.substring(e,s.length);n=s.substring(q,e);if(q!=e){if(!u.tagEnd){h.value=j+n+u.tagStart+d;m+=u.tagStart.length}else{h.value=j+u.tagStart+n+k+d;m+=u.tagStart.length+k.length}}else{if(!u.tagEnd){h.value=j+u.tagStart+d;m=q+u.tagStart.length}else{if(u.isOpen(p)===false){h.value=j+u.tagStart+d;u.openTag(o,p);m=q+u.tagStart.length}else{h.value=j+k+d;m=q+k.length;u.closeTag(o,p)}}}h.focus();h.selectionStart=m;h.selectionEnd=m;h.scrollTop=g}else{if(!k){h.value+=u.tagStart}else{if(u.isOpen(p)!==false){h.value+=u.tagStart;u.openTag(o,p)}else{h.value+=k;u.closeTag(o,p)}}h.focus()}}};c.SpellButton=function(){c.Button.call(this,"spell",quicktagsL10n.lookup,"",quicktagsL10n.dictionaryLookup)};c.SpellButton.prototype=new c.Button();c.SpellButton.prototype.callback=function(h,g,d){var j="",i,f,e;if(document.selection){g.focus();i=document.selection.createRange();if(i.text.length>0){j=i.text}}else{if(g.selectionStart||g.selectionStart=="0"){f=g.selectionStart;e=g.selectionEnd;if(f!=e){j=g.value.substring(f,e)}}}if(j===""){j=prompt(quicktagsL10n.wordLookup,"")}if(j!==null&&/^\w[\w ]*$/.test(j)){window.open("http://www.answers.com/"+encodeURIComponent(j))}};c.CloseButton=function(){c.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)};c.CloseButton.prototype=new c.Button();c._close=function(i,j,d){var g,f,h=d.openTags;if(h){while(h.length>0){g=d.getButton(h[h.length-1]);f=document.getElementById(d.name+"_"+g.id);if(i){g.callback.call(g,f,j,d)}else{g.closeTag(f,d)}}}};c.CloseButton.prototype.callback=c._close;c.closeAllTags=function(e){var d=this.getInstance(e);c._close("",d.canvas,d)};c.LinkButton=function(){c.TagButton.call(this,"link","link","","</a>","a")};c.LinkButton.prototype=new c.TagButton();c.LinkButton.prototype.callback=function(i,j,g,f){var d,h=this;if(typeof(wpLink)!="undefined"){wpLink.open();return}if(!f){f="http://"}if(h.isOpen(g)===false){d=prompt(quicktagsL10n.enterURL,f);if(d){h.tagStart='<a href="'+d+'">';c.TagButton.prototype.callback.call(h,i,j,g)}}else{c.TagButton.prototype.callback.call(h,i,j,g)}};c.ImgButton=function(){c.TagButton.call(this,"img","img","","","m")};c.ImgButton.prototype=new c.TagButton();c.ImgButton.prototype.callback=function(h,j,f,d){if(!d){d="http://"}var i=prompt(quicktagsL10n.enterImageURL,d),g;if(i){g=prompt(quicktagsL10n.enterImageDescription,"");this.tagStart='<img src="'+i+'" alt="'+g+'" />';c.TagButton.prototype.callback.call(this,h,j,f)}};c.FullscreenButton=function(){c.Button.call(this,"fullscreen",quicktagsL10n.fullscreen,"f",quicktagsL10n.toggleFullscreen)};c.FullscreenButton.prototype=new c.Button();c.FullscreenButton.prototype.callback=function(d,f){if(f.id!="content"||typeof(fullscreen)=="undefined"){return}fullscreen.on()};edButtons[10]=new c.TagButton("strong","b","<strong>","</strong>","b");edButtons[20]=new c.TagButton("em","i","<em>","</em>","i"),edButtons[30]=new c.LinkButton(),edButtons[40]=new c.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q"),edButtons[50]=new c.TagButton("del","del",'<del datetime="'+a+'">',"</del>","d"),edButtons[60]=new c.TagButton("ins","ins",'<ins datetime="'+a+'">',"</ins>","s"),edButtons[70]=new c.ImgButton(),edButtons[80]=new c.TagButton("ul","ul","<ul>\n","</ul>\n\n","u"),edButtons[90]=new c.TagButton("ol","ol","<ol>\n","</ol>\n\n","o"),edButtons[100]=new c.TagButton("li","li","\t<li>","</li>\n","l"),edButtons[110]=new c.TagButton("code","code","<code>","</code>","c"),edButtons[120]=new c.TagButton("more","more","<!--more-->","","t"),edButtons[130]=new c.SpellButton(),edButtons[140]=new c.CloseButton()})();
\ No newline at end of file
--- 1 ----
! var QTags,edButtons=[],edCanvas,edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};function quicktags(a){return new QTags(a)}function edInsertContent(b,a){return QTags.insertContent(a)}function edButton(f,e,c,b,a,d){return QTags.addButton(f,e,c,b,a,"",-1)}(function(){var b=function(g){var f,e,d;if(typeof jQuery!="undefined"){jQuery(document).ready(g)}else{f=b;f.funcs=[];f.ready=function(){if(!f.isReady){f.isReady=true;for(e=0;e<f.funcs.length;e++){f.funcs[e]()}}};if(f.isReady){g()}else{f.funcs.push(g)}if(!f.eventAttached){if(document.addEventListener){d=function(){document.removeEventListener("DOMContentLoaded",d,false);f.ready()};document.addEventListener("DOMContentLoaded",d,false);window.addEventListener("load",f.ready,false)}else{if(document.attachEvent){d=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",d);f.ready()}};document.attachEvent("onreadystatechange",d);window.attachEvent("onload",f.ready);(function(){try{document.documentElement.doScroll("left")}catch(h){setTimeout(arguments.callee,50);return}f.ready()})()}}f.eventAttached=true}}},a=(function(){var d=new Date(),e;e=function(f){var g=f.toString();if(g.length<2){g="0"+g}return g};return d.getUTCFullYear()+"-"+e(d.getUTCMonth()+1)+"-"+e(d.getUTCDate())+"T"+e(d.getUTCHours())+":"+e(d.getUTCMinutes())+":"+e(d.getUTCSeconds())+"+00:00"})(),c;c=QTags=function(j){if(typeof(j)=="string"){j={id:j}}else{if(typeof(j)!="object"){return false}}var i=this,k=j.id,h=document.getElementById(k),g="qt_"+k,d,f,e;if(!k||!h){return false}i.name=g;i.id=k;i.canvas=h;i.settings=j;if(k=="content"&&typeof(adminpage)=="string"&&(adminpage=="post-new-php"||adminpage=="post-php")){edCanvas=h;e="ed_toolbar"}else{e=g+"_toolbar"}d=document.createElement("div");d.id=e;d.className="quicktags-toolbar";h.parentNode.insertBefore(d,h);i.toolbar=d;f=function(n){n=n||window.event;var m=n.target||n.srcElement,l;if(/ ed_button /.test(" "+m.className+" ")){i.canvas=h=document.getElementById(k);l=m.id.replace(g+"_","");if(i.theButtons[l]){i.theButtons[l].callback.call(i.theButtons[l],m,h,i)}}};if(d.addEventListener){d.addEventListener("click",f,false)}else{if(d.attachEvent){d.attachEvent("onclick",f)}}i.getButton=function(l){return i.theButtons[l]};i.getButtonElement=function(l){return document.getElementById(g+"_"+l)};c.instances[k]=i;if(!c.instances[0]){c.instances[0]=c.instances[k];b(function(){c._buttonsInit()})}};c.instances={};c.getInstance=function(d){return c.instances[d]};c._buttonsInit=function(){var p=this,g,e,h,o,m,l,n,f,k,d,j=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,spell,close,";for(l in p.instances){if(l==0){continue}n=p.instances[l];g=n.canvas;e=n.name;h=n.settings;m="";o={};d="";if(h.buttons){d=","+h.buttons+","}for(k in edButtons){if(!edButtons[k]){continue}f=edButtons[k].id;if(d&&j.indexOf(","+f+",")!=-1&&d.indexOf(","+f+",")==-1){continue}if(!edButtons[k].instance||edButtons[k].instance==l){o[f]=edButtons[k];if(edButtons[k].html){m+=edButtons[k].html(e+"_")}}}if(d&&d.indexOf(",fullscreen,")!=-1){o.fullscreen=new c.FullscreenButton();m+=o.fullscreen.html(e+"_")}if("rtl"==document.getElementsByTagName("html")[0].dir){o.textdirection=new c.TextDirectionButton();m+=o.textdirection.html(e+"_")}n.toolbar.innerHTML=m;n.theButtons=o}p.buttonsInitDone=true};c.addButton=function(e,i,h,g,d,j,k,l){var f;if(!e||!i){return}k=k||0;g=g||"";if(typeof(h)==="function"){f=new c.Button(e,i,d,j,l);f.callback=h}else{if(typeof(h)==="string"){f=new c.TagButton(e,i,h,g,d,j,l)}else{return}}if(k==-1){return f}if(k>0){while(typeof(edButtons[k])!="undefined"){k++}edButtons[k]=f}else{edButtons[edButtons.length]=f}if(this.buttonsInitDone){this._buttonsInit()}};c.insertContent=function(g){var h,f,e,i,j,d=document.getElementById(wpActiveEditor);if(!d){return false}if(document.selection){d.focus();h=document.selection.createRange();h.text=g;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){j=d.value;f=d.selectionStart;e=d.selectionEnd;i=d.scrollTop;d.value=j.substring(0,f)+g+j.substring(e,j.length);d.focus();d.selectionStart=f+g.length;d.selectionEnd=f+g.length;d.scrollTop=i}else{d.value+=g;d.focus()}}return true};c.Button=function(i,g,e,h,d){var f=this;f.id=i;f.display=g;f.access=e;f.title=h||"";f.instance=d||""};c.Button.prototype.html=function(e){var d=this.access?' accesskey="'+this.access+'"':"";return'<input type="button" id="'+e+this.id+'"'+d+' class="ed_button" title="'+this.title+'" value="'+this.display+'" />'};c.Button.prototype.callback=function(){};c.TagButton=function(k,i,g,f,e,j,d){var h=this;c.Button.call(h,k,i,e,j,d);h.tagStart=g;h.tagEnd=f};c.TagButton.prototype=new c.Button();c.TagButton.prototype.openTag=function(g,d){var f=this;if(!d.openTags){d.openTags=[]}if(f.tagEnd){d.openTags.push(f.id);g.value="/"+g.value}};c.TagButton.prototype.closeTag=function(h,d){var g=this,f=g.isOpen(d);if(f!==false){d.openTags.splice(f,1)}h.value=g.display};c.TagButton.prototype.isOpen=function(d){var g=this,f=0,e=false;if(d.openTags){while(e===false&&f<d.openTags.length){e=d.openTags[f]==g.id?f:false;f++}}else{e=false}return e};c.TagButton.prototype.callback=function(o,h,p){var u=this,q,e,m,g,s=h.value,j,d,n,f,k=s?u.tagEnd:"";if(document.selection){h.focus();f=document.selection.createRange();if(f.text.length>0){if(!u.tagEnd){f.text=f.text+u.tagStart}else{f.text=u.tagStart+f.text+k}}else{if(!u.tagEnd){f.text=u.tagStart}else{if(u.isOpen(p)===false){f.text=u.tagStart;u.openTag(o,p)}else{f.text=k;u.closeTag(o,p)}}}h.focus()}else{if(h.selectionStart||h.selectionStart=="0"){q=h.selectionStart;e=h.selectionEnd;m=e;g=h.scrollTop;j=s.substring(0,q);d=s.substring(e,s.length);n=s.substring(q,e);if(q!=e){if(!u.tagEnd){h.value=j+n+u.tagStart+d;m+=u.tagStart.length}else{h.value=j+u.tagStart+n+k+d;m+=u.tagStart.length+k.length}}else{if(!u.tagEnd){h.value=j+u.tagStart+d;m=q+u.tagStart.length}else{if(u.isOpen(p)===false){h.value=j+u.tagStart+d;u.openTag(o,p);m=q+u.tagStart.length}else{h.value=j+k+d;m=q+k.length;u.closeTag(o,p)}}}h.focus();h.selectionStart=m;h.selectionEnd=m;h.scrollTop=g}else{if(!k){h.value+=u.tagStart}else{if(u.isOpen(p)!==false){h.value+=u.tagStart;u.openTag(o,p)}else{h.value+=k;u.closeTag(o,p)}}h.focus()}}};c.SpellButton=function(){c.Button.call(this,"spell",quicktagsL10n.lookup,"",quicktagsL10n.dictionaryLookup)};c.SpellButton.prototype=new c.Button();c.SpellButton.prototype.callback=function(h,g,d){var j="",i,f,e;if(document.selection){g.focus();i=document.selection.createRange();if(i.text.length>0){j=i.text}}else{if(g.selectionStart||g.selectionStart=="0"){f=g.selectionStart;e=g.selectionEnd;if(f!=e){j=g.value.substring(f,e)}}}if(j===""){j=prompt(quicktagsL10n.wordLookup,"")}if(j!==null&&/^\w[\w ]*$/.test(j)){window.open("http://www.answers.com/"+encodeURIComponent(j))}};c.CloseButton=function(){c.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)};c.CloseButton.prototype=new c.Button();c._close=function(i,j,d){var g,f,h=d.openTags;if(h){while(h.length>0){g=d.getButton(h[h.length-1]);f=document.getElementById(d.name+"_"+g.id);if(i){g.callback.call(g,f,j,d)}else{g.closeTag(f,d)}}}};c.CloseButton.prototype.callback=c._close;c.closeAllTags=function(e){var d=this.getInstance(e);c._close("",d.canvas,d)};c.LinkButton=function(){c.TagButton.call(this,"link","link","","</a>","a")};c.LinkButton.prototype=new c.TagButton();c.LinkButton.prototype.callback=function(i,j,g,f){var d,h=this;if(typeof(wpLink)!="undefined"){wpLink.open();return}if(!f){f="http://"}if(h.isOpen(g)===false){d=prompt(quicktagsL10n.enterURL,f);if(d){h.tagStart='<a href="'+d+'">';c.TagButton.prototype.callback.call(h,i,j,g)}}else{c.TagButton.prototype.callback.call(h,i,j,g)}};c.ImgButton=function(){c.TagButton.call(this,"img","img","","","m")};c.ImgButton.prototype=new c.TagButton();c.ImgButton.prototype.callback=function(h,j,f,d){if(!d){d="http://"}var i=prompt(quicktagsL10n.enterImageURL,d),g;if(i){g=prompt(quicktagsL10n.enterImageDescription,"");this.tagStart='<img src="'+i+'" alt="'+g+'" />';c.TagButton.prototype.callback.call(this,h,j,f)}};c.FullscreenButton=function(){c.Button.call(this,"fullscreen",quicktagsL10n.fullscreen,"f",quicktagsL10n.toggleFullscreen)};c.FullscreenButton.prototype=new c.Button();c.FullscreenButton.prototype.callback=function(d,f){if(!f.id||typeof(fullscreen)=="undefined"){return}fullscreen.on()};c.TextDirectionButton=function(){c.Button.call(this,"textdirection",quicktagsL10n.textdirection,"",quicktagsL10n.toggleTextdirection)};c.TextDirectionButton.prototype=new c.Button();c.TextDirectionButton.prototype.callback=function(f,h){var d=("rtl"==document.getElementsByTagName("html")[0].dir),g=h.style.direction;if(!g){g=(d)?"rtl":"ltr"}h.style.direction=("rtl"==g)?"ltr":"rtl";h.focus()};edButtons[10]=new c.TagButton("strong","b","<strong>","</strong>","b");edButtons[20]=new c.TagButton("em","i","<em>","</em>","i"),edButtons[30]=new c.LinkButton(),edButtons[40]=new c.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q"),edButtons[50]=new c.TagButton("del","del",'<del datetime="'+a+'">',"</del>","d"),edButtons[60]=new c.TagButton("ins","ins",'<ins datetime="'+a+'">',"</ins>","s"),edButtons[70]=new c.ImgButton(),edButtons[80]=new c.TagButton("ul","ul","<ul>\n","</ul>\n\n","u"),edButtons[90]=new c.TagButton("ol","ol","<ol>\n","</ol>\n\n","o"),edButtons[100]=new c.TagButton("li","li","\t<li>","</li>\n","l"),edButtons[110]=new c.TagButton("code","code","<code>","</code>","c"),edButtons[120]=new c.TagButton("more","more","<!--more-->","","t"),edButtons[130]=new c.SpellButton(),edButtons[140]=new c.CloseButton()})();
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/swfupload/handlers.dev.js ./wordpress-3.4/wp-includes/js/swfupload/handlers.dev.js
*** ./wordpress-3.3.2/wp-includes/js/swfupload/handlers.dev.js	2011-07-29 14:21:21.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/swfupload/handlers.dev.js	2012-03-15 08:30:28.000000000 -0500
***************
*** 96,102 ****
  	jQuery('a.delete', item).click(function(){
  		// Tell the server to delete it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: 'admin-ajax.php',
  			type: 'post',
  			success: deleteSuccess,
  			error: deleteError,
--- 96,102 ----
  	jQuery('a.delete', item).click(function(){
  		// Tell the server to delete it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: ajaxurl,
  			type: 'post',
  			success: deleteSuccess,
  			error: deleteError,
***************
*** 114,120 ****
  	jQuery('a.undo', item).click(function(){
  		// Tell the server to untrash it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: 'admin-ajax.php',
  			type: 'post',
  			id: fileObj.id,
  			data: {
--- 114,120 ----
  	jQuery('a.undo', item).click(function(){
  		// Tell the server to untrash it. TODO: handle exceptions
  		jQuery.ajax({
! 			url: ajaxurl,
  			type: 'post',
  			id: fileObj.id,
  			data: {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/swfupload/handlers.js ./wordpress-3.4/wp-includes/js/swfupload/handlers.js
*** ./wordpress-3.3.2/wp-includes/js/swfupload/handlers.js	2011-07-29 14:21:21.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/swfupload/handlers.js	2012-03-15 08:58:27.000000000 -0500
***************
*** 1 ****
! var topWin=window.dialogArguments||opener||parent||top;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(a){jQuery(".media-blank").remove();if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".describe-toggle-on").show();jQuery(".describe-toggle-off").hide();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery("#media-items").append('<div id="media-item-'+a.id+'" class="media-item child-of-'+post_id+'"><div class="progress"><div class="bar"></div></div><div class="filename original"><span class="percent"></span> '+a.name+"</div></div>");jQuery(".progress","#media-item-"+a.id).show();jQuery("#insert-gallery").prop("disabled",true);jQuery("#cancel-upload").prop("disabled",false)}function uploadStart(a){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(b){}return true}function uploadProgress(e,b,d){var a=jQuery("#media-items").width()-2,c=jQuery("#media-item-"+e.id);jQuery(".bar",c).width(a*b/d);jQuery(".percent",c).html(Math.ceil(b/d*100)+"%");if(b==d){jQuery(".bar",c).html('<strong class="crunching">'+swfuploadL10n.crunching+"</strong>")}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);jQuery(".bar",b).remove();jQuery(".progress",b).hide();try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("class","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.toggle",a).click(function(){jQuery(this).siblings(".slidetoggle").slideToggle(350,function(){var d=jQuery(window).height(),e=jQuery(this).offset().top,f=jQuery(this).height(),c;if(d&&e&&f){c=e+f;if(c>d&&(f+48)<d){window.scrollBy(0,c-d+13)}else{if(c>d){window.scrollTo(0,e-36)}}}});jQuery(this).siblings(".toggle").andSelf().toggle();jQuery(this).siblings("a.toggle").focus();return false});jQuery("a.delete",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery("a.describe-toggle-on, .menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").slideToggle(500).siblings(".toggle").toggle()}function itemAjaxError(d,b){var c=jQuery("#media-item-"+d);var a=jQuery(".filename",c).text();c.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+b+"</div>");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+swfuploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function updateMediaForm(){var b=jQuery("form.type-form #media-items").children(),a=jQuery("#media-items").children();if(b.length==1){jQuery(".slidetoggle",b).slideDown(500).siblings().addClass("hidden").filter(".toggle").toggle()}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}if(a.length>1){jQuery(".insert-gallery").show()}else{jQuery(".insert-gallery").hide()}}function uploadSuccess(b,a){if(a.match("media-upload-error")){jQuery("#media-item-"+b.id).html(a);return}prepareMediaItem(b,a);updateMediaForm();if(jQuery("#media-item-"+b.id).hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function uploadComplete(a){if(swfu.getStats().files_queued==0){jQuery("#cancel-upload").prop("disabled",true);jQuery("#insert-gallery").prop("disabled",false)}}function wpQueueError(a){jQuery("#media-upload-error").show().text(a)}function wpFileError(d,c){var b=jQuery("#media-item-"+d.id);var a=jQuery(".filename",b).text();b.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+c+"</div>");b.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function fileQueueError(c,a,b){if(a==SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED){wpQueueError(swfuploadL10n.queue_limit_exceeded)}else{if(a==SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT){fileQueued(c);wpFileError(c,swfuploadL10n.file_exceeds_size_limit)}else{if(a==SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE){fileQueued(c);wpFileError(c,swfuploadL10n.zero_byte_file)}else{if(a==SWFUpload.QUEUE_ERROR.INVALID_FILETYPE){fileQueued(c);wpFileError(c,swfuploadL10n.invalid_filetype)}else{wpQueueError(swfuploadL10n.default_error)}}}}}function fileDialogComplete(b){try{if(b>0){this.startUpload()}}catch(a){this.debug(a)}}function switchUploader(b){var c=document.getElementById(swfu.customSettings.swfupload_element_id),a=document.getElementById(swfu.customSettings.degraded_element_id);if(b){c.style.display="block";a.style.display="none"}else{c.style.display="none";a.style.display="block"}}function swfuploadPreLoad(){if(!uploaderMode){switchUploader(1)}else{switchUploader(0)}}function swfuploadLoadFailed(){switchUploader(0);jQuery(".upload-html-bypass").hide()}function uploadError(b,c,a){switch(c){case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:wpFileError(b,swfuploadL10n.missing_upload_url);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:wpFileError(b,swfuploadL10n.upload_limit_exceeded);break;case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:wpQueueError(swfuploadL10n.http_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:wpQueueError(swfuploadL10n.upload_failed);break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:wpQueueError(swfuploadL10n.io_error);break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:wpQueueError(swfuploadL10n.security_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:jQuery("#media-item-"+b.id).remove();break;default:wpFileError(b,swfuploadL10n.default_error)}}function cancelUpload(){swfu.cancelQueue()}jQuery(document).ready(function(a){a('input[type="radio"]',"#media-items").live("click",function(){var b=a(this).closest("tr");if(a(b).hasClass("align")){setUserSetting("align",a(this).val())}else{if(a(b).hasClass("image-size")){setUserSetting("imgsize",a(this).val())}}});a("button.button","#media-items").live("click",function(){var b=this.className||"";b=b.match(/url([^ '"]+)/);if(b&&b[1]){setUserSetting("urlbutton",b[1]);a(this).siblings(".urlfield").val(a(this).attr("title"))}})});
\ No newline at end of file
--- 1 ----
! var topWin=window.dialogArguments||opener||parent||top;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(a){jQuery(".media-blank").remove();if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".describe-toggle-on").show();jQuery(".describe-toggle-off").hide();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery("#media-items").append('<div id="media-item-'+a.id+'" class="media-item child-of-'+post_id+'"><div class="progress"><div class="bar"></div></div><div class="filename original"><span class="percent"></span> '+a.name+"</div></div>");jQuery(".progress","#media-item-"+a.id).show();jQuery("#insert-gallery").prop("disabled",true);jQuery("#cancel-upload").prop("disabled",false)}function uploadStart(a){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(b){}return true}function uploadProgress(e,b,d){var a=jQuery("#media-items").width()-2,c=jQuery("#media-item-"+e.id);jQuery(".bar",c).width(a*b/d);jQuery(".percent",c).html(Math.ceil(b/d*100)+"%");if(b==d){jQuery(".bar",c).html('<strong class="crunching">'+swfuploadL10n.crunching+"</strong>")}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);jQuery(".bar",b).remove();jQuery(".progress",b).hide();try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("class","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.toggle",a).click(function(){jQuery(this).siblings(".slidetoggle").slideToggle(350,function(){var d=jQuery(window).height(),e=jQuery(this).offset().top,f=jQuery(this).height(),c;if(d&&e&&f){c=e+f;if(c>d&&(f+48)<d){window.scrollBy(0,c-d+13)}else{if(c>d){window.scrollTo(0,e-36)}}}});jQuery(this).siblings(".toggle").andSelf().toggle();jQuery(this).siblings("a.toggle").focus();return false});jQuery("a.delete",a).click(function(){jQuery.ajax({url:ajaxurl,type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:ajaxurl,type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery("a.describe-toggle-on, .menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").slideToggle(500).siblings(".toggle").toggle()}function itemAjaxError(d,b){var c=jQuery("#media-item-"+d);var a=jQuery(".filename",c).text();c.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+b+"</div>");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+swfuploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function updateMediaForm(){var b=jQuery("form.type-form #media-items").children(),a=jQuery("#media-items").children();if(b.length==1){jQuery(".slidetoggle",b).slideDown(500).siblings().addClass("hidden").filter(".toggle").toggle()}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}if(a.length>1){jQuery(".insert-gallery").show()}else{jQuery(".insert-gallery").hide()}}function uploadSuccess(b,a){if(a.match("media-upload-error")){jQuery("#media-item-"+b.id).html(a);return}prepareMediaItem(b,a);updateMediaForm();if(jQuery("#media-item-"+b.id).hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function uploadComplete(a){if(swfu.getStats().files_queued==0){jQuery("#cancel-upload").prop("disabled",true);jQuery("#insert-gallery").prop("disabled",false)}}function wpQueueError(a){jQuery("#media-upload-error").show().text(a)}function wpFileError(d,c){var b=jQuery("#media-item-"+d.id);var a=jQuery(".filename",b).text();b.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+c+"</div>");b.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function fileQueueError(c,a,b){if(a==SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED){wpQueueError(swfuploadL10n.queue_limit_exceeded)}else{if(a==SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT){fileQueued(c);wpFileError(c,swfuploadL10n.file_exceeds_size_limit)}else{if(a==SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE){fileQueued(c);wpFileError(c,swfuploadL10n.zero_byte_file)}else{if(a==SWFUpload.QUEUE_ERROR.INVALID_FILETYPE){fileQueued(c);wpFileError(c,swfuploadL10n.invalid_filetype)}else{wpQueueError(swfuploadL10n.default_error)}}}}}function fileDialogComplete(b){try{if(b>0){this.startUpload()}}catch(a){this.debug(a)}}function switchUploader(b){var c=document.getElementById(swfu.customSettings.swfupload_element_id),a=document.getElementById(swfu.customSettings.degraded_element_id);if(b){c.style.display="block";a.style.display="none"}else{c.style.display="none";a.style.display="block"}}function swfuploadPreLoad(){if(!uploaderMode){switchUploader(1)}else{switchUploader(0)}}function swfuploadLoadFailed(){switchUploader(0);jQuery(".upload-html-bypass").hide()}function uploadError(b,c,a){switch(c){case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:wpFileError(b,swfuploadL10n.missing_upload_url);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:wpFileError(b,swfuploadL10n.upload_limit_exceeded);break;case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:wpQueueError(swfuploadL10n.http_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:wpQueueError(swfuploadL10n.upload_failed);break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:wpQueueError(swfuploadL10n.io_error);break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:wpQueueError(swfuploadL10n.security_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:jQuery("#media-item-"+b.id).remove();break;default:wpFileError(b,swfuploadL10n.default_error)}}function cancelUpload(){swfu.cancelQueue()}jQuery(document).ready(function(a){a('input[type="radio"]',"#media-items").live("click",function(){var b=a(this).closest("tr");if(a(b).hasClass("align")){setUserSetting("align",a(this).val())}else{if(a(b).hasClass("image-size")){setUserSetting("imgsize",a(this).val())}}});a("button.button","#media-items").live("click",function(){var b=this.className||"";b=b.match(/url([^ '"]+)/);if(b&&b[1]){setUserSetting("urlbutton",b[1]);a(this).siblings(".urlfield").val(a(this).attr("title"))}})});
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/langs/wp-langs-en.js ./wordpress-3.4/wp-includes/js/tinymce/langs/wp-langs-en.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/langs/wp-langs-en.js	2011-11-12 00:15:15.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/langs/wp-langs-en.js	2012-03-05 01:31:31.000000000 -0600
***************
*** 12,18 ****
  clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.",
  clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.",
  popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.",
! invalid_data:"Error: Invalid values entered, these are marked in red.",
  invalid_data_number:"{#field} must be a number",
  invalid_data_min:"{#field} must be a number greater than {#min}",
  invalid_data_size:"{#field} must be a number or percentage",
--- 12,18 ----
  clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.",
  clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.",
  popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.",
! invalid_data:"ERROR: Invalid values entered, these are marked in red.",
  invalid_data_number:"{#field} must be a number",
  invalid_data_min:"{#field} must be a number greater than {#min}",
  invalid_data_size:"{#field} must be a number or percentage",
***************
*** 240,247 ****
  samp:"Code sample",
  dt:"Definition term ",
  dd:"Definition description",
! bold_desc:"Bold (Ctrl / Alt + Shift + B)",
! italic_desc:"Italic (Ctrl / Alt + Shift + I)",
  underline_desc:"Underline",
  striketrough_desc:"Strikethrough (Alt + Shift + D)",
  justifyleft_desc:"Align Left (Alt + Shift + L)",
--- 240,247 ----
  samp:"Code sample",
  dt:"Definition term ",
  dd:"Definition description",
! bold_desc:"Bold (Ctrl + B)",
! italic_desc:"Italic (Ctrl + I)",
  underline_desc:"Underline",
  striketrough_desc:"Strikethrough (Alt + Shift + D)",
  justifyleft_desc:"Align Left (Alt + Shift + L)",
***************
*** 310,315 ****
--- 310,316 ----
  colorpicker_color:"Color:",
  colorpicker_name:"Name:",
  charmap_title:"Select custom character",
+ charmap_usage:"Use left and right arrows to navigate.",
  image_title:"Insert/edit image",
  image_src:"Image URL",
  image_alt:"Image description",
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/langs/wp-langs.php ./wordpress-3.4/wp-includes/js/tinymce/langs/wp-langs.php
*** ./wordpress-3.3.2/wp-includes/js/tinymce/langs/wp-langs.php	2011-11-23 13:06:52.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/langs/wp-langs.php	2012-04-25 16:40:20.000000000 -0500
***************
*** 1,512 ****
  <?php
  
  function mce_escape($text) {
  	return esc_js($text);
  }
  
! if ( ! class_exists( '_WP_Editors' ) )
! 	require( ABSPATH . WPINC . '/class-wp-editor.php' );
  
! $lang = 'tinyMCE.addI18n({' . _WP_Editors::$mce_locale . ':{
! common:{
! edit_confirm:"' . mce_escape( __('Do you want to use the WYSIWYG mode for this textarea?') ) . '",
! apply:"' . mce_escape( __('Apply') ) . '",
! insert:"' . mce_escape( __('Insert') ) . '",
! update:"' . mce_escape( __('Update') ) . '",
! cancel:"' . mce_escape( __('Cancel') ) . '",
! close:"' . mce_escape( __('Close') ) . '",
! browse:"' . mce_escape( __('Browse') ) . '",
! class_name:"' . mce_escape( __('Class') ) . '",
! not_set:"' . mce_escape( __('-- Not set --') ) . '",
! clipboard_msg:"' . mce_escape( __('Copy/Cut/Paste is not available in Mozilla and Firefox.') ) . '",
! clipboard_no_support:"' . mce_escape( __('Currently not supported by your browser, use keyboard shortcuts instead.') ) . '",
! popup_blocked:"' . mce_escape( __('Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.') ) . '",
! invalid_data:"' . mce_escape( __('ERROR: Invalid values entered, these are marked in red.') ) . '",
! invalid_data_number:"' . mce_escape( __('{#field} must be a number') ) . '",
! invalid_data_min:"' . mce_escape( __('{#field} must be a number greater than {#min}') ) . '",
! invalid_data_size:"' . mce_escape( __('{#field} must be a number or percentage') ) . '",
! more_colors:"' . mce_escape( __('More colors') ) . '"
! },
! colors:{
! "000000":"' . mce_escape( __('Black') ) . '",
! "993300":"' . mce_escape( __('Burnt orange') ) . '",
! "333300":"' . mce_escape( __('Dark olive') ) . '",
! "003300":"' . mce_escape( __('Dark green') ) . '",
! "003366":"' . mce_escape( __('Dark azure') ) . '",
! "000080":"' . mce_escape( __('Navy Blue') ) . '",
! "333399":"' . mce_escape( __('Indigo') ) . '",
! "333333":"' . mce_escape( __('Very dark gray') ) . '",
! "800000":"' . mce_escape( __('Maroon') ) . '",
! "FF6600":"' . mce_escape( __('Orange') ) . '",
! "808000":"' . mce_escape( __('Olive') ) . '",
! "008000":"' . mce_escape( __('Green') ) . '",
! "008080":"' . mce_escape( __('Teal') ) . '",
! "0000FF":"' . mce_escape( __('Blue') ) . '",
! "666699":"' . mce_escape( __('Grayish blue') ) . '",
! "808080":"' . mce_escape( __('Gray') ) . '",
! "FF0000":"' . mce_escape( __('Red') ) . '",
! "FF9900":"' . mce_escape( __('Amber') ) . '",
! "99CC00":"' . mce_escape( __('Yellow green') ) . '",
! "339966":"' . mce_escape( __('Sea green') ) . '",
! "33CCCC":"' . mce_escape( __('Turquoise') ) . '",
! "3366FF":"' . mce_escape( __('Royal blue') ) . '",
! "800080":"' . mce_escape( __('Purple') ) . '",
! "999999":"' . mce_escape( __('Medium gray') ) . '",
! "FF00FF":"' . mce_escape( __('Magenta') ) . '",
! "FFCC00":"' . mce_escape( __('Gold') ) . '",
! "FFFF00":"' . mce_escape( __('Yellow') ) . '",
! "00FF00":"' . mce_escape( __('Lime') ) . '",
! "00FFFF":"' . mce_escape( __('Aqua') ) . '",
! "00CCFF":"' . mce_escape( __('Sky blue') ) . '",
! "993366":"' . mce_escape( __('Brown') ) . '",
! "C0C0C0":"' . mce_escape( __('Silver') ) . '",
! "FF99CC":"' . mce_escape( __('Pink') ) . '",
! "FFCC99":"' . mce_escape( __('Peach') ) . '",
! "FFFF99":"' . mce_escape( __('Light yellow') ) . '",
! "CCFFCC":"' . mce_escape( __('Pale green') ) . '",
! "CCFFFF":"' . mce_escape( __('Pale cyan') ) . '",
! "99CCFF":"' . mce_escape( __('Light sky blue') ) . '",
! "CC99FF":"' . mce_escape( __('Plum') ) . '",
! "FFFFFF":"' . mce_escape( __('White') ) . '"
! },
! contextmenu:{
! align:"' . mce_escape( /* translators: alignment */ __('Alignment') ) . '",
! left:"' . mce_escape( /* translators: alignment */ __('Left') ) . '",
! center:"' . mce_escape( /* translators: alignment */ __('Center') ) . '",
! right:"' . mce_escape( /* translators: alignment */ __('Right') ) . '",
! full:"' . mce_escape( /* translators: alignment */ __('Full') ) . '"
! },
! insertdatetime:{
! date_fmt:"' . mce_escape( /* translators: year, month, date */ __('%Y-%m-%d') ) . '",
! time_fmt:"' . mce_escape( /* translators: hours, minutes, seconds */ __('%H:%M:%S') ) . '",
! insertdate_desc:"' . mce_escape( __('Insert date') ) . '",
! inserttime_desc:"' . mce_escape( __('Insert time') ) . '",
! months_long:"' . mce_escape( __('January').','.__('February').','.__('March').','.__('April').','.__('May').','.__('June').','.__('July').','.__('August').','.__('September').','.__('October').','.__('November').','.__('December') ) . '",
! months_short:"' . mce_escape( __('Jan_January_abbreviation').','.__('Feb_February_abbreviation').','.__('Mar_March_abbreviation').','.__('Apr_April_abbreviation').','.__('May_May_abbreviation').','.__('Jun_June_abbreviation').','.__('Jul_July_abbreviation').','.__('Aug_August_abbreviation').','.__('Sep_September_abbreviation').','.__('Oct_October_abbreviation').','.__('Nov_November_abbreviation').','.__('Dec_December_abbreviation') ) . '",
! day_long:"' . mce_escape( __('Sunday').','.__('Monday').','.__('Tuesday').','.__('Wednesday').','.__('Thursday').','.__('Friday').','.__('Saturday') ) . '",
! day_short:"' . mce_escape( __('Sun').','.__('Mon').','.__('Tue').','.__('Wed').','.__('Thu').','.__('Fri').','.__('Sat') ) . '"
! },
! print:{
! print_desc:"' . mce_escape( __('Print') ) . '"
! },
! preview:{
! preview_desc:"' . mce_escape( __('Preview') ) . '"
! },
! directionality:{
! ltr_desc:"' . mce_escape( __('Direction left to right') ) . '",
! rtl_desc:"' . mce_escape( __('Direction right to left') ) . '"
! },
! layer:{
! insertlayer_desc:"' . mce_escape( __('Insert new layer') ) . '",
! forward_desc:"' . mce_escape( __('Move forward') ) . '",
! backward_desc:"' . mce_escape( __('Move backward') ) . '",
! absolute_desc:"' . mce_escape( __('Toggle absolute positioning') ) . '",
! content:"' . mce_escape( __('New layer...') ) . '"
! },
! save:{
! save_desc:"' . mce_escape( __('Save') ) . '",
! cancel_desc:"' . mce_escape( __('Cancel all changes') ) . '"
! },
! nonbreaking:{
! nonbreaking_desc:"' . mce_escape( __('Insert non-breaking space character') ) . '"
! },
! iespell:{
! iespell_desc:"' . mce_escape( __('Run spell checking') ) . '",
! download:"' . mce_escape( __('ieSpell not detected. Do you want to install it now?') ) . '"
! },
! advhr:{
! advhr_desc:"' . mce_escape( __('Horizontale rule') ) . '"
! },
! emotions:{
! emotions_desc:"' . mce_escape( __('Emotions') ) . '"
! },
! searchreplace:{
! search_desc:"' . mce_escape( __('Find') ) . '",
! replace_desc:"' . mce_escape( __('Find/Replace') ) . '"
! },
! advimage:{
! image_desc:"' . mce_escape( __('Insert/edit image') ) . '"
! },
! advlink:{
! link_desc:"' . mce_escape( __('Insert/edit link') ) . '"
! },
! xhtmlxtras:{
! cite_desc:"' . mce_escape( __('Citation') ) . '",
! abbr_desc:"' . mce_escape( __('Abbreviation') ) . '",
! acronym_desc:"' . mce_escape( __('Acronym') ) . '",
! del_desc:"' . mce_escape( __('Deletion') ) . '",
! ins_desc:"' . mce_escape( __('Insertion') ) . '",
! attribs_desc:"' . mce_escape( __('Insert/Edit Attributes') ) . '"
! },
! style:{
! desc:"' . mce_escape( __('Edit CSS Style') ) . '"
! },
! paste:{
! paste_text_desc:"' . mce_escape( __('Paste as Plain Text') ) . '",
! paste_word_desc:"' . mce_escape( __('Paste from Word') ) . '",
! selectall_desc:"' . mce_escape( __('Select All') ) . '",
! plaintext_mode_sticky:"' . mce_escape( __('Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.') ) . '",
! plaintext_mode:"' . mce_escape( __('Paste is now in plain text mode. Click again to toggle back to regular paste mode.') ) . '"
! },
! paste_dlg:{
! text_title:"' . mce_escape( __('Use CTRL+V on your keyboard to paste the text into the window.') ) . '",
! text_linebreaks:"' . mce_escape( __('Keep linebreaks') ) . '",
! word_title:"' . mce_escape( __('Use CTRL+V on your keyboard to paste the text into the window.') ) . '"
! },
! table:{
! desc:"' . mce_escape( __('Inserts a new table') ) . '",
! row_before_desc:"' . mce_escape( __('Insert row before') ) . '",
! row_after_desc:"' . mce_escape( __('Insert row after') ) . '",
! delete_row_desc:"' . mce_escape( __('Delete row') ) . '",
! col_before_desc:"' . mce_escape( __('Insert column before') ) . '",
! col_after_desc:"' . mce_escape( __('Insert column after') ) . '",
! delete_col_desc:"' . mce_escape( __('Remove column') ) . '",
! split_cells_desc:"' . mce_escape( __('Split merged table cells') ) . '",
! merge_cells_desc:"' . mce_escape( __('Merge table cells') ) . '",
! row_desc:"' . mce_escape( __('Table row properties') ) . '",
! cell_desc:"' . mce_escape( __('Table cell properties') ) . '",
! props_desc:"' . mce_escape( __('Table properties') ) . '",
! paste_row_before_desc:"' . mce_escape( __('Paste table row before') ) . '",
! paste_row_after_desc:"' . mce_escape( __('Paste table row after') ) . '",
! cut_row_desc:"' . mce_escape( __('Cut table row') ) . '",
! copy_row_desc:"' . mce_escape( __('Copy table row') ) . '",
! del:"' . mce_escape( __('Delete table') ) . '",
! row:"' . mce_escape( __('Row') ) . '",
! col:"' . mce_escape( __('Column') ) . '",
! cell:"' . mce_escape( __('Cell') ) . '"
! },
! autosave:{
! unload_msg:"' . mce_escape( __('The changes you made will be lost if you navigate away from this page.') ) . '"
! },
! fullscreen:{
! desc:"' . mce_escape( __('Toggle fullscreen mode (Alt + Shift + G)') ) . '"
! },
! media:{
! desc:"' . mce_escape( __('Insert / edit embedded media') ) . '",
! edit:"' . mce_escape( __('Edit embedded media') ) . '"
! },
! fullpage:{
! desc:"' . mce_escape( __('Document properties') ) . '"
! },
! template:{
! desc:"' . mce_escape( __('Insert predefined template content') ) . '"
! },
! visualchars:{
! desc:"' . mce_escape( __('Visual control characters on/off.') ) . '"
! },
! spellchecker:{
! desc:"' . mce_escape( __('Toggle spellchecker (Alt + Shift + N)') ) . '",
! menu:"' . mce_escape( __('Spellchecker settings') ) . '",
! ignore_word:"' . mce_escape( __('Ignore word') ) . '",
! ignore_words:"' . mce_escape( __('Ignore all') ) . '",
! langs:"' . mce_escape( __('Languages') ) . '",
! wait:"' . mce_escape( __('Please wait...') ) . '",
! sug:"' . mce_escape( __('Suggestions') ) . '",
! no_sug:"' . mce_escape( __('No suggestions') ) . '",
! no_mpell:"' . mce_escape( __('No misspellings found.') ) . '",
! learn_word:"' . mce_escape( __('Learn word') ) . '" 
! },
! pagebreak:{
! desc:"' . mce_escape( __('Insert Page Break') ) . '"
! },
! advlist:{
! types:"' . mce_escape( __('Types') ) . '",
! def:"' . mce_escape( __('Default') ) . '",
! lower_alpha:"' . mce_escape( __('Lower alpha') ) . '",
! lower_greek:"' . mce_escape( __('Lower greek') ) . '",
! lower_roman:"' . mce_escape( __('Lower roman') ) . '",
! upper_alpha:"' . mce_escape( __('Upper alpha') ) . '",
! upper_roman:"' . mce_escape( __('Upper roman') ) . '",
! circle:"' . mce_escape( __('Circle') ) . '",
! disc:"' . mce_escape( __('Disc') ) . '",
! square:"' . mce_escape( __('Square') ) . '"
! },
! aria:{
! rich_text_area:"' . mce_escape( __('Rich Text Area') ) . '"
! },
! wordcount:{
! words:"' . mce_escape( __('Words:') ) . ' "
  }
- }});
  
! tinyMCE.addI18n("' . _WP_Editors::$mce_locale . '.advanced",{
! style_select:"' . mce_escape( /* translators: TinyMCE font styles */ _x('Styles', 'TinyMCE font styles') ) . '",
! font_size:"' . mce_escape( __('Font size') ) . '",
! fontdefault:"' . mce_escape( __('Font family') ) . '",
! block:"' . mce_escape( __('Format') ) . '",
! paragraph:"' . mce_escape( __('Paragraph') ) . '",
! div:"' . mce_escape( __('Div') ) . '",
! address:"' . mce_escape( __('Address') ) . '",
! pre:"' . mce_escape( __('Preformatted') ) . '",
! h1:"' . mce_escape( __('Heading 1') ) . '",
! h2:"' . mce_escape( __('Heading 2') ) . '",
! h3:"' . mce_escape( __('Heading 3') ) . '",
! h4:"' . mce_escape( __('Heading 4') ) . '",
! h5:"' . mce_escape( __('Heading 5') ) . '",
! h6:"' . mce_escape( __('Heading 6') ) . '",
! blockquote:"' . mce_escape( __('Blockquote') ) . '",
! code:"' . mce_escape( __('Code') ) . '",
! samp:"' . mce_escape( __('Code sample') ) . '",
! dt:"' . mce_escape( __('Definition term ') ) . '",
! dd:"' . mce_escape( __('Definition description') ) . '",
! bold_desc:"' . mce_escape( __('Bold (Ctrl + B)') ) . '",
! italic_desc:"' . mce_escape( __('Italic (Ctrl + I)') ) . '",
! underline_desc:"' . mce_escape( __('Underline') ) . '",
! striketrough_desc:"' . mce_escape( __('Strikethrough (Alt + Shift + D)') ) . '",
! justifyleft_desc:"' . mce_escape( __('Align Left (Alt + Shift + L)') ) . '",
! justifycenter_desc:"' . mce_escape( __('Align Center (Alt + Shift + C)') ) . '",
! justifyright_desc:"' . mce_escape( __('Align Right (Alt + Shift + R)') ) . '",
! justifyfull_desc:"' . mce_escape( __('Align Full (Alt + Shift + J)') ) . '",
! bullist_desc:"' . mce_escape( __('Unordered list (Alt + Shift + U)') ) . '",
! numlist_desc:"' . mce_escape( __('Ordered list (Alt + Shift + O)') ) . '",
! outdent_desc:"' . mce_escape( __('Outdent') ) . '",
! indent_desc:"' . mce_escape( __('Indent') ) . '",
! undo_desc:"' . mce_escape( __('Undo (Ctrl + Z)') ) . '",
! redo_desc:"' . mce_escape( __('Redo (Ctrl + Y)') ) . '",
! link_desc:"' . mce_escape( __('Insert/edit link (Alt + Shift + A)') ) . '",
! unlink_desc:"' . mce_escape( __('Unlink (Alt + Shift + S)') ) . '",
! image_desc:"' . mce_escape( __('Insert/edit image (Alt + Shift + M)') ) . '",
! cleanup_desc:"' . mce_escape( __('Cleanup messy code') ) . '",
! code_desc:"' . mce_escape( __('Edit HTML Source') ) . '",
! sub_desc:"' . mce_escape( __('Subscript') ) . '",
! sup_desc:"' . mce_escape( __('Superscript') ) . '",
! hr_desc:"' . mce_escape( __('Insert horizontal ruler') ) . '",
! removeformat_desc:"' . mce_escape( __('Remove formatting') ) . '",
! forecolor_desc:"' . mce_escape( __('Select text color') ) . '",
! backcolor_desc:"' . mce_escape( __('Select background color') ) . '",
! charmap_desc:"' . mce_escape( __('Insert custom character') ) . '",
! visualaid_desc:"' . mce_escape( __('Toggle guidelines/invisible elements') ) . '",
! anchor_desc:"' . mce_escape( __('Insert/edit anchor') ) . '",
! cut_desc:"' . mce_escape( __('Cut') ) . '",
! copy_desc:"' . mce_escape( __('Copy') ) . '",
! paste_desc:"' . mce_escape( __('Paste') ) . '",
! image_props_desc:"' . mce_escape( __('Image properties') ) . '",
! newdocument_desc:"' . mce_escape( __('New document') ) . '",
! help_desc:"' . mce_escape( __('Help') ) . '",
! blockquote_desc:"' . mce_escape( __('Blockquote (Alt + Shift + Q)') ) . '",
! clipboard_msg:"' . mce_escape( __('Copy/Cut/Paste is not available in Mozilla and Firefox.') ) . '",
! path:"' . mce_escape( __('Path') ) . '",
! newdocument:"' . mce_escape( __('Are you sure you want to clear all contents?') ) . '",
! toolbar_focus:"' . mce_escape( __('Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X') ) . '",
! more_colors:"' . mce_escape( __('More colors') ) . '",
! shortcuts_desc:"' . mce_escape( __('Accessibility Help') ) . '",
! help_shortcut:" ' . mce_escape( __('Press ALT F10 for toolbar. Press ALT 0 for help.') ) . '",
! rich_text_area:"' . mce_escape( __('Rich Text Area') ) . '",
! toolbar:"' . mce_escape( __('Toolbar') ) . '"
! });
! 
! tinyMCE.addI18n("' . _WP_Editors::$mce_locale . '.advanced_dlg",{
! about_title:"' . mce_escape( __('About TinyMCE') ) . '",
! about_general:"' . mce_escape( __('About') ) . '",
! about_help:"' . mce_escape( __('Help') ) . '",
! about_license:"' . mce_escape( __('License') ) . '",
! about_plugins:"' . mce_escape( __('Plugins') ) . '",
! about_plugin:"' . mce_escape( __('Plugin') ) . '",
! about_author:"' . mce_escape( __('Author') ) . '",
! about_version:"' . mce_escape( __('Version') ) . '",
! about_loaded:"' . mce_escape( __('Loaded plugins') ) . '",
! anchor_title:"' . mce_escape( __('Insert/edit anchor') ) . '",
! anchor_name:"' . mce_escape( __('Anchor name') ) . '",
! code_title:"' . mce_escape( __('HTML Source Editor') ) . '",
! code_wordwrap:"' . mce_escape( __('Word wrap') ) . '",
! colorpicker_title:"' . mce_escape( __('Select a color') ) . '",
! colorpicker_picker_tab:"' . mce_escape( __('Picker') ) . '",
! colorpicker_picker_title:"' . mce_escape( __('Color picker') ) . '",
! colorpicker_palette_tab:"' . mce_escape( __('Palette') ) . '",
! colorpicker_palette_title:"' . mce_escape( __('Palette colors') ) . '",
! colorpicker_named_tab:"' . mce_escape( __('Named') ) . '",
! colorpicker_named_title:"' . mce_escape( __('Named colors') ) . '",
! colorpicker_color:"' . mce_escape( __('Color:') ) . '",
! colorpicker_name:"' . mce_escape( _x('Name:', 'html attribute') ) . '",
! charmap_title:"' . mce_escape( __('Select custom character') ) . '",
! image_title:"' . mce_escape( __('Insert/edit image') ) . '",
! image_src:"' . mce_escape( __('Image URL') ) . '",
! image_alt:"' . mce_escape( __('Image description') ) . '",
! image_list:"' . mce_escape( __('Image list') ) . '",
! image_border:"' . mce_escape( __('Border') ) . '",
! image_dimensions:"' . mce_escape( __('Dimensions') ) . '",
! image_vspace:"' . mce_escape( __('Vertical space') ) . '",
! image_hspace:"' . mce_escape( __('Horizontal space') ) . '",
! image_align:"' . mce_escape( __('Alignment') ) . '",
! image_align_baseline:"' . mce_escape( __('Baseline') ) . '",
! image_align_top:"' . mce_escape( __('Top') ) . '",
! image_align_middle:"' . mce_escape( __('Middle') ) . '",
! image_align_bottom:"' . mce_escape( __('Bottom') ) . '",
! image_align_texttop:"' . mce_escape( __('Text top') ) . '",
! image_align_textbottom:"' . mce_escape( __('Text bottom') ) . '",
! image_align_left:"' . mce_escape( __('Left') ) . '",
! image_align_right:"' . mce_escape( __('Right') ) . '",
! link_title:"' . mce_escape( __('Insert/edit link') ) . '",
! link_url:"' . mce_escape( __('Link URL') ) . '",
! link_target:"' . mce_escape( __('Target') ) . '",
! link_target_same:"' . mce_escape( __('Open link in the same window') ) . '",
! link_target_blank:"' . mce_escape( __('Open link in a new window') ) . '",
! link_titlefield:"' . mce_escape( __('Title') ) . '",
! link_is_email:"' . mce_escape( __('The URL you entered seems to be an email address, do you want to add the required mailto: prefix?') ) . '",
! link_is_external:"' . mce_escape( __('The URL you entered seems to external link, do you want to add the required http:// prefix?') ) . '",
! link_list:"' . mce_escape( __('Link list') ) . '",
! accessibility_help:"' . mce_escape( __('Accessibility Help') ) . '",
! accessibility_usage_title:"' . mce_escape( __('General Usage') ) . '"
! });
! 
! tinyMCE.addI18n("' . _WP_Editors::$mce_locale . '.media_dlg",{
! title:"' . mce_escape( __('Insert / edit embedded media') ) . '",
! general:"' . mce_escape( __('General') ) . '",
! advanced:"' . mce_escape( __('Advanced') ) . '",
! file:"' . mce_escape( __('File/URL') ) . '",
! list:"' . mce_escape( __('List') ) . '",
! size:"' . mce_escape( __('Dimensions') ) . '",
! preview:"' . mce_escape( __('Preview') ) . '",
! constrain_proportions:"' . mce_escape( __('Constrain proportions') ) . '",
! type:"' . mce_escape( __('Type') ) . '",
! id:"' . mce_escape( __('Id') ) . '",
! name:"' . mce_escape( _x('Name', 'html attribute') ) . '",
! class_name:"' . mce_escape( __('Class') ) . '",
! vspace:"' . mce_escape( __('V-Space') ) . '",
! hspace:"' . mce_escape( __('H-Space') ) . '",
! play:"' . mce_escape( __('Auto play') ) . '",
! loop:"' . mce_escape( __('Loop') ) . '",
! menu:"' . mce_escape( __('Show menu') ) . '",
! quality:"' . mce_escape( __('Quality') ) . '",
! scale:"' . mce_escape( __('Scale') ) . '",
! align:"' . mce_escape( __('Align') ) . '",
! salign:"' . mce_escape( __('SAlign') ) . '",
! wmode:"' . mce_escape( __('WMode') ) . '",
! bgcolor:"' . mce_escape( __('Background') ) . '",
! base:"' . mce_escape( __('Base') ) . '",
! flashvars:"' . mce_escape( __('Flashvars') ) . '",
! liveconnect:"' . mce_escape( __('SWLiveConnect') ) . '",
! autohref:"' . mce_escape( __('AutoHREF') ) . '",
! cache:"' . mce_escape( __('Cache') ) . '",
! hidden:"' . mce_escape( __('Hidden') ) . '",
! controller:"' . mce_escape( __('Controller') ) . '",
! kioskmode:"' . mce_escape( __('Kiosk mode') ) . '",
! playeveryframe:"' . mce_escape( __('Play every frame') ) . '",
! targetcache:"' . mce_escape( __('Target cache') ) . '",
! correction:"' . mce_escape( __('No correction') ) . '",
! enablejavascript:"' . mce_escape( __('Enable JavaScript') ) . '",
! starttime:"' . mce_escape( __('Start time') ) . '",
! endtime:"' . mce_escape( __('End time') ) . '",
! href:"' . mce_escape( __('href') ) . '",
! qtsrcchokespeed:"' . mce_escape( __('Choke speed') ) . '",
! target:"' . mce_escape( __('Target') ) . '",
! volume:"' . mce_escape( __('Volume') ) . '",
! autostart:"' . mce_escape( __('Auto start') ) . '",
! enabled:"' . mce_escape( __('Enabled') ) . '",
! fullscreen:"' . mce_escape( __('Fullscreen') ) . '",
! invokeurls:"' . mce_escape( __('Invoke URLs') ) . '",
! mute:"' . mce_escape( __('Mute') ) . '",
! stretchtofit:"' . mce_escape( __('Stretch to fit') ) . '",
! windowlessvideo:"' . mce_escape( __('Windowless video') ) . '",
! balance:"' . mce_escape( __('Balance') ) . '",
! baseurl:"' . mce_escape( __('Base URL') ) . '",
! captioningid:"' . mce_escape( __('Captioning id') ) . '",
! currentmarker:"' . mce_escape( __('Current marker') ) . '",
! currentposition:"' . mce_escape( __('Current position') ) . '",
! defaultframe:"' . mce_escape( __('Default frame') ) . '",
! playcount:"' . mce_escape( __('Play count') ) . '",
! rate:"' . mce_escape( __('Rate') ) . '",
! uimode:"' . mce_escape( __('UI Mode') ) . '",
! flash_options:"' . mce_escape( __('Flash options') ) . '",
! qt_options:"' . mce_escape( __('Quicktime options') ) . '",
! wmp_options:"' . mce_escape( __('Windows media player options') ) . '",
! rmp_options:"' . mce_escape( __('Real media player options') ) . '",
! shockwave_options:"' . mce_escape( __('Shockwave options') ) . '",
! autogotourl:"' . mce_escape( __('Auto goto URL') ) . '",
! center:"' . mce_escape( __('Center') ) . '",
! imagestatus:"' . mce_escape( __('Image status') ) . '",
! maintainaspect:"' . mce_escape( __('Maintain aspect') ) . '",
! nojava:"' . mce_escape( __('No java') ) . '",
! prefetch:"' . mce_escape( __('Prefetch') ) . '",
! shuffle:"' . mce_escape( __('Shuffle') ) . '",
! console:"' . mce_escape( __('Console') ) . '",
! numloop:"' . mce_escape( __('Num loops') ) . '",
! controls:"' . mce_escape( __('Controls') ) . '",
! scriptcallbacks:"' . mce_escape( __('Script callbacks') ) . '",
! swstretchstyle:"' . mce_escape( __('Stretch style') ) . '",
! swstretchhalign:"' . mce_escape( __('Stretch H-Align') ) . '",
! swstretchvalign:"' . mce_escape( __('Stretch V-Align') ) . '",
! sound:"' . mce_escape( __('Sound') ) . '",
! progress:"' . mce_escape( __('Progress') ) . '",
! qtsrc:"' . mce_escape( __('QT Src') ) . '",
! qt_stream_warn:"' . mce_escape( __('Streamed rtsp resources should be added to the QT Src field under the advanced tab.') ) . '",
! align_top:"' . mce_escape( __('Top') ) . '",
! align_right:"' . mce_escape( __('Right') ) . '",
! align_bottom:"' . mce_escape( __('Bottom') ) . '",
! align_left:"' . mce_escape( __('Left') ) . '",
! align_center:"' . mce_escape( __('Center') ) . '",
! align_top_left:"' . mce_escape( __('Top left') ) . '",
! align_top_right:"' . mce_escape( __('Top right') ) . '",
! align_bottom_left:"' . mce_escape( __('Bottom left') ) . '",
! align_bottom_right:"' . mce_escape( __('Bottom right') ) . '",
! flv_options:"' . mce_escape( __('Flash video options') ) . '",
! flv_scalemode:"' . mce_escape( __('Scale mode') ) . '",
! flv_buffer:"' . mce_escape( __('Buffer') ) . '",
! flv_startimage:"' . mce_escape( __('Start image') ) . '",
! flv_starttime:"' . mce_escape( __('Start time') ) . '",
! flv_defaultvolume:"' . mce_escape( __('Default volume') ) . '",
! flv_hiddengui:"' . mce_escape( __('Hidden GUI') ) . '",
! flv_autostart:"' . mce_escape( __('Auto start') ) . '",
! flv_loop:"' . mce_escape( __('Loop') ) . '",
! flv_showscalemodes:"' . mce_escape( __('Show scale modes') ) . '",
! flv_smoothvideo:"' . mce_escape( __('Smooth video') ) . '",
! flv_jscallback:"' . mce_escape( __('JS Callback') ) . '",
! html5_video_options:"' . mce_escape( __('HTML5 Video Options') ) . '",
! altsource1:"' . mce_escape( __('Alternative source 1') ) . '",
! altsource2:"' . mce_escape( __('Alternative source 2') ) . '",
! preload:"' . mce_escape( __('Preload') ) . '",
! poster:"' . mce_escape( __('Poster') ) . '",
! source:"' . mce_escape( __('Source') ) . '"
! });
! 
! tinyMCE.addI18n("' . _WP_Editors::$mce_locale . '.wordpress",{
! wp_adv_desc:"' . mce_escape( __('Show/Hide Kitchen Sink (Alt + Shift + Z)') )  . '",
! wp_more_desc:"' . mce_escape( __('Insert More Tag (Alt + Shift + T)') ) . '",
! wp_page_desc:"' . mce_escape( __('Insert Page break (Alt + Shift + P)') ) . '",
! wp_help_desc:"' . mce_escape( __('Help (Alt + Shift + H)') ) . '",
! wp_more_alt:"' . mce_escape( __('More...') ) . '",
! wp_page_alt:"' . mce_escape( __('Next page...') ) . '",
! add_media:"' . mce_escape( __('Add Media') ) . '",
! add_image:"' . mce_escape( __('Add an Image') ) . '",
! add_video:"' . mce_escape( __('Add Video') ) . '",
! add_audio:"' . mce_escape( __('Add Audio') ) . '",
! editgallery:"' . mce_escape( __('Edit Gallery') ) . '",
! delgallery:"' . mce_escape( __('Delete Gallery') ) . '"
! });
! 
! tinyMCE.addI18n("' . _WP_Editors::$mce_locale . '.wpeditimage",{
! edit_img:"' . mce_escape( __('Edit Image') )  . '",
! del_img:"' . mce_escape( __('Delete Image') )  . '",
! adv_settings:"' . mce_escape( __('Advanced Settings') )  . '",
! none:"' . mce_escape( __('None') )  . '",
! size:"' . mce_escape( __('Size') ) . '",
! thumbnail:"' . mce_escape( __('Thumbnail') ) . '",
! medium:"' . mce_escape( __('Medium') ) . '",
! full_size:"' . mce_escape( __('Full Size') ) . '",
! current_link:"' . mce_escape( __('Current Link') ) . '",
! link_to_img:"' . mce_escape( __('Link to Image') ) . '",
! link_help:"' . mce_escape( __('Enter a link URL or click above for presets.') ) . '",
! adv_img_settings:"' . mce_escape( __('Advanced Image Settings') ) . '",
! source:"' . mce_escape( __('Source') )  . '",
! width:"' . mce_escape( __('Width') ) . '",
! height:"' . mce_escape( __('Height') ) . '",
! orig_size:"' . mce_escape( __('Original Size') ) . '",
! css:"' . mce_escape( __('CSS Class') ) . '",
! adv_link_settings:"' . mce_escape( __('Advanced Link Settings') )  . '",
! link_rel:"' . mce_escape( __('Link Rel') ) . '",
! height:"' . mce_escape( __('Height') ) . '",
! orig_size:"' . mce_escape( __('Original Size') ) . '",
! css:"' . mce_escape( __('CSS Class') ) . '",
! s60:"' . mce_escape( __('60%') ) . '",
! s70:"' . mce_escape( __('70%') ) . '",
! s80:"' . mce_escape( __('80%') ) . '",
! s90:"' . mce_escape( __('90%') ) . '",
! s100:"' . mce_escape( __('100%') ) . '",
! s110:"' . mce_escape( __('110%') ) . '",
! s120:"' . mce_escape( __('120%') ) . '",
! s130:"' . mce_escape( __('130%') ) . '",
! img_title:"' . mce_escape( __('Title') ) . '",
! caption:"' . mce_escape( __('Caption') ) . '",
! alt:"' . mce_escape( __('Alternate Text') ) . '"
! });
! ';
--- 1,561 ----
  <?php
  
+ if ( ! defined( 'ABSPATH' ) )
+ 	exit;
+ 
+ // deprecated, not used
  function mce_escape($text) {
  	return esc_js($text);
  }
  
! function wp_mce_translation() {
! 
! 	$default = array(
! 		'common' => array(
! 			'edit_confirm' => __('Do you want to use the WYSIWYG mode for this textarea?'),
! 			'apply' => __('Apply'),
! 			'insert' => __('Insert'),
! 			'update' => __('Update'),
! 			'cancel' => __('Cancel'),
! 			'close' => __('Close'),
! 			'browse' => __('Browse'),
! 			'class_name' => __('Class'),
! 			'not_set' => __('-- Not set --'),
! 			'clipboard_msg' => __('Copy/Cut/Paste is not available in Mozilla and Firefox.'),
! 			'clipboard_no_support' => __('Currently not supported by your browser, use keyboard shortcuts instead.'),
! 			'popup_blocked' => __('Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'),
! 			'invalid_data' => __('ERROR: Invalid values entered, these are marked in red.'),
! 			'invalid_data_number' => __('{#field} must be a number'),
! 			'invalid_data_min' => __('{#field} must be a number greater than {#min}'),
! 			'invalid_data_size' => __('{#field} must be a number or percentage'),
! 			'more_colors' => __('More colors')
! 		),
! 
! 		'colors' => array(
! 			'000000' => __('Black'),
! 			'993300' => __('Burnt orange'),
! 			'333300' => __('Dark olive'),
! 			'003300' => __('Dark green'),
! 			'003366' => __('Dark azure'),
! 			'000080' => __('Navy Blue'),
! 			'333399' => __('Indigo'),
! 			'333333' => __('Very dark gray'),
! 			'800000' => __('Maroon'),
! 			'FF6600' => __('Orange'),
! 			'808000' => __('Olive'),
! 			'008000' => __('Green'),
! 			'008080' => __('Teal'),
! 			'0000FF' => __('Blue'),
! 			'666699' => __('Grayish blue'),
! 			'808080' => __('Gray'),
! 			'FF0000' => __('Red'),
! 			'FF9900' => __('Amber'),
! 			'99CC00' => __('Yellow green'),
! 			'339966' => __('Sea green'),
! 			'33CCCC' => __('Turquoise'),
! 			'3366FF' => __('Royal blue'),
! 			'800080' => __('Purple'),
! 			'999999' => __('Medium gray'),
! 			'FF00FF' => __('Magenta'),
! 			'FFCC00' => __('Gold'),
! 			'FFFF00' => __('Yellow'),
! 			'00FF00' => __('Lime'),
! 			'00FFFF' => __('Aqua'),
! 			'00CCFF' => __('Sky blue'),
! 			'993366' => __('Brown'),
! 			'C0C0C0' => __('Silver'),
! 			'FF99CC' => __('Pink'),
! 			'FFCC99' => __('Peach'),
! 			'FFFF99' => __('Light yellow'),
! 			'CCFFCC' => __('Pale green'),
! 			'CCFFFF' => __('Pale cyan'),
! 			'99CCFF' => __('Light sky blue'),
! 			'CC99FF' => __('Plum'),
! 			'FFFFFF' => __('White')
! 		),
! 
! 		'contextmenu' => array(
! 			'align' => __('Alignment'), /* translators: alignment */
! 			'left' => __('Left'), /* translators: alignment */
! 			'center' => __('Center'), /* translators: alignment */
! 			'right' => __('Right'), /* translators: alignment */
! 			'full' => __('Full') /* translators: alignment */
! 		),
! 
! 		'insertdatetime' => array(
! 			'date_fmt' => __('%Y-%m-%d'), /* translators: year, month, date */
! 			'time_fmt' => __('%H:%M:%S'), /* translators: hours, minutes, seconds */
! 			'insertdate_desc' => __('Insert date'),
! 			'inserttime_desc' => __('Insert time'),
! 			'months_long' => __('January').','.__('February').','.__('March').','.__('April').','.__('May').','.__('June').','.__('July').','.__('August').','.__('September').','.__('October').','.__('November').','.__('December'),
! 			'months_short' => __('Jan_January_abbreviation').','.__('Feb_February_abbreviation').','.__('Mar_March_abbreviation').','.__('Apr_April_abbreviation').','.__('May_May_abbreviation').','.__('Jun_June_abbreviation').','.__('Jul_July_abbreviation').','.__('Aug_August_abbreviation').','.__('Sep_September_abbreviation').','.__('Oct_October_abbreviation').','.__('Nov_November_abbreviation').','.__('Dec_December_abbreviation'),
! 			'day_long' => __('Sunday').','.__('Monday').','.__('Tuesday').','.__('Wednesday').','.__('Thursday').','.__('Friday').','.__('Saturday'),
! 			'day_short' => __('Sun').','.__('Mon').','.__('Tue').','.__('Wed').','.__('Thu').','.__('Fri').','.__('Sat')
! 		),
! 
! 		'print' => array(
! 			'print_desc' => __('Print')
! 		),
! 
! 		'preview' => array(
! 			'preview_desc' => __('Preview')
! 		),
! 
! 		'directionality' => array(
! 			'ltr_desc' => __('Direction left to right'),
! 			'rtl_desc' => __('Direction right to left')
! 		),
! 
! 		'layer' => array(
! 			'insertlayer_desc' => __('Insert new layer'),
! 			'forward_desc' => __('Move forward'),
! 			'backward_desc' => __('Move backward'),
! 			'absolute_desc' => __('Toggle absolute positioning'),
! 			'content' => __('New layer...')
! 		),
! 
! 		'save' => array(
! 			'save_desc' => __('Save'),
! 			'cancel_desc' => __('Cancel all changes')
! 		),
! 
! 		'nonbreaking' => array(
! 			'nonbreaking_desc' => __('Insert non-breaking space character')
! 		),
! 
! 		'iespell' => array(
! 			'iespell_desc' => __('Run spell checking'),
! 			'download' => __('ieSpell not detected. Do you want to install it now?')
! 		),
! 
! 		'advhr' => array(
! 			'advhr_desc' => __('Horizontale rule')
! 		),
! 
! 		'emotions' => array(
! 			'emotions_desc' => __('Emotions')
! 		),
! 
! 		'searchreplace' => array(
! 			'search_desc' => __('Find'),
! 			'replace_desc' => __('Find/Replace')
! 		),
! 
! 		'advimage' => array(
! 			'image_desc' => __('Insert/edit image')
! 		),
! 
! 		'advlink' => array(
! 			'link_desc' => __('Insert/edit link')
! 		),
! 
! 		'xhtmlxtras' => array(
! 			'cite_desc' => __('Citation'),
! 			'abbr_desc' => __('Abbreviation'),
! 			'acronym_desc' => __('Acronym'),
! 			'del_desc' => __('Deletion'),
! 			'ins_desc' => __('Insertion'),
! 			'attribs_desc' => __('Insert/Edit Attributes')
! 		),
! 
! 		'style' => array(
! 			'desc' => __('Edit CSS Style')
! 		),
! 
! 		'paste' => array(
! 			'paste_text_desc' => __('Paste as Plain Text'),
! 			'paste_word_desc' => __('Paste from Word'),
! 			'selectall_desc' => __('Select All'),
! 			'plaintext_mode_sticky' => __('Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.'),
! 			'plaintext_mode' => __('Paste is now in plain text mode. Click again to toggle back to regular paste mode.')
! 		),
! 
! 		'paste_dlg' => array(
! 			'text_title' => __('Use CTRL+V on your keyboard to paste the text into the window.'),
! 			'text_linebreaks' => __('Keep linebreaks'),
! 			'word_title' => __('Use CTRL+V on your keyboard to paste the text into the window.')
! 		),
  
! 		'table' => array(
! 			'desc' => __('Inserts a new table'),
! 			'row_before_desc' => __('Insert row before'),
! 			'row_after_desc' => __('Insert row after'),
! 			'delete_row_desc' => __('Delete row'),
! 			'col_before_desc' => __('Insert column before'),
! 			'col_after_desc' => __('Insert column after'),
! 			'delete_col_desc' => __('Remove column'),
! 			'split_cells_desc' => __('Split merged table cells'),
! 			'merge_cells_desc' => __('Merge table cells'),
! 			'row_desc' => __('Table row properties'),
! 			'cell_desc' => __('Table cell properties'),
! 			'props_desc' => __('Table properties'),
! 			'paste_row_before_desc' => __('Paste table row before'),
! 			'paste_row_after_desc' => __('Paste table row after'),
! 			'cut_row_desc' => __('Cut table row'),
! 			'copy_row_desc' => __('Copy table row'),
! 			'del' => __('Delete table'),
! 			'row' => __('Row'),
! 			'col' => __('Column'),
! 			'cell' => __('Cell')
! 		),
! 
! 		'autosave' => array(
! 			'unload_msg' => __('The changes you made will be lost if you navigate away from this page.')
! 		),
! 
! 		'fullscreen' => array(
! 			'desc' => __('Toggle fullscreen mode (Alt + Shift + G)')
! 		),
! 
! 		'media' => array(
! 			'desc' => __('Insert / edit embedded media'),
! 			'edit' => __('Edit embedded media')
! 		),
! 
! 		'fullpage' => array(
! 			'desc' => __('Document properties')
! 		),
! 
! 		'template' => array(
! 			'desc' => __('Insert predefined template content')
! 		),
! 
! 		'visualchars' => array(
! 			'desc' => __('Visual control characters on/off.')
! 		),
! 
! 		'spellchecker' => array(
! 			'desc' => __('Toggle spellchecker (Alt + Shift + N)'),
! 			'menu' => __('Spellchecker settings'),
! 			'ignore_word' => __('Ignore word'),
! 			'ignore_words' => __('Ignore all'),
! 			'langs' => __('Languages'),
! 			'wait' => __('Please wait...'),
! 			'sug' => __('Suggestions'),
! 			'no_sug' => __('No suggestions'),
! 			'no_mpell' => __('No misspellings found.'),
! 			'learn_word' => __('Learn word')
! 		),
! 
! 		'pagebreak' => array(
! 			'desc' => __('Insert Page Break')
! 		),
! 
! 		'advlist' => array(
! 			'types' => __('Types'),
! 			'def' => __('Default'),
! 			'lower_alpha' => __('Lower alpha'),
! 			'lower_greek' => __('Lower greek'),
! 			'lower_roman' => __('Lower roman'),
! 			'upper_alpha' => __('Upper alpha'),
! 			'upper_roman' => __('Upper roman'),
! 			'circle' => __('Circle'),
! 			'disc' => __('Disc'),
! 			'square' => __('Square')
! 		),
! 
! 		'aria' => array(
! 			'rich_text_area' => __('Rich Text Area')
! 		),
! 
! 		'wordcount' => array(
! 			'words' => __('Words:')
! 		)
! 	);
! 
! 	$advanced = array(
! 		'style_select' => __('Styles'), /* translators: TinyMCE inline styles */
! 		'font_size' => __('Font size'),
! 		'fontdefault' => __('Font family'),
! 		'block' => __('Format'),
! 		'paragraph' => __('Paragraph'),
! 		'div' => __('Div'),
! 		'address' => __('Address'),
! 		'pre' => __('Preformatted'),
! 		'h1' => __('Heading 1'),
! 		'h2' => __('Heading 2'),
! 		'h3' => __('Heading 3'),
! 		'h4' => __('Heading 4'),
! 		'h5' => __('Heading 5'),
! 		'h6' => __('Heading 6'),
! 		'blockquote' => __('Blockquote'),
! 		'code' => __('Code'),
! 		'samp' => __('Code sample'),
! 		'dt' => __('Definition term '),
! 		'dd' => __('Definition description'),
! 		'bold_desc' => __('Bold (Ctrl + B)'),
! 		'italic_desc' => __('Italic (Ctrl + I)'),
! 		'underline_desc' => __('Underline'),
! 		'striketrough_desc' => __('Strikethrough (Alt + Shift + D)'),
! 		'justifyleft_desc' => __('Align Left (Alt + Shift + L)'),
! 		'justifycenter_desc' => __('Align Center (Alt + Shift + C)'),
! 		'justifyright_desc' => __('Align Right (Alt + Shift + R)'),
! 		'justifyfull_desc' => __('Align Full (Alt + Shift + J)'),
! 		'bullist_desc' => __('Unordered list (Alt + Shift + U)'),
! 		'numlist_desc' => __('Ordered list (Alt + Shift + O)'),
! 		'outdent_desc' => __('Outdent'),
! 		'indent_desc' => __('Indent'),
! 		'undo_desc' => __('Undo (Ctrl + Z)'),
! 		'redo_desc' => __('Redo (Ctrl + Y)'),
! 		'link_desc' => __('Insert/edit link (Alt + Shift + A)'),
! 		'unlink_desc' => __('Unlink (Alt + Shift + S)'),
! 		'image_desc' => __('Insert/edit image (Alt + Shift + M)'),
! 		'cleanup_desc' => __('Cleanup messy code'),
! 		'code_desc' => __('Edit HTML Source'),
! 		'sub_desc' => __('Subscript'),
! 		'sup_desc' => __('Superscript'),
! 		'hr_desc' => __('Insert horizontal ruler'),
! 		'removeformat_desc' => __('Remove formatting'),
! 		'forecolor_desc' => __('Select text color'),
! 		'backcolor_desc' => __('Select background color'),
! 		'charmap_desc' => __('Insert custom character'),
! 		'visualaid_desc' => __('Toggle guidelines/invisible elements'),
! 		'anchor_desc' => __('Insert/edit anchor'),
! 		'cut_desc' => __('Cut'),
! 		'copy_desc' => __('Copy'),
! 		'paste_desc' => __('Paste'),
! 		'image_props_desc' => __('Image properties'),
! 		'newdocument_desc' => __('New document'),
! 		'help_desc' => __('Help'),
! 		'blockquote_desc' => __('Blockquote (Alt + Shift + Q)'),
! 		'clipboard_msg' => __('Copy/Cut/Paste is not available in Mozilla and Firefox.'),
! 		'path' => __('Path'),
! 		'newdocument' => __('Are you sure you want to clear all contents?'),
! 		'toolbar_focus' => __('Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X'),
! 		'more_colors' => __('More colors'),
! 		'shortcuts_desc' => __('Accessibility Help'),
! 		'help_shortcut' => __('Press ALT F10 for toolbar. Press ALT 0 for help.'),
! 		'rich_text_area' => __('Rich Text Area'),
! 		'toolbar' => __('Toolbar')
! 	);
! 
! 	$advanced_dlg = array(
! 		'about_title' => __('About TinyMCE'),
! 		'about_general' => __('About'),
! 		'about_help' => __('Help'),
! 		'about_license' => __('License'),
! 		'about_plugins' => __('Plugins'),
! 		'about_plugin' => __('Plugin'),
! 		'about_author' => __('Author'),
! 		'about_version' => __('Version'),
! 		'about_loaded' => __('Loaded plugins'),
! 		'anchor_title' => __('Insert/edit anchor'),
! 		'anchor_name' => __('Anchor name'),
! 		'code_title' => __('HTML Source Editor'),
! 		'code_wordwrap' => __('Word wrap'),
! 		'colorpicker_title' => __('Select a color'),
! 		'colorpicker_picker_tab' => __('Picker'),
! 		'colorpicker_picker_title' => __('Color picker'),
! 		'colorpicker_palette_tab' => __('Palette'),
! 		'colorpicker_palette_title' => __('Palette colors'),
! 		'colorpicker_named_tab' => __('Named'),
! 		'colorpicker_named_title' => __('Named colors'),
! 		'colorpicker_color' => __('Color:'),
! 		'colorpicker_name' => _x('Name:', 'html attribute'),
! 		'charmap_title' => __('Select custom character'),
! 		'charmap_usage' => __('Use left and right arrows to navigate.'),
! 		'image_title' => __('Insert/edit image'),
! 		'image_src' => __('Image URL'),
! 		'image_alt' => __('Image description'),
! 		'image_list' => __('Image list'),
! 		'image_border' => __('Border'),
! 		'image_dimensions' => __('Dimensions'),
! 		'image_vspace' => __('Vertical space'),
! 		'image_hspace' => __('Horizontal space'),
! 		'image_align' => __('Alignment'),
! 		'image_align_baseline' => __('Baseline'),
! 		'image_align_top' => __('Top'),
! 		'image_align_middle' => __('Middle'),
! 		'image_align_bottom' => __('Bottom'),
! 		'image_align_texttop' => __('Text top'),
! 		'image_align_textbottom' => __('Text bottom'),
! 		'image_align_left' => __('Left'),
! 		'image_align_right' => __('Right'),
! 		'link_title' => __('Insert/edit link'),
! 		'link_url' => __('Link URL'),
! 		'link_target' => __('Target'),
! 		'link_target_same' => __('Open link in the same window'),
! 		'link_target_blank' => __('Open link in a new window'),
! 		'link_titlefield' => __('Title'),
! 		'link_is_email' => __('The URL you entered seems to be an email address, do you want to add the required mailto: prefix?'),
! 		'link_is_external' => __('The URL you entered seems to external link, do you want to add the required http:// prefix?'),
! 		'link_list' => __('Link list'),
! 		'accessibility_help' => __('Accessibility Help'),
! 		'accessibility_usage_title' => __('General Usage')
! 	);
! 
! 	$media_dlg = array(
! 		'title' => __('Insert / edit embedded media'),
! 		'general' => __('General'),
! 		'advanced' => __('Advanced'),
! 		'file' => __('File/URL'),
! 		'list' => __('List'),
! 		'size' => __('Dimensions'),
! 		'preview' => __('Preview'),
! 		'constrain_proportions' => __('Constrain proportions'),
! 		'type' => __('Type'),
! 		'id' => __('Id'),
! 		'name' => _x('Name', 'html attribute'),
! 		'class_name' => __('Class'),
! 		'vspace' => __('V-Space'),
! 		'hspace' => __('H-Space'),
! 		'play' => __('Auto play'),
! 		'loop' => __('Loop'),
! 		'menu' => __('Show menu'),
! 		'quality' => __('Quality'),
! 		'scale' => __('Scale'),
! 		'align' => __('Align'),
! 		'salign' => __('SAlign'),
! 		'wmode' => __('WMode'),
! 		'bgcolor' => __('Background'),
! 		'base' => __('Base'),
! 		'flashvars' => __('Flashvars'),
! 		'liveconnect' => __('SWLiveConnect'),
! 		'autohref' => __('AutoHREF'),
! 		'cache' => __('Cache'),
! 		'hidden' => __('Hidden'),
! 		'controller' => __('Controller'),
! 		'kioskmode' => __('Kiosk mode'),
! 		'playeveryframe' => __('Play every frame'),
! 		'targetcache' => __('Target cache'),
! 		'correction' => __('No correction'),
! 		'enablejavascript' => __('Enable JavaScript'),
! 		'starttime' => __('Start time'),
! 		'endtime' => __('End time'),
! 		'href' => __('href'),
! 		'qtsrcchokespeed' => __('Choke speed'),
! 		'target' => __('Target'),
! 		'volume' => __('Volume'),
! 		'autostart' => __('Auto start'),
! 		'enabled' => __('Enabled'),
! 		'fullscreen' => __('Fullscreen'),
! 		'invokeurls' => __('Invoke URLs'),
! 		'mute' => __('Mute'),
! 		'stretchtofit' => __('Stretch to fit'),
! 		'windowlessvideo' => __('Windowless video'),
! 		'balance' => __('Balance'),
! 		'baseurl' => __('Base URL'),
! 		'captioningid' => __('Captioning id'),
! 		'currentmarker' => __('Current marker'),
! 		'currentposition' => __('Current position'),
! 		'defaultframe' => __('Default frame'),
! 		'playcount' => __('Play count'),
! 		'rate' => __('Rate'),
! 		'uimode' => __('UI Mode'),
! 		'flash_options' => __('Flash options'),
! 		'qt_options' => __('Quicktime options'),
! 		'wmp_options' => __('Windows media player options'),
! 		'rmp_options' => __('Real media player options'),
! 		'shockwave_options' => __('Shockwave options'),
! 		'autogotourl' => __('Auto goto URL'),
! 		'center' => __('Center'),
! 		'imagestatus' => __('Image status'),
! 		'maintainaspect' => __('Maintain aspect'),
! 		'nojava' => __('No java'),
! 		'prefetch' => __('Prefetch'),
! 		'shuffle' => __('Shuffle'),
! 		'console' => __('Console'),
! 		'numloop' => __('Num loops'),
! 		'controls' => __('Controls'),
! 		'scriptcallbacks' => __('Script callbacks'),
! 		'swstretchstyle' => __('Stretch style'),
! 		'swstretchhalign' => __('Stretch H-Align'),
! 		'swstretchvalign' => __('Stretch V-Align'),
! 		'sound' => __('Sound'),
! 		'progress' => __('Progress'),
! 		'qtsrc' => __('QT Src'),
! 		'qt_stream_warn' => __('Streamed rtsp resources should be added to the QT Src field under the advanced tab.'),
! 		'align_top' => __('Top'),
! 		'align_right' => __('Right'),
! 		'align_bottom' => __('Bottom'),
! 		'align_left' => __('Left'),
! 		'align_center' => __('Center'),
! 		'align_top_left' => __('Top left'),
! 		'align_top_right' => __('Top right'),
! 		'align_bottom_left' => __('Bottom left'),
! 		'align_bottom_right' => __('Bottom right'),
! 		'flv_options' => __('Flash video options'),
! 		'flv_scalemode' => __('Scale mode'),
! 		'flv_buffer' => __('Buffer'),
! 		'flv_startimage' => __('Start image'),
! 		'flv_starttime' => __('Start time'),
! 		'flv_defaultvolume' => __('Default volume'),
! 		'flv_hiddengui' => __('Hidden GUI'),
! 		'flv_autostart' => __('Auto start'),
! 		'flv_loop' => __('Loop'),
! 		'flv_showscalemodes' => __('Show scale modes'),
! 		'flv_smoothvideo' => __('Smooth video'),
! 		'flv_jscallback' => __('JS Callback'),
! 		'html5_video_options' => __('HTML5 Video Options'),
! 		'altsource1' => __('Alternative source 1'),
! 		'altsource2' => __('Alternative source 2'),
! 		'preload' => __('Preload'),
! 		'poster' => __('Poster'),
! 		'source' => __('Source')
! 	);
! 
! 	$wordpress = array(
! 		'wp_adv_desc' => __('Show/Hide Kitchen Sink (Alt + Shift + Z)'),
! 		'wp_more_desc' => __('Insert More Tag (Alt + Shift + T)'),
! 		'wp_page_desc' => __('Insert Page break (Alt + Shift + P)'),
! 		'wp_help_desc' => __('Help (Alt + Shift + H)'),
! 		'wp_more_alt' => __('More...'),
! 		'wp_page_alt' => __('Next page...'),
! 		'add_media' => __('Add Media'),
! 		'add_image' => __('Add an Image'),
! 		'add_video' => __('Add Video'),
! 		'add_audio' => __('Add Audio'),
! 		'editgallery' => __('Edit Gallery'),
! 		'delgallery' => __('Delete Gallery')
! 	);
! 
! 	$wpeditimage = array(
! 		'edit_img' => __('Edit Image'),
! 		'del_img' => __('Delete Image'),
! 		'adv_settings' => __('Advanced Settings'),
! 		'none' => __('None'),
! 		'size' => __('Size'),
! 		'thumbnail' => __('Thumbnail'),
! 		'medium' => __('Medium'),
! 		'full_size' => __('Full Size'),
! 		'current_link' => __('Current Link'),
! 		'link_to_img' => __('Link to Image'),
! 		'link_help' => __('Enter a link URL or click above for presets.'),
! 		'adv_img_settings' => __('Advanced Image Settings'),
! 		'source' => __('Source'),
! 		'width' => __('Width'),
! 		'height' => __('Height'),
! 		'orig_size' => __('Original Size'),
! 		'css' => __('CSS Class'),
! 		'adv_link_settings' => __('Advanced Link Settings'),
! 		'link_rel' => __('Link Rel'),
! 		'height' => __('Height'),
! 		'orig_size' => __('Original Size'),
! 		'css' => __('CSS Class'),
! 		's60' => __('60%'),
! 		's70' => __('70%'),
! 		's80' => __('80%'),
! 		's90' => __('90%'),
! 		's100' => __('100%'),
! 		's110' => __('110%'),
! 		's120' => __('120%'),
! 		's130' => __('130%'),
! 		'img_title' => __('Title'),
! 		'caption' => __('Caption'),
! 		'alt' => __('Alternate Text')
! 	);
! 
! 	$locale = _WP_Editors::$mce_locale;
! 
! 	$translated = 'tinyMCE.addI18n({' . $locale . ':' . json_encode( $default ) . "});\n";
! 	$translated .= 'tinyMCE.addI18n("' . $locale . '.advanced", ' . json_encode( $advanced ) . ");\n";
! 	$translated .= 'tinyMCE.addI18n("' . $locale . '.advanced_dlg", ' . json_encode( $advanced_dlg ) . ");\n";
! 	$translated .= 'tinyMCE.addI18n("' . $locale . '.media_dlg", ' . json_encode( $media_dlg ) . ");\n";
! 	$translated .= 'tinyMCE.addI18n("' . $locale . '.wordpress", ' . json_encode( $wordpress ) . ");\n";
! 	$translated .= 'tinyMCE.addI18n("' . $locale . '.wpeditimage", ' . json_encode( $wpeditimage ) . ');';
! 
! 	return $translated;
  }
  
! $lang = wp_mce_translation();
! 
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/mark_loaded_src.js ./wordpress-3.4/wp-includes/js/tinymce/mark_loaded_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/mark_loaded_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/mark_loaded_src.js	2012-02-24 22:15:08.000000000 -0600
***************
*** 0 ****
--- 1,20 ----
+ (function(){
+ 	if ( typeof tinyMCEPreInit === 'undefined' )
+ 		return;
+ 
+ 	var t = tinyMCEPreInit, baseurl = t.base, markDone = tinymce.ScriptLoader.markDone, lang = t.ref.language,
+ 		theme = t.ref.theme, plugins = t.ref.plugins, suffix = t.suffix;
+ 
+ 	markDone( baseurl+'/langs/'+lang+'.js' );
+ 	markDone( baseurl+'/themes/'+theme+'/editor_template'+suffix+'.js' );
+ 	markDone( baseurl+'/themes/'+theme+'/langs/'+lang+'.js' );
+ 	markDone( baseurl+'/themes/'+theme+'/langs/'+lang+'_dlg.js' );
+ 
+ 	tinymce.each( plugins.split(','), function(plugin){
+ 		if ( plugin && plugin.charAt(0) != '-' ) {
+ 			markDone( baseurl+'/plugins/'+plugin+'/editor_plugin'+suffix+'.js' );
+ 			markDone( baseurl+'/plugins/'+plugin+'/langs/'+lang+'.js' );
+ 			markDone( baseurl+'/plugins/'+plugin+'/langs/'+lang+'_dlg.js' )
+ 		}
+ 	});
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,82 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	tinymce.create('tinymce.plugins.Directionality', {
+ 		init : function(ed, url) {
+ 			var t = this;
+ 
+ 			t.editor = ed;
+ 
+ 			ed.addCommand('mceDirectionLTR', function() {
+ 				var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);
+ 
+ 				if (e) {
+ 					if (ed.dom.getAttrib(e, "dir") != "ltr")
+ 						ed.dom.setAttrib(e, "dir", "ltr");
+ 					else
+ 						ed.dom.setAttrib(e, "dir", "");
+ 				}
+ 
+ 				ed.nodeChanged();
+ 			});
+ 
+ 			ed.addCommand('mceDirectionRTL', function() {
+ 				var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);
+ 
+ 				if (e) {
+ 					if (ed.dom.getAttrib(e, "dir") != "rtl")
+ 						ed.dom.setAttrib(e, "dir", "rtl");
+ 					else
+ 						ed.dom.setAttrib(e, "dir", "");
+ 				}
+ 
+ 				ed.nodeChanged();
+ 			});
+ 
+ 			ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});
+ 			ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'});
+ 
+ 			ed.onNodeChange.add(t._nodeChange, t);
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Directionality',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		},
+ 
+ 		// Private methods
+ 
+ 		_nodeChange : function(ed, cm, n) {
+ 			var dom = ed.dom, dir;
+ 
+ 			n = dom.getParent(n, dom.isBlock);
+ 			if (!n) {
+ 				cm.setDisabled('ltr', 1);
+ 				cm.setDisabled('rtl', 1);
+ 				return;
+ 			}
+ 
+ 			dir = dom.getAttrib(n, 'dir');
+ 			cm.setActive('ltr', dir == "ltr");
+ 			cm.setDisabled('ltr', 0);
+ 			cm.setActive('rtl', dir == "rtl");
+ 			cm.setDisabled('rtl', 0);
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality);
+ })();
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,159 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	var DOM = tinymce.DOM;
+ 
+ 	tinymce.create('tinymce.plugins.FullScreenPlugin', {
+ 		init : function(ed, url) {
+ 			var t = this, s = {}, vp, posCss;
+ 
+ 			t.editor = ed;
+ 
+ 			// Register commands
+ 			ed.addCommand('mceFullScreen', function() {
+ 				var win, de = DOM.doc.documentElement;
+ 
+ 				if (ed.getParam('fullscreen_is_enabled')) {
+ 					if (ed.getParam('fullscreen_new_window'))
+ 						closeFullscreen(); // Call to close in new window
+ 					else {
+ 						DOM.win.setTimeout(function() {
+ 							tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);
+ 							tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent());
+ 							tinyMCE.remove(ed);
+ 							DOM.remove('mce_fullscreen_container');
+ 							de.style.overflow = ed.getParam('fullscreen_html_overflow');
+ 							DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow'));
+ 							DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly'));
+ 							tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings
+ 						}, 10);
+ 					}
+ 
+ 					return;
+ 				}
+ 
+ 				if (ed.getParam('fullscreen_new_window')) {
+ 					win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
+ 					try {
+ 						win.resizeTo(screen.availWidth, screen.availHeight);
+ 					} catch (e) {
+ 						// Ignore
+ 					}
+ 				} else {
+ 					tinyMCE.oldSettings = tinyMCE.settings; // Store old settings
+ 					s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto';
+ 					s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);
+ 					vp = DOM.getViewPort();
+ 					s.fullscreen_scrollx = vp.x;
+ 					s.fullscreen_scrolly = vp.y;
+ 
+ 					// Fixes an Opera bug where the scrollbars doesn't reappear
+ 					if (tinymce.isOpera && s.fullscreen_overflow == 'visible')
+ 						s.fullscreen_overflow = 'auto';
+ 
+ 					// Fixes an IE bug where horizontal scrollbars would appear
+ 					if (tinymce.isIE && s.fullscreen_overflow == 'scroll')
+ 						s.fullscreen_overflow = 'auto';
+ 
+ 					// Fixes an IE bug where the scrollbars doesn't reappear
+ 					if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll'))
+ 						s.fullscreen_html_overflow = 'auto'; 
+ 
+ 					if (s.fullscreen_overflow == '0px')
+ 						s.fullscreen_overflow = '';
+ 
+ 					DOM.setStyle(DOM.doc.body, 'overflow', 'hidden');
+ 					de.style.overflow = 'hidden'; //Fix for IE6/7
+ 					vp = DOM.getViewPort();
+ 					DOM.win.scrollTo(0, 0);
+ 
+ 					if (tinymce.isIE)
+ 						vp.h -= 1;
+ 
+ 					// Use fixed position if it exists
+ 					if (tinymce.isIE6)
+ 						posCss = 'absolute;top:' + vp.y;
+ 					else
+ 						posCss = 'fixed;top:0';
+ 
+ 					n = DOM.add(DOM.doc.body, 'div', {
+ 						id : 'mce_fullscreen_container', 
+ 						style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'});
+ 					DOM.add(n, 'div', {id : 'mce_fullscreen'});
+ 
+ 					tinymce.each(ed.settings, function(v, n) {
+ 						s[n] = v;
+ 					});
+ 
+ 					s.id = 'mce_fullscreen';
+ 					s.width = n.clientWidth;
+ 					s.height = n.clientHeight - 15;
+ 					s.fullscreen_is_enabled = true;
+ 					s.fullscreen_editor_id = ed.id;
+ 					s.theme_advanced_resizing = false;
+ 					s.save_onsavecallback = function() {
+ 						ed.setContent(tinyMCE.get(s.id).getContent());
+ 						ed.execCommand('mceSave');
+ 					};
+ 
+ 					tinymce.each(ed.getParam('fullscreen_settings'), function(v, k) {
+ 						s[k] = v;
+ 					});
+ 
+ 					if (s.theme_advanced_toolbar_location === 'external')
+ 						s.theme_advanced_toolbar_location = 'top';
+ 
+ 					t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s);
+ 					t.fullscreenEditor.onInit.add(function() {
+ 						t.fullscreenEditor.setContent(ed.getContent());
+ 						t.fullscreenEditor.focus();
+ 					});
+ 
+ 					t.fullscreenEditor.render();
+ 
+ 					t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container');
+ 					t.fullscreenElement.update();
+ 					//document.body.overflow = 'hidden';
+ 
+ 					t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() {
+ 						var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize;
+ 
+ 						// Get outer/inner size to get a delta size that can be used to calc the new iframe size
+ 						outerSize = fed.dom.getSize(fed.getContainer().firstChild);
+ 						innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]);
+ 
+ 						fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h);
+ 					});
+ 				}
+ 			});
+ 
+ 			// Register buttons
+ 			ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'mceFullScreen'});
+ 
+ 			ed.onNodeChange.add(function(ed, cm) {
+ 				cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled'));
+ 			});
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Fullscreen',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin);
+ })();
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm ./wordpress-3.4/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 3,9 ****
  <head>
  	<title></title>
  	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
! 	<script type="text/javascript" src="../../tiny_mce.js?ver=345-20110908"></script>
  	<script type="text/javascript">
  		function patchCallback(settings, key) {
  			if (settings[key])
--- 3,9 ----
  <head>
  	<title></title>
  	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
! 	<script type="text/javascript" src="../../tiny_mce.js?ver=349-20120314"></script>
  	<script type="text/javascript">
  		function patchCallback(settings, key) {
  			if (settings[key])
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,699 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is;
+ 
+ 	tinymce.create('tinymce.plugins.InlinePopups', {
+ 		init : function(ed, url) {
+ 			// Replace window manager
+ 			ed.onBeforeRenderUI.add(function() {
+ 				ed.windowManager = new tinymce.InlineWindowManager(ed);
+ 				DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css");
+ 			});
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'InlinePopups',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		}
+ 	});
+ 
+ 	tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', {
+ 		InlineWindowManager : function(ed) {
+ 			var t = this;
+ 
+ 			t.parent(ed);
+ 			t.zIndex = 300000;
+ 			t.count = 0;
+ 			t.windows = {};
+ 		},
+ 
+ 		open : function(f, p) {
+ 			var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u, parentWindow;
+ 
+ 			f = f || {};
+ 			p = p || {};
+ 
+ 			// Run native windows
+ 			if (!f.inline)
+ 				return t.parent(f, p);
+ 
+ 			parentWindow = t._frontWindow();
+ 			if (parentWindow && DOM.get(parentWindow.id + '_ifr')) {
+ 				parentWindow.focussedElement = DOM.get(parentWindow.id + '_ifr').contentWindow.document.activeElement;
+ 			}
+ 			
+ 			// Only store selection if the type is a normal window
+ 			if (!f.type)
+ 				t.bookmark = ed.selection.getBookmark(1);
+ 
+ 			id = DOM.uniqueId();
+ 			vp = DOM.getViewPort();
+ 			f.width = parseInt(f.width || 320);
+ 			f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0);
+ 			f.min_width = parseInt(f.min_width || 150);
+ 			f.min_height = parseInt(f.min_height || 100);
+ 			f.max_width = parseInt(f.max_width || 2000);
+ 			f.max_height = parseInt(f.max_height || 2000);
+ 			f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0)));
+ 			f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0)));
+ 			f.movable = f.resizable = true;
+ 			p.mce_width = f.width;
+ 			p.mce_height = f.height;
+ 			p.mce_inline = true;
+ 			p.mce_window_id = id;
+ 			p.mce_auto_focus = f.auto_focus;
+ 
+ 			// Transpose
+ //			po = DOM.getPos(ed.getContainer());
+ //			f.left -= po.x;
+ //			f.top -= po.y;
+ 
+ 			t.features = f;
+ 			t.params = p;
+ 			t.onOpen.dispatch(t, f, p);
+ 
+ 			if (f.type) {
+ 				opt += ' mceModal';
+ 
+ 				if (f.type)
+ 					opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1);
+ 
+ 				f.resizable = false;
+ 			}
+ 
+ 			if (f.statusbar)
+ 				opt += ' mceStatusbar';
+ 
+ 			if (f.resizable)
+ 				opt += ' mceResizable';
+ 
+ 			if (f.minimizable)
+ 				opt += ' mceMinimizable';
+ 
+ 			if (f.maximizable)
+ 				opt += ' mceMaximizable';
+ 
+ 			if (f.movable)
+ 				opt += ' mceMovable';
+ 
+ 			// Create DOM objects
+ 			t._addAll(DOM.doc.body, 
+ 				['div', {id : id, role : 'dialog', 'aria-labelledby': f.type ? id + '_content' : id + '_title', 'class' : (ed.settings.inlinepopups_skin || 'clearlooks2') + (tinymce.isIE && window.getSelection ? ' ie9' : ''), style : 'width:100px;height:100px'}, 
+ 					['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt},
+ 						['div', {id : id + '_top', 'class' : 'mceTop'}, 
+ 							['div', {'class' : 'mceLeft'}],
+ 							['div', {'class' : 'mceCenter'}],
+ 							['div', {'class' : 'mceRight'}],
+ 							['span', {id : id + '_title'}, f.title || '']
+ 						],
+ 
+ 						['div', {id : id + '_middle', 'class' : 'mceMiddle'}, 
+ 							['div', {id : id + '_left', 'class' : 'mceLeft', tabindex : '0'}],
+ 							['span', {id : id + '_content'}],
+ 							['div', {id : id + '_right', 'class' : 'mceRight', tabindex : '0'}]
+ 						],
+ 
+ 						['div', {id : id + '_bottom', 'class' : 'mceBottom'},
+ 							['div', {'class' : 'mceLeft'}],
+ 							['div', {'class' : 'mceCenter'}],
+ 							['div', {'class' : 'mceRight'}],
+ 							['span', {id : id + '_status'}, 'Content']
+ 						],
+ 
+ 						['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
+ 						['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
+ 						['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
+ 						['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
+ 						['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}],
+ 						['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}]
+ 					]
+ 				]
+ 			);
+ 
+ 			DOM.setStyles(id, {top : -10000, left : -10000});
+ 
+ 			// Fix gecko rendering bug, where the editors iframe messed with window contents
+ 			if (tinymce.isGecko)
+ 				DOM.setStyle(id, 'overflow', 'auto');
+ 
+ 			// Measure borders
+ 			if (!f.type) {
+ 				dw += DOM.get(id + '_left').clientWidth;
+ 				dw += DOM.get(id + '_right').clientWidth;
+ 				dh += DOM.get(id + '_top').clientHeight;
+ 				dh += DOM.get(id + '_bottom').clientHeight;
+ 			}
+ 
+ 			// Resize window
+ 			DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh});
+ 
+ 			u = f.url || f.file;
+ 			if (u) {
+ 				if (tinymce.relaxedDomain)
+ 					u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain;
+ 
+ 				u = tinymce._addVer(u);
+ 			}
+ 
+ 			if (!f.type) {
+ 				DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'});
+ 				DOM.setStyles(id + '_ifr', {width : f.width, height : f.height});
+ 				DOM.setAttrib(id + '_ifr', 'src', u);
+ 			} else {
+ 				DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok');
+ 
+ 				if (f.type == 'confirm')
+ 					DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel');
+ 
+ 				DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'});
+ 				DOM.setHTML(id + '_content', f.content.replace('\n', '<br />'));
+ 				
+ 				Event.add(id, 'keyup', function(evt) {
+ 					var VK_ESCAPE = 27;
+ 					if (evt.keyCode === VK_ESCAPE) {
+ 						f.button_func(false);
+ 						return Event.cancel(evt);
+ 					}
+ 				});
+ 
+ 				Event.add(id, 'keydown', function(evt) {
+ 					var cancelButton, VK_TAB = 9;
+ 					if (evt.keyCode === VK_TAB) {
+ 						cancelButton = DOM.select('a.mceCancel', id + '_wrapper')[0];
+ 						if (cancelButton && cancelButton !== evt.target) {
+ 							cancelButton.focus();
+ 						} else {
+ 							DOM.get(id + '_ok').focus();
+ 						}
+ 						return Event.cancel(evt);
+ 					}
+ 				});
+ 			}
+ 
+ 			// Register events
+ 			mdf = Event.add(id, 'mousedown', function(e) {
+ 				var n = e.target, w, vp;
+ 
+ 				w = t.windows[id];
+ 				t.focus(id);
+ 
+ 				if (n.nodeName == 'A' || n.nodeName == 'a') {
+ 					if (n.className == 'mceClose') {
+ 						t.close(null, id);
+ 						return Event.cancel(e);
+ 					} else if (n.className == 'mceMax') {
+ 						w.oldPos = w.element.getXY();
+ 						w.oldSize = w.element.getSize();
+ 
+ 						vp = DOM.getViewPort();
+ 
+ 						// Reduce viewport size to avoid scrollbars
+ 						vp.w -= 2;
+ 						vp.h -= 2;
+ 
+ 						w.element.moveTo(vp.x, vp.y);
+ 						w.element.resizeTo(vp.w, vp.h);
+ 						DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight});
+ 						DOM.addClass(id + '_wrapper', 'mceMaximized');
+ 					} else if (n.className == 'mceMed') {
+ 						// Reset to old size
+ 						w.element.moveTo(w.oldPos.x, w.oldPos.y);
+ 						w.element.resizeTo(w.oldSize.w, w.oldSize.h);
+ 						w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight);
+ 
+ 						DOM.removeClass(id + '_wrapper', 'mceMaximized');
+ 					} else if (n.className == 'mceMove')
+ 						return t._startDrag(id, e, n.className);
+ 					else if (DOM.hasClass(n, 'mceResize'))
+ 						return t._startDrag(id, e, n.className.substring(13));
+ 				}
+ 			});
+ 
+ 			clf = Event.add(id, 'click', function(e) {
+ 				var n = e.target;
+ 
+ 				t.focus(id);
+ 
+ 				if (n.nodeName == 'A' || n.nodeName == 'a') {
+ 					switch (n.className) {
+ 						case 'mceClose':
+ 							t.close(null, id);
+ 							return Event.cancel(e);
+ 
+ 						case 'mceButton mceOk':
+ 						case 'mceButton mceCancel':
+ 							f.button_func(n.className == 'mceButton mceOk');
+ 							return Event.cancel(e);
+ 					}
+ 				}
+ 			});
+ 			
+ 			// Make sure the tab order loops within the dialog.
+ 			Event.add([id + '_left', id + '_right'], 'focus', function(evt) {
+ 				var iframe = DOM.get(id + '_ifr');
+ 				if (iframe) {
+ 					var body = iframe.contentWindow.document.body;
+ 					var focusable = DOM.select(':input:enabled,*[tabindex=0]', body);
+ 					if (evt.target.id === (id + '_left')) {
+ 						focusable[focusable.length - 1].focus();
+ 					} else {
+ 						focusable[0].focus();
+ 					}
+ 				} else {
+ 					DOM.get(id + '_ok').focus();
+ 				}
+ 			});
+ 			
+ 			// Add window
+ 			w = t.windows[id] = {
+ 				id : id,
+ 				mousedown_func : mdf,
+ 				click_func : clf,
+ 				element : new Element(id, {blocker : 1, container : ed.getContainer()}),
+ 				iframeElement : new Element(id + '_ifr'),
+ 				features : f,
+ 				deltaWidth : dw,
+ 				deltaHeight : dh
+ 			};
+ 
+ 			w.iframeElement.on('focus', function() {
+ 				t.focus(id);
+ 			});
+ 
+ 			// Setup blocker
+ 			if (t.count == 0 && t.editor.getParam('dialog_type', 'modal') == 'modal') {
+ 				DOM.add(DOM.doc.body, 'div', {
+ 					id : 'mceModalBlocker',
+ 					'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker',
+ 					style : {zIndex : t.zIndex - 1}
+ 				});
+ 
+ 				DOM.show('mceModalBlocker'); // Reduces flicker in IE
+ 				DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'true');
+ 			} else
+ 				DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1);
+ 
+ 			if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel))
+ 				DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2});
+ 
+ 			DOM.setAttrib(id, 'aria-hidden', 'false');
+ 			t.focus(id);
+ 			t._fixIELayout(id, 1);
+ 
+ 			// Focus ok button
+ 			if (DOM.get(id + '_ok'))
+ 				DOM.get(id + '_ok').focus();
+ 			t.count++;
+ 
+ 			return w;
+ 		},
+ 
+ 		focus : function(id) {
+ 			var t = this, w;
+ 
+ 			if (w = t.windows[id]) {
+ 				w.zIndex = this.zIndex++;
+ 				w.element.setStyle('zIndex', w.zIndex);
+ 				w.element.update();
+ 
+ 				id = id + '_wrapper';
+ 				DOM.removeClass(t.lastId, 'mceFocus');
+ 				DOM.addClass(id, 'mceFocus');
+ 				t.lastId = id;
+ 				
+ 				if (w.focussedElement) {
+ 					w.focussedElement.focus();
+ 				} else if (DOM.get(id + '_ok')) {
+ 					DOM.get(w.id + '_ok').focus();
+ 				} else if (DOM.get(w.id + '_ifr')) {
+ 					DOM.get(w.id + '_ifr').focus();
+ 				}
+ 			}
+ 		},
+ 
+ 		_addAll : function(te, ne) {
+ 			var i, n, t = this, dom = tinymce.DOM;
+ 
+ 			if (is(ne, 'string'))
+ 				te.appendChild(dom.doc.createTextNode(ne));
+ 			else if (ne.length) {
+ 				te = te.appendChild(dom.create(ne[0], ne[1]));
+ 
+ 				for (i=2; i<ne.length; i++)
+ 					t._addAll(te, ne[i]);
+ 			}
+ 		},
+ 
+ 		_startDrag : function(id, se, ac) {
+ 			var t = this, mu, mm, d = DOM.doc, eb, w = t.windows[id], we = w.element, sp = we.getXY(), p, sz, ph, cp, vp, sx, sy, sex, sey, dx, dy, dw, dh;
+ 
+ 			// Get positons and sizes
+ //			cp = DOM.getPos(t.editor.getContainer());
+ 			cp = {x : 0, y : 0};
+ 			vp = DOM.getViewPort();
+ 
+ 			// Reduce viewport size to avoid scrollbars while dragging
+ 			vp.w -= 2;
+ 			vp.h -= 2;
+ 
+ 			sex = se.screenX;
+ 			sey = se.screenY;
+ 			dx = dy = dw = dh = 0;
+ 
+ 			// Handle mouse up
+ 			mu = Event.add(d, 'mouseup', function(e) {
+ 				Event.remove(d, 'mouseup', mu);
+ 				Event.remove(d, 'mousemove', mm);
+ 
+ 				if (eb)
+ 					eb.remove();
+ 
+ 				we.moveBy(dx, dy);
+ 				we.resizeBy(dw, dh);
+ 				sz = we.getSize();
+ 				DOM.setStyles(id + '_ifr', {width : sz.w - w.deltaWidth, height : sz.h - w.deltaHeight});
+ 				t._fixIELayout(id, 1);
+ 
+ 				return Event.cancel(e);
+ 			});
+ 
+ 			if (ac != 'Move')
+ 				startMove();
+ 
+ 			function startMove() {
+ 				if (eb)
+ 					return;
+ 
+ 				t._fixIELayout(id, 0);
+ 
+ 				// Setup event blocker
+ 				DOM.add(d.body, 'div', {
+ 					id : 'mceEventBlocker',
+ 					'class' : 'mceEventBlocker ' + (t.editor.settings.inlinepopups_skin || 'clearlooks2'),
+ 					style : {zIndex : t.zIndex + 1}
+ 				});
+ 
+ 				if (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel))
+ 					DOM.setStyles('mceEventBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2});
+ 
+ 				eb = new Element('mceEventBlocker');
+ 				eb.update();
+ 
+ 				// Setup placeholder
+ 				p = we.getXY();
+ 				sz = we.getSize();
+ 				sx = cp.x + p.x - vp.x;
+ 				sy = cp.y + p.y - vp.y;
+ 				DOM.add(eb.get(), 'div', {id : 'mcePlaceHolder', 'class' : 'mcePlaceHolder', style : {left : sx, top : sy, width : sz.w, height : sz.h}});
+ 				ph = new Element('mcePlaceHolder');
+ 			};
+ 
+ 			// Handle mouse move/drag
+ 			mm = Event.add(d, 'mousemove', function(e) {
+ 				var x, y, v;
+ 
+ 				startMove();
+ 
+ 				x = e.screenX - sex;
+ 				y = e.screenY - sey;
+ 
+ 				switch (ac) {
+ 					case 'ResizeW':
+ 						dx = x;
+ 						dw = 0 - x;
+ 						break;
+ 
+ 					case 'ResizeE':
+ 						dw = x;
+ 						break;
+ 
+ 					case 'ResizeN':
+ 					case 'ResizeNW':
+ 					case 'ResizeNE':
+ 						if (ac == "ResizeNW") {
+ 							dx = x;
+ 							dw = 0 - x;
+ 						} else if (ac == "ResizeNE")
+ 							dw = x;
+ 
+ 						dy = y;
+ 						dh = 0 - y;
+ 						break;
+ 
+ 					case 'ResizeS':
+ 					case 'ResizeSW':
+ 					case 'ResizeSE':
+ 						if (ac == "ResizeSW") {
+ 							dx = x;
+ 							dw = 0 - x;
+ 						} else if (ac == "ResizeSE")
+ 							dw = x;
+ 
+ 						dh = y;
+ 						break;
+ 
+ 					case 'mceMove':
+ 						dx = x;
+ 						dy = y;
+ 						break;
+ 				}
+ 
+ 				// Boundary check
+ 				if (dw < (v = w.features.min_width - sz.w)) {
+ 					if (dx !== 0)
+ 						dx += dw - v;
+ 
+ 					dw = v;
+ 				}
+ 	
+ 				if (dh < (v = w.features.min_height - sz.h)) {
+ 					if (dy !== 0)
+ 						dy += dh - v;
+ 
+ 					dh = v;
+ 				}
+ 
+ 				dw = Math.min(dw, w.features.max_width - sz.w);
+ 				dh = Math.min(dh, w.features.max_height - sz.h);
+ 				dx = Math.max(dx, vp.x - (sx + vp.x));
+ 				dy = Math.max(dy, vp.y - (sy + vp.y));
+ 				dx = Math.min(dx, (vp.w + vp.x) - (sx + sz.w + vp.x));
+ 				dy = Math.min(dy, (vp.h + vp.y) - (sy + sz.h + vp.y));
+ 
+ 				// Move if needed
+ 				if (dx + dy !== 0) {
+ 					if (sx + dx < 0)
+ 						dx = 0;
+ 	
+ 					if (sy + dy < 0)
+ 						dy = 0;
+ 
+ 					ph.moveTo(sx + dx, sy + dy);
+ 				}
+ 
+ 				// Resize if needed
+ 				if (dw + dh !== 0)
+ 					ph.resizeTo(sz.w + dw, sz.h + dh);
+ 
+ 				return Event.cancel(e);
+ 			});
+ 
+ 			return Event.cancel(se);
+ 		},
+ 
+ 		resizeBy : function(dw, dh, id) {
+ 			var w = this.windows[id];
+ 
+ 			if (w) {
+ 				w.element.resizeBy(dw, dh);
+ 				w.iframeElement.resizeBy(dw, dh);
+ 			}
+ 		},
+ 
+ 		close : function(win, id) {
+ 			var t = this, w, d = DOM.doc, fw, id;
+ 
+ 			id = t._findId(id || win);
+ 
+ 			// Probably not inline
+ 			if (!t.windows[id]) {
+ 				t.parent(win);
+ 				return;
+ 			}
+ 
+ 			t.count--;
+ 
+ 			if (t.count == 0) {
+ 				DOM.remove('mceModalBlocker');
+ 				DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'false');
+ 				t.editor.focus();
+ 			}
+ 
+ 			if (w = t.windows[id]) {
+ 				t.onClose.dispatch(t);
+ 				Event.remove(d, 'mousedown', w.mousedownFunc);
+ 				Event.remove(d, 'click', w.clickFunc);
+ 				Event.clear(id);
+ 				Event.clear(id + '_ifr');
+ 
+ 				DOM.setAttrib(id + '_ifr', 'src', 'javascript:""'); // Prevent leak
+ 				w.element.remove();
+ 				delete t.windows[id];
+ 
+ 				fw = t._frontWindow();
+ 
+ 				if (fw)
+ 					t.focus(fw.id);
+ 			}
+ 		},
+ 		
+ 		// Find front most window
+ 		_frontWindow : function() {
+ 			var fw, ix = 0;
+ 			// Find front most window and focus that
+ 			each (this.windows, function(w) {
+ 				if (w.zIndex > ix) {
+ 					fw = w;
+ 					ix = w.zIndex;
+ 				}
+ 			});
+ 			return fw;
+ 		},
+ 
+ 		setTitle : function(w, ti) {
+ 			var e;
+ 
+ 			w = this._findId(w);
+ 
+ 			if (e = DOM.get(w + '_title'))
+ 				e.innerHTML = DOM.encode(ti);
+ 		},
+ 
+ 		alert : function(txt, cb, s) {
+ 			var t = this, w;
+ 
+ 			w = t.open({
+ 				title : t,
+ 				type : 'alert',
+ 				button_func : function(s) {
+ 					if (cb)
+ 						cb.call(s || t, s);
+ 
+ 					t.close(null, w.id);
+ 				},
+ 				content : DOM.encode(t.editor.getLang(txt, txt)),
+ 				inline : 1,
+ 				width : 400,
+ 				height : 130
+ 			});
+ 		},
+ 
+ 		confirm : function(txt, cb, s) {
+ 			var t = this, w;
+ 
+ 			w = t.open({
+ 				title : t,
+ 				type : 'confirm',
+ 				button_func : function(s) {
+ 					if (cb)
+ 						cb.call(s || t, s);
+ 
+ 					t.close(null, w.id);
+ 				},
+ 				content : DOM.encode(t.editor.getLang(txt, txt)),
+ 				inline : 1,
+ 				width : 400,
+ 				height : 130
+ 			});
+ 		},
+ 
+ 		// Internal functions
+ 
+ 		_findId : function(w) {
+ 			var t = this;
+ 
+ 			if (typeof(w) == 'string')
+ 				return w;
+ 
+ 			each(t.windows, function(wo) {
+ 				var ifr = DOM.get(wo.id + '_ifr');
+ 
+ 				if (ifr && w == ifr.contentWindow) {
+ 					w = wo.id;
+ 					return false;
+ 				}
+ 			});
+ 
+ 			return w;
+ 		},
+ 
+ 		_fixIELayout : function(id, s) {
+ 			var w, img;
+ 
+ 			if (!tinymce.isIE6)
+ 				return;
+ 
+ 			// Fixes the bug where hover flickers and does odd things in IE6
+ 			each(['n','s','w','e','nw','ne','sw','se'], function(v) {
+ 				var e = DOM.get(id + '_resize_' + v);
+ 
+ 				DOM.setStyles(e, {
+ 					width : s ? e.clientWidth : '',
+ 					height : s ? e.clientHeight : '',
+ 					cursor : DOM.getStyle(e, 'cursor', 1)
+ 				});
+ 
+ 				DOM.setStyle(id + "_bottom", 'bottom', '-1px');
+ 
+ 				e = 0;
+ 			});
+ 
+ 			// Fixes graphics glitch
+ 			if (w = this.windows[id]) {
+ 				// Fixes rendering bug after resize
+ 				w.element.hide();
+ 				w.element.show();
+ 
+ 				// Forced a repaint of the window
+ 				//DOM.get(id).style.filter = '';
+ 
+ 				// IE has a bug where images used in CSS won't get loaded
+ 				// sometimes when the cache in the browser is disabled
+ 				// This fix tries to solve it by loading the images using the image object
+ 				each(DOM.select('div,a', id), function(e, i) {
+ 					if (e.currentStyle.backgroundImage != 'none') {
+ 						img = new Image();
+ 						img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1');
+ 					}
+ 				});
+ 
+ 				DOM.get(id).style.filter = '';
+ 			}
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups);
+ })();
+ 
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/inlinepopups/template.htm ./wordpress-3.4/wp-includes/js/tinymce/plugins/inlinepopups/template.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/inlinepopups/template.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/inlinepopups/template.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,8 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title>Template for dialogs</title>
! <link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=345-20110908" />
  </head>
  <body>
  
--- 2,8 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title>Template for dialogs</title>
! <link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=349-20120314" />
  </head>
  <body>
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,890 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	var rootAttributes = tinymce.explode('id,name,width,height,style,align,class,hspace,vspace,bgcolor,type'), excludedAttrs = tinymce.makeMap(rootAttributes.join(',')), Node = tinymce.html.Node,
+ 		mediaTypes, scriptRegExp, JSON = tinymce.util.JSON, mimeTypes;
+ 
+ 	// Media types supported by this plugin
+ 	mediaTypes = [
+ 		// Type, clsid:s, mime types, codebase
+ 		["Flash", "d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],
+ 		["ShockWave", "166b1bca-3f9c-11cf-8075-444553540000", "application/x-director", "http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],
+ 		["WindowsMedia", "6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a", "application/x-mplayer2", "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],
+ 		["QuickTime", "02bf25d5-8c17-4b23-bc80-d3488abddc6b", "video/quicktime", "http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],
+ 		["RealMedia", "cfcdaa03-8be4-11cf-b84b-0020afbbccfa", "audio/x-pn-realaudio-plugin", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],
+ 		["Java", "8ad9c840-044e-11d1-b3e9-00805f499d93", "application/x-java-applet", "http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],
+ 		["Silverlight", "dfeaf541-f3e1-4c24-acac-99c30715084a", "application/x-silverlight-2"],
+ 		["Iframe"],
+ 		["Video"],
+ 		["EmbeddedAudio"],
+ 		["Audio"]
+ 	];
+ 
+ 	function toArray(obj) {
+ 		var undef, out, i;
+ 
+ 		if (obj && !obj.splice) {
+ 			out = [];
+ 
+ 			for (i = 0; true; i++) {
+ 				if (obj[i])
+ 					out[i] = obj[i];
+ 				else
+ 					break;
+ 			}
+ 
+ 			return out;
+ 		}
+ 
+ 		return obj;
+ 	};
+ 
+ 	tinymce.create('tinymce.plugins.MediaPlugin', {
+ 		init : function(ed, url) {
+ 			var self = this, lookup = {}, i, y, item, name;
+ 
+ 			function isMediaImg(node) {
+ 				return node && node.nodeName === 'IMG' && ed.dom.hasClass(node, 'mceItemMedia');
+ 			};
+ 
+ 			self.editor = ed;
+ 			self.url = url;
+ 
+ 			// Parse media types into a lookup table
+ 			scriptRegExp = '';
+ 			for (i = 0; i < mediaTypes.length; i++) {
+ 				name = mediaTypes[i][0];
+ 
+ 				item = {
+ 					name : name,
+ 					clsids : tinymce.explode(mediaTypes[i][1] || ''),
+ 					mimes : tinymce.explode(mediaTypes[i][2] || ''),
+ 					codebase : mediaTypes[i][3]
+ 				};
+ 
+ 				for (y = 0; y < item.clsids.length; y++)
+ 					lookup['clsid:' + item.clsids[y]] = item;
+ 
+ 				for (y = 0; y < item.mimes.length; y++)
+ 					lookup[item.mimes[y]] = item;
+ 
+ 				lookup['mceItem' + name] = item;
+ 				lookup[name.toLowerCase()] = item;
+ 
+ 				scriptRegExp += (scriptRegExp ? '|' : '') + name;
+ 			}
+ 
+ 			// Handle the media_types setting
+ 			tinymce.each(ed.getParam("media_types",
+ 				"video=mp4,m4v,ogv,webm;" +
+ 				"silverlight=xap;" +
+ 				"flash=swf,flv;" +
+ 				"shockwave=dcr;" +
+ 				"quicktime=mov,qt,mpg,mpeg;" +
+ 				"shockwave=dcr;" +
+ 				"windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;" +
+ 				"realmedia=rm,ra,ram;" +
+ 				"java=jar;" +
+ 				"audio=mp3,ogg"
+ 			).split(';'), function(item) {
+ 				var i, extensions, type;
+ 
+ 				item = item.split(/=/);
+ 				extensions = tinymce.explode(item[1].toLowerCase());
+ 				for (i = 0; i < extensions.length; i++) {
+ 					type = lookup[item[0].toLowerCase()];
+ 
+ 					if (type)
+ 						lookup[extensions[i]] = type;
+ 				}
+ 			});
+ 
+ 			scriptRegExp = new RegExp('write(' + scriptRegExp + ')\\(([^)]+)\\)');
+ 			self.lookup = lookup;
+ 
+ 			ed.onPreInit.add(function() {
+ 				// Allow video elements
+ 				ed.schema.addValidElements('object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]');
+ 
+ 				// Convert video elements to image placeholder
+ 				ed.parser.addNodeFilter('object,embed,video,audio,script,iframe', function(nodes) {
+ 					var i = nodes.length;
+ 
+ 					while (i--)
+ 						self.objectToImg(nodes[i]);
+ 				});
+ 
+ 				// Convert image placeholders to video elements
+ 				ed.serializer.addNodeFilter('img', function(nodes, name, args) {
+ 					var i = nodes.length, node;
+ 
+ 					while (i--) {
+ 						node = nodes[i];
+ 						if ((node.attr('class') || '').indexOf('mceItemMedia') !== -1)
+ 							self.imgToObject(node, args);
+ 					}
+ 				});
+ 			});
+ 
+ 			ed.onInit.add(function() {
+ 				// Display "media" instead of "img" in element path
+ 				if (ed.theme && ed.theme.onResolveName) {
+ 					ed.theme.onResolveName.add(function(theme, path_object) {
+ 						if (path_object.name === 'img' && ed.dom.hasClass(path_object.node, 'mceItemMedia'))
+ 							path_object.name = 'media';
+ 					});
+ 				}
+ 
+ 				// Add contect menu if it's loaded
+ 				if (ed && ed.plugins.contextmenu) {
+ 					ed.plugins.contextmenu.onContextMenu.add(function(plugin, menu, element) {
+ 						if (element.nodeName === 'IMG' && element.className.indexOf('mceItemMedia') !== -1)
+ 							menu.add({title : 'media.edit', icon : 'media', cmd : 'mceMedia'});
+ 					});
+ 				}
+ 			});
+ 
+ 			// Register commands
+ 			ed.addCommand('mceMedia', function() {
+ 				var data, img;
+ 
+ 				img = ed.selection.getNode();
+ 				if (isMediaImg(img)) {
+ 					data = ed.dom.getAttrib(img, 'data-mce-json');
+ 					if (data) {
+ 						data = JSON.parse(data);
+ 
+ 						// Add some extra properties to the data object
+ 						tinymce.each(rootAttributes, function(name) {
+ 							var value = ed.dom.getAttrib(img, name);
+ 
+ 							if (value)
+ 								data[name] = value;
+ 						});
+ 
+ 						data.type = self.getType(img.className).name.toLowerCase();
+ 					}
+ 				}
+ 
+ 				if (!data) {
+ 					data = {
+ 						type : 'flash',
+ 						video: {sources:[]},
+ 						params: {}
+ 					};
+ 				}
+ 
+ 				ed.windowManager.open({
+ 					file : url + '/media.htm',
+ 					width : 430 + parseInt(ed.getLang('media.delta_width', 0)),
+ 					height : 500 + parseInt(ed.getLang('media.delta_height', 0)),
+ 					inline : 1
+ 				}, {
+ 					plugin_url : url,
+ 					data : data
+ 				});
+ 			});
+ 
+ 			// Register buttons
+ 			ed.addButton('media', {title : 'media.desc', cmd : 'mceMedia'});
+ 
+ 			// Update media selection status
+ 			ed.onNodeChange.add(function(ed, cm, node) {
+ 				cm.setActive('media', isMediaImg(node));
+ 			});
+ 		},
+ 
+ 		convertUrl : function(url, force_absolute) {
+ 			var self = this, editor = self.editor, settings = editor.settings,
+ 				urlConverter = settings.url_converter,
+ 				urlConverterScope = settings.url_converter_scope || self;
+ 
+ 			if (!url)
+ 				return url;
+ 
+ 			if (force_absolute)
+ 				return editor.documentBaseURI.toAbsolute(url);
+ 
+ 			return urlConverter.call(urlConverterScope, url, 'src', 'object');
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Media',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		},
+ 
+ 		/**
+ 		 * Converts the JSON data object to an img node.
+ 		 */
+ 		dataToImg : function(data, force_absolute) {
+ 			var self = this, editor = self.editor, baseUri = editor.documentBaseURI, sources, attrs, img, i;
+ 
+ 			data.params.src = self.convertUrl(data.params.src, force_absolute);
+ 
+ 			attrs = data.video.attrs;
+ 			if (attrs)
+ 				attrs.src = self.convertUrl(attrs.src, force_absolute);
+ 
+ 			if (attrs)
+ 				attrs.poster = self.convertUrl(attrs.poster, force_absolute);
+ 
+ 			sources = toArray(data.video.sources);
+ 			if (sources) {
+ 				for (i = 0; i < sources.length; i++)
+ 					sources[i].src = self.convertUrl(sources[i].src, force_absolute);
+ 			}
+ 
+ 			img = self.editor.dom.create('img', {
+ 				id : data.id,
+ 				style : data.style,
+ 				align : data.align,
+ 				hspace : data.hspace,
+ 				vspace : data.vspace,
+ 				src : self.editor.theme.url + '/img/trans.gif',
+ 				'class' : 'mceItemMedia mceItem' + self.getType(data.type).name,
+ 				'data-mce-json' : JSON.serialize(data, "'")
+ 			});
+ 
+ 			img.width = data.width || (data.type == 'audio' ? "300" : "320");
+ 			img.height = data.height || (data.type == 'audio' ? "32" : "240");
+ 
+ 			return img;
+ 		},
+ 
+ 		/**
+ 		 * Converts the JSON data object to a HTML string.
+ 		 */
+ 		dataToHtml : function(data, force_absolute) {
+ 			return this.editor.serializer.serialize(this.dataToImg(data, force_absolute), {forced_root_block : '', force_absolute : force_absolute});
+ 		},
+ 
+ 		/**
+ 		 * Converts the JSON data object to a HTML string.
+ 		 */
+ 		htmlToData : function(html) {
+ 			var fragment, img, data;
+ 
+ 			data = {
+ 				type : 'flash',
+ 				video: {sources:[]},
+ 				params: {}
+ 			};
+ 
+ 			fragment = this.editor.parser.parse(html);
+ 			img = fragment.getAll('img')[0];
+ 
+ 			if (img) {
+ 				data = JSON.parse(img.attr('data-mce-json'));
+ 				data.type = this.getType(img.attr('class')).name.toLowerCase();
+ 
+ 				// Add some extra properties to the data object
+ 				tinymce.each(rootAttributes, function(name) {
+ 					var value = img.attr(name);
+ 
+ 					if (value)
+ 						data[name] = value;
+ 				});
+ 			}
+ 
+ 			return data;
+ 		},
+ 
+ 		/**
+ 		 * Get type item by extension, class, clsid or mime type.
+ 		 *
+ 		 * @method getType
+ 		 * @param {String} value Value to get type item by.
+ 		 * @return {Object} Type item object or undefined.
+ 		 */
+ 		getType : function(value) {
+ 			var i, values, typeItem;
+ 
+ 			// Find type by checking the classes
+ 			values = tinymce.explode(value, ' ');
+ 			for (i = 0; i < values.length; i++) {
+ 				typeItem = this.lookup[values[i]];
+ 
+ 				if (typeItem)
+ 					return typeItem;
+ 			}
+ 		},
+ 
+ 		/**
+ 		 * Converts a tinymce.html.Node image element to video/object/embed.
+ 		 */
+ 		imgToObject : function(node, args) {
+ 			var self = this, editor = self.editor, video, object, embed, iframe, name, value, data,
+ 				source, sources, params, param, typeItem, i, item, mp4Source, replacement,
+ 				posterSrc, style, audio;
+ 
+ 			// Adds the flash player
+ 			function addPlayer(video_src, poster_src) {
+ 				var baseUri, flashVars, flashVarsOutput, params, flashPlayer;
+ 
+ 				flashPlayer = editor.getParam('flash_video_player_url', self.convertUrl(self.url + '/moxieplayer.swf'));
+ 				if (flashPlayer) {
+ 					baseUri = editor.documentBaseURI;
+ 					data.params.src = flashPlayer;
+ 
+ 					// Convert the movie url to absolute urls
+ 					if (editor.getParam('flash_video_player_absvideourl', true)) {
+ 						video_src = baseUri.toAbsolute(video_src || '', true);
+ 						poster_src = baseUri.toAbsolute(poster_src || '', true);
+ 					}
+ 
+ 					// Generate flash vars
+ 					flashVarsOutput = '';
+ 					flashVars = editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'});
+ 					tinymce.each(flashVars, function(value, name) {
+ 						// Replace $url and $poster variables in flashvars value
+ 						value = value.replace(/\$url/, video_src || '');
+ 						value = value.replace(/\$poster/, poster_src || '');
+ 
+ 						if (value.length > 0)
+ 							flashVarsOutput += (flashVarsOutput ? '&' : '') + name + '=' + escape(value);
+ 					});
+ 
+ 					if (flashVarsOutput.length)
+ 						data.params.flashvars = flashVarsOutput;
+ 
+ 					params = editor.getParam('flash_video_player_params', {
+ 						allowfullscreen: true,
+ 						allowscriptaccess: true
+ 					});
+ 
+ 					tinymce.each(params, function(value, name) {
+ 						data.params[name] = "" + value;
+ 					});
+ 				}
+ 			};
+ 
+ 			data = node.attr('data-mce-json');
+ 			if (!data)
+ 				return;
+ 
+ 			data = JSON.parse(data);
+ 			typeItem = this.getType(node.attr('class'));
+ 
+ 			style = node.attr('data-mce-style')
+ 			if (!style) {
+ 				style = node.attr('style');
+ 
+ 				if (style)
+ 					style = editor.dom.serializeStyle(editor.dom.parseStyle(style, 'img'));
+ 			}
+ 
+ 			// Handle iframe
+ 			if (typeItem.name === 'Iframe') {
+ 				replacement = new Node('iframe', 1);
+ 
+ 				tinymce.each(rootAttributes, function(name) {
+ 					var value = node.attr(name);
+ 
+ 					if (name == 'class' && value)
+ 						value = value.replace(/mceItem.+ ?/g, '');
+ 
+ 					if (value && value.length > 0)
+ 						replacement.attr(name, value);
+ 				});
+ 
+ 				for (name in data.params)
+ 					replacement.attr(name, data.params[name]);
+ 
+ 				replacement.attr({
+ 					style: style,
+ 					src: data.params.src
+ 				});
+ 
+ 				node.replace(replacement);
+ 
+ 				return;
+ 			}
+ 
+ 			// Handle scripts
+ 			if (this.editor.settings.media_use_script) {
+ 				replacement = new Node('script', 1).attr('type', 'text/javascript');
+ 
+ 				value = new Node('#text', 3);
+ 				value.value = 'write' + typeItem.name + '(' + JSON.serialize(tinymce.extend(data.params, {
+ 					width: node.attr('width'),
+ 					height: node.attr('height')
+ 				})) + ');';
+ 
+ 				replacement.append(value);
+ 				node.replace(replacement);
+ 
+ 				return;
+ 			}
+ 
+ 			// Add HTML5 video element
+ 			if (typeItem.name === 'Video' && data.video.sources[0]) {
+ 				// Create new object element
+ 				video = new Node('video', 1).attr(tinymce.extend({
+ 					id : node.attr('id'),
+ 					width: node.attr('width'),
+ 					height: node.attr('height'),
+ 					style : style
+ 				}, data.video.attrs));
+ 
+ 				// Get poster source and use that for flash fallback
+ 				if (data.video.attrs)
+ 					posterSrc = data.video.attrs.poster;
+ 
+ 				sources = data.video.sources = toArray(data.video.sources);
+ 				for (i = 0; i < sources.length; i++) {
+ 					if (/\.mp4$/.test(sources[i].src))
+ 						mp4Source = sources[i].src;
+ 				}
+ 
+ 				if (!sources[0].type) {
+ 					video.attr('src', sources[0].src);
+ 					sources.splice(0, 1);
+ 				}
+ 
+ 				for (i = 0; i < sources.length; i++) {
+ 					source = new Node('source', 1).attr(sources[i]);
+ 					source.shortEnded = true;
+ 					video.append(source);
+ 				}
+ 
+ 				// Create flash fallback for video if we have a mp4 source
+ 				if (mp4Source) {
+ 					addPlayer(mp4Source, posterSrc);
+ 					typeItem = self.getType('flash');
+ 				} else
+ 					data.params.src = '';
+ 			}
+ 
+ 			// Add HTML5 audio element
+ 			if (typeItem.name === 'Audio' && data.video.sources[0]) {
+ 				// Create new object element
+ 				audio = new Node('audio', 1).attr(tinymce.extend({
+ 					id : node.attr('id'),
+ 					width: node.attr('width'),
+ 					height: node.attr('height'),
+ 					style : style
+ 				}, data.video.attrs));
+ 
+ 				// Get poster source and use that for flash fallback
+ 				if (data.video.attrs)
+ 					posterSrc = data.video.attrs.poster;
+ 
+ 				sources = data.video.sources = toArray(data.video.sources);
+ 				if (!sources[0].type) {
+ 					audio.attr('src', sources[0].src);
+ 					sources.splice(0, 1);
+ 				}
+ 
+ 				for (i = 0; i < sources.length; i++) {
+ 					source = new Node('source', 1).attr(sources[i]);
+ 					source.shortEnded = true;
+ 					audio.append(source);
+ 				}
+ 
+ 				data.params.src = '';
+ 			}
+ 
+ 			if (typeItem.name === 'EmbeddedAudio') {
+ 				embed = new Node('embed', 1);
+ 				embed.shortEnded = true;
+ 				embed.attr({
+ 					id: node.attr('id'),
+ 					width: node.attr('width'),
+ 					height: node.attr('height'),
+ 					style : style,
+ 					type: node.attr('type')
+ 				});
+ 
+ 				for (name in data.params)
+ 					embed.attr(name, data.params[name]);
+ 
+ 				tinymce.each(rootAttributes, function(name) {
+ 					if (data[name] && name != 'type')
+ 						embed.attr(name, data[name]);
+ 				});
+ 
+ 				data.params.src = '';
+ 			}
+ 
+ 			// Do we have a params src then we can generate object
+ 			if (data.params.src) {
+ 				// Is flv movie add player for it
+ 				if (/\.flv$/i.test(data.params.src))
+ 					addPlayer(data.params.src, '');
+ 
+ 				if (args && args.force_absolute)
+ 					data.params.src = editor.documentBaseURI.toAbsolute(data.params.src);
+ 
+ 				// Create new object element
+ 				object = new Node('object', 1).attr({
+ 					id : node.attr('id'),
+ 					width: node.attr('width'),
+ 					height: node.attr('height'),
+ 					style : style
+ 				});
+ 
+ 				tinymce.each(rootAttributes, function(name) {
+ 					var value = data[name];
+ 
+ 					if (name == 'class' && value)
+ 						value = value.replace(/mceItem.+ ?/g, '');
+ 
+ 					if (value && name != 'type')
+ 						object.attr(name, value);
+ 				});
+ 
+ 				// Add params
+ 				for (name in data.params) {
+ 					param = new Node('param', 1);
+ 					param.shortEnded = true;
+ 					value = data.params[name];
+ 
+ 					// Windows media needs to use url instead of src for the media URL
+ 					if (name === 'src' && typeItem.name === 'WindowsMedia')
+ 						name = 'url';
+ 
+ 					param.attr({name: name, value: value});
+ 					object.append(param);
+ 				}
+ 
+ 				// Setup add type and classid if strict is disabled
+ 				if (this.editor.getParam('media_strict', true)) {
+ 					object.attr({
+ 						data: data.params.src,
+ 						type: typeItem.mimes[0]
+ 					});
+ 				} else {
+ 					object.attr({
+ 						classid: "clsid:" + typeItem.clsids[0],
+ 						codebase: typeItem.codebase
+ 					});
+ 
+ 					embed = new Node('embed', 1);
+ 					embed.shortEnded = true;
+ 					embed.attr({
+ 						id: node.attr('id'),
+ 						width: node.attr('width'),
+ 						height: node.attr('height'),
+ 						style : style,
+ 						type: typeItem.mimes[0]
+ 					});
+ 
+ 					for (name in data.params)
+ 						embed.attr(name, data.params[name]);
+ 
+ 					tinymce.each(rootAttributes, function(name) {
+ 						if (data[name] && name != 'type')
+ 							embed.attr(name, data[name]);
+ 					});
+ 
+ 					object.append(embed);
+ 				}
+ 
+ 				// Insert raw HTML
+ 				if (data.object_html) {
+ 					value = new Node('#text', 3);
+ 					value.raw = true;
+ 					value.value = data.object_html;
+ 					object.append(value);
+ 				}
+ 
+ 				// Append object to video element if it exists
+ 				if (video)
+ 					video.append(object);
+ 			}
+ 
+ 			if (video) {
+ 				// Insert raw HTML
+ 				if (data.video_html) {
+ 					value = new Node('#text', 3);
+ 					value.raw = true;
+ 					value.value = data.video_html;
+ 					video.append(value);
+ 				}
+ 			}
+ 
+ 			if (audio) {
+ 				// Insert raw HTML
+ 				if (data.video_html) {
+ 					value = new Node('#text', 3);
+ 					value.raw = true;
+ 					value.value = data.video_html;
+ 					audio.append(value);
+ 				}
+ 			}
+ 
+ 			var n = video || audio || object || embed;
+ 			if (n)
+ 				node.replace(n);
+ 			else
+ 				node.remove();
+ 		},
+ 
+ 		/**
+ 		 * Converts a tinymce.html.Node video/object/embed to an img element.
+ 		 *
+ 		 * The video/object/embed will be converted into an image placeholder with a JSON data attribute like this:
+ 		 * <img class="mceItemMedia mceItemFlash" width="100" height="100" data-mce-json="{..}" />
+ 		 *
+ 		 * The JSON structure will be like this:
+ 		 * {'params':{'flashvars':'something','quality':'high','src':'someurl'}, 'video':{'sources':[{src: 'someurl', type: 'video/mp4'}]}}
+ 		 */
+ 		objectToImg : function(node) {
+ 			var object, embed, video, iframe, img, name, id, width, height, style, i, html,
+ 				param, params, source, sources, data, type, lookup = this.lookup,
+ 				matches, attrs, urlConverter = this.editor.settings.url_converter,
+ 				urlConverterScope = this.editor.settings.url_converter_scope,
+ 				hspace, vspace, align, bgcolor;
+ 
+ 			function getInnerHTML(node) {
+ 				return new tinymce.html.Serializer({
+ 					inner: true,
+ 					validate: false
+ 				}).serialize(node);
+ 			};
+ 
+ 			function lookupAttribute(o, attr) {
+ 				return lookup[(o.attr(attr) || '').toLowerCase()];
+ 			}
+ 
+ 			function lookupExtension(src) {
+ 				var ext = src.replace(/^.*\.([^.]+)$/, '$1');
+ 				return lookup[ext.toLowerCase() || ''];
+ 			}
+ 
+ 			// If node isn't in document
+ 			if (!node.parent)
+ 				return;
+ 
+ 			// Handle media scripts
+ 			if (node.name === 'script') {
+ 				if (node.firstChild)
+ 					matches = scriptRegExp.exec(node.firstChild.value);
+ 
+ 				if (!matches)
+ 					return;
+ 
+ 				type = matches[1];
+ 				data = {video : {}, params : JSON.parse(matches[2])};
+ 				width = data.params.width;
+ 				height = data.params.height;
+ 			}
+ 
+ 			// Setup data objects
+ 			data = data || {
+ 				video : {},
+ 				params : {}
+ 			};
+ 
+ 			// Setup new image object
+ 			img = new Node('img', 1);
+ 			img.attr({
+ 				src : this.editor.theme.url + '/img/trans.gif'
+ 			});
+ 
+ 			// Video element
+ 			name = node.name;
+ 			if (name === 'video' || name == 'audio') {
+ 				video = node;
+ 				object = node.getAll('object')[0];
+ 				embed = node.getAll('embed')[0];
+ 				width = video.attr('width');
+ 				height = video.attr('height');
+ 				id = video.attr('id');
+ 				data.video = {attrs : {}, sources : []};
+ 
+ 				// Get all video attributes
+ 				attrs = data.video.attrs;
+ 				for (name in video.attributes.map)
+ 					attrs[name] = video.attributes.map[name];
+ 
+ 				source = node.attr('src');
+ 				if (source)
+ 					data.video.sources.push({src : urlConverter.call(urlConverterScope, source, 'src', node.name)});
+ 
+ 				// Get all sources
+ 				sources = video.getAll("source");
+ 				for (i = 0; i < sources.length; i++) {
+ 					source = sources[i].remove();
+ 
+ 					data.video.sources.push({
+ 						src: urlConverter.call(urlConverterScope, source.attr('src'), 'src', 'source'),
+ 						type: source.attr('type'),
+ 						media: source.attr('media')
+ 					});
+ 				}
+ 
+ 				// Convert the poster URL
+ 				if (attrs.poster)
+ 					attrs.poster = urlConverter.call(urlConverterScope, attrs.poster, 'poster', node.name);
+ 			}
+ 
+ 			// Object element
+ 			if (node.name === 'object') {
+ 				object = node;
+ 				embed = node.getAll('embed')[0];
+ 			}
+ 
+ 			// Embed element
+ 			if (node.name === 'embed')
+ 				embed = node;
+ 
+ 			// Iframe element
+ 			if (node.name === 'iframe') {
+ 				iframe = node;
+ 				type = 'Iframe';
+ 			}
+ 
+ 			if (object) {
+ 				// Get width/height
+ 				width = width || object.attr('width');
+ 				height = height || object.attr('height');
+ 				style = style || object.attr('style');
+ 				id = id || object.attr('id');
+ 				hspace = hspace || object.attr('hspace');
+ 				vspace = vspace || object.attr('vspace');
+ 				align = align || object.attr('align');
+ 				bgcolor = bgcolor || object.attr('bgcolor');
+ 				data.name = object.attr('name');
+ 
+ 				// Get all object params
+ 				params = object.getAll("param");
+ 				for (i = 0; i < params.length; i++) {
+ 					param = params[i];
+ 					name = param.remove().attr('name');
+ 
+ 					if (!excludedAttrs[name])
+ 						data.params[name] = param.attr('value');
+ 				}
+ 
+ 				data.params.src = data.params.src || object.attr('data');
+ 			}
+ 
+ 			if (embed) {
+ 				// Get width/height
+ 				width = width || embed.attr('width');
+ 				height = height || embed.attr('height');
+ 				style = style || embed.attr('style');
+ 				id = id || embed.attr('id');
+ 				hspace = hspace || embed.attr('hspace');
+ 				vspace = vspace || embed.attr('vspace');
+ 				align = align || embed.attr('align');
+ 				bgcolor = bgcolor || embed.attr('bgcolor');
+ 
+ 				// Get all embed attributes
+ 				for (name in embed.attributes.map) {
+ 					if (!excludedAttrs[name] && !data.params[name])
+ 						data.params[name] = embed.attributes.map[name];
+ 				}
+ 			}
+ 
+ 			if (iframe) {
+ 				// Get width/height
+ 				width = iframe.attr('width');
+ 				height = iframe.attr('height');
+ 				style = style || iframe.attr('style');
+ 				id = iframe.attr('id');
+ 				hspace = iframe.attr('hspace');
+ 				vspace = iframe.attr('vspace');
+ 				align = iframe.attr('align');
+ 				bgcolor = iframe.attr('bgcolor');
+ 
+ 				tinymce.each(rootAttributes, function(name) {
+ 					img.attr(name, iframe.attr(name));
+ 				});
+ 
+ 				// Get all iframe attributes
+ 				for (name in iframe.attributes.map) {
+ 					if (!excludedAttrs[name] && !data.params[name])
+ 						data.params[name] = iframe.attributes.map[name];
+ 				}
+ 			}
+ 
+ 			// Use src not movie
+ 			if (data.params.movie) {
+ 				data.params.src = data.params.src || data.params.movie;
+ 				delete data.params.movie;
+ 			}
+ 
+ 			// Convert the URL to relative/absolute depending on configuration
+ 			if (data.params.src)
+ 				data.params.src = urlConverter.call(urlConverterScope, data.params.src, 'src', 'object');
+ 
+ 			if (video) {
+ 				if (node.name === 'video')
+ 					type = lookup.video.name;
+ 				else if (node.name === 'audio')
+ 					type = lookup.audio.name;
+ 			}
+ 
+ 			if (object && !type)
+ 				type = (lookupAttribute(object, 'clsid') || lookupAttribute(object, 'classid') || lookupAttribute(object, 'type') || {}).name;
+ 
+ 			if (embed && !type)
+ 				type = (lookupAttribute(embed, 'type') || lookupExtension(data.params.src) || {}).name;
+ 
+ 			// for embedded audio we preserve the original specified type
+ 			if (embed && type == 'EmbeddedAudio') {
+ 				data.params.type = embed.attr('type');
+ 			}
+ 
+ 			// Replace the video/object/embed element with a placeholder image containing the data
+ 			node.replace(img);
+ 
+ 			// Remove embed
+ 			if (embed)
+ 				embed.remove();
+ 
+ 			// Serialize the inner HTML of the object element
+ 			if (object) {
+ 				html = getInnerHTML(object.remove());
+ 
+ 				if (html)
+ 					data.object_html = html;
+ 			}
+ 
+ 			// Serialize the inner HTML of the video element
+ 			if (video) {
+ 				html = getInnerHTML(video.remove());
+ 
+ 				if (html)
+ 					data.video_html = html;
+ 			}
+ 
+ 			data.hspace = hspace;
+ 			data.vspace = vspace;
+ 			data.align = align;
+ 			data.bgcolor = bgcolor;
+ 
+ 			// Set width/height of placeholder
+ 			img.attr({
+ 				id : id,
+ 				'class' : 'mceItemMedia mceItem' + (type || 'Flash'),
+ 				style : style,
+ 				width : width || (node.name == 'audio' ? "300" : "320"),
+ 				height : height || (node.name == 'audio' ? "32" : "240"),
+ 				hspace : hspace,
+ 				vspace : vspace,
+ 				align : align,
+ 				bgcolor : bgcolor,
+ 				"data-mce-json" : JSON.serialize(data, "'")
+ 			});
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/js/media.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/js/media.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/js/media.js	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/js/media.js	2012-03-14 19:47:06.000000000 -0500
***************
*** 8,13 ****
--- 8,40 ----
  		return document.getElementById(id);
  	}
  
+ 	function clone(obj) {
+ 		var i, len, copy, attr;
+ 
+ 		if (null == obj || "object" != typeof obj)
+ 			return obj;
+ 
+ 		// Handle Array
+ 		if ('length' in obj) {
+ 			copy = [];
+ 
+ 			for (i = 0, len = obj.length; i < len; ++i) {
+ 				copy[i] = clone(obj[i]);
+ 			}
+ 
+ 			return copy;
+ 		}
+ 
+ 		// Handle Object
+ 		copy = {};
+ 		for (attr in obj) {
+ 			if (obj.hasOwnProperty(attr))
+ 				copy[attr] = clone(obj[attr]);
+ 		}
+ 
+ 		return copy;
+ 	}
+ 
  	function getVal(id) {
  		var elm = get(id);
  
***************
*** 21,27 ****
  	}
  
  	function setVal(id, value, name) {
! 		if (typeof(value) != 'undefined') {
  			var elm = get(id);
  
  			if (elm.nodeName == "SELECT")
--- 48,54 ----
  	}
  
  	function setVal(id, value, name) {
! 		if (typeof(value) != 'undefined' && value != null) {
  			var elm = get(id);
  
  			if (elm.nodeName == "SELECT")
***************
*** 39,47 ****
  
  	window.Media = {
  		init : function() {
! 			var html, editor;
  
! 			this.editor = editor = tinyMCEPopup.editor;
  
  			// Setup file browsers and color pickers
  			get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
--- 66,74 ----
  
  	window.Media = {
  		init : function() {
! 			var html, editor, self = this;
  
! 			self.editor = editor = tinyMCEPopup.editor;
  
  			// Setup file browsers and color pickers
  			get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
***************
*** 53,59 ****
  			get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media');
  			get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','media','image');
  
! 			html = this.getMediaListHTML('medialist', 'src', 'media', 'media');
  			if (html == "")
  				get("linklistrow").style.display = 'none';
  			else
--- 80,86 ----
  			get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media');
  			get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','media','image');
  
! 			html = self.getMediaListHTML('medialist', 'src', 'media', 'media');
  			if (html == "")
  				get("linklistrow").style.display = 'none';
  			else
***************
*** 77,85 ****
  			if (isVisible('filebrowser_poster'))
  				get('video_poster').style.width = '220px';
  
! 			this.data = tinyMCEPopup.getWindowArg('data');
! 			this.dataToForm();
! 			this.preview();
  		},
  
  		insert : function() {
--- 104,117 ----
  			if (isVisible('filebrowser_poster'))
  				get('video_poster').style.width = '220px';
  
! 			editor.dom.setOuterHTML(get('media_type'), self.getMediaTypeHTML(editor));
! 
! 			self.setDefaultDialogSettings(editor);
! 			self.data = clone(tinyMCEPopup.getWindowArg('data'));
! 			self.dataToForm();
! 			self.preview();
! 
! 			updateColor('bgcolor_pick', 'bgcolor');
  		},
  
  		insert : function() {
***************
*** 97,103 ****
  		},
  
  		moveStates : function(to_form, field) {
! 			var data = this.data, editor = this.editor, data = this.data,
  				mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src;
  
  			defaultStates = {
--- 129,135 ----
  		},
  
  		moveStates : function(to_form, field) {
! 			var data = this.data, editor = this.editor,
  				mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src;
  
  			defaultStates = {
***************
*** 144,157 ****
  						formItemName = type == 'global' ? name : type + '_' + name;
  
  						if (type == 'global')
! 							list = data;
! 						else if (type == 'video' || type == 'audio') {
  							list = data.video.attrs;
  
  							if (!list && !to_form)
! 								data.video.attrs = list = {};
  						} else
! 							list = data.params;
  
  						if (list) {
  							if (to_form) {
--- 176,189 ----
  						formItemName = type == 'global' ? name : type + '_' + name;
  
  						if (type == 'global')
! 						list = data;
! 					else if (type == 'video' || type == 'audio') {
  							list = data.video.attrs;
  
  							if (!list && !to_form)
! 							data.video.attrs = list = {};
  						} else
! 						list = data.params;
  
  						if (list) {
  							if (to_form) {
***************
*** 209,214 ****
--- 241,247 ----
  			get('shockwave_options').style.display = 'none';
  			get('windowsmedia_options').style.display = 'none';
  			get('realmedia_options').style.display = 'none';
+ 			get('embeddedaudio_options').style.display = 'none';
  
  			if (get(data.type + '_options'))
  				get(data.type + '_options').style.display = 'block';
***************
*** 222,227 ****
--- 255,261 ----
  			setOptions('realmedia', 'autostart,loop,autogotourl,center,imagestatus,maintainaspect,nojava,prefetch,shuffle,console,controls,numloop,scriptcallbacks');
  			setOptions('video', 'poster,autoplay,loop,muted,preload,controls');
  			setOptions('audio', 'autoplay,loop,preload,controls');
+ 			setOptions('embeddedaudio', 'autoplay,loop,controls');
  			setOptions('global', 'id,name,vspace,hspace,bgcolor,align,width,height');
  
  			if (to_form) {
***************
*** 252,258 ****
  					if (data.type == 'flash') {
  						tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) {
  							if (value == '$url')
! 								data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src;
  						});
  					}
  
--- 286,292 ----
  					if (data.type == 'flash') {
  						tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) {
  							if (value == '$url')
! 								data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src || '';
  						});
  					}
  
***************
*** 260,266 ****
  				}
  			} else {
  				src = getVal("src");
! 	
  				// YouTube
  				if (src.match(/youtube.com(.+)v=([^&]+)/)) {
  					data.width = 425;
--- 294,311 ----
  				}
  			} else {
  				src = getVal("src");
! 
! 				// YouTube *NEW*
! 				if (src.match(/youtu.be\/[a-z1-9.-_]+/)) {
! 					data.width = 425;
! 					data.height = 350;
! 					data.params.frameborder = '0';
! 					data.type = 'iframe';
! 					src = 'http://www.youtube.com/embed/' + src.match(/youtu.be\/([a-z1-9.-_]+)/)[1];
! 					setVal('src', src);
! 					setVal('media_type', data.type);
! 				}
! 
  				// YouTube
  				if (src.match(/youtube.com(.+)v=([^&]+)/)) {
  					data.width = 425;
***************
*** 331,337 ****
  				this.panel = 'source';
  			} else {
  				if (this.panel == 'source') {
! 					this.data = this.editor.plugins.media.htmlToData(getVal('source'));
  					this.dataToForm();
  					this.panel = '';
  				}
--- 376,382 ----
  				this.panel = 'source';
  			} else {
  				if (this.panel == 'source') {
! 					this.data = clone(this.editor.plugins.media.htmlToData(getVal('source')));
  					this.dataToForm();
  					this.panel = '';
  				}
***************
*** 379,384 ****
--- 424,465 ----
  			}
  
  			return "";
+ 		},
+ 
+ 		getMediaTypeHTML : function(editor) {
+ 			function option(media_type, element) {
+ 				if (!editor.schema.getElementRule(element || media_type)) {
+ 					return '';
+ 				}
+ 
+ 				return '<option value="'+media_type+'">'+tinyMCEPopup.editor.translate("media_dlg."+media_type)+'</option>'
+ 			}
+ 
+ 			var html = "";
+ 
+ 			html += '<select id="media_type" name="media_type" onchange="Media.formToData(\'type\');">';
+ 			html += option("video");
+ 			html += option("audio");
+ 			html += option("flash", "object");
+ 			html += option("quicktime", "object");
+ 			html += option("shockwave", "object");
+ 			html += option("windowsmedia", "object");
+ 			html += option("realmedia", "object");
+ 			html += option("iframe");
+ 
+ 			if (editor.getParam('media_embedded_audio', false)) {
+ 				html += option('embeddedaudio', "object");
+ 			}
+ 
+ 			html += '</select>';
+ 			return html;
+ 		},
+ 
+ 		setDefaultDialogSettings : function(editor) {
+ 			var defaultDialogSettings = editor.getParam("media_dialog_defaults", {});
+ 			tinymce.each(defaultDialogSettings, function(v, k) {
+ 				setVal(k, v);
+ 			});
  		}
  	};
  
***************
*** 386,389 ****
  	tinyMCEPopup.onInit.add(function() {
  		Media.init();
  	});
! })();
\ No newline at end of file
--- 467,470 ----
  	tinyMCEPopup.onInit.add(function() {
  		Media.init();
  	});
! })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/media.htm ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/media.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/media.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/media.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,14 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#media_dlg.title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/media.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/validate.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/form_utils.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/editable_selects.js?ver=345-20110908"></script>
! 	<link href="css/media.css?ver=345-20110908" rel="stylesheet" type="text/css" />
  </head>
  <body style="display: none" role="application">
  <form onsubmit="Media.insert();return false;" action="#">
--- 2,14 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#media_dlg.title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/media.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/validate.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/form_utils.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/editable_selects.js?ver=349-20120314"></script>
! 	<link href="css/media.css?ver=349-20120314" rel="stylesheet" type="text/css" />
  </head>
  <body style="display: none" role="application">
  <form onsubmit="Media.insert();return false;" action="#">
***************
*** 29,44 ****
  							<tr>
  								<td><label for="media_type">{#media_dlg.type}</label></td>
  								<td>
! 									<select id="media_type" name="media_type" onchange="Media.formToData('type');">
! 										<option value="video">HTML5 Video</option>
! 										<option value="audio">HTML5 Audio</option>
! 										<option value="flash">Flash</option>
! 										<option value="quicktime">QuickTime</option>
! 										<option value="shockwave">Shockwave</option>
! 										<option value="windowsmedia">Windows Media</option>
! 										<option value="realmedia">Real Media</option>
! 										<option value="iframe">Iframe</option>
! 									</select>
  								</td>
  							</tr>
  							<tr>
--- 29,35 ----
  							<tr>
  								<td><label for="media_type">{#media_dlg.type}</label></td>
  								<td>
! 									<select id="media_type"></select>
  								</td>
  							</tr>
  							<tr>
***************
*** 214,219 ****
--- 205,245 ----
  					</table>
  				</fieldset>
  
+ 				<fieldset id="embeddedaudio_options">
+ 					<legend>{#media_dlg.embedded_audio_options}</legend>
+ 
+ 					<table role="presentation" border="0" cellpadding="4" cellspacing="0">
+ 						<tr>
+ 							<td>
+ 								<table role="presentation" border="0" cellpadding="0" cellspacing="0">
+ 									<tr>
+ 										<td><input type="checkbox" class="checkbox" id="embeddedaudio_autoplay" name="audio_autoplay" onchange="Media.formToData();" /></td>
+ 										<td><label for="audio_autoplay">{#media_dlg.play}</label></td>
+ 									</tr>
+ 								</table>
+ 							</td>
+ 
+ 							<td>
+ 								<table role="presentation" border="0" cellpadding="0" cellspacing="0">
+ 									<tr>
+ 										<td><input type="checkbox" class="checkbox" id="embeddedaudio_loop" name="audio_loop" onchange="Media.formToData();" /></td>
+ 										<td><label for="audio_loop">{#media_dlg.loop}</label></td>
+ 									</tr>
+ 								</table>
+ 							</td>
+ 
+ 							<td>
+ 								<table role="presentation" border="0" cellpadding="0" cellspacing="0">
+ 									<tr>
+ 										<td><input type="checkbox" class="checkbox" id="embeddedaudio_controls" name="audio_controls" onchange="Media.formToData();" /></td>
+ 										<td><label for="audio_controls">{#media_dlg.controls}</label></td>
+ 									</tr>
+ 								</table>
+ 							</td>
+ 						</tr>
+ 					</table>
+ 				</fieldset>
+ 
  				<fieldset id="audio_options">
  					<legend>{#media_dlg.html5_audio_options}</legend>
  
***************
*** 246,252 ****
  							<td><label for="audio_preload">{#media_dlg.preload}</label></td>
  							<td>
  								<select id="audio_preload" name="audio_preload" onchange="Media.formToData();">
! 									<option value="none">{#media_dlg.preload_none}</option> 
  									<option value="metadata">{#media_dlg.preload_metadata}</option>
  									<option value="auto">{#media_dlg.preload_auto}</option>
  								</select>
--- 272,278 ----
  							<td><label for="audio_preload">{#media_dlg.preload}</label></td>
  							<td>
  								<select id="audio_preload" name="audio_preload" onchange="Media.formToData();">
! 									<option value="none">{#media_dlg.preload_none}</option>
  									<option value="metadata">{#media_dlg.preload_metadata}</option>
  									<option value="auto">{#media_dlg.preload_auto}</option>
  								</select>
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/media/moxieplayer.swf and ./wordpress-3.4/wp-includes/js/tinymce/plugins/media/moxieplayer.swf differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/blank.htm ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/blank.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/blank.htm	2009-04-17 17:43:57.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/blank.htm	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,21 ****
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>blank_page</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <link href="css/blank.css?ver=3223_1087" rel="stylesheet" type="text/css" />
- <script type="text/javascript">
- function init() {
- 	if (parent.tinymce.isIE)
- 		document.body.contentEditable = true;
- 	else
- 		document.designMode = 'on';
- 
- 	parent.initIframe(document);
- 	window.focus();
- }
- </script>
- </head>
- <body onload="init();">
- 
- </body>
- </html>
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,871 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	var each = tinymce.each,
+ 		defs = {
+ 			paste_auto_cleanup_on_paste : true,
+ 			paste_enable_default_filters : true,
+ 			paste_block_drop : false,
+ 			paste_retain_style_properties : "none",
+ 			paste_strip_class_attributes : "mso",
+ 			paste_remove_spans : false,
+ 			paste_remove_styles : false,
+ 			paste_remove_styles_if_webkit : true,
+ 			paste_convert_middot_lists : true,
+ 			paste_convert_headers_to_strong : false,
+ 			paste_dialog_width : "450",
+ 			paste_dialog_height : "400",
+ 			paste_text_use_dialog : false,
+ 			paste_text_sticky : false,
+ 			paste_text_sticky_default : false,
+ 			paste_text_notifyalways : false,
+ 			paste_text_linebreaktype : "combined",
+ 			paste_text_replacements : [
+ 				[/\u2026/g, "..."],
+ 				[/[\x93\x94\u201c\u201d]/g, '"'],
+ 				[/[\x60\x91\x92\u2018\u2019]/g, "'"]
+ 			]
+ 		};
+ 
+ 	function getParam(ed, name) {
+ 		return ed.getParam(name, defs[name]);
+ 	}
+ 
+ 	tinymce.create('tinymce.plugins.PastePlugin', {
+ 		init : function(ed, url) {
+ 			var t = this;
+ 
+ 			t.editor = ed;
+ 			t.url = url;
+ 
+ 			// Setup plugin events
+ 			t.onPreProcess = new tinymce.util.Dispatcher(t);
+ 			t.onPostProcess = new tinymce.util.Dispatcher(t);
+ 
+ 			// Register default handlers
+ 			t.onPreProcess.add(t._preProcess);
+ 			t.onPostProcess.add(t._postProcess);
+ 
+ 			// Register optional preprocess handler
+ 			t.onPreProcess.add(function(pl, o) {
+ 				ed.execCallback('paste_preprocess', pl, o);
+ 			});
+ 
+ 			// Register optional postprocess
+ 			t.onPostProcess.add(function(pl, o) {
+ 				ed.execCallback('paste_postprocess', pl, o);
+ 			});
+ 
+ 			ed.onKeyDown.addToTop(function(ed, e) {
+ 				// Block ctrl+v from adding an undo level since the default logic in tinymce.Editor will add that
+ 				if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
+ 					return false; // Stop other listeners
+ 			});
+ 
+ 			// Initialize plain text flag
+ 			ed.pasteAsPlainText = getParam(ed, 'paste_text_sticky_default');
+ 
+ 			// This function executes the process handlers and inserts the contents
+ 			// force_rich overrides plain text mode set by user, important for pasting with execCommand
+ 			function process(o, force_rich) {
+ 				var dom = ed.dom, rng;
+ 
+ 				// Execute pre process handlers
+ 				t.onPreProcess.dispatch(t, o);
+ 
+ 				// Create DOM structure
+ 				o.node = dom.create('div', 0, o.content);
+ 
+ 				// If pasting inside the same element and the contents is only one block
+ 				// remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element
+ 				if (tinymce.isGecko) {
+ 					rng = ed.selection.getRng(true);
+ 					if (rng.startContainer == rng.endContainer && rng.startContainer.nodeType == 3) {
+ 						// Is only one block node and it doesn't contain word stuff
+ 						if (o.node.childNodes.length === 1 && /^(p|h[1-6]|pre)$/i.test(o.node.firstChild.nodeName) && o.content.indexOf('__MCE_ITEM__') === -1)
+ 							dom.remove(o.node.firstChild, true);
+ 					}
+ 				}
+ 
+ 				// Execute post process handlers
+ 				t.onPostProcess.dispatch(t, o);
+ 
+ 				// Serialize content
+ 				o.content = ed.serializer.serialize(o.node, {getInner : 1, forced_root_block : ''});
+ 
+ 				// Plain text option active?
+ 				if ((!force_rich) && (ed.pasteAsPlainText)) {
+ 					t._insertPlainText(o.content);
+ 
+ 					if (!getParam(ed, "paste_text_sticky")) {
+ 						ed.pasteAsPlainText = false;
+ 						ed.controlManager.setActive("pastetext", false);
+ 					}
+ 				} else {
+ 					t._insert(o.content);
+ 				}
+ 			}
+ 
+ 			// Add command for external usage
+ 			ed.addCommand('mceInsertClipboardContent', function(u, o) {
+ 				process(o, true);
+ 			});
+ 
+ 			if (!getParam(ed, "paste_text_use_dialog")) {
+ 				ed.addCommand('mcePasteText', function(u, v) {
+ 					var cookie = tinymce.util.Cookie;
+ 
+ 					ed.pasteAsPlainText = !ed.pasteAsPlainText;
+ 					ed.controlManager.setActive('pastetext', ed.pasteAsPlainText);
+ 
+ 					if ((ed.pasteAsPlainText) && (!cookie.get("tinymcePasteText"))) {
+ 						if (getParam(ed, "paste_text_sticky")) {
+ 							ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky'));
+ 						} else {
+ 							ed.windowManager.alert(ed.translate('paste.plaintext_mode'));
+ 						}
+ 
+ 						if (!getParam(ed, "paste_text_notifyalways")) {
+ 							cookie.set("tinymcePasteText", "1", new Date(new Date().getFullYear() + 1, 12, 31))
+ 						}
+ 					}
+ 				});
+ 			}
+ 
+ 			ed.addButton('pastetext', {title: 'paste.paste_text_desc', cmd: 'mcePasteText'});
+ 			ed.addButton('selectall', {title: 'paste.selectall_desc', cmd: 'selectall'});
+ 
+ 			// This function grabs the contents from the clipboard by adding a
+ 			// hidden div and placing the caret inside it and after the browser paste
+ 			// is done it grabs that contents and processes that
+ 			function grabContent(e) {
+ 				var n, or, rng, oldRng, sel = ed.selection, dom = ed.dom, body = ed.getBody(), posY, textContent;
+ 
+ 				// Check if browser supports direct plaintext access
+ 				if (e.clipboardData || dom.doc.dataTransfer) {
+ 					textContent = (e.clipboardData || dom.doc.dataTransfer).getData('Text');
+ 
+ 					if (ed.pasteAsPlainText) {
+ 						e.preventDefault();
+ 						process({content : dom.encode(textContent).replace(/\r?\n/g, '<br />')});
+ 						return;
+ 					}
+ 				}
+ 
+ 				if (dom.get('_mcePaste'))
+ 					return;
+ 
+ 				// Create container to paste into
+ 				n = dom.add(body, 'div', {id : '_mcePaste', 'class' : 'mcePaste', 'data-mce-bogus' : '1'}, '\uFEFF\uFEFF');
+ 
+ 				// If contentEditable mode we need to find out the position of the closest element
+ 				if (body != ed.getDoc().body)
+ 					posY = dom.getPos(ed.selection.getStart(), body).y;
+ 				else
+ 					posY = body.scrollTop + dom.getViewPort(ed.getWin()).y;
+ 
+ 				// Styles needs to be applied after the element is added to the document since WebKit will otherwise remove all styles
+ 				// If also needs to be in view on IE or the paste would fail
+ 				dom.setStyles(n, {
+ 					position : 'absolute',
+ 					left : tinymce.isGecko ? -40 : 0, // Need to move it out of site on Gecko since it will othewise display a ghost resize rect for the div
+ 					top : posY - 25,
+ 					width : 1,
+ 					height : 1,
+ 					overflow : 'hidden'
+ 				});
+ 
+ 				if (tinymce.isIE) {
+ 					// Store away the old range
+ 					oldRng = sel.getRng();
+ 
+ 					// Select the container
+ 					rng = dom.doc.body.createTextRange();
+ 					rng.moveToElementText(n);
+ 					rng.execCommand('Paste');
+ 
+ 					// Remove container
+ 					dom.remove(n);
+ 
+ 					// Check if the contents was changed, if it wasn't then clipboard extraction failed probably due
+ 					// to IE security settings so we pass the junk though better than nothing right
+ 					if (n.innerHTML === '\uFEFF\uFEFF') {
+ 						ed.execCommand('mcePasteWord');
+ 						e.preventDefault();
+ 						return;
+ 					}
+ 
+ 					// Restore the old range and clear the contents before pasting
+ 					sel.setRng(oldRng);
+ 					sel.setContent('');
+ 
+ 					// For some odd reason we need to detach the the mceInsertContent call from the paste event
+ 					// It's like IE has a reference to the parent element that you paste in and the selection gets messed up
+ 					// when it tries to restore the selection
+ 					setTimeout(function() {
+ 						// Process contents
+ 						process({content : n.innerHTML});
+ 					}, 0);
+ 
+ 					// Block the real paste event
+ 					return tinymce.dom.Event.cancel(e);
+ 				} else {
+ 					function block(e) {
+ 						e.preventDefault();
+ 					};
+ 
+ 					// Block mousedown and click to prevent selection change
+ 					dom.bind(ed.getDoc(), 'mousedown', block);
+ 					dom.bind(ed.getDoc(), 'keydown', block);
+ 
+ 					or = ed.selection.getRng();
+ 
+ 					// Move select contents inside DIV
+ 					n = n.firstChild;
+ 					rng = ed.getDoc().createRange();
+ 					rng.setStart(n, 0);
+ 					rng.setEnd(n, 2);
+ 					sel.setRng(rng);
+ 
+ 					// Wait a while and grab the pasted contents
+ 					window.setTimeout(function() {
+ 						var h = '', nl;
+ 
+ 						// Paste divs duplicated in paste divs seems to happen when you paste plain text so lets first look for that broken behavior in WebKit
+ 						if (!dom.select('div.mcePaste > div.mcePaste').length) {
+ 							nl = dom.select('div.mcePaste');
+ 
+ 							// WebKit will split the div into multiple ones so this will loop through then all and join them to get the whole HTML string
+ 							each(nl, function(n) {
+ 								var child = n.firstChild;
+ 
+ 								// WebKit inserts a DIV container with lots of odd styles
+ 								if (child && child.nodeName == 'DIV' && child.style.marginTop && child.style.backgroundColor) {
+ 									dom.remove(child, 1);
+ 								}
+ 
+ 								// Remove apply style spans
+ 								each(dom.select('span.Apple-style-span', n), function(n) {
+ 									dom.remove(n, 1);
+ 								});
+ 
+ 								// Remove bogus br elements
+ 								each(dom.select('br[data-mce-bogus]', n), function(n) {
+ 									dom.remove(n);
+ 								});
+ 
+ 								// WebKit will make a copy of the DIV for each line of plain text pasted and insert them into the DIV
+ 								if (n.parentNode.className != 'mcePaste')
+ 									h += n.innerHTML;
+ 							});
+ 						} else {
+ 							// Found WebKit weirdness so force the content into paragraphs this seems to happen when you paste plain text from Nodepad etc
+ 							// So this logic will replace double enter with paragraphs and single enter with br so it kind of looks the same
+ 							h = '<p>' + dom.encode(textContent).replace(/\r?\n\r?\n/g, '</p><p>').replace(/\r?\n/g, '<br />') + '</p>';
+ 						}
+ 
+ 						// Remove the nodes
+ 						each(dom.select('div.mcePaste'), function(n) {
+ 							dom.remove(n);
+ 						});
+ 
+ 						// Restore the old selection
+ 						if (or)
+ 							sel.setRng(or);
+ 
+ 						process({content : h});
+ 
+ 						// Unblock events ones we got the contents
+ 						dom.unbind(ed.getDoc(), 'mousedown', block);
+ 						dom.unbind(ed.getDoc(), 'keydown', block);
+ 					}, 0);
+ 				}
+ 			}
+ 
+ 			// Check if we should use the new auto process method			
+ 			if (getParam(ed, "paste_auto_cleanup_on_paste")) {
+ 				// Is it's Opera or older FF use key handler
+ 				if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
+ 					ed.onKeyDown.addToTop(function(ed, e) {
+ 						if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
+ 							grabContent(e);
+ 					});
+ 				} else {
+ 					// Grab contents on paste event on Gecko and WebKit
+ 					ed.onPaste.addToTop(function(ed, e) {
+ 						return grabContent(e);
+ 					});
+ 				}
+ 			}
+ 
+ 			ed.onInit.add(function() {
+ 				ed.controlManager.setActive("pastetext", ed.pasteAsPlainText);
+ 
+ 				// Block all drag/drop events
+ 				if (getParam(ed, "paste_block_drop")) {
+ 					ed.dom.bind(ed.getBody(), ['dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag'], function(e) {
+ 						e.preventDefault();
+ 						e.stopPropagation();
+ 
+ 						return false;
+ 					});
+ 				}
+ 			});
+ 
+ 			// Add legacy support
+ 			t._legacySupport();
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Paste text/word',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		},
+ 
+ 		_preProcess : function(pl, o) {
+ 			var ed = this.editor,
+ 				h = o.content,
+ 				grep = tinymce.grep,
+ 				explode = tinymce.explode,
+ 				trim = tinymce.trim,
+ 				len, stripClass;
+ 
+ 			//console.log('Before preprocess:' + o.content);
+ 
+ 			function process(items) {
+ 				each(items, function(v) {
+ 					// Remove or replace
+ 					if (v.constructor == RegExp)
+ 						h = h.replace(v, '');
+ 					else
+ 						h = h.replace(v[0], v[1]);
+ 				});
+ 			}
+ 			
+ 			if (ed.settings.paste_enable_default_filters == false) {
+ 				return;
+ 			}
+ 
+ 			// IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser
+ 			if (tinymce.isIE && document.documentMode >= 9) {
+ 				// IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser
+ 				process([[/(?:<br>&nbsp;[\s\r\n]+|<br>)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:<br>&nbsp;[\s\r\n]+|<br>)*/g, '$1']]);
+ 
+ 				// IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break
+ 				process([
+ 					[/<br><br>/g, '<BR><BR>'], // Replace multiple BR elements with uppercase BR to keep them intact
+ 					[/<br>/g, ' '], // Replace single br elements with space since they are word wrap BR:s
+ 					[/<BR><BR>/g, '<br>'] // Replace back the double brs but into a single BR
+ 				]);
+ 			}
+ 
+ 			// Detect Word content and process it more aggressive
+ 			if (/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(h) || o.wordContent) {
+ 				o.wordContent = true;			// Mark the pasted contents as word specific content
+ 				//console.log('Word contents detected.');
+ 
+ 				// Process away some basic content
+ 				process([
+ 					/^\s*(&nbsp;)+/gi,				// &nbsp; entities at the start of contents
+ 					/(&nbsp;|<br[^>]*>)+\s*$/gi		// &nbsp; entities at the end of contents
+ 				]);
+ 
+ 				if (getParam(ed, "paste_convert_headers_to_strong")) {
+ 					h = h.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "<p><strong>$1</strong></p>");
+ 				}
+ 
+ 				if (getParam(ed, "paste_convert_middot_lists")) {
+ 					process([
+ 						[/<!--\[if !supportLists\]-->/gi, '$&__MCE_ITEM__'],					// Convert supportLists to a list item marker
+ 						[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi, '$1__MCE_ITEM__'],		// Convert mso-list and symbol spans to item markers
+ 						[/(<p[^>]+(?:MsoListParagraph)[^>]+>)/gi, '$1__MCE_ITEM__']				// Convert mso-list and symbol paragraphs to item markers (FF)
+ 					]);
+ 				}
+ 
+ 				process([
+ 					// Word comments like conditional comments etc
+ 					/<!--[\s\S]+?-->/gi,
+ 
+ 					// Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, MS Office namespaced tags, and a few other tags
+ 					/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,
+ 
+ 					// Convert <s> into <strike> for line-though
+ 					[/<(\/?)s>/gi, "<$1strike>"],
+ 
+ 					// Replace nsbp entites to char since it's easier to handle
+ 					[/&nbsp;/gi, "\u00a0"]
+ 				]);
+ 
+ 				// Remove bad attributes, with or without quotes, ensuring that attribute text is really inside a tag.
+ 				// If JavaScript had a RegExp look-behind, we could have integrated this with the last process() array and got rid of the loop. But alas, it does not, so we cannot.
+ 				do {
+ 					len = h.length;
+ 					h = h.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi, "$1");
+ 				} while (len != h.length);
+ 
+ 				// Remove all spans if no styles is to be retained
+ 				if (getParam(ed, "paste_retain_style_properties").replace(/^none$/i, "").length == 0) {
+ 					h = h.replace(/<\/?span[^>]*>/gi, "");
+ 				} else {
+ 					// We're keeping styles, so at least clean them up.
+ 					// CSS Reference: http://msdn.microsoft.com/en-us/library/aa155477.aspx
+ 
+ 					process([
+ 						// Convert <span style="mso-spacerun:yes">___</span> to string of alternating breaking/non-breaking spaces of same length
+ 						[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,
+ 							function(str, spaces) {
+ 								return (spaces.length > 0)? spaces.replace(/./, " ").slice(Math.floor(spaces.length/2)).split("").join("\u00a0") : "";
+ 							}
+ 						],
+ 
+ 						// Examine all styles: delete junk, transform some, and keep the rest
+ 						[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,
+ 							function(str, tag, style) {
+ 								var n = [],
+ 									i = 0,
+ 									s = explode(trim(style).replace(/&quot;/gi, "'"), ";");
+ 
+ 								// Examine each style definition within the tag's style attribute
+ 								each(s, function(v) {
+ 									var name, value,
+ 										parts = explode(v, ":");
+ 
+ 									function ensureUnits(v) {
+ 										return v + ((v !== "0") && (/\d$/.test(v)))? "px" : "";
+ 									}
+ 
+ 									if (parts.length == 2) {
+ 										name = parts[0].toLowerCase();
+ 										value = parts[1].toLowerCase();
+ 
+ 										// Translate certain MS Office styles into their CSS equivalents
+ 										switch (name) {
+ 											case "mso-padding-alt":
+ 											case "mso-padding-top-alt":
+ 											case "mso-padding-right-alt":
+ 											case "mso-padding-bottom-alt":
+ 											case "mso-padding-left-alt":
+ 											case "mso-margin-alt":
+ 											case "mso-margin-top-alt":
+ 											case "mso-margin-right-alt":
+ 											case "mso-margin-bottom-alt":
+ 											case "mso-margin-left-alt":
+ 											case "mso-table-layout-alt":
+ 											case "mso-height":
+ 											case "mso-width":
+ 											case "mso-vertical-align-alt":
+ 												n[i++] = name.replace(/^mso-|-alt$/g, "") + ":" + ensureUnits(value);
+ 												return;
+ 
+ 											case "horiz-align":
+ 												n[i++] = "text-align:" + value;
+ 												return;
+ 
+ 											case "vert-align":
+ 												n[i++] = "vertical-align:" + value;
+ 												return;
+ 
+ 											case "font-color":
+ 											case "mso-foreground":
+ 												n[i++] = "color:" + value;
+ 												return;
+ 
+ 											case "mso-background":
+ 											case "mso-highlight":
+ 												n[i++] = "background:" + value;
+ 												return;
+ 
+ 											case "mso-default-height":
+ 												n[i++] = "min-height:" + ensureUnits(value);
+ 												return;
+ 
+ 											case "mso-default-width":
+ 												n[i++] = "min-width:" + ensureUnits(value);
+ 												return;
+ 
+ 											case "mso-padding-between-alt":
+ 												n[i++] = "border-collapse:separate;border-spacing:" + ensureUnits(value);
+ 												return;
+ 
+ 											case "text-line-through":
+ 												if ((value == "single") || (value == "double")) {
+ 													n[i++] = "text-decoration:line-through";
+ 												}
+ 												return;
+ 
+ 											case "mso-zero-height":
+ 												if (value == "yes") {
+ 													n[i++] = "display:none";
+ 												}
+ 												return;
+ 										}
+ 
+ 										// Eliminate all MS Office style definitions that have no CSS equivalent by examining the first characters in the name
+ 										if (/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(name)) {
+ 											return;
+ 										}
+ 
+ 										// If it reached this point, it must be a valid CSS style
+ 										n[i++] = name + ":" + parts[1];		// Lower-case name, but keep value case
+ 									}
+ 								});
+ 
+ 								// If style attribute contained any valid styles the re-write it; otherwise delete style attribute.
+ 								if (i > 0) {
+ 									return tag + ' style="' + n.join(';') + '"';
+ 								} else {
+ 									return tag;
+ 								}
+ 							}
+ 						]
+ 					]);
+ 				}
+ 			}
+ 
+ 			// Replace headers with <strong>
+ 			if (getParam(ed, "paste_convert_headers_to_strong")) {
+ 				process([
+ 					[/<h[1-6][^>]*>/gi, "<p><strong>"],
+ 					[/<\/h[1-6][^>]*>/gi, "</strong></p>"]
+ 				]);
+ 			}
+ 
+ 			process([
+ 				// Copy paste from Java like Open Office will produce this junk on FF
+ 				[/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi, '']
+ 			]);
+ 
+ 			// Class attribute options are: leave all as-is ("none"), remove all ("all"), or remove only those starting with mso ("mso").
+ 			// Note:-  paste_strip_class_attributes: "none", verify_css_classes: true is also a good variation.
+ 			stripClass = getParam(ed, "paste_strip_class_attributes");
+ 
+ 			if (stripClass !== "none") {
+ 				function removeClasses(match, g1) {
+ 						if (stripClass === "all")
+ 							return '';
+ 
+ 						var cls = grep(explode(g1.replace(/^(["'])(.*)\1$/, "$2"), " "),
+ 							function(v) {
+ 								return (/^(?!mso)/i.test(v));
+ 							}
+ 						);
+ 
+ 						return cls.length ? ' class="' + cls.join(" ") + '"' : '';
+ 				};
+ 
+ 				h = h.replace(/ class="([^"]+)"/gi, removeClasses);
+ 				h = h.replace(/ class=([\-\w]+)/gi, removeClasses);
+ 			}
+ 
+ 			// Remove spans option
+ 			if (getParam(ed, "paste_remove_spans")) {
+ 				h = h.replace(/<\/?span[^>]*>/gi, "");
+ 			}
+ 
+ 			//console.log('After preprocess:' + h);
+ 
+ 			o.content = h;
+ 		},
+ 
+ 		/**
+ 		 * Various post process items.
+ 		 */
+ 		_postProcess : function(pl, o) {
+ 			var t = this, ed = t.editor, dom = ed.dom, styleProps;
+ 
+ 			if (ed.settings.paste_enable_default_filters == false) {
+ 				return;
+ 			}
+ 			
+ 			if (o.wordContent) {
+ 				// Remove named anchors or TOC links
+ 				each(dom.select('a', o.node), function(a) {
+ 					if (!a.href || a.href.indexOf('#_Toc') != -1)
+ 						dom.remove(a, 1);
+ 				});
+ 
+ 				if (getParam(ed, "paste_convert_middot_lists")) {
+ 					t._convertLists(pl, o);
+ 				}
+ 
+ 				// Process styles
+ 				styleProps = getParam(ed, "paste_retain_style_properties"); // retained properties
+ 
+ 				// Process only if a string was specified and not equal to "all" or "*"
+ 				if ((tinymce.is(styleProps, "string")) && (styleProps !== "all") && (styleProps !== "*")) {
+ 					styleProps = tinymce.explode(styleProps.replace(/^none$/i, ""));
+ 
+ 					// Retains some style properties
+ 					each(dom.select('*', o.node), function(el) {
+ 						var newStyle = {}, npc = 0, i, sp, sv;
+ 
+ 						// Store a subset of the existing styles
+ 						if (styleProps) {
+ 							for (i = 0; i < styleProps.length; i++) {
+ 								sp = styleProps[i];
+ 								sv = dom.getStyle(el, sp);
+ 
+ 								if (sv) {
+ 									newStyle[sp] = sv;
+ 									npc++;
+ 								}
+ 							}
+ 						}
+ 
+ 						// Remove all of the existing styles
+ 						dom.setAttrib(el, 'style', '');
+ 
+ 						if (styleProps && npc > 0)
+ 							dom.setStyles(el, newStyle); // Add back the stored subset of styles
+ 						else // Remove empty span tags that do not have class attributes
+ 							if (el.nodeName == 'SPAN' && !el.className)
+ 								dom.remove(el, true);
+ 					});
+ 				}
+ 			}
+ 
+ 			// Remove all style information or only specifically on WebKit to avoid the style bug on that browser
+ 			if (getParam(ed, "paste_remove_styles") || (getParam(ed, "paste_remove_styles_if_webkit") && tinymce.isWebKit)) {
+ 				each(dom.select('*[style]', o.node), function(el) {
+ 					el.removeAttribute('style');
+ 					el.removeAttribute('data-mce-style');
+ 				});
+ 			} else {
+ 				if (tinymce.isWebKit) {
+ 					// We need to compress the styles on WebKit since if you paste <img border="0" /> it will become <img border="0" style="... lots of junk ..." />
+ 					// Removing the mce_style that contains the real value will force the Serializer engine to compress the styles
+ 					each(dom.select('*', o.node), function(el) {
+ 						el.removeAttribute('data-mce-style');
+ 					});
+ 				}
+ 			}
+ 		},
+ 
+ 		/**
+ 		 * Converts the most common bullet and number formats in Office into a real semantic UL/LI list.
+ 		 */
+ 		_convertLists : function(pl, o) {
+ 			var dom = pl.editor.dom, listElm, li, lastMargin = -1, margin, levels = [], lastType, html;
+ 
+ 			// Convert middot lists into real semantic lists
+ 			each(dom.select('p', o.node), function(p) {
+ 				var sib, val = '', type, html, idx, parents;
+ 
+ 				// Get text node value at beginning of paragraph
+ 				for (sib = p.firstChild; sib && sib.nodeType == 3; sib = sib.nextSibling)
+ 					val += sib.nodeValue;
+ 
+ 				val = p.innerHTML.replace(/<\/?\w+[^>]*>/gi, '').replace(/&nbsp;/g, '\u00a0');
+ 
+ 				// Detect unordered lists look for bullets
+ 				if (/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(val))
+ 					type = 'ul';
+ 
+ 				// Detect ordered lists 1., a. or ixv.
+ 				if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(val))
+ 					type = 'ol';
+ 
+ 				// Check if node value matches the list pattern: o&nbsp;&nbsp;
+ 				if (type) {
+ 					margin = parseFloat(p.style.marginLeft || 0);
+ 
+ 					if (margin > lastMargin)
+ 						levels.push(margin);
+ 
+ 					if (!listElm || type != lastType) {
+ 						listElm = dom.create(type);
+ 						dom.insertAfter(listElm, p);
+ 					} else {
+ 						// Nested list element
+ 						if (margin > lastMargin) {
+ 							listElm = li.appendChild(dom.create(type));
+ 						} else if (margin < lastMargin) {
+ 							// Find parent level based on margin value
+ 							idx = tinymce.inArray(levels, margin);
+ 							parents = dom.getParents(listElm.parentNode, type);
+ 							listElm = parents[parents.length - 1 - idx] || listElm;
+ 						}
+ 					}
+ 
+ 					// Remove middot or number spans if they exists
+ 					each(dom.select('span', p), function(span) {
+ 						var html = span.innerHTML.replace(/<\/?\w+[^>]*>/gi, '');
+ 
+ 						// Remove span with the middot or the number
+ 						if (type == 'ul' && /^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(html))
+ 							dom.remove(span);
+ 						else if (/^__MCE_ITEM__[\s\S]*\w+\.(&nbsp;|\u00a0)*\s*/.test(html))
+ 							dom.remove(span);
+ 					});
+ 
+ 					html = p.innerHTML;
+ 
+ 					// Remove middot/list items
+ 					if (type == 'ul')
+ 						html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*(&nbsp;|\u00a0)+\s*/, '');
+ 					else
+ 						html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^\s*\w+\.(&nbsp;|\u00a0)+\s*/, '');
+ 
+ 					// Create li and add paragraph data into the new li
+ 					li = listElm.appendChild(dom.create('li', 0, html));
+ 					dom.remove(p);
+ 
+ 					lastMargin = margin;
+ 					lastType = type;
+ 				} else
+ 					listElm = lastMargin = 0; // End list element
+ 			});
+ 
+ 			// Remove any left over makers
+ 			html = o.node.innerHTML;
+ 			if (html.indexOf('__MCE_ITEM__') != -1)
+ 				o.node.innerHTML = html.replace(/__MCE_ITEM__/g, '');
+ 		},
+ 
+ 		/**
+ 		 * Inserts the specified contents at the caret position.
+ 		 */
+ 		_insert : function(h, skip_undo) {
+ 			var ed = this.editor, r = ed.selection.getRng();
+ 
+ 			// First delete the contents seems to work better on WebKit when the selection spans multiple list items or multiple table cells.
+ 			if (!ed.selection.isCollapsed() && r.startContainer != r.endContainer)
+ 				ed.getDoc().execCommand('Delete', false, null);
+ 
+ 			ed.execCommand('mceInsertContent', false, h, {skip_undo : skip_undo});
+ 		},
+ 
+ 		/**
+ 		 * Instead of the old plain text method which tried to re-create a paste operation, the
+ 		 * new approach adds a plain text mode toggle switch that changes the behavior of paste.
+ 		 * This function is passed the same input that the regular paste plugin produces.
+ 		 * It performs additional scrubbing and produces (and inserts) the plain text.
+ 		 * This approach leverages all of the great existing functionality in the paste
+ 		 * plugin, and requires minimal changes to add the new functionality.
+ 		 * Speednet - June 2009
+ 		 */
+ 		_insertPlainText : function(content) {
+ 			var ed = this.editor,
+ 				linebr = getParam(ed, "paste_text_linebreaktype"),
+ 				rl = getParam(ed, "paste_text_replacements"),
+ 				is = tinymce.is;
+ 
+ 			function process(items) {
+ 				each(items, function(v) {
+ 					if (v.constructor == RegExp)
+ 						content = content.replace(v, "");
+ 					else
+ 						content = content.replace(v[0], v[1]);
+ 				});
+ 			};
+ 
+ 			if ((typeof(content) === "string") && (content.length > 0)) {
+ 				// If HTML content with line-breaking tags, then remove all cr/lf chars because only tags will break a line
+ 				if (/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(content)) {
+ 					process([
+ 						/[\n\r]+/g
+ 					]);
+ 				} else {
+ 					// Otherwise just get rid of carriage returns (only need linefeeds)
+ 					process([
+ 						/\r+/g
+ 					]);
+ 				}
+ 
+ 				process([
+ 					[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi, "\n\n"],		// Block tags get a blank line after them
+ 					[/<br[^>]*>|<\/tr>/gi, "\n"],				// Single linebreak for <br /> tags and table rows
+ 					[/<\/t[dh]>\s*<t[dh][^>]*>/gi, "\t"],		// Table cells get tabs betweem them
+ 					/<[a-z!\/?][^>]*>/gi,						// Delete all remaining tags
+ 					[/&nbsp;/gi, " "],							// Convert non-break spaces to regular spaces (remember, *plain text*)
+ 					[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"],// Cool little RegExp deletes whitespace around linebreak chars.
+ 					[/\n{3,}/g, "\n\n"]							// Max. 2 consecutive linebreaks
+ 				]);
+ 
+ 				content = ed.dom.decode(tinymce.html.Entities.encodeRaw(content));
+ 
+ 				// Perform default or custom replacements
+ 				if (is(rl, "array")) {
+ 					process(rl);
+ 				} else if (is(rl, "string")) {
+ 					process(new RegExp(rl, "gi"));
+ 				}
+ 
+ 				// Treat paragraphs as specified in the config
+ 				if (linebr == "none") {
+ 					// Convert all line breaks to space
+ 					process([
+ 						[/\n+/g, " "]
+ 					]);
+ 				} else if (linebr == "br") {
+ 					// Convert all line breaks to <br />
+ 					process([
+ 						[/\n/g, "<br />"]
+ 					]);
+ 				} else if (linebr == "p") {
+ 					// Convert all line breaks to <p>...</p>
+ 					process([
+ 						[/\n+/g, "</p><p>"],
+ 						[/^(.*<\/p>)(<p>)$/, '<p>$1']
+ 					]);
+ 				} else {
+ 					// defaults to "combined"
+ 					// Convert single line breaks to <br /> and double line breaks to <p>...</p>
+ 					process([
+ 						[/\n\n/g, "</p><p>"],
+ 						[/^(.*<\/p>)(<p>)$/, '<p>$1'],
+ 						[/\n/g, "<br />"]
+ 					]);
+ 				}
+ 
+ 				ed.execCommand('mceInsertContent', false, content);
+ 			}
+ 		},
+ 
+ 		/**
+ 		 * This method will open the old style paste dialogs. Some users might want the old behavior but still use the new cleanup engine.
+ 		 */
+ 		_legacySupport : function() {
+ 			var t = this, ed = t.editor;
+ 
+ 			// Register command(s) for backwards compatibility
+ 			ed.addCommand("mcePasteWord", function() {
+ 				ed.windowManager.open({
+ 					file: t.url + "/pasteword.htm",
+ 					width: parseInt(getParam(ed, "paste_dialog_width")),
+ 					height: parseInt(getParam(ed, "paste_dialog_height")),
+ 					inline: 1
+ 				});
+ 			});
+ 
+ 			if (getParam(ed, "paste_text_use_dialog")) {
+ 				ed.addCommand("mcePasteText", function() {
+ 					ed.windowManager.open({
+ 						file : t.url + "/pastetext.htm",
+ 						width: parseInt(getParam(ed, "paste_dialog_width")),
+ 						height: parseInt(getParam(ed, "paste_dialog_height")),
+ 						inline : 1
+ 					});
+ 				});
+ 			}
+ 
+ 			// Register button for backwards compatibility
+ 			ed.addButton("pasteword", {title : "paste.paste_word_desc", cmd : "mcePasteWord"});
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add("paste", tinymce.plugins.PastePlugin);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/pastetext.htm ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/pastetext.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/pastetext.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/pastetext.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 1,8 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#paste.paste_text_desc}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/pastetext.js?ver=345-20110908"></script>
  </head>
  <body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;">
  	<form name="source" onsubmit="return PasteTextDialog.insert();" action="#">
--- 1,8 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#paste.paste_text_desc}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/pastetext.js?ver=349-20120314"></script>
  </head>
  <body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;">
  	<form name="source" onsubmit="return PasteTextDialog.insert();" action="#">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/pasteword.htm ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/pasteword.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/paste/pasteword.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/paste/pasteword.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 1,8 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#paste.paste_word_desc}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/pasteword.js?ver=345-20110908"></script>
  </head>
  <body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;">
  	<form name="source" onsubmit="return PasteWordDialog.insert();" action="#">
--- 1,8 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#paste.paste_word_desc}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/pasteword.js?ver=349-20120314"></script>
  </head>
  <body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;">
  	<form name="source" onsubmit="return PasteWordDialog.insert();" action="#">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,436 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	var JSONRequest = tinymce.util.JSONRequest, each = tinymce.each, DOM = tinymce.DOM;
+ 
+ 	tinymce.create('tinymce.plugins.SpellcheckerPlugin', {
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Spellchecker',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		},
+ 
+ 		init : function(ed, url) {
+ 			var t = this, cm;
+ 
+ 			t.url = url;
+ 			t.editor = ed;
+ 			t.rpcUrl = ed.getParam("spellchecker_rpc_url", "{backend}");
+ 
+ 			if (t.rpcUrl == '{backend}') {
+ 				// Sniff if the browser supports native spellchecking (Don't know of a better way)
+ 				if (tinymce.isIE)
+ 					return;
+ 
+ 				t.hasSupport = true;
+ 
+ 				// Disable the context menu when spellchecking is active
+ 				ed.onContextMenu.addToTop(function(ed, e) {
+ 					if (t.active)
+ 						return false;
+ 				});
+ 			}
+ 
+ 			// Register commands
+ 			ed.addCommand('mceSpellCheck', function() {
+ 				if (t.rpcUrl == '{backend}') {
+ 					// Enable/disable native spellchecker
+ 					t.editor.getBody().spellcheck = t.active = !t.active;
+ 					return;
+ 				}
+ 
+ 				if (!t.active) {
+ 					ed.setProgressState(1);
+ 					t._sendRPC('checkWords', [t.selectedLang, t._getWords()], function(r) {
+ 						if (r.length > 0) {
+ 							t.active = 1;
+ 							t._markWords(r);
+ 							ed.setProgressState(0);
+ 							ed.nodeChanged();
+ 						} else {
+ 							ed.setProgressState(0);
+ 
+ 							if (ed.getParam('spellchecker_report_no_misspellings', true))
+ 								ed.windowManager.alert('spellchecker.no_mpell');
+ 						}
+ 					});
+ 				} else
+ 					t._done();
+ 			});
+ 
+ 			if (ed.settings.content_css !== false)
+ 				ed.contentCSS.push(url + '/css/content.css');
+ 
+ 			ed.onClick.add(t._showMenu, t);
+ 			ed.onContextMenu.add(t._showMenu, t);
+ 			ed.onBeforeGetContent.add(function() {
+ 				if (t.active)
+ 					t._removeWords();
+ 			});
+ 
+ 			ed.onNodeChange.add(function(ed, cm) {
+ 				cm.setActive('spellchecker', t.active);
+ 			});
+ 
+ 			ed.onSetContent.add(function() {
+ 				t._done();
+ 			});
+ 
+ 			ed.onBeforeGetContent.add(function() {
+ 				t._done();
+ 			});
+ 
+ 			ed.onBeforeExecCommand.add(function(ed, cmd) {
+ 				if (cmd == 'mceFullScreen')
+ 					t._done();
+ 			});
+ 
+ 			// Find selected language
+ 			t.languages = {};
+ 			each(ed.getParam('spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv', 'hash'), function(v, k) {
+ 				if (k.indexOf('+') === 0) {
+ 					k = k.substring(1);
+ 					t.selectedLang = v;
+ 				}
+ 
+ 				t.languages[k] = v;
+ 			});
+ 		},
+ 
+ 		createControl : function(n, cm) {
+ 			var t = this, c, ed = t.editor;
+ 
+ 			if (n == 'spellchecker') {
+ 				// Use basic button if we use the native spellchecker
+ 				if (t.rpcUrl == '{backend}') {
+ 					// Create simple toggle button if we have native support
+ 					if (t.hasSupport)
+ 						c = cm.createButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t});
+ 
+ 					return c;
+ 				}
+ 
+ 				c = cm.createSplitButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t});
+ 
+ 				c.onRenderMenu.add(function(c, m) {
+ 					m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
+ 					each(t.languages, function(v, k) {
+ 						var o = {icon : 1}, mi;
+ 
+ 						o.onclick = function() {
+ 							if (v == t.selectedLang) {
+ 								return;
+ 							}
+ 							mi.setSelected(1);
+ 							t.selectedItem.setSelected(0);
+ 							t.selectedItem = mi;
+ 							t.selectedLang = v;
+ 						};
+ 
+ 						o.title = k;
+ 						mi = m.add(o);
+ 						mi.setSelected(v == t.selectedLang);
+ 
+ 						if (v == t.selectedLang)
+ 							t.selectedItem = mi;
+ 					})
+ 				});
+ 
+ 				return c;
+ 			}
+ 		},
+ 
+ 		// Internal functions
+ 
+ 		_walk : function(n, f) {
+ 			var d = this.editor.getDoc(), w;
+ 
+ 			if (d.createTreeWalker) {
+ 				w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false);
+ 
+ 				while ((n = w.nextNode()) != null)
+ 					f.call(this, n);
+ 			} else
+ 				tinymce.walk(n, f, 'childNodes');
+ 		},
+ 
+ 		_getSeparators : function() {
+ 			var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');
+ 
+ 			// Build word separator regexp
+ 			for (i=0; i<str.length; i++)
+ 				re += '\\' + str.charAt(i);
+ 
+ 			return re;
+ 		},
+ 
+ 		_getWords : function() {
+ 			var ed = this.editor, wl = [], tx = '', lo = {}, rawWords = [];
+ 
+ 			// Get area text
+ 			this._walk(ed.getBody(), function(n) {
+ 				if (n.nodeType == 3)
+ 					tx += n.nodeValue + ' ';
+ 			});
+ 
+ 			// split the text up into individual words
+ 			if (ed.getParam('spellchecker_word_pattern')) {
+ 				// look for words that match the pattern
+ 				rawWords = tx.match('(' + ed.getParam('spellchecker_word_pattern') + ')', 'gi');
+ 			} else {
+ 				// Split words by separator
+ 				tx = tx.replace(new RegExp('([0-9]|[' + this._getSeparators() + '])', 'g'), ' ');
+ 				tx = tinymce.trim(tx.replace(/(\s+)/g, ' '));
+ 				rawWords = tx.split(' ');
+ 			}
+ 
+ 			// Build word array and remove duplicates
+ 			each(rawWords, function(v) {
+ 				if (!lo[v]) {
+ 					wl.push(v);
+ 					lo[v] = 1;
+ 				}
+ 			});
+ 
+ 			return wl;
+ 		},
+ 
+ 		_removeWords : function(w) {
+ 			var ed = this.editor, dom = ed.dom, se = ed.selection, b = se.getBookmark();
+ 
+ 			each(dom.select('span').reverse(), function(n) {
+ 				if (n && (dom.hasClass(n, 'mceItemHiddenSpellWord') || dom.hasClass(n, 'mceItemHidden'))) {
+ 					if (!w || dom.decode(n.innerHTML) == w)
+ 						dom.remove(n, 1);
+ 				}
+ 			});
+ 
+ 			se.moveToBookmark(b);
+ 		},
+ 
+ 		_markWords : function(wl) {
+ 			var ed = this.editor, dom = ed.dom, doc = ed.getDoc(), se = ed.selection, b = se.getBookmark(), nl = [],
+ 				w = wl.join('|'), re = this._getSeparators(), rx = new RegExp('(^|[' + re + '])(' + w + ')(?=[' + re + ']|$)', 'g');
+ 
+ 			// Collect all text nodes
+ 			this._walk(ed.getBody(), function(n) {
+ 				if (n.nodeType == 3) {
+ 					nl.push(n);
+ 				}
+ 			});
+ 
+ 			// Wrap incorrect words in spans
+ 			each(nl, function(n) {
+ 				var node, elem, txt, pos, v = n.nodeValue;
+ 
+ 				if (rx.test(v)) {
+ 					// Encode the content
+ 					v = dom.encode(v);
+ 					// Create container element
+ 					elem = dom.create('span', {'class' : 'mceItemHidden'});
+ 
+ 					// Following code fixes IE issues by creating text nodes
+ 					// using DOM methods instead of innerHTML.
+ 					// Bug #3124: <PRE> elements content is broken after spellchecking.
+ 					// Bug #1408: Preceding whitespace characters are removed
+ 					// @TODO: I'm not sure that both are still issues on IE9.
+ 					if (tinymce.isIE) {
+ 						// Enclose mispelled words with temporal tag
+ 						v = v.replace(rx, '$1<mcespell>$2</mcespell>');
+ 						// Loop over the content finding mispelled words
+ 						while ((pos = v.indexOf('<mcespell>')) != -1) {
+ 							// Add text node for the content before the word
+ 							txt = v.substring(0, pos);
+ 							if (txt.length) {
+ 								node = doc.createTextNode(dom.decode(txt));
+ 								elem.appendChild(node);
+ 							}
+ 							v = v.substring(pos+10);
+ 							pos = v.indexOf('</mcespell>');
+ 							txt = v.substring(0, pos);
+ 							v = v.substring(pos+11);
+ 							// Add span element for the word
+ 							elem.appendChild(dom.create('span', {'class' : 'mceItemHiddenSpellWord'}, txt));
+ 						}
+ 						// Add text node for the rest of the content
+ 						if (v.length) {
+ 							node = doc.createTextNode(dom.decode(v));
+ 							elem.appendChild(node);
+ 						}
+ 					} else {
+ 						// Other browsers preserve whitespace characters on innerHTML usage
+ 						elem.innerHTML = v.replace(rx, '$1<span class="mceItemHiddenSpellWord">$2</span>');
+ 					}
+ 
+ 					// Finally, replace the node with the container
+ 					dom.replace(elem, n);
+ 				}
+ 			});
+ 
+ 			se.moveToBookmark(b);
+ 		},
+ 
+ 		_showMenu : function(ed, e) {
+ 			var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target;
+ 
+ 			e = 0; // Fixes IE memory leak
+ 
+ 			if (!m) {
+ 				m = ed.controlManager.createDropMenu('spellcheckermenu', {'class' : 'mceNoIcons'});
+ 				t._menu = m;
+ 			}
+ 
+ 			if (dom.hasClass(wordSpan, 'mceItemHiddenSpellWord')) {
+ 				m.removeAll();
+ 				m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
+ 
+ 				t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(wordSpan.innerHTML)], function(r) {
+ 					var ignoreRpc;
+ 
+ 					m.removeAll();
+ 
+ 					if (r.length > 0) {
+ 						m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
+ 						each(r, function(v) {
+ 							m.add({title : v, onclick : function() {
+ 								dom.replace(ed.getDoc().createTextNode(v), wordSpan);
+ 								t._checkDone();
+ 							}});
+ 						});
+ 
+ 						m.addSeparator();
+ 					} else
+ 						m.add({title : 'spellchecker.no_sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
+ 
+ 					if (ed.getParam('show_ignore_words', true)) {
+ 						ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", '');
+ 						m.add({
+ 							title : 'spellchecker.ignore_word',
+ 							onclick : function() {
+ 								var word = wordSpan.innerHTML;
+ 
+ 								dom.remove(wordSpan, 1);
+ 								t._checkDone();
+ 
+ 								// tell the server if we need to
+ 								if (ignoreRpc) {
+ 									ed.setProgressState(1);
+ 									t._sendRPC('ignoreWord', [t.selectedLang, word], function(r) {
+ 										ed.setProgressState(0);
+ 									});
+ 								}
+ 							}
+ 						});
+ 
+ 						m.add({
+ 							title : 'spellchecker.ignore_words',
+ 							onclick : function() {
+ 								var word = wordSpan.innerHTML;
+ 
+ 								t._removeWords(dom.decode(word));
+ 								t._checkDone();
+ 
+ 								// tell the server if we need to
+ 								if (ignoreRpc) {
+ 									ed.setProgressState(1);
+ 									t._sendRPC('ignoreWords', [t.selectedLang, word], function(r) {
+ 										ed.setProgressState(0);
+ 									});
+ 								}
+ 							}
+ 						});
+ 					}
+ 
+ 					if (t.editor.getParam("spellchecker_enable_learn_rpc")) {
+ 						m.add({
+ 							title : 'spellchecker.learn_word',
+ 							onclick : function() {
+ 								var word = wordSpan.innerHTML;
+ 
+ 								dom.remove(wordSpan, 1);
+ 								t._checkDone();
+ 
+ 								ed.setProgressState(1);
+ 								t._sendRPC('learnWord', [t.selectedLang, word], function(r) {
+ 									ed.setProgressState(0);
+ 								});
+ 							}
+ 						});
+ 					}
+ 
+ 					m.update();
+ 				});
+ 
+ 				p1 = DOM.getPos(ed.getContentAreaContainer());
+ 				m.settings.offset_x = p1.x;
+ 				m.settings.offset_y = p1.y;
+ 
+ 				ed.selection.select(wordSpan);
+ 				p1 = dom.getPos(wordSpan);
+ 				m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y);
+ 
+ 				return tinymce.dom.Event.cancel(e);
+ 			} else
+ 				m.hideMenu();
+ 		},
+ 
+ 		_checkDone : function() {
+ 			var t = this, ed = t.editor, dom = ed.dom, o;
+ 
+ 			each(dom.select('span'), function(n) {
+ 				if (n && dom.hasClass(n, 'mceItemHiddenSpellWord')) {
+ 					o = true;
+ 					return false;
+ 				}
+ 			});
+ 
+ 			if (!o)
+ 				t._done();
+ 		},
+ 
+ 		_done : function() {
+ 			var t = this, la = t.active;
+ 
+ 			if (t.active) {
+ 				t.active = 0;
+ 				t._removeWords();
+ 
+ 				if (t._menu)
+ 					t._menu.hideMenu();
+ 
+ 				if (la)
+ 					t.editor.nodeChanged();
+ 			}
+ 		},
+ 
+ 		_sendRPC : function(m, p, cb) {
+ 			var t = this;
+ 
+ 			JSONRequest.sendRPC({
+ 				url : t.rpcUrl,
+ 				method : m,
+ 				params : p,
+ 				success : cb,
+ 				error : function(e, x) {
+ 					t.editor.setProgressState(0);
+ 					t.editor.windowManager.alert(e.errstr || ('Error response: ' + x.responseText));
+ 				}
+ 			});
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('spellchecker', tinymce.plugins.SpellcheckerPlugin);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,122 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode;
+ 
+ 	tinymce.create('tinymce.plugins.TabFocusPlugin', {
+ 		init : function(ed, url) {
+ 			function tabCancel(ed, e) {
+ 				if (e.keyCode === 9)
+ 					return Event.cancel(e);
+ 			}
+ 
+ 			function tabHandler(ed, e) {
+ 				var x, i, f, el, v;
+ 
+ 				function find(d) {
+ 					el = DOM.select(':input:enabled,*[tabindex]');
+ 
+ 					function canSelectRecursive(e) {
+ 						return e.nodeName==="BODY" || (e.type != 'hidden' &&
+ 							!(e.style.display == "none") &&
+ 							!(e.style.visibility == "hidden") && canSelectRecursive(e.parentNode));
+ 					}
+ 					function canSelectInOldIe(el) {
+ 						return el.attributes["tabIndex"].specified || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA";
+ 					}
+ 					function isOldIe() {
+ 						return tinymce.isIE6 || tinymce.isIE7;
+ 					}
+ 					function canSelect(el) {
+ 						return ((!isOldIe() || canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el);
+ 					}
+ 
+ 					each(el, function(e, i) {
+ 						if (e.id == ed.id) {
+ 							x = i;
+ 							return false;
+ 						}
+ 					});
+ 					if (d > 0) {
+ 						for (i = x + 1; i < el.length; i++) {
+ 							if (canSelect(el[i]))
+ 								return el[i];
+ 						}
+ 					} else {
+ 						for (i = x - 1; i >= 0; i--) {
+ 							if (canSelect(el[i]))
+ 								return el[i];
+ 						}
+ 					}
+ 
+ 					return null;
+ 				}
+ 
+ 				if (e.keyCode === 9) {
+ 					v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next')));
+ 
+ 					if (v.length == 1) {
+ 						v[1] = v[0];
+ 						v[0] = ':prev';
+ 					}
+ 
+ 					// Find element to focus
+ 					if (e.shiftKey) {
+ 						if (v[0] == ':prev')
+ 							el = find(-1);
+ 						else
+ 							el = DOM.get(v[0]);
+ 					} else {
+ 						if (v[1] == ':next')
+ 							el = find(1);
+ 						else
+ 							el = DOM.get(v[1]);
+ 					}
+ 
+ 					if (el) {
+ 						if (el.id && (ed = tinymce.get(el.id || el.name)))
+ 							ed.focus();
+ 						else
+ 							window.setTimeout(function() {
+ 								if (!tinymce.isWebKit)
+ 									window.focus();
+ 								el.focus();
+ 							}, 10);
+ 
+ 						return Event.cancel(e);
+ 					}
+ 				}
+ 			}
+ 
+ 			ed.onKeyUp.add(tabCancel);
+ 
+ 			if (tinymce.isGecko) {
+ 				ed.onKeyPress.add(tabHandler);
+ 				ed.onKeyDown.add(tabCancel);
+ 			} else
+ 				ed.onKeyDown.add(tabHandler);
+ 
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Tabfocus',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			};
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/css/content.css ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/css/content.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/css/content.css	2011-06-08 12:35:48.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/css/content.css	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,29 ****
- 
- .mceWPnextpage, .mceWPmore {
- 	border: 0;
- 	border-top: 1px dotted #cccccc;
- 	display: block;
- 	width: 95%;
- 	height: 12px;
- 	margin: 15px auto 0;
- }
- .mceWPmore {
- 	background: transparent url(../img/more_bug.gif) no-repeat right top;
- }
- .mceWPnextpage {
-     background: transparent url(../img/page_bug.gif) no-repeat right top;
- }
- 
- img.wpGallery {
- 	border: 1px dashed #888;
- 	background: #f2f8ff url("../../wpgallery/img/gallery.png") no-repeat scroll center center;
- 	width: 99%;
- 	height: 250px;
- }
- 
- img.wp-oembed {
- 	border: 1px dashed #888;
- 	background: #f7f5f2 url("../img/embedded.png") no-repeat scroll center center;
- 	width: 300px;
- 	height: 250px;
- }
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js	2011-11-27 18:21:36.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,409 ****
- /**
-  * WordPress plugin.
-  */
- 
- (function() {
- 	var DOM = tinymce.DOM;
- 
- 	tinymce.create('tinymce.plugins.WordPress', {
- 		mceTout : 0,
- 
- 		init : function(ed, url) {
- 			var t = this, tbId = ed.getParam('wordpress_adv_toolbar', 'toolbar2'), last = 0, moreHTML, nextpageHTML;
- 			moreHTML = '<img src="' + url + '/img/trans.gif" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
- 			nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
- 
- 			if ( getUserSetting('hidetb', '0') == '1' )
- 				ed.settings.wordpress_adv_hidden = 0;
- 
- 			// Hides the specified toolbar and resizes the iframe
- 			ed.onPostRender.add(function() {
- 				var adv_toolbar = ed.controlManager.get(tbId);
- 				if ( ed.getParam('wordpress_adv_hidden', 1) && adv_toolbar ) {
- 					DOM.hide(adv_toolbar.id);
- 					t._resizeIframe(ed, tbId, 28);
- 				}
- 			});
- 
- 			// Register commands
- 			ed.addCommand('WP_More', function() {
- 				ed.execCommand('mceInsertContent', 0, moreHTML);
- 			});
- 
- 			ed.addCommand('WP_Page', function() {
- 				ed.execCommand('mceInsertContent', 0, nextpageHTML);
- 			});
- 
- 			ed.addCommand('WP_Help', function() {
- 				ed.windowManager.open({
- 					url : tinymce.baseURL + '/wp-mce-help.php',
- 					width : 450,
- 					height : 420,
- 					inline : 1
- 				});
- 			});
- 
- 			ed.addCommand('WP_Adv', function() {
- 				var cm = ed.controlManager, id = cm.get(tbId).id;
- 
- 				if ( 'undefined' == id )
- 					return;
- 
- 				if ( DOM.isHidden(id) ) {
- 					cm.setActive('wp_adv', 1);
- 					DOM.show(id);
- 					t._resizeIframe(ed, tbId, -28);
- 					ed.settings.wordpress_adv_hidden = 0;
- 					setUserSetting('hidetb', '1');
- 				} else {
- 					cm.setActive('wp_adv', 0);
- 					DOM.hide(id);
- 					t._resizeIframe(ed, tbId, 28);
- 					ed.settings.wordpress_adv_hidden = 1;
- 					setUserSetting('hidetb', '0');
- 				}
- 			});
- 			
- 			ed.addCommand('WP_Medialib', function() {
- 				var id = ed.getParam('wp_fullscreen_editor_id') || ed.getParam('fullscreen_editor_id') || ed.id,
- 					link = tinymce.DOM.select('#wp-' + id + '-media-buttons a.thickbox');
- 
- 				if ( link && link[0] )
- 					link = link[0];
- 				else
- 					return;
- 
- 				tb_show('', link.href);
- 				tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
- 			});
- 
- 			// Register buttons
- 			ed.addButton('wp_more', {
- 				title : 'wordpress.wp_more_desc',
- 				cmd : 'WP_More'
- 			});
- 
- 			ed.addButton('wp_page', {
- 				title : 'wordpress.wp_page_desc',
- 				image : url + '/img/page.gif',
- 				cmd : 'WP_Page'
- 			});
- 
- 			ed.addButton('wp_help', {
- 				title : 'wordpress.wp_help_desc',
- 				cmd : 'WP_Help'
- 			});
- 
- 			ed.addButton('wp_adv', {
- 				title : 'wordpress.wp_adv_desc',
- 				cmd : 'WP_Adv'
- 			});
- 
- 			// Add Media button
- 			ed.addButton('add_media', {
- 				title : 'wordpress.add_media',
- 				image : url + '/img/image.gif',
- 				cmd : 'WP_Medialib'
- 			});
- 
- 			// Add Media buttons to fullscreen and handle align buttons for image captions
- 			ed.onBeforeExecCommand.add(function(ed, cmd, ui, val, o) {
- 				var DOM = tinymce.DOM, n, DL, DIV, cls, a, align;
- 				if ( 'mceFullScreen' == cmd ) {
- 					if ( 'mce_fullscreen' != ed.id && DOM.select('a.thickbox').length )
- 						ed.settings.theme_advanced_buttons1 += ',|,add_media';
- 				}
- 
- 				if ( 'JustifyLeft' == cmd || 'JustifyRight' == cmd || 'JustifyCenter' == cmd ) {
- 					n = ed.selection.getNode();
- 
- 					if ( n.nodeName == 'IMG' ) {
- 						align = cmd.substr(7).toLowerCase();
- 						a = 'align' + align;
- 						DL = ed.dom.getParent(n, 'dl.wp-caption');
- 						DIV = ed.dom.getParent(n, 'div.mceTemp');
- 
- 						if ( DL && DIV ) {
- 							cls = ed.dom.hasClass(DL, a) ? 'alignnone' : a;
- 							DL.className = DL.className.replace(/align[^ '"]+\s?/g, '');
- 							ed.dom.addClass(DL, cls);
- 
- 							if (cls == 'aligncenter')
- 								ed.dom.addClass(DIV, 'mceIEcenter');
- 							else
- 								ed.dom.removeClass(DIV, 'mceIEcenter');
- 
- 							o.terminate = true;
- 							ed.execCommand('mceRepaint');
- 						} else {
- 							if ( ed.dom.hasClass(n, a) )
- 								ed.dom.addClass(n, 'alignnone');
- 							else
- 								ed.dom.removeClass(n, 'alignnone');
- 						}
- 					}
- 				}
- 			});
- 			
- 			ed.onInit.add(function(ed) {
- 				// make sure these run last
- 				ed.onNodeChange.add( function(ed, cm, e) {
- 					var DL;
- 
- 					if ( e.nodeName == 'IMG' ) {
- 						DL = ed.dom.getParent(e, 'dl.wp-caption');
- 					} else if ( e.nodeName == 'DIV' && ed.dom.hasClass(e, 'mceTemp') ) {
- 						DL = e.firstChild;
- 
- 						if ( ! ed.dom.hasClass(DL, 'wp-caption') )
- 							DL = false;
- 					}
- 
- 					if ( DL ) {
- 						if ( ed.dom.hasClass(DL, 'alignleft') )
- 							cm.setActive('justifyleft', 1);
- 						else if ( ed.dom.hasClass(DL, 'alignright') )
- 							cm.setActive('justifyright', 1);
- 						else if ( ed.dom.hasClass(DL, 'aligncenter') )
- 							cm.setActive('justifycenter', 1);
- 					}
- 				});
- 
- 				if ( ed.id != 'wp_mce_fullscreen' && ed.id != 'mce_fullscreen' )
- 					ed.dom.addClass(ed.getBody(), 'wp-editor');
- 				else if ( ed.id == 'mce_fullscreen' )
- 					ed.dom.addClass(ed.getBody(), 'mce-fullscreen');
- 
- 				// remove invalid parent paragraphs when pasting HTML and/or switching to the HTML editor and back
- 				ed.onBeforeSetContent.add(function(ed, o) {
- 					if ( o.content ) {
- 						o.content = o.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi, '<$1$2>');
- 						o.content = o.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi, '</$1>');
- 					}
- 				});
- 			});
- 
- 			// Word count
- 			if ( 'undefined' != typeof(jQuery) ) {
- 				ed.onKeyUp.add(function(ed, e) {
- 					var k = e.keyCode || e.charCode;
- 
- 					if ( k == last )
- 						return;
- 
- 					if ( 13 == k || 8 == last || 46 == last )
- 						jQuery(document).triggerHandler('wpcountwords', [ ed.getContent({format : 'raw'}) ]);
- 
- 					last = k;
- 				});
- 			};
- 
- 			// keep empty paragraphs :(
- 			ed.onSaveContent.addToTop(function(ed, o) {
- 				o.content = o.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g, '<p>&nbsp;</p>');
- 			});
- 
- 			ed.onSaveContent.add(function(ed, o) {
- 				if ( ed.getParam('wpautop', true) && typeof(switchEditors) == 'object' ) {
- 					if ( ed.isHidden() )
- 						o.content = o.element.value;
- 					else
- 						o.content = switchEditors.pre_wpautop(o.content);
- 				}
- 			});
- 
- 			/* disable for now
- 			ed.onBeforeSetContent.add(function(ed, o) {
- 				o.content = t._setEmbed(o.content);
- 			});
- 
- 			ed.onPostProcess.add(function(ed, o) {
- 				if ( o.get )
- 					o.content = t._getEmbed(o.content);
- 			});
- 			*/
- 
- 			// Add listeners to handle more break
- 			t._handleMoreBreak(ed, url);
- 
- 			// Add custom shortcuts
- 			ed.addShortcut('alt+shift+c', ed.getLang('justifycenter_desc'), 'JustifyCenter');
- 			ed.addShortcut('alt+shift+r', ed.getLang('justifyright_desc'), 'JustifyRight');
- 			ed.addShortcut('alt+shift+l', ed.getLang('justifyleft_desc'), 'JustifyLeft');
- 			ed.addShortcut('alt+shift+j', ed.getLang('justifyfull_desc'), 'JustifyFull');
- 			ed.addShortcut('alt+shift+q', ed.getLang('blockquote_desc'), 'mceBlockQuote');
- 			ed.addShortcut('alt+shift+u', ed.getLang('bullist_desc'), 'InsertUnorderedList');
- 			ed.addShortcut('alt+shift+o', ed.getLang('numlist_desc'), 'InsertOrderedList');
- 			ed.addShortcut('alt+shift+d', ed.getLang('striketrough_desc'), 'Strikethrough');
- 			ed.addShortcut('alt+shift+n', ed.getLang('spellchecker.desc'), 'mceSpellCheck');
- 			ed.addShortcut('alt+shift+a', ed.getLang('link_desc'), 'mceLink');
- 			ed.addShortcut('alt+shift+s', ed.getLang('unlink_desc'), 'unlink');
- 			ed.addShortcut('alt+shift+m', ed.getLang('image_desc'), 'WP_Medialib');
- 			ed.addShortcut('alt+shift+g', ed.getLang('fullscreen.desc'), 'mceFullScreen');
- 			ed.addShortcut('alt+shift+z', ed.getLang('wp_adv_desc'), 'WP_Adv');
- 			ed.addShortcut('alt+shift+h', ed.getLang('help_desc'), 'WP_Help');
- 			ed.addShortcut('alt+shift+t', ed.getLang('wp_more_desc'), 'WP_More');
- 			ed.addShortcut('alt+shift+p', ed.getLang('wp_page_desc'), 'WP_Page');
- 			ed.addShortcut('ctrl+s', ed.getLang('save_desc'), function(){if('function'==typeof autosave)autosave();});
- 
- 			if ( tinymce.isWebKit ) {
- 				ed.addShortcut('alt+shift+b', ed.getLang('bold_desc'), 'Bold');
- 				ed.addShortcut('alt+shift+i', ed.getLang('italic_desc'), 'Italic');
- 			}
- 
- 			ed.onInit.add(function(ed) {
- 				tinymce.dom.Event.add(ed.getWin(), 'scroll', function(e) {
- 					ed.plugins.wordpress._hideButtons();
- 				});
- 				tinymce.dom.Event.add(ed.getBody(), 'dragstart', function(e) {
- 					ed.plugins.wordpress._hideButtons();
- 				});
- 			});
- 
- 			ed.onBeforeExecCommand.add(function(ed, cmd, ui, val) {
- 				ed.plugins.wordpress._hideButtons();
- 			});
- 
- 			ed.onSaveContent.add(function(ed, o) {
- 				ed.plugins.wordpress._hideButtons();
- 			});
- 
- 			ed.onMouseDown.add(function(ed, e) {
- 				if ( e.target.nodeName != 'IMG' )
- 					ed.plugins.wordpress._hideButtons();
- 			});
- 		},
- 
- 		getInfo : function() {
- 			return {
- 				longname : 'WordPress Plugin',
- 				author : 'WordPress', // add Moxiecode?
- 				authorurl : 'http://wordpress.org',
- 				infourl : 'http://wordpress.org',
- 				version : '3.0'
- 			};
- 		},
- 
- 		// Internal functions
- 		_setEmbed : function(c) {
- 			return c.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g, function(a,b){
- 				return '<img width="300" height="200" src="' + tinymce.baseURL + '/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+b+'" title="'+b+'" />';
- 			});
- 		},
- 
- 		_getEmbed : function(c) {
- 			return c.replace(/<img[^>]+>/g, function(a) {
- 				if ( a.indexOf('class="wp-oembed') != -1 ) {
- 					var u = a.match(/alt="([^\"]+)"/);
- 					if ( u[1] )
- 						a = '[embed]' + u[1] + '[/embed]';
- 				}
- 				return a;
- 			});
- 		},
- 
- 		_showButtons : function(n, id) {
- 			var ed = tinyMCE.activeEditor, p1, p2, vp, DOM = tinymce.DOM, X, Y;
- 
- 			vp = ed.dom.getViewPort(ed.getWin());
- 			p1 = DOM.getPos(ed.getContentAreaContainer());
- 			p2 = ed.dom.getPos(n);
- 
- 			X = Math.max(p2.x - vp.x, 0) + p1.x;
- 			Y = Math.max(p2.y - vp.y, 0) + p1.y;
- 
- 			DOM.setStyles(id, {
- 				'top' : Y+5+'px',
- 				'left' : X+5+'px',
- 				'display' : 'block'
- 			});
- 
- 			if ( this.mceTout )
- 				clearTimeout(this.mceTout);
- 
- 			this.mceTout = setTimeout( function(){ed.plugins.wordpress._hideButtons();}, 5000 );
- 		},
- 
- 		_hideButtons : function() {
- 			if ( !this.mceTout )
- 				return;
- 
- 			if ( document.getElementById('wp_editbtns') )
- 				tinymce.DOM.hide('wp_editbtns');
- 
- 			if ( document.getElementById('wp_gallerybtns') )
- 				tinymce.DOM.hide('wp_gallerybtns');
- 
- 			clearTimeout(this.mceTout);
- 			this.mceTout = 0;
- 		},
- 
- 		// Resizes the iframe by a relative height value
- 		_resizeIframe : function(ed, tb_id, dy) {
- 			var ifr = ed.getContentAreaContainer().firstChild;
- 
- 			DOM.setStyle(ifr, 'height', ifr.clientHeight + dy); // Resize iframe
- 			ed.theme.deltaHeight += dy; // For resize cookie
- 		},
- 
- 		_handleMoreBreak : function(ed, url) {
- 			var moreHTML, nextpageHTML;
- 
- 			moreHTML = '<img src="' + url + '/img/trans.gif" alt="$1" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
- 			nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
- 
- 			// Load plugin specific CSS into editor
- 			ed.onInit.add(function() {
- 				ed.dom.loadCSS(url + '/css/content.css');
- 			});
- 
- 			// Display morebreak instead if img in element path
- 			ed.onPostRender.add(function() {
- 				if (ed.theme.onResolveName) {
- 					ed.theme.onResolveName.add(function(th, o) {
- 						if (o.node.nodeName == 'IMG') {
- 							if ( ed.dom.hasClass(o.node, 'mceWPmore') )
- 								o.name = 'wpmore';
- 							if ( ed.dom.hasClass(o.node, 'mceWPnextpage') )
- 								o.name = 'wppage';
- 						}
- 
- 					});
- 				}
- 			});
- 
- 			// Replace morebreak with images
- 			ed.onBeforeSetContent.add(function(ed, o) {
- 				if ( o.content ) {
- 					o.content = o.content.replace(/<!--more(.*?)-->/g, moreHTML);
- 					o.content = o.content.replace(/<!--nextpage-->/g, nextpageHTML);
- 				}
- 			});
- 
- 			// Replace images with morebreak
- 			ed.onPostProcess.add(function(ed, o) {
- 				if (o.get)
- 					o.content = o.content.replace(/<img[^>]+>/g, function(im) {
- 						if (im.indexOf('class="mceWPmore') !== -1) {
- 							var m, moretext = (m = im.match(/alt="(.*?)"/)) ? m[1] : '';
- 							im = '<!--more'+moretext+'-->';
- 						}
- 						if (im.indexOf('class="mceWPnextpage') !== -1)
- 							im = '<!--nextpage-->';
- 
- 						return im;
- 					});
- 			});
- 
- 			// Set active buttons if user selected pagebreak or more break
- 			ed.onNodeChange.add(function(ed, cm, n) {
- 				cm.setActive('wp_page', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mceWPnextpage'));
- 				cm.setActive('wp_more', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mceWPmore'));
- 			});
- 		}
- 	});
- 
- 	// Register plugin
- 	tinymce.PluginManager.add('wordpress', tinymce.plugins.WordPress);
- })();
- 
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js	2012-02-29 17:06:24.000000000 -0600
***************
*** 0 ****
--- 1,440 ----
+ /**
+  * WordPress plugin.
+  */
+ 
+ (function() {
+ 	var DOM = tinymce.DOM;
+ 
+ 	tinymce.create('tinymce.plugins.WordPress', {
+ 		mceTout : 0,
+ 
+ 		init : function(ed, url) {
+ 			var t = this, tbId = ed.getParam('wordpress_adv_toolbar', 'toolbar2'), last = 0, moreHTML, nextpageHTML, closeOnClick;
+ 			moreHTML = '<img src="' + url + '/img/trans.gif" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
+ 			nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
+ 
+ 			if ( getUserSetting('hidetb', '0') == '1' )
+ 				ed.settings.wordpress_adv_hidden = 0;
+ 
+ 			// Hides the specified toolbar and resizes the iframe
+ 			ed.onPostRender.add(function() {
+ 				var adv_toolbar = ed.controlManager.get(tbId);
+ 				if ( ed.getParam('wordpress_adv_hidden', 1) && adv_toolbar ) {
+ 					DOM.hide(adv_toolbar.id);
+ 					t._resizeIframe(ed, tbId, 28);
+ 				}
+ 			});
+ 
+ 			// Register commands
+ 			ed.addCommand('WP_More', function() {
+ 				ed.execCommand('mceInsertContent', 0, moreHTML);
+ 			});
+ 
+ 			ed.addCommand('WP_Page', function() {
+ 				ed.execCommand('mceInsertContent', 0, nextpageHTML);
+ 			});
+ 
+ 			ed.addCommand('WP_Help', function() {
+ 				ed.windowManager.open({
+ 					url : tinymce.baseURL + '/wp-mce-help.php',
+ 					width : 450,
+ 					height : 420,
+ 					inline : 1
+ 				});
+ 			});
+ 
+ 			ed.addCommand('WP_Adv', function() {
+ 				var cm = ed.controlManager, id = cm.get(tbId).id;
+ 
+ 				if ( 'undefined' == id )
+ 					return;
+ 
+ 				if ( DOM.isHidden(id) ) {
+ 					cm.setActive('wp_adv', 1);
+ 					DOM.show(id);
+ 					t._resizeIframe(ed, tbId, -28);
+ 					ed.settings.wordpress_adv_hidden = 0;
+ 					setUserSetting('hidetb', '1');
+ 				} else {
+ 					cm.setActive('wp_adv', 0);
+ 					DOM.hide(id);
+ 					t._resizeIframe(ed, tbId, 28);
+ 					ed.settings.wordpress_adv_hidden = 1;
+ 					setUserSetting('hidetb', '0');
+ 				}
+ 			});
+ 
+ 			ed.addCommand('WP_Medialib', function() {
+ 				var id = ed.getParam('wp_fullscreen_editor_id') || ed.getParam('fullscreen_editor_id') || ed.id,
+ 					link = tinymce.DOM.select('#wp-' + id + '-media-buttons a.thickbox');
+ 
+ 				if ( link && link[0] )
+ 					link = link[0];
+ 				else
+ 					return;
+ 
+ 				tb_show('', link.href);
+ 				tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
+ 			});
+ 
+ 			// Register buttons
+ 			ed.addButton('wp_more', {
+ 				title : 'wordpress.wp_more_desc',
+ 				cmd : 'WP_More'
+ 			});
+ 
+ 			ed.addButton('wp_page', {
+ 				title : 'wordpress.wp_page_desc',
+ 				image : url + '/img/page.gif',
+ 				cmd : 'WP_Page'
+ 			});
+ 
+ 			ed.addButton('wp_help', {
+ 				title : 'wordpress.wp_help_desc',
+ 				cmd : 'WP_Help'
+ 			});
+ 
+ 			ed.addButton('wp_adv', {
+ 				title : 'wordpress.wp_adv_desc',
+ 				cmd : 'WP_Adv'
+ 			});
+ 
+ 			// Add Media button
+ 			ed.addButton('add_media', {
+ 				title : 'wordpress.add_media',
+ 				image : url + '/img/image.gif',
+ 				cmd : 'WP_Medialib'
+ 			});
+ 
+ 			// Add Media buttons to fullscreen and handle align buttons for image captions
+ 			ed.onBeforeExecCommand.add(function(ed, cmd, ui, val, o) {
+ 				var DOM = tinymce.DOM, n, DL, DIV, cls, a, align;
+ 				if ( 'mceFullScreen' == cmd ) {
+ 					if ( 'mce_fullscreen' != ed.id && DOM.select('a.thickbox').length )
+ 						ed.settings.theme_advanced_buttons1 += ',|,add_media';
+ 				}
+ 
+ 				if ( 'JustifyLeft' == cmd || 'JustifyRight' == cmd || 'JustifyCenter' == cmd ) {
+ 					n = ed.selection.getNode();
+ 
+ 					if ( n.nodeName == 'IMG' ) {
+ 						align = cmd.substr(7).toLowerCase();
+ 						a = 'align' + align;
+ 						DL = ed.dom.getParent(n, 'dl.wp-caption');
+ 						DIV = ed.dom.getParent(n, 'div.mceTemp');
+ 
+ 						if ( DL && DIV ) {
+ 							cls = ed.dom.hasClass(DL, a) ? 'alignnone' : a;
+ 							DL.className = DL.className.replace(/align[^ '"]+\s?/g, '');
+ 							ed.dom.addClass(DL, cls);
+ 
+ 							if (cls == 'aligncenter')
+ 								ed.dom.addClass(DIV, 'mceIEcenter');
+ 							else
+ 								ed.dom.removeClass(DIV, 'mceIEcenter');
+ 
+ 							o.terminate = true;
+ 							ed.execCommand('mceRepaint');
+ 						} else {
+ 							if ( ed.dom.hasClass(n, a) )
+ 								ed.dom.addClass(n, 'alignnone');
+ 							else
+ 								ed.dom.removeClass(n, 'alignnone');
+ 						}
+ 					}
+ 				}
+ 			});
+ 
+ 			ed.onInit.add(function(ed) {
+ 				var bodyClass = ed.getParam('body_class', ''), body = ed.getBody();
+ 
+ 				// add body classes
+ 				if ( bodyClass )
+ 					bodyClass = bodyClass.split(' ');
+ 				else
+ 					bodyClass = [];
+ 
+ 				if ( ed.getParam('directionality', '') == 'rtl' )
+ 					bodyClass.push('rtl');
+ 
+ 				if ( tinymce.isIE9 )
+ 					bodyClass.push('ie9');
+ 				else if ( tinymce.isIE8 )
+ 					bodyClass.push('ie8');
+ 				else if ( tinymce.isIE7 )
+ 					bodyClass.push('ie7');
+ 
+ 				if ( ed.id != 'wp_mce_fullscreen' && ed.id != 'mce_fullscreen' )
+ 					bodyClass.push('wp-editor');
+ 				else if ( ed.id == 'mce_fullscreen' )
+ 					bodyClass.push('mce-fullscreen');
+ 
+ 				tinymce.each( bodyClass, function(cls){
+ 					if ( cls )
+ 						ed.dom.addClass(body, cls);
+ 				});
+ 
+ 				// make sure these run last
+ 				ed.onNodeChange.add( function(ed, cm, e) {
+ 					var DL;
+ 
+ 					if ( e.nodeName == 'IMG' ) {
+ 						DL = ed.dom.getParent(e, 'dl.wp-caption');
+ 					} else if ( e.nodeName == 'DIV' && ed.dom.hasClass(e, 'mceTemp') ) {
+ 						DL = e.firstChild;
+ 
+ 						if ( ! ed.dom.hasClass(DL, 'wp-caption') )
+ 							DL = false;
+ 					}
+ 
+ 					if ( DL ) {
+ 						if ( ed.dom.hasClass(DL, 'alignleft') )
+ 							cm.setActive('justifyleft', 1);
+ 						else if ( ed.dom.hasClass(DL, 'alignright') )
+ 							cm.setActive('justifyright', 1);
+ 						else if ( ed.dom.hasClass(DL, 'aligncenter') )
+ 							cm.setActive('justifycenter', 1);
+ 					}
+ 				});
+ 
+ 				// remove invalid parent paragraphs when pasting HTML and/or switching to the HTML editor and back
+ 				ed.onBeforeSetContent.add(function(ed, o) {
+ 					if ( o.content ) {
+ 						o.content = o.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi, '<$1$2>');
+ 						o.content = o.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi, '</$1>');
+ 					}
+ 				});
+ 			});
+ 
+ 			// Word count
+ 			if ( 'undefined' != typeof(jQuery) ) {
+ 				ed.onKeyUp.add(function(ed, e) {
+ 					var k = e.keyCode || e.charCode;
+ 
+ 					if ( k == last )
+ 						return;
+ 
+ 					if ( 13 == k || 8 == last || 46 == last )
+ 						jQuery(document).triggerHandler('wpcountwords', [ ed.getContent({format : 'raw'}) ]);
+ 
+ 					last = k;
+ 				});
+ 			};
+ 
+ 			// keep empty paragraphs :(
+ 			ed.onSaveContent.addToTop(function(ed, o) {
+ 				o.content = o.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g, '<p>&nbsp;</p>');
+ 			});
+ 
+ 			ed.onSaveContent.add(function(ed, o) {
+ 				if ( ed.getParam('wpautop', true) && typeof(switchEditors) == 'object' ) {
+ 					if ( ed.isHidden() )
+ 						o.content = o.element.value;
+ 					else
+ 						o.content = switchEditors.pre_wpautop(o.content);
+ 				}
+ 			});
+ 
+ 			/* disable for now
+ 			ed.onBeforeSetContent.add(function(ed, o) {
+ 				o.content = t._setEmbed(o.content);
+ 			});
+ 
+ 			ed.onPostProcess.add(function(ed, o) {
+ 				if ( o.get )
+ 					o.content = t._getEmbed(o.content);
+ 			});
+ 			*/
+ 
+ 			// Add listeners to handle more break
+ 			t._handleMoreBreak(ed, url);
+ 
+ 			// Add custom shortcuts
+ 			ed.addShortcut('alt+shift+c', ed.getLang('justifycenter_desc'), 'JustifyCenter');
+ 			ed.addShortcut('alt+shift+r', ed.getLang('justifyright_desc'), 'JustifyRight');
+ 			ed.addShortcut('alt+shift+l', ed.getLang('justifyleft_desc'), 'JustifyLeft');
+ 			ed.addShortcut('alt+shift+j', ed.getLang('justifyfull_desc'), 'JustifyFull');
+ 			ed.addShortcut('alt+shift+q', ed.getLang('blockquote_desc'), 'mceBlockQuote');
+ 			ed.addShortcut('alt+shift+u', ed.getLang('bullist_desc'), 'InsertUnorderedList');
+ 			ed.addShortcut('alt+shift+o', ed.getLang('numlist_desc'), 'InsertOrderedList');
+ 			ed.addShortcut('alt+shift+d', ed.getLang('striketrough_desc'), 'Strikethrough');
+ 			ed.addShortcut('alt+shift+n', ed.getLang('spellchecker.desc'), 'mceSpellCheck');
+ 			ed.addShortcut('alt+shift+a', ed.getLang('link_desc'), 'mceLink');
+ 			ed.addShortcut('alt+shift+s', ed.getLang('unlink_desc'), 'unlink');
+ 			ed.addShortcut('alt+shift+m', ed.getLang('image_desc'), 'WP_Medialib');
+ 			ed.addShortcut('alt+shift+g', ed.getLang('fullscreen.desc'), 'mceFullScreen');
+ 			ed.addShortcut('alt+shift+z', ed.getLang('wp_adv_desc'), 'WP_Adv');
+ 			ed.addShortcut('alt+shift+h', ed.getLang('help_desc'), 'WP_Help');
+ 			ed.addShortcut('alt+shift+t', ed.getLang('wp_more_desc'), 'WP_More');
+ 			ed.addShortcut('alt+shift+p', ed.getLang('wp_page_desc'), 'WP_Page');
+ 			ed.addShortcut('ctrl+s', ed.getLang('save_desc'), function(){if('function'==typeof autosave)autosave();});
+ 
+ 			if ( tinymce.isWebKit ) {
+ 				ed.addShortcut('alt+shift+b', ed.getLang('bold_desc'), 'Bold');
+ 				ed.addShortcut('alt+shift+i', ed.getLang('italic_desc'), 'Italic');
+ 			}
+ 
+ 			ed.onInit.add(function(ed) {
+ 				tinymce.dom.Event.add(ed.getWin(), 'scroll', function(e) {
+ 					ed.plugins.wordpress._hideButtons();
+ 				});
+ 				tinymce.dom.Event.add(ed.getBody(), 'dragstart', function(e) {
+ 					ed.plugins.wordpress._hideButtons();
+ 				});
+ 			});
+ 
+ 			ed.onBeforeExecCommand.add(function(ed, cmd, ui, val) {
+ 				ed.plugins.wordpress._hideButtons();
+ 			});
+ 
+ 			ed.onSaveContent.add(function(ed, o) {
+ 				ed.plugins.wordpress._hideButtons();
+ 			});
+ 
+ 			ed.onMouseDown.add(function(ed, e) {
+ 				if ( e.target.nodeName != 'IMG' )
+ 					ed.plugins.wordpress._hideButtons();
+ 			});
+ 
+ 			closeOnClick = function(e){
+ 				var id;
+ 
+ 				if ( e.target.id == 'mceModalBlocker' || e.target.className == 'ui-widget-overlay' ) {
+ 					for ( id in ed.windowManager.windows ) {
+ 						ed.windowManager.close(null, id);
+ 					}
+ 				}
+ 			}
+ 
+ 			// close popups when clicking on the background
+ 			tinymce.dom.Event.remove(document.body, 'click', closeOnClick);
+ 			tinymce.dom.Event.add(document.body, 'click', closeOnClick);
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'WordPress Plugin',
+ 				author : 'WordPress', // add Moxiecode?
+ 				authorurl : 'http://wordpress.org',
+ 				infourl : 'http://wordpress.org',
+ 				version : '3.0'
+ 			};
+ 		},
+ 
+ 		// Internal functions
+ 		_setEmbed : function(c) {
+ 			return c.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g, function(a,b){
+ 				return '<img width="300" height="200" src="' + tinymce.baseURL + '/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+b+'" title="'+b+'" />';
+ 			});
+ 		},
+ 
+ 		_getEmbed : function(c) {
+ 			return c.replace(/<img[^>]+>/g, function(a) {
+ 				if ( a.indexOf('class="wp-oembed') != -1 ) {
+ 					var u = a.match(/alt="([^\"]+)"/);
+ 					if ( u[1] )
+ 						a = '[embed]' + u[1] + '[/embed]';
+ 				}
+ 				return a;
+ 			});
+ 		},
+ 
+ 		_showButtons : function(n, id) {
+ 			var ed = tinyMCE.activeEditor, p1, p2, vp, DOM = tinymce.DOM, X, Y;
+ 
+ 			vp = ed.dom.getViewPort(ed.getWin());
+ 			p1 = DOM.getPos(ed.getContentAreaContainer());
+ 			p2 = ed.dom.getPos(n);
+ 
+ 			X = Math.max(p2.x - vp.x, 0) + p1.x;
+ 			Y = Math.max(p2.y - vp.y, 0) + p1.y;
+ 
+ 			DOM.setStyles(id, {
+ 				'top' : Y+5+'px',
+ 				'left' : X+5+'px',
+ 				'display' : 'block'
+ 			});
+ 
+ 			if ( this.mceTout )
+ 				clearTimeout(this.mceTout);
+ 
+ 			this.mceTout = setTimeout( function(){ed.plugins.wordpress._hideButtons();}, 5000 );
+ 		},
+ 
+ 		_hideButtons : function() {
+ 			if ( !this.mceTout )
+ 				return;
+ 
+ 			if ( document.getElementById('wp_editbtns') )
+ 				tinymce.DOM.hide('wp_editbtns');
+ 
+ 			if ( document.getElementById('wp_gallerybtns') )
+ 				tinymce.DOM.hide('wp_gallerybtns');
+ 
+ 			clearTimeout(this.mceTout);
+ 			this.mceTout = 0;
+ 		},
+ 
+ 		// Resizes the iframe by a relative height value
+ 		_resizeIframe : function(ed, tb_id, dy) {
+ 			var ifr = ed.getContentAreaContainer().firstChild;
+ 
+ 			DOM.setStyle(ifr, 'height', ifr.clientHeight + dy); // Resize iframe
+ 			ed.theme.deltaHeight += dy; // For resize cookie
+ 		},
+ 
+ 		_handleMoreBreak : function(ed, url) {
+ 			var moreHTML, nextpageHTML;
+ 
+ 			moreHTML = '<img src="' + url + '/img/trans.gif" alt="$1" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
+ 			nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
+ 
+ 			// Display morebreak instead if img in element path
+ 			ed.onPostRender.add(function() {
+ 				if (ed.theme.onResolveName) {
+ 					ed.theme.onResolveName.add(function(th, o) {
+ 						if (o.node.nodeName == 'IMG') {
+ 							if ( ed.dom.hasClass(o.node, 'mceWPmore') )
+ 								o.name = 'wpmore';
+ 							if ( ed.dom.hasClass(o.node, 'mceWPnextpage') )
+ 								o.name = 'wppage';
+ 						}
+ 
+ 					});
+ 				}
+ 			});
+ 
+ 			// Replace morebreak with images
+ 			ed.onBeforeSetContent.add(function(ed, o) {
+ 				if ( o.content ) {
+ 					o.content = o.content.replace(/<!--more(.*?)-->/g, moreHTML);
+ 					o.content = o.content.replace(/<!--nextpage-->/g, nextpageHTML);
+ 				}
+ 			});
+ 
+ 			// Replace images with morebreak
+ 			ed.onPostProcess.add(function(ed, o) {
+ 				if (o.get)
+ 					o.content = o.content.replace(/<img[^>]+>/g, function(im) {
+ 						if (im.indexOf('class="mceWPmore') !== -1) {
+ 							var m, moretext = (m = im.match(/alt="(.*?)"/)) ? m[1] : '';
+ 							im = '<!--more'+moretext+'-->';
+ 						}
+ 						if (im.indexOf('class="mceWPnextpage') !== -1)
+ 							im = '<!--nextpage-->';
+ 
+ 						return im;
+ 					});
+ 			});
+ 
+ 			// Set active buttons if user selected pagebreak or more break
+ 			ed.onNodeChange.add(function(ed, cm, n) {
+ 				cm.setActive('wp_page', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mceWPnextpage'));
+ 				cm.setActive('wp_more', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mceWPmore'));
+ 			});
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('wordpress', tinymce.plugins.WordPress);
+ })();
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/img/embedded.png and ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/img/embedded.png differ
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif and ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif differ
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif and ./wordpress-3.4/wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js	2011-04-22 21:12:56.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,80 ****
- /**
-  * editor_plugin_src.js
-  *
-  * Copyright 2009, Moxiecode Systems AB
-  * Released under LGPL License.
-  *
-  * License: http://tinymce.moxiecode.com/license
-  * Contributing: http://tinymce.moxiecode.com/contributing
-  */
- 
- (function() {
- 	tinymce.create('tinymce.plugins.WPDialogs', {
- 		init : function(ed, url) {
- 			tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', {
- 				WPWindowManager : function(ed) {
- 					this.parent(ed);
- 				},
- 
- 				open : function(f, p) {
- 					var t = this, element;
- 
- 					if ( ! f.wpDialog )
- 						return this.parent( f, p );
- 					else if ( ! f.id )
- 						return;
- 
- 					element = jQuery('#' + f.id);
- 					if ( ! element.length )
- 						return;
- 
- 					t.features = f;
- 					t.params = p;
- 					t.onOpen.dispatch(t, f, p);
- 					t.element = t.windows[ f.id ] = element;
- 
- 					// Store selection
- 					t.bookmark = t.editor.selection.getBookmark(1);
- 
- 					// Create the dialog if necessary
- 					if ( ! element.data('wpdialog') ) {
- 						element.wpdialog({
- 							title: f.title,
- 							width: f.width,
- 							height: f.height,
- 							modal: true,
- 							dialogClass: 'wp-dialog',
- 							zIndex: 300000
- 						});
- 					}
- 
- 					element.wpdialog('open');
- 				},
- 				close : function() {
- 					if ( ! this.features.wpDialog )
- 						return this.parent.apply( this, arguments );
- 
- 					this.element.wpdialog('close');
- 				}
- 			});
- 
- 			// Replace window manager
- 			ed.onBeforeRenderUI.add(function() {
- 				ed.windowManager = new tinymce.WPWindowManager(ed);
- 			});
- 		},
- 
- 		getInfo : function() {
- 			return {
- 				longname : 'WPDialogs',
- 				author : 'WordPress',
- 				authorurl : 'http://wordpress.org',
- 				infourl : 'http://wordpress.org',
- 				version : '0.1'
- 			};
- 		}
- 	});
- 
- 	// Register plugin
- 	tinymce.PluginManager.add('wpdialogs', tinymce.plugins.WPDialogs);
- })();
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,80 ----
+ /**
+  * editor_plugin_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function() {
+ 	tinymce.create('tinymce.plugins.WPDialogs', {
+ 		init : function(ed, url) {
+ 			tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', {
+ 				WPWindowManager : function(ed) {
+ 					this.parent(ed);
+ 				},
+ 
+ 				open : function(f, p) {
+ 					var t = this, element;
+ 
+ 					if ( ! f.wpDialog )
+ 						return this.parent( f, p );
+ 					else if ( ! f.id )
+ 						return;
+ 
+ 					element = jQuery('#' + f.id);
+ 					if ( ! element.length )
+ 						return;
+ 
+ 					t.features = f;
+ 					t.params = p;
+ 					t.onOpen.dispatch(t, f, p);
+ 					t.element = t.windows[ f.id ] = element;
+ 
+ 					// Store selection
+ 					t.bookmark = t.editor.selection.getBookmark(1);
+ 
+ 					// Create the dialog if necessary
+ 					if ( ! element.data('wpdialog') ) {
+ 						element.wpdialog({
+ 							title: f.title,
+ 							width: f.width,
+ 							height: f.height,
+ 							modal: true,
+ 							dialogClass: 'wp-dialog',
+ 							zIndex: 300000
+ 						});
+ 					}
+ 
+ 					element.wpdialog('open');
+ 				},
+ 				close : function() {
+ 					if ( ! this.features.wpDialog )
+ 						return this.parent.apply( this, arguments );
+ 
+ 					this.element.wpdialog('close');
+ 				}
+ 			});
+ 
+ 			// Replace window manager
+ 			ed.onBeforeRenderUI.add(function() {
+ 				ed.windowManager = new tinymce.WPWindowManager(ed);
+ 			});
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'WPDialogs',
+ 				author : 'WordPress',
+ 				authorurl : 'http://wordpress.org',
+ 				infourl : 'http://wordpress.org',
+ 				version : '0.1'
+ 			};
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('wpdialogs', tinymce.plugins.WPDialogs);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css	2011-11-02 10:24:56.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css	2012-04-25 15:56:26.000000000 -0500
***************
*** 334,340 ****
  	position: relative;
  	border-bottom-width: 1px;
  	border-bottom-style: solid;
! 	height: 2.5em;
  	background-color: #f9f9f9;
  	border-bottom-color: #dfdfdf;
  }
--- 334,340 ----
  	position: relative;
  	border-bottom-width: 1px;
  	border-bottom-style: solid;
! 	height: 33px;
  	background-color: #f9f9f9;
  	border-bottom-color: #dfdfdf;
  }
***************
*** 357,359 ****
--- 357,431 ----
  	color: #CFCFCF;
  }
  
+ .hidden {
+ 	display: none;
+ }
+ 
+ /* RTL */
+ body#media-upload.rtl ul#sidemenu {
+ 	left: auto;
+ 	right: 0;
+ }
+ 
+ .rtl #basic .align .field label {
+ 	display: block;
+ 	float: right;
+ 	padding: 0 24px 0 0;
+ 	margin: 5px 3px 5px 5px; 
+ }
+ 
+ .rtl .align .field input {
+ 	display: block;
+ 	float: right;
+ 	margin: 5px 15px 5px 0;
+ }
+ 
+ .rtl tr.image-size label {
+ 	margin: 0;
+ }
+ 
+ .rtl tr.image-size input {
+ 	margin: 3px 15px 0 5px;
+ }
+ 
+ .rtl .image-align-none-label,
+ .rtl .image-align-left-label,
+ .rtl .image-align-center-label,
+ .rtl .image-align-right-label {
+ 	background-position: center right;
+ }
+ 
+ #media-upload.rtl .describe th.label {
+ 	text-align: right;
+ }
+ 
+ .rtl .show-align,
+ .rtl .alignright,
+ .rtl #img_size {
+ 	float: left;
+ }
+ 
+ .rtl tr.image-size label,
+ .rtl tr.image-size input,
+ .rtl #img_dim label,
+ .rtl #img_dim input,
+ .rtl #img_prop label,
+ .rtl #img_prop input,
+ .rtl #img_size_div,
+ .rtl .alignleft {
+ 	float: right;
+ }
+ 
+ .rtl #img_dim label,
+ .rtl #img_prop label {
+ 	margin: 5px 0pt;
+ }
+ 
+ .rtl #img_dim input,
+ .rtl #img_prop input {
+ 	margin: 0 5px 0 10px;
+ }
+ 
+ .rtl #img_size_title {
+ 	text-align: left;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css	2008-06-23 10:26:03.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,68 ****
- 
- body#media-upload ul#sidemenu {
- 	left: auto;
- 	right: 0;
- }
- 
- #basic .align .field label {
- 	display: block;
- 	float: right;
- 	padding: 0 24px 0 0;
- 	margin: 5px 3px 5px 5px; 
- }
- 
- .align .field input {
- 	display: block;
- 	float: right;
- 	margin: 5px 15px 5px 0;
- }
- 
- tr.image-size label {
- 	margin: 0;
- }
- 
- tr.image-size input {
- 	margin: 3px 15px 0 5px;
- }
- 
- .image-align-none-label,
- .image-align-left-label,
- .image-align-center-label,
- .image-align-right-label {
- 	background-position: center right;
- }
- 
- #media-upload .describe th.label {
- 	text-align: right;
- }
- 
- .show-align,
- .alignright,
- #img_size {
- 	float: left;
- }
- 
- tr.image-size label,
- tr.image-size input,
- #img_dim label,
- #img_dim input,
- #img_prop label,
- #img_prop input,
- #img_size_div,
- .alignleft {
- 	float: right;
- }
- 
- #img_dim label,
- #img_prop label {
- 	margin: 5px 0pt;
- }
- 
- #img_dim input,
- #img_prop input {
- 	margin: 0 5px 0 10px;
- }
- 
- #img_size_title {
- 	text-align: left;
- }
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html	2010-01-08 07:06:17.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html	2012-05-18 18:09:59.000000000 -0500
***************
*** 1,22 ****
! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title></title>
  
! <script type="text/javascript" src="js/editimage.js?ver=327"></script>
! <script type="text/javascript" src="../../utils/form_utils.js?ver=3223"></script>
! 
! <link rel="stylesheet" href="css/editimage.css?ver=327" type="text/css" media="all" />
! 
! <script type="text/javascript">
! if ( 'rtl' == tinyMCEPopup.editor.getParam('directionality','') )
! 	document.write('<link rel="stylesheet" href="css/editimage-rtl.css?ver=3223" type="text/css" media="all" />');
! </script>
  <base target="_self" />
  </head>
  
  <body id="media-upload" style="display:none;">
  <div id="media-upload-header">
  	<ul id="sidemenu">
  	<li><a href="javascript:;" id="tab_basic" class="current" onclick="wpImage.setTabs(this);">{#wpeditimage.edit_img}</a></li>
--- 1,20 ----
! <!DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title></title>
  
! <link rel="stylesheet" href="css/editimage.css?ver=349-20679" type="text/css" media="all" />
! <script type="text/javascript" src="js/editimage.js?ver=349-20679"></script>
! <script type="text/javascript" src="../../utils/form_utils.js?ver=349-20592"></script>
  <base target="_self" />
  </head>
  
  <body id="media-upload" style="display:none;">
+ <script type="text/javascript">
+ if ( 'rtl' == tinyMCEPopup.editor.getParam('directionality','') )
+ 	document.body.className += ' rtl';
+ </script>
  <div id="media-upload-header">
  	<ul id="sidemenu">
  	<li><a href="javascript:;" id="tab_basic" class="current" onclick="wpImage.setTabs(this);">{#wpeditimage.edit_img}</a></li>
***************
*** 103,109 ****
  				</label>
  			</th>
  			<td class="field">
! 				<input type="text" id="img_cap" name="img_cap" value="" size="60" />
  			</td>
  		</tr>
  
--- 101,107 ----
  				</label>
  			</th>
  			<td class="field">
! 				<textarea id="img_cap_text"></textarea>
  			</td>
  		</tr>
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js	2011-11-05 14:49:42.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,233 ****
- 
- (function() {
- 	tinymce.create('tinymce.plugins.wpEditImage', {
- 
- 		init : function(ed, url) {
- 			var t = this, mouse = {};
- 
- 			t.url = url;
- 			t._createButtons();
- 
- 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...');
- 			ed.addCommand('WP_EditImage', function() {
- 				var el = ed.selection.getNode(), vp = tinymce.DOM.getViewPort(), H = vp.h, W = ( 720 < vp.w ) ? 720 : vp.w, cls = ed.dom.getAttrib(el, 'class');
- 
- 				if ( cls.indexOf('mceItem') != -1 || cls.indexOf('wpGallery') != -1 || el.nodeName != 'IMG' )
- 					return;
- 
- 				tb_show('', url + '/editimage.html?ver=321&TB_iframe=true');
- 				tinymce.DOM.setStyles('TB_window', {
- 					'width':( W - 50 )+'px',
- 					'height':( H - 45 )+'px',
- 					'margin-left':'-'+parseInt((( W - 50 ) / 2),10) + 'px'
- 				});
- 
- 				if ( ! tinymce.isIE6 ) {
- 					tinymce.DOM.setStyles('TB_window', {
- 						'top':'20px',
- 						'marginTop':'0'
- 					});
- 				}
- 
- 				tinymce.DOM.setStyles('TB_iframeContent', {
- 					'width':( W - 50 )+'px',
- 					'height':( H - 75 )+'px'
- 				});
- 				tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
- 			});
- 
- 			ed.onInit.add(function(ed) {
- 				tinymce.dom.Event.add(ed.getBody(), 'dragstart', function(e) {
- 					if ( !tinymce.isGecko && e.target.nodeName == 'IMG' && ed.dom.getParent(e.target, 'dl.wp-caption') )
- 						return tinymce.dom.Event.cancel(e);
- 				});
- 			});
- 
- 			// resize the caption <dl> when the image is soft-resized by the user (only possible in Firefox and IE)
- 			ed.onMouseUp.add(function(ed, e) {
- 				if ( tinymce.isWebKit || tinymce.isOpera )
- 					return;
- 
- 				if ( mouse.x && (e.clientX != mouse.x || e.clientY != mouse.y) ) {
- 					var n = ed.selection.getNode();
- 
- 					if ( 'IMG' == n.nodeName ) {
- 						window.setTimeout(function(){
- 							var DL, width;
- 
- 							if ( n.width != mouse.img_w || n.height != mouse.img_h )
- 								n.className = n.className.replace(/size-[^ "']+/, '');
- 
- 							if ( ed.dom.getParent(n, 'div.mceTemp') ) {
- 								DL = ed.dom.getParent(n, 'dl.wp-caption');
- 
- 								if ( DL ) {
- 									width = ed.dom.getAttrib(n, 'width') || n.width;
- 									width = parseInt(width, 10);
- 									ed.dom.setStyle(DL, 'width', 10 + width);
- 									ed.execCommand('mceRepaint');
- 								}
- 
- 							}
- 						}, 100);
- 					}
- 				}
- 				mouse = {};
- 			});
- 
- 			// show editimage buttons
- 			ed.onMouseDown.add(function(ed, e) {
- 
- 				if ( e.target && ( e.target.nodeName == 'IMG' || (e.target.firstChild && e.target.firstChild.nodeName == 'IMG') ) ) {
- 					mouse = {
- 						x: e.clientX,
- 						y: e.clientY,
- 						img_w: e.target.clientWidth,
- 						img_h: e.target.clientHeight
- 					};
- 
- 					if ( ed.dom.getAttrib(e.target, 'class').indexOf('mceItem') == -1 )
- 						ed.plugins.wordpress._showButtons(e.target, 'wp_editbtns');
- 				}
- 			});
- 
- 			// when pressing Return inside a caption move the cursor to a new parapraph under it
- 			ed.onKeyPress.add(function(ed, e) {
- 				var n, DL, DIV, P;
- 
- 				if ( e.keyCode == 13 ) {
- 					n = ed.selection.getNode();
- 					DL = ed.dom.getParent(n, 'dl.wp-caption');
- 					DIV = ed.dom.getParent(DL, 'div.mceTemp');
- 
- 					if ( DL && DIV ) {
- 						P = ed.dom.create('p', {}, '&nbsp;');
- 						ed.dom.insertAfter( P, DIV );
- 						
- 						if ( P.firstChild )
- 							ed.selection.select(P.firstChild);
- 						else
- 							ed.selection.select(P);
- 						
- 						tinymce.dom.Event.cancel(e);
- 						return false;
- 					}
- 				}
- 			});
- 
- 			ed.onBeforeSetContent.add(function(ed, o) {
- 				o.content = t._do_shcode(o.content);
- 			});
- 
- 			ed.onPostProcess.add(function(ed, o) {
- 				if (o.get)
- 					o.content = t._get_shcode(o.content);
- 			});
- 		},
- 
- 		_do_shcode : function(co) {
- 			return co.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?[\s\u00a0]*/g, function(a,b,c){
- 				var id, cls, w, cap, div_cls;
- 				
- 				b = b.replace(/\\'|\\&#39;|\\&#039;/g, '&#39;').replace(/\\"|\\&quot;/g, '&quot;');
- 				c = c.replace(/\\&#39;|\\&#039;/g, '&#39;').replace(/\\&quot;/g, '&quot;');
- 				id = b.match(/id=['"]([^'"]+)/i);
- 				cls = b.match(/align=['"]([^'"]+)/i);
- 				w = b.match(/width=['"]([0-9]+)/);
- 				cap = b.match(/caption=['"]([^'"]+)/i);
- 
- 				id = ( id && id[1] ) ? id[1] : '';
- 				cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
- 				w = ( w && w[1] ) ? w[1] : '';
- 				cap = ( cap && cap[1] ) ? cap[1] : '';
- 				if ( ! w || ! cap ) return c;
- 				
- 				div_cls = (cls == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp';
- 
- 				return '<div class="'+div_cls+'" draggable><dl id="'+id+'" class="wp-caption '+cls+'" style="width: '+(10+parseInt(w))+
- 				'px"><dt class="wp-caption-dt">'+c+'</dt><dd class="wp-caption-dd">'+cap+'</dd></dl></div>';
- 			});
- 		},
- 
- 		_get_shcode : function(co) {
- 			return co.replace(/<div class="mceTemp[^"]*">\s*<dl([^>]+)>\s*<dt[^>]+>([\s\S]+?)<\/dt>\s*<dd[^>]+>(.+?)<\/dd>\s*<\/dl>\s*<\/div>\s*/gi, function(a,b,c,cap){
- 				var id, cls, w;
- 				
- 				id = b.match(/id=['"]([^'"]+)/i);
- 				cls = b.match(/class=['"]([^'"]+)/i);
- 				w = c.match(/width=['"]([0-9]+)/);
- 
- 				id = ( id && id[1] ) ? id[1] : '';
- 				cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
- 				w = ( w && w[1] ) ? w[1] : '';
- 
- 				if ( ! w || ! cap ) return c;
- 				cls = cls.match(/align[^ '"]+/) || 'alignnone';
- 				cap = cap.replace(/<\S[^<>]*>/gi, '').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
- 
- 				return '[caption id="'+id+'" align="'+cls+'" width="'+w+'" caption="'+cap+'"]'+c+'[/caption]';
- 			});
- 		},
- 
- 		_createButtons : function() {
- 			var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, editButton, dellButton;
- 
- 			DOM.remove('wp_editbtns');
- 
- 			DOM.add(document.body, 'div', {
- 				id : 'wp_editbtns',
- 				style : 'display:none;'
- 			});
- 
- 			editButton = DOM.add('wp_editbtns', 'img', {
- 				src : t.url+'/img/image.png',
- 				id : 'wp_editimgbtn',
- 				width : '24',
- 				height : '24',
- 				title : ed.getLang('wpeditimage.edit_img')
- 			});
- 
- 			tinymce.dom.Event.add(editButton, 'mousedown', function(e) {
- 				var ed = tinyMCE.activeEditor;
- 				ed.windowManager.bookmark = ed.selection.getBookmark('simple');
- 				ed.execCommand("WP_EditImage");
- 			});
- 
- 			dellButton = DOM.add('wp_editbtns', 'img', {
- 				src : t.url+'/img/delete.png',
- 				id : 'wp_delimgbtn',
- 				width : '24',
- 				height : '24',
- 				title : ed.getLang('wpeditimage.del_img')
- 			});
- 
- 			tinymce.dom.Event.add(dellButton, 'mousedown', function(e) {
- 				var ed = tinyMCE.activeEditor, el = ed.selection.getNode(), p;
- 
- 				if ( el.nodeName == 'IMG' && ed.dom.getAttrib(el, 'class').indexOf('mceItem') == -1 ) {
- 					if ( (p = ed.dom.getParent(el, 'div')) && ed.dom.hasClass(p, 'mceTemp') )
- 						ed.dom.remove(p);
- 					else if ( (p = ed.dom.getParent(el, 'A')) && p.childNodes.length == 1 )
- 						ed.dom.remove(p);
- 					else
- 						ed.dom.remove(el);
- 
- 					ed.execCommand('mceRepaint');
- 					return false;
- 				}
- 			});
- 		},
- 
- 		getInfo : function() {
- 			return {
- 				longname : 'Edit Image',
- 				author : 'WordPress',
- 				authorurl : 'http://wordpress.org',
- 				infourl : '',
- 				version : "1.0"
- 			};
- 		}
- 	});
- 
- 	tinymce.PluginManager.add('wpeditimage', tinymce.plugins.wpEditImage);
- })();
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js	2012-05-01 20:14:52.000000000 -0500
***************
*** 0 ****
--- 1,281 ----
+ 
+ (function() {
+ 	tinymce.create('tinymce.plugins.wpEditImage', {
+ 		url: '',
+ 		editor: {},
+ 
+ 		init: function(ed, url) {
+ 			var t = this, mouse = {};
+ 
+ 			t.url = url;
+ 			t.editor = ed;
+ 			t._createButtons();
+ 
+ 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...');
+ 			ed.addCommand('WP_EditImage', function() {
+ 				var el = ed.selection.getNode(), vp, H, W, cls = ed.dom.getAttrib(el, 'class');
+ 
+ 				if ( cls.indexOf('mceItem') != -1 || cls.indexOf('wpGallery') != -1 || el.nodeName != 'IMG' )
+ 					return;
+ 
+ 				vp = tinymce.DOM.getViewPort();
+ 				H = 680 < (vp.h - 70) ? 680 : vp.h - 70;
+ 				W = 650 < vp.w ? 650 : vp.w;
+ 
+ 				ed.windowManager.open({
+ 					file: url + '/editimage.html',
+ 					width: W+'px',
+ 					height: H+'px',
+ 					inline: true
+ 				});
+ 			});
+ 
+ 			ed.onInit.add(function(ed) {
+ 				ed.dom.events.add(ed.getBody(), 'dragstart', function(e) {
+ 					var parent;
+ 
+ 					if ( e.target.nodeName == 'IMG' && ( parent = ed.dom.getParent(e.target, 'div.mceTemp') ) ) {
+ 						ed.selection.select(parent);
+ 					}
+ 				});
+ 			});
+ 
+ 			// resize the caption <dl> when the image is soft-resized by the user (only possible in Firefox and IE)
+ 			ed.onMouseUp.add(function(ed, e) {
+ 				if ( tinymce.isWebKit || tinymce.isOpera )
+ 					return;
+ 
+ 				if ( mouse.x && (e.clientX != mouse.x || e.clientY != mouse.y) ) {
+ 					var n = ed.selection.getNode();
+ 
+ 					if ( 'IMG' == n.nodeName ) {
+ 						window.setTimeout(function(){
+ 							var DL = ed.dom.getParent(n, 'dl.wp-caption'), width;
+ 
+ 							if ( n.width != mouse.img_w || n.height != mouse.img_h )
+ 								n.className = n.className.replace(/size-[^ "']+/, '');
+ 
+ 							if ( DL ) {
+ 								width = ed.dom.getAttrib(n, 'width') || n.width;
+ 								width = parseInt(width, 10);
+ 								ed.dom.setStyle(DL, 'width', 10 + width);
+ 								ed.execCommand('mceRepaint');
+ 							}
+ 						}, 100);
+ 					}
+ 				}
+ 				mouse = {};
+ 			});
+ 
+ 			// show editimage buttons
+ 			ed.onMouseDown.add(function(ed, e) {
+ 				var target = e.target;
+ 
+ 				if ( target.nodeName != 'IMG' ) {
+ 					if ( target.firstChild && target.firstChild.nodeName == 'IMG' && target.childNodes.length == 1 )
+ 						target = target.firstChild;
+ 					else
+ 						return;
+ 				}
+ 
+ 				if ( ed.dom.getAttrib(target, 'class').indexOf('mceItem') == -1 ) {
+ 					mouse = {
+ 						x: e.clientX,
+ 						y: e.clientY,
+ 						img_w: target.clientWidth,
+ 						img_h: target.clientHeight
+ 					};
+ 
+ 					ed.plugins.wordpress._showButtons(target, 'wp_editbtns');
+ 				}
+ 			});
+ 
+ 			// when pressing Return inside a caption move the caret to a new parapraph under it
+ 			ed.onKeyPress.add(function(ed, e) {
+ 				var n, DL, DIV, P;
+ 
+ 				if ( e.keyCode == 13 ) {
+ 					n = ed.selection.getNode();
+ 					DL = ed.dom.getParent(n, 'dl.wp-caption');
+ 
+ 					if ( DL )
+ 						DIV = ed.dom.getParent(DL, 'div.mceTemp');
+ 
+ 					if ( DIV ) {
+ 						P = ed.dom.create('p', {}, '<br>');
+ 						ed.dom.insertAfter( P, DIV );
+ 						ed.selection.select(P.firstChild);
+ 
+ 						if ( tinymce.isIE ) {
+ 							ed.selection.setContent('');
+ 						} else {
+ 							ed.selection.setContent('<br _moz_dirty="">');
+ 							ed.selection.setCursorLocation(P, 0);
+ 						}
+ 
+ 						ed.dom.events.cancel(e);
+ 						return false;
+ 					}
+ 				}
+ 			});
+ 
+ 			ed.onBeforeSetContent.add(function(ed, o) {
+ 				o.content = ed.wpSetImgCaption(o.content);
+ 			});
+ 
+ 			ed.onPostProcess.add(function(ed, o) {
+ 				if (o.get)
+ 					o.content = ed.wpGetImgCaption(o.content);
+ 			});
+ 
+ 			ed.wpSetImgCaption = function(content) {
+ 				return t._do_shcode(content);
+ 			};
+ 
+ 			ed.wpGetImgCaption = function(content) {
+ 				return t._get_shcode(content);
+ 			};
+ 		},
+ 
+ 		_do_shcode : function(content) {
+ 			return content.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function(a,b,c){
+ 				var id, cls, w, cap, div_cls, img, trim = tinymce.trim;
+ 
+ 				id = b.match(/id=['"]([^'"]*)['"] ?/);
+ 				b = b.replace(id[0], '');
+ 
+ 				cls = b.match(/align=['"]([^'"]*)['"] ?/);
+ 				b = b.replace(cls[0], '');
+ 
+ 				w = b.match(/width=['"]([0-9]*)['"] ?/);
+ 				b = b.replace(w[0], '');
+ 
+ 				c = trim(c);
+ 				img = c.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i);
+ 
+ 				if ( img && img[2] ) {
+ 					cap = trim( img[2] );
+ 					img = trim( img[1] );
+ 				} else {
+ 					// old captions shortcode style
+ 					cap = trim(b).replace(/caption=['"]/, '').replace(/['"]$/, '');
+ 					img = c;
+ 				}
+ 
+ 				id = ( id && id[1] ) ? id[1] : '';
+ 				cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
+ 				w = ( w && w[1] ) ? w[1] : '';
+ 
+ 				if ( !w || !cap )
+ 					return c;
+ 
+ 				div_cls = 'mceTemp';
+ 				if ( cls == 'aligncenter' )
+ 					div_cls += ' mceIEcenter';
+ 
+ 				return '<div class="'+div_cls+'"><dl id="'+id+'" class="wp-caption '+cls+'" style="width: '+( 10 + parseInt(w) )+
+ 				'px"><dt class="wp-caption-dt">'+img+'</dt><dd class="wp-caption-dd">'+cap+'</dd></dl></div>';
+ 			});
+ 		},
+ 
+ 		_get_shcode : function(content) {
+ 			return content.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g, function(a, b){
+ 				var ret = b.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi, function(a,b,c,cap){
+ 					var id, cls, w;
+ 
+ 					w = c.match(/width="([0-9]*)"/);
+ 					w = ( w && w[1] ) ? w[1] : '';
+ 
+ 					if ( !w || !cap )
+ 						return c;
+ 
+ 					id = b.match(/id="([^"]*)"/);
+ 					id = ( id && id[1] ) ? id[1] : '';
+ 
+ 					cls = b.match(/class="([^"]*)"/);
+ 					cls = ( cls && cls[1] ) ? cls[1] : '';
+ 					cls = cls.match(/align[a-z]+/) || 'alignnone';
+ 
+ 					cap = cap.replace(/\r\n|\r/g, '\n').replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){
+ 						// no line breaks inside HTML tags
+ 						return a.replace(/[\r\n\t]+/, ' ');
+ 					});
+ 
+ 					// convert remaining line breaks to <br>
+ 					cap = cap.replace(/\s*\n\s*/g, '<br />');
+ 
+ 					return '[caption id="'+id+'" align="'+cls+'" width="'+w+'"]'+c+' '+cap+'[/caption]';
+ 				});
+ 
+ 				if ( ret.indexOf('[caption') !== 0 ) {
+ 					// the caption html seems brocken, try to find the image that may be wrapped in a link
+ 					// and may be followed by <p> with the caption text.
+ 					ret = b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi, '<p>$1</p>$2');
+ 				}
+ 
+ 				return ret;
+ 			});
+ 		},
+ 
+ 		_createButtons : function() {
+ 			var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, editButton, dellButton;
+ 
+ 			DOM.remove('wp_editbtns');
+ 
+ 			DOM.add(document.body, 'div', {
+ 				id : 'wp_editbtns',
+ 				style : 'display:none;'
+ 			});
+ 
+ 			editButton = DOM.add('wp_editbtns', 'img', {
+ 				src : t.url+'/img/image.png',
+ 				id : 'wp_editimgbtn',
+ 				width : '24',
+ 				height : '24',
+ 				title : ed.getLang('wpeditimage.edit_img')
+ 			});
+ 
+ 			tinymce.dom.Event.add(editButton, 'mousedown', function(e) {
+ 				var ed = tinyMCE.activeEditor;
+ 				ed.windowManager.bookmark = ed.selection.getBookmark('simple');
+ 				ed.execCommand("WP_EditImage");
+ 			});
+ 
+ 			dellButton = DOM.add('wp_editbtns', 'img', {
+ 				src : t.url+'/img/delete.png',
+ 				id : 'wp_delimgbtn',
+ 				width : '24',
+ 				height : '24',
+ 				title : ed.getLang('wpeditimage.del_img')
+ 			});
+ 
+ 			tinymce.dom.Event.add(dellButton, 'mousedown', function(e) {
+ 				var ed = tinyMCE.activeEditor, el = ed.selection.getNode(), p;
+ 
+ 				if ( el.nodeName == 'IMG' && ed.dom.getAttrib(el, 'class').indexOf('mceItem') == -1 ) {
+ 					if ( (p = ed.dom.getParent(el, 'div')) && ed.dom.hasClass(p, 'mceTemp') )
+ 						ed.dom.remove(p);
+ 					else if ( (p = ed.dom.getParent(el, 'A')) && p.childNodes.length == 1 )
+ 						ed.dom.remove(p);
+ 					else
+ 						ed.dom.remove(el);
+ 
+ 					ed.execCommand('mceRepaint');
+ 					return false;
+ 				}
+ 			});
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Edit Image',
+ 				author : 'WordPress',
+ 				authorurl : 'http://wordpress.org',
+ 				infourl : '',
+ 				version : "1.0"
+ 			};
+ 		}
+ 	});
+ 
+ 	tinymce.PluginManager.add('wpeditimage', tinymce.plugins.wpEditImage);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js	2011-09-17 22:00:13.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.dev.js	2012-05-01 20:14:52.000000000 -0500
***************
*** 3,19 ****
  
  tinyMCEPopup = {
  	init: function() {
! 		var t = this, w, li, q, i, it;
! 
! 		li = ('' + document.location.search).replace(/^\?/, '').split('&');
! 		q = {};
! 		for ( i = 0; i < li.length; i++ ) {
! 			it = li[i].split('=');
! 			q[unescape(it[0])] = unescape(it[1]);
! 		}
! 
! 		if (q.mce_rdomain)
! 			document.domain = q.mce_rdomain;
  
  		// Find window & API
  		w = t.getWin();
--- 3,9 ----
  
  tinyMCEPopup = {
  	init: function() {
! 		var t = this, w, ti;
  
  		// Find window & API
  		w = t.getWin();
***************
*** 21,26 ****
--- 11,17 ----
  		tinyMCE = w.tinyMCE;
  		t.editor = tinymce.EditorManager.activeEditor;
  		t.params = t.editor.windowManager.params;
+ 		t.features = t.editor.windowManager.features;
  
  		// Setup local DOM
  		t.dom = t.editor.windowManager.createInstance('tinymce.dom.DOMUtils', document);
***************
*** 28,34 ****
  	},
  
  	getWin : function() {
! 		return window.dialogArguments || opener || parent || top;
  	},
  
  	getParam : function(n, dv) {
--- 19,25 ----
  	},
  
  	getWin : function() {
! 		return (!window.frameElement && window.dialogArguments) || opener || parent || top;
  	},
  
  	getParam : function(n, dv) {
***************
*** 36,51 ****
  	},
  
  	close : function() {
! 		var t = this, win = t.getWin();
  
  		// To avoid domain relaxing issue in Opera
  		function close() {
! 			win.tb_remove();
! 			tinymce = tinyMCE = t.editor = t.dom = t.dom.doc = null; // Cleanup
  		};
  
  		if (tinymce.isOpera)
! 			win.setTimeout(close, 0);
  		else
  			close();
  	},
--- 27,42 ----
  	},
  
  	close : function() {
! 		var t = this;
  
  		// To avoid domain relaxing issue in Opera
  		function close() {
! 			t.editor.windowManager.close(window);
! 			tinymce = tinyMCE = t.editor = t.params = t.dom = t.dom.doc = null; // Cleanup
  		};
  
  		if (tinymce.isOpera)
! 			t.getWin().setTimeout(close, 0);
  		else
  			close();
  	},
***************
*** 59,71 ****
  	},
  
  	storeSelection : function() {
! 		this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark('simple');
  	},
  
  	restoreSelection : function() {
  		var t = tinyMCEPopup;
  
! 		if (tinymce.isIE)
  			t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
  	}
  }
--- 50,62 ----
  	},
  
  	storeSelection : function() {
! 		this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1);
  	},
  
  	restoreSelection : function() {
  		var t = tinyMCEPopup;
  
! 		if ( tinymce.isIE )
  			t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
  	}
  }
***************
*** 74,85 ****
  wpImage = {
  	preInit : function() {
  		// import colors stylesheet from parent
! 		var win = tinyMCEPopup.getWin(), styles = win.document.styleSheets, url, i;
  
  		for ( i = 0; i < styles.length; i++ ) {
  			url = styles.item(i).href;
! 			if ( url && url.indexOf('colors') != -1 )
! 				document.write( '<link rel="stylesheet" href="'+url+'" type="text/css" media="all" />' );
  		}
  	},
  
--- 65,78 ----
  wpImage = {
  	preInit : function() {
  		// import colors stylesheet from parent
! 		var ed = tinyMCEPopup.editor, win = tinyMCEPopup.getWin(), styles = win.document.styleSheets, url, i;
  
  		for ( i = 0; i < styles.length; i++ ) {
  			url = styles.item(i).href;
! 			if ( url && url.indexOf('colors') != -1 ) {
! 				document.getElementsByTagName('head')[0].appendChild( ed.dom.create('link', {rel:'stylesheet', href: url}) );
! 				break;
! 			}
  		}
  	},
  
***************
*** 242,248 ****
  
  	setup : function() {
  		var t = this, c, el, link, fname, f = document.forms[0], ed = tinyMCEPopup.editor,
! 			d = t.I('img_demo'), dom = tinyMCEPopup.dom, DL, caption = '', dlc, pa;
  
  		document.dir = tinyMCEPopup.editor.getParam('directionality','');
  
--- 235,241 ----
  
  	setup : function() {
  		var t = this, c, el, link, fname, f = document.forms[0], ed = tinyMCEPopup.editor,
! 			d = t.I('img_demo'), dom = tinyMCEPopup.dom, DL, DD, caption = '', dlc, pa;
  
  		document.dir = tinyMCEPopup.editor.getParam('directionality','');
  
***************
*** 267,281 ****
  				tinymce.trim(c);
  			}
  
! 			tinymce.each(DL.childNodes, function(e) {
! 				if ( e.nodeName == 'DD' && dom.hasClass(e, 'wp-caption-dd') ) {
! 					caption = e.innerHTML;
! 					return;
! 				}
! 			});
  		}
  
! 		f.img_cap.value = caption;
  		f.img_title.value = ed.dom.getAttrib(el, 'title');
  		f.img_alt.value = ed.dom.getAttrib(el, 'alt');
  		f.border.value = ed.dom.getAttrib(el, 'border');
--- 260,271 ----
  				tinymce.trim(c);
  			}
  
! 			DD = ed.dom.select('dd.wp-caption-dd', DL);
! 			if ( DD && DD[0] )
! 				caption = ed.serializer.serialize(DD[0]).replace(/^<p>/, '').replace(/<\/p>$/, '');
  		}
  
! 		f.img_cap_text.value = caption;
  		f.img_title.value = ed.dom.getAttrib(el, 'title');
  		f.img_alt.value = ed.dom.getAttrib(el, 'alt');
  		f.border.value = ed.dom.getAttrib(el, 'border');
***************
*** 326,332 ****
  			d.className = t.align = "alignnone";
  		}
  
! 		if ( t.width && t.preloadImg.width ) t.showSizeSet();
  		document.body.style.display = '';
  	},
  
--- 316,324 ----
  			d.className = t.align = "alignnone";
  		}
  
! 		if ( t.width && t.preloadImg.width )
! 			t.showSizeSet();
! 		
  		document.body.style.display = '';
  	},
  
***************
*** 351,357 ****
  	update : function() {
  		var t = this, f = document.forms[0], ed = tinyMCEPopup.editor, el, b, fixSafari = null,
  			DL, P, A, DIV, do_caption = null, img_class = f.img_classes.value, html,
! 			id, cap_id = '', cap, DT, DD, cap_width, div_cls, lnk = '', pa, aa;
  
  		tinyMCEPopup.restoreSelection();
  		el = ed.selection.getNode();
--- 343,349 ----
  	update : function() {
  		var t = this, f = document.forms[0], ed = tinyMCEPopup.editor, el, b, fixSafari = null,
  			DL, P, A, DIV, do_caption = null, img_class = f.img_classes.value, html,
! 			id, cap_id = '', cap, DT, DD, cap_width, div_cls, lnk = '', pa, aa, caption;
  
  		tinyMCEPopup.restoreSelection();
  		el = ed.selection.getNode();
***************
*** 362,368 ****
  			return;
  		}
  
! 		if ( f.img_cap.value != '' && f.width.value != '' ) {
  			do_caption = 1;
  			img_class = img_class.replace( /align[^ "']+\s?/gi, '' );
  		}
--- 354,360 ----
  			return;
  		}
  
! 		if ( f.img_cap_text.value != '' && f.width.value != '' ) {
  			do_caption = 1;
  			img_class = img_class.replace( /align[^ "']+\s?/gi, '' );
  		}
***************
*** 393,408 ****
  				if ( ! f.link_href.value.match(/https?:\/\//i) )
  					f.link_href.value = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.link_href.value);
  
! 				if ( tinymce.isWebKit && ed.dom.hasClass(el, 'aligncenter') ) {
! 					ed.dom.removeClass(el, 'aligncenter');
! 					fixSafari = 1;
! 				}
! 
! 				tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
! 				if ( fixSafari ) ed.dom.addClass(el, 'aligncenter');
  
  				tinymce.each(ed.dom.select("a"), function(n) {
! 					if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
  
  						ed.dom.setAttribs(n, {
  							href : f.link_href.value,
--- 385,395 ----
  				if ( ! f.link_href.value.match(/https?:\/\//i) )
  					f.link_href.value = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.link_href.value);
  
! 				ed.getDoc().execCommand("unlink", false, null);
! 				tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1});
  
  				tinymce.each(ed.dom.select("a"), function(n) {
! 					if ( ed.dom.getAttrib(n, 'href') == '#mce_temp_url#' ) {
  
  						ed.dom.setAttribs(n, {
  							href : f.link_href.value,
***************
*** 429,434 ****
--- 416,428 ----
  		if ( do_caption ) {
  			cap_width = 10 + parseInt(f.width.value);
  			div_cls = (t.align == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp';
+ 			caption = f.img_cap_text.value;
+ 
+ 			caption = caption.replace(/\r\n|\r/g, '\n').replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){
+ 				return a.replace(/[\r\n\t]+/, ' ');
+ 			});
+ 
+ 			caption = caption.replace(/\s*\n\s*/g, '<br />');
  
  			if ( DL ) {
  				ed.dom.setAttribs(DL, {
***************
*** 440,463 ****
  					ed.dom.setAttrib(DIV, 'class', div_cls);
  
  				if ( (DT = ed.dom.getParent(el, 'dt')) && (DD = DT.nextSibling) && ed.dom.hasClass(DD, 'wp-caption-dd') )
! 					ed.dom.setHTML(DD, f.img_cap.value);
  
  			} else {
  				if ( (id = f.img_classes.value.match( /wp-image-([0-9]{1,6})/ )) && id[1] )
  					cap_id = 'attachment_'+id[1];
  
  				if ( f.link_href.value && (lnk = ed.dom.getParent(el, 'a')) ) {
! 					if ( lnk.childNodes.length == 1 )
  						html = ed.dom.getOuterHTML(lnk);
! 					else {
  						html = ed.dom.getOuterHTML(lnk);
! 						html = html.match(/<a[^>]+>/i);
  						html = html+ed.dom.getOuterHTML(el)+'</a>';
  					}
! 				} else html = ed.dom.getOuterHTML(el);
  
  				html = '<dl id="'+cap_id+'" class="wp-caption '+t.align+'" style="width: '+cap_width+
! 				'px"><dt class="wp-caption-dt">'+html+'</dt><dd class="wp-caption-dd">'+f.img_cap.value+'</dd></dl>';
  
  				cap = ed.dom.create('div', {'class': div_cls}, html);
  
--- 434,459 ----
  					ed.dom.setAttrib(DIV, 'class', div_cls);
  
  				if ( (DT = ed.dom.getParent(el, 'dt')) && (DD = DT.nextSibling) && ed.dom.hasClass(DD, 'wp-caption-dd') )
! 					ed.dom.setHTML(DD, caption);
  
  			} else {
  				if ( (id = f.img_classes.value.match( /wp-image-([0-9]{1,6})/ )) && id[1] )
  					cap_id = 'attachment_'+id[1];
  
  				if ( f.link_href.value && (lnk = ed.dom.getParent(el, 'a')) ) {
! 					if ( lnk.childNodes.length == 1 ) {
  						html = ed.dom.getOuterHTML(lnk);
! 					} else {
  						html = ed.dom.getOuterHTML(lnk);
! 						html = html.match(/<a [^>]+>/i);
  						html = html+ed.dom.getOuterHTML(el)+'</a>';
  					}
! 				} else {
! 					html = ed.dom.getOuterHTML(el);
! 				}
  
  				html = '<dl id="'+cap_id+'" class="wp-caption '+t.align+'" style="width: '+cap_width+
! 				'px"><dt class="wp-caption-dt">'+html+'</dt><dd class="wp-caption-dd">'+caption+'</dd></dl>';
  
  				cap = ed.dom.create('div', {'class': div_cls}, html);
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js	2011-09-17 22:00:13.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js	2012-05-01 20:58:25.000000000 -0500
***************
*** 1 ****
! var tinymce=null,tinyMCEPopup,tinyMCE,wpImage;tinyMCEPopup={init:function(){var d=this,b,a,f,c,e;a=(""+document.location.search).replace(/^\?/,"").split("&");f={};for(c=0;c<a.length;c++){e=a[c].split("=");f[unescape(e[0])]=unescape(e[1])}if(f.mce_rdomain){document.domain=f.mce_rdomain}b=d.getWin();tinymce=b.tinymce;tinyMCE=b.tinyMCE;d.editor=tinymce.EditorManager.activeEditor;d.params=d.editor.windowManager.params;d.dom=d.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);d.editor.windowManager.onOpen.dispatch(d.editor.windowManager,window)},getWin:function(){return window.dialogArguments||opener||parent||top},getParam:function(b,a){return this.editor.getParam(b,a)},close:function(){var a=this,b=a.getWin();function c(){b.tb_remove();tinymce=tinyMCE=a.editor=a.dom=a.dom.doc=null}if(tinymce.isOpera){b.setTimeout(c,0)}else{c()}},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark("simple")},restoreSelection:function(){var a=tinyMCEPopup;if(tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}}};tinyMCEPopup.init();wpImage={preInit:function(){var d=tinyMCEPopup.getWin(),c=d.document.styleSheets,a,b;for(b=0;b<c.length;b++){a=c.item(b).href;if(a&&a.indexOf("colors")!=-1){document.write('<link rel="stylesheet" href="'+a+'" type="text/css" media="all" />')}}},I:function(a){return document.getElementById(a)},current:"",link:"",link_rel:"",target_value:"",current_size_sel:"s100",width:"",height:"",align:"",img_alt:"",setTabs:function(b){var a=this;if("current"==b.className){return false}a.I("div_advanced").style.display=("tab_advanced"==b.id)?"block":"none";a.I("div_basic").style.display=("tab_basic"==b.id)?"block":"none";a.I("tab_basic").className=a.I("tab_advanced").className="";b.className="current";return false},img_seturl:function(b){var c=this,a=c.I("link_rel").value;if("current"==b){c.I("link_href").value=c.current;c.I("link_rel").value=c.link_rel}else{c.I("link_href").value=c.link;if(a){a=a.replace(/attachment|wp-att-[0-9]+/gi,"");c.I("link_rel").value=tinymce.trim(a)}}},imgAlignCls:function(b){var c=this,a=c.I("img_classes").value;c.I("img_demo").className=c.align=b;a=a.replace(/align[^ "']+/gi,"");a+=(" "+b);a=a.replace(/\s+/g," ").replace(/^\s/,"");if("aligncenter"==b){c.I("hspace").value="";c.updateStyle("hspace")}c.I("img_classes").value=a},showSize:function(e){var c=this,f=c.I("img_demo"),a=c.width,d=c.height,g=e.id||"s100",b;b=parseInt(g.substring(1))/200;f.width=Math.round(a*b);f.height=Math.round(d*b);c.showSizeClear();e.style.borderColor="#A3A3A3";e.style.backgroundColor="#E5E5E5"},showSizeSet:function(){var b=this,d,c,a;if((b.width*1.3)>parseInt(b.preloadImg.width)){d=b.I("s130"),c=b.I("s120"),a=b.I("s110");d.onclick=c.onclick=a.onclick=null;d.onmouseover=c.onmouseover=a.onmouseover=null;d.style.color=c.style.color=a.style.color="#aaa"}},showSizeRem:function(){var a=this,c=a.I("img_demo"),b=document.forms[0];c.width=Math.round(b.width.value*0.5);c.height=Math.round(b.height.value*0.5);a.showSizeClear();a.I(a.current_size_sel).style.borderColor="#A3A3A3";a.I(a.current_size_sel).style.backgroundColor="#E5E5E5";return false},showSizeClear:function(){var b=this.I("img_size").getElementsByTagName("div"),a;for(a=0;a<b.length;a++){b[a].style.borderColor="#f1f1f1";b[a].style.backgroundColor="#f1f1f1"}},imgEditSize:function(g){var d=this,i=document.forms[0],a,c,b,e,j;if(!d.preloadImg||!d.preloadImg.width||!d.preloadImg.height){return}a=parseInt(d.preloadImg.width),c=parseInt(d.preloadImg.height),b=d.width||a,e=d.height||c,j=g.id||"s100";size=parseInt(j.substring(1))/100;b=Math.round(b*size);e=Math.round(e*size);i.width.value=Math.min(a,b);i.height.value=Math.min(c,e);d.current_size_sel=j;d.demoSetSize()},demoSetSize:function(a){var c=this.I("img_demo"),b=document.forms[0];c.width=b.width.value?Math.round(b.width.value*0.5):"";c.height=b.height.value?Math.round(b.height.value*0.5):""},demoSetStyle:function(){var b=document.forms[0],a=this.I("img_demo"),c=tinyMCEPopup.editor.dom;if(a){c.setAttrib(a,"style",b.img_style.value);c.setStyle(a,"width","");c.setStyle(a,"height","")}},origSize:function(){var a=this,c=document.forms[0],b=a.I("s100");c.width.value=a.width=a.preloadImg.width;c.height.value=a.height=a.preloadImg.height;a.showSizeSet();a.demoSetSize();a.showSize(b)},init:function(){var a=tinyMCEPopup.editor,b;b=document.body.innerHTML;document.body.innerHTML=a.translate(b);window.setTimeout(function(){wpImage.setup()},500)},setup:function(){var p=this,k,b,l,e,i=document.forms[0],h=tinyMCEPopup.editor,j=p.I("img_demo"),g=tinyMCEPopup.dom,a,o="",n,m;document.dir=tinyMCEPopup.editor.getParam("directionality","");if(tinyMCEPopup.editor.getParam("wpeditimage_disable_captions",false)){p.I("cap_field").style.display="none"}tinyMCEPopup.restoreSelection();b=h.selection.getNode();if(b.nodeName!="IMG"){return}i.img_src.value=j.src=l=h.dom.getAttrib(b,"src");h.dom.setStyle(b,"float","");p.getImageData();k=h.dom.getAttrib(b,"class");if(a=g.getParent(b,"dl")){n=h.dom.getAttrib(a,"class");n=n.match(/align[^ "']+/i);if(n&&!g.hasClass(b,n)){k+=" "+n;tinymce.trim(k)}tinymce.each(a.childNodes,function(c){if(c.nodeName=="DD"&&g.hasClass(c,"wp-caption-dd")){o=c.innerHTML;return}})}i.img_cap.value=o;i.img_title.value=h.dom.getAttrib(b,"title");i.img_alt.value=h.dom.getAttrib(b,"alt");i.border.value=h.dom.getAttrib(b,"border");i.vspace.value=h.dom.getAttrib(b,"vspace");i.hspace.value=h.dom.getAttrib(b,"hspace");i.align.value=h.dom.getAttrib(b,"align");i.width.value=p.width=h.dom.getAttrib(b,"width");i.height.value=p.height=h.dom.getAttrib(b,"height");i.img_classes.value=k;i.img_style.value=h.dom.getAttrib(b,"style");if(g.getAttrib(b,"hspace")){p.updateStyle("hspace")}if(g.getAttrib(b,"border")){p.updateStyle("border")}if(g.getAttrib(b,"vspace")){p.updateStyle("vspace")}if(m=h.dom.getParent(b,"A")){i.link_href.value=p.current=h.dom.getAttrib(m,"href");i.link_title.value=h.dom.getAttrib(m,"title");i.link_rel.value=p.link_rel=h.dom.getAttrib(m,"rel");i.link_style.value=h.dom.getAttrib(m,"style");p.target_value=h.dom.getAttrib(m,"target");i.link_classes.value=h.dom.getAttrib(m,"class")}i.link_target.checked=(p.target_value&&p.target_value=="_blank")?"checked":"";e=l.substring(l.lastIndexOf("/"));e=e.replace(/-[0-9]{2,4}x[0-9]{2,4}/,"");p.link=l.substring(0,l.lastIndexOf("/"))+e;if(k.indexOf("alignleft")!=-1){p.I("alignleft").checked="checked";j.className=p.align="alignleft"}else{if(k.indexOf("aligncenter")!=-1){p.I("aligncenter").checked="checked";j.className=p.align="aligncenter"}else{if(k.indexOf("alignright")!=-1){p.I("alignright").checked="checked";j.className=p.align="alignright"}else{if(k.indexOf("alignnone")!=-1){p.I("alignnone").checked="checked";j.className=p.align="alignnone"}}}}if(p.width&&p.preloadImg.width){p.showSizeSet()}document.body.style.display=""},remove:function(){var a=tinyMCEPopup.editor,c,b;tinyMCEPopup.restoreSelection();b=a.selection.getNode();if(b.nodeName!="IMG"){return}if((c=a.dom.getParent(b,"div"))&&a.dom.hasClass(c,"mceTemp")){a.dom.remove(c)}else{if((c=a.dom.getParent(b,"A"))&&c.childNodes.length==1){a.dom.remove(c)}else{a.dom.remove(b)}}a.execCommand("mceRepaint");tinyMCEPopup.close();return},update:function(){var m=this,v=document.forms[0],g=tinyMCEPopup.editor,e,x,d=null,n,h,p,r,o=null,k=v.img_classes.value,l,q,u="",j,i,s,a,z,w="",c,y;tinyMCEPopup.restoreSelection();e=g.selection.getNode();if(e.nodeName!="IMG"){return}if(v.img_src.value===""){m.remove();return}if(v.img_cap.value!=""&&v.width.value!=""){o=1;k=k.replace(/align[^ "']+\s?/gi,"")}p=g.dom.getParent(e,"a");h=g.dom.getParent(e,"p");n=g.dom.getParent(e,"dl");r=g.dom.getParent(e,"div");tinyMCEPopup.execCommand("mceBeginUndoLevel");if(v.width.value!=e.width||v.height.value!=e.height){k=k.replace(/size-[^ "']+/,"")}g.dom.setAttribs(e,{src:v.img_src.value,title:v.img_title.value,alt:v.img_alt.value,width:v.width.value,height:v.height.value,style:v.img_style.value,"class":k});if(v.link_href.value){if(p==null){if(!v.link_href.value.match(/https?:\/\//i)){v.link_href.value=tinyMCEPopup.editor.documentBaseURI.toAbsolute(v.link_href.value)}if(tinymce.isWebKit&&g.dom.hasClass(e,"aligncenter")){g.dom.removeClass(e,"aligncenter");d=1}tinyMCEPopup.execCommand("CreateLink",false,"#mce_temp_url#",{skip_undo:1});if(d){g.dom.addClass(e,"aligncenter")}tinymce.each(g.dom.select("a"),function(b){if(g.dom.getAttrib(b,"href")=="#mce_temp_url#"){g.dom.setAttribs(b,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?"_blank":"","class":v.link_classes.value,style:v.link_style.value})}})}else{g.dom.setAttribs(p,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?"_blank":"","class":v.link_classes.value,style:v.link_style.value})}}if(o){a=10+parseInt(v.width.value);z=(m.align=="aligncenter")?"mceTemp mceIEcenter":"mceTemp";if(n){g.dom.setAttribs(n,{"class":"wp-caption "+m.align,style:"width: "+a+"px;"});if(r){g.dom.setAttrib(r,"class",z)}if((i=g.dom.getParent(e,"dt"))&&(s=i.nextSibling)&&g.dom.hasClass(s,"wp-caption-dd")){g.dom.setHTML(s,v.img_cap.value)}}else{if((q=v.img_classes.value.match(/wp-image-([0-9]{1,6})/))&&q[1]){u="attachment_"+q[1]}if(v.link_href.value&&(w=g.dom.getParent(e,"a"))){if(w.childNodes.length==1){l=g.dom.getOuterHTML(w)}else{l=g.dom.getOuterHTML(w);l=l.match(/<a[^>]+>/i);l=l+g.dom.getOuterHTML(e)+"</a>"}}else{l=g.dom.getOuterHTML(e)}l='<dl id="'+u+'" class="wp-caption '+m.align+'" style="width: '+a+'px"><dt class="wp-caption-dt">'+l+'</dt><dd class="wp-caption-dd">'+v.img_cap.value+"</dd></dl>";j=g.dom.create("div",{"class":z},l);if(h){h.parentNode.insertBefore(j,h);if(h.childNodes.length==1){g.dom.remove(h)}else{if(w&&w.childNodes.length==1){g.dom.remove(w)}else{g.dom.remove(e)}}}else{if(c=g.dom.getParent(e,"TD,TH,LI")){c.appendChild(j);if(w&&w.childNodes.length==1){g.dom.remove(w)}else{g.dom.remove(e)}}}}}else{if(n&&r){if(v.link_href.value&&(y=g.dom.getParent(e,"a"))){l=g.dom.getOuterHTML(y)}else{l=g.dom.getOuterHTML(e)}h=g.dom.create("p",{},l);r.parentNode.insertBefore(h,r);g.dom.remove(r)}}if(v.img_classes.value.indexOf("aligncenter")!=-1){if(h&&(!h.style||h.style.textAlign!="center")){g.dom.setStyle(h,"textAlign","center")}}else{if(h&&h.style&&h.style.textAlign=="center"){g.dom.setStyle(h,"textAlign","")}}if(!v.link_href.value&&p){x=g.selection.getBookmark();g.dom.remove(p,1);g.selection.moveToBookmark(x)}tinyMCEPopup.execCommand("mceEndUndoLevel");g.execCommand("mceRepaint");tinyMCEPopup.close()},updateStyle:function(a){var e=tinyMCEPopup.dom,c,d=document.forms[0],b=e.create("img",{style:d.img_style.value});if(tinyMCEPopup.editor.settings.inline_styles){if(a=="align"){e.setStyle(b,"float","");e.setStyle(b,"vertical-align","");c=d.align.value;if(c){if(c=="left"||c=="right"){e.setStyle(b,"float",c)}else{b.style.verticalAlign=c}}}if(a=="border"){e.setStyle(b,"border","");c=d.border.value;if(c||c=="0"){if(c=="0"){b.style.border="0"}else{b.style.border=c+"px solid black"}}}if(a=="hspace"){e.setStyle(b,"marginLeft","");e.setStyle(b,"marginRight","");c=d.hspace.value;if(c){b.style.marginLeft=c+"px";b.style.marginRight=c+"px"}}if(a=="vspace"){e.setStyle(b,"marginTop","");e.setStyle(b,"marginBottom","");c=d.vspace.value;if(c){b.style.marginTop=c+"px";b.style.marginBottom=c+"px"}}d.img_style.value=e.serializeStyle(e.parseStyle(b.style.cssText));this.demoSetStyle()}},checkVal:function(a){if(a.value==""){if(a.id=="img_src"){a.value=this.I("img_demo").src||this.preloadImg.src}}},resetImageData:function(){var a=document.forms[0];a.width.value=a.height.value=""},updateImageData:function(){var d=document.forms[0],b=wpImage,a=d.width.value,c=d.height.value;if(!a&&c){a=d.width.value=b.width=Math.round(b.preloadImg.width/(b.preloadImg.height/c))}else{if(a&&!c){c=d.height.value=b.height=Math.round(b.preloadImg.height/(b.preloadImg.width/a))}}if(!a){d.width.value=b.width=b.preloadImg.width}if(!c){d.height.value=b.height=b.preloadImg.height}b.showSizeSet();b.demoSetSize();if(d.img_style.value){b.demoSetStyle()}},getImageData:function(){var a=wpImage,b=document.forms[0];a.preloadImg=new Image();a.preloadImg.onload=a.updateImageData;a.preloadImg.onerror=a.resetImageData;a.preloadImg.src=tinyMCEPopup.editor.documentBaseURI.toAbsolute(b.img_src.value)}};window.onload=function(){wpImage.init()};wpImage.preInit();
\ No newline at end of file
--- 1 ----
! var tinymce=null,tinyMCEPopup,tinyMCE,wpImage;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getParam:function(b,a){return this.editor.getParam(b,a)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}}};tinyMCEPopup.init();wpImage={preInit:function(){var a=tinyMCEPopup.editor,e=tinyMCEPopup.getWin(),d=e.document.styleSheets,b,c;for(c=0;c<d.length;c++){b=d.item(c).href;if(b&&b.indexOf("colors")!=-1){document.getElementsByTagName("head")[0].appendChild(a.dom.create("link",{rel:"stylesheet",href:b}));break}}},I:function(a){return document.getElementById(a)},current:"",link:"",link_rel:"",target_value:"",current_size_sel:"s100",width:"",height:"",align:"",img_alt:"",setTabs:function(b){var a=this;if("current"==b.className){return false}a.I("div_advanced").style.display=("tab_advanced"==b.id)?"block":"none";a.I("div_basic").style.display=("tab_basic"==b.id)?"block":"none";a.I("tab_basic").className=a.I("tab_advanced").className="";b.className="current";return false},img_seturl:function(b){var c=this,a=c.I("link_rel").value;if("current"==b){c.I("link_href").value=c.current;c.I("link_rel").value=c.link_rel}else{c.I("link_href").value=c.link;if(a){a=a.replace(/attachment|wp-att-[0-9]+/gi,"");c.I("link_rel").value=tinymce.trim(a)}}},imgAlignCls:function(b){var c=this,a=c.I("img_classes").value;c.I("img_demo").className=c.align=b;a=a.replace(/align[^ "']+/gi,"");a+=(" "+b);a=a.replace(/\s+/g," ").replace(/^\s/,"");if("aligncenter"==b){c.I("hspace").value="";c.updateStyle("hspace")}c.I("img_classes").value=a},showSize:function(e){var c=this,f=c.I("img_demo"),a=c.width,d=c.height,g=e.id||"s100",b;b=parseInt(g.substring(1))/200;f.width=Math.round(a*b);f.height=Math.round(d*b);c.showSizeClear();e.style.borderColor="#A3A3A3";e.style.backgroundColor="#E5E5E5"},showSizeSet:function(){var b=this,d,c,a;if((b.width*1.3)>parseInt(b.preloadImg.width)){d=b.I("s130"),c=b.I("s120"),a=b.I("s110");d.onclick=c.onclick=a.onclick=null;d.onmouseover=c.onmouseover=a.onmouseover=null;d.style.color=c.style.color=a.style.color="#aaa"}},showSizeRem:function(){var a=this,c=a.I("img_demo"),b=document.forms[0];c.width=Math.round(b.width.value*0.5);c.height=Math.round(b.height.value*0.5);a.showSizeClear();a.I(a.current_size_sel).style.borderColor="#A3A3A3";a.I(a.current_size_sel).style.backgroundColor="#E5E5E5";return false},showSizeClear:function(){var b=this.I("img_size").getElementsByTagName("div"),a;for(a=0;a<b.length;a++){b[a].style.borderColor="#f1f1f1";b[a].style.backgroundColor="#f1f1f1"}},imgEditSize:function(g){var d=this,i=document.forms[0],a,c,b,e,j;if(!d.preloadImg||!d.preloadImg.width||!d.preloadImg.height){return}a=parseInt(d.preloadImg.width),c=parseInt(d.preloadImg.height),b=d.width||a,e=d.height||c,j=g.id||"s100";size=parseInt(j.substring(1))/100;b=Math.round(b*size);e=Math.round(e*size);i.width.value=Math.min(a,b);i.height.value=Math.min(c,e);d.current_size_sel=j;d.demoSetSize()},demoSetSize:function(a){var c=this.I("img_demo"),b=document.forms[0];c.width=b.width.value?Math.round(b.width.value*0.5):"";c.height=b.height.value?Math.round(b.height.value*0.5):""},demoSetStyle:function(){var b=document.forms[0],a=this.I("img_demo"),c=tinyMCEPopup.editor.dom;if(a){c.setAttrib(a,"style",b.img_style.value);c.setStyle(a,"width","");c.setStyle(a,"height","")}},origSize:function(){var a=this,c=document.forms[0],b=a.I("s100");c.width.value=a.width=a.preloadImg.width;c.height.value=a.height=a.preloadImg.height;a.showSizeSet();a.demoSetSize();a.showSize(b)},init:function(){var a=tinyMCEPopup.editor,b;b=document.body.innerHTML;document.body.innerHTML=a.translate(b);window.setTimeout(function(){wpImage.setup()},500)},setup:function(){var q=this,l,b,m,e,j=document.forms[0],i=tinyMCEPopup.editor,k=q.I("img_demo"),h=tinyMCEPopup.dom,a,g,p="",o,n;document.dir=tinyMCEPopup.editor.getParam("directionality","");if(tinyMCEPopup.editor.getParam("wpeditimage_disable_captions",false)){q.I("cap_field").style.display="none"}tinyMCEPopup.restoreSelection();b=i.selection.getNode();if(b.nodeName!="IMG"){return}j.img_src.value=k.src=m=i.dom.getAttrib(b,"src");i.dom.setStyle(b,"float","");q.getImageData();l=i.dom.getAttrib(b,"class");if(a=h.getParent(b,"dl")){o=i.dom.getAttrib(a,"class");o=o.match(/align[^ "']+/i);if(o&&!h.hasClass(b,o)){l+=" "+o;tinymce.trim(l)}g=i.dom.select("dd.wp-caption-dd",a);if(g&&g[0]){p=i.serializer.serialize(g[0]).replace(/^<p>/,"").replace(/<\/p>$/,"")}}j.img_cap_text.value=p;j.img_title.value=i.dom.getAttrib(b,"title");j.img_alt.value=i.dom.getAttrib(b,"alt");j.border.value=i.dom.getAttrib(b,"border");j.vspace.value=i.dom.getAttrib(b,"vspace");j.hspace.value=i.dom.getAttrib(b,"hspace");j.align.value=i.dom.getAttrib(b,"align");j.width.value=q.width=i.dom.getAttrib(b,"width");j.height.value=q.height=i.dom.getAttrib(b,"height");j.img_classes.value=l;j.img_style.value=i.dom.getAttrib(b,"style");if(h.getAttrib(b,"hspace")){q.updateStyle("hspace")}if(h.getAttrib(b,"border")){q.updateStyle("border")}if(h.getAttrib(b,"vspace")){q.updateStyle("vspace")}if(n=i.dom.getParent(b,"A")){j.link_href.value=q.current=i.dom.getAttrib(n,"href");j.link_title.value=i.dom.getAttrib(n,"title");j.link_rel.value=q.link_rel=i.dom.getAttrib(n,"rel");j.link_style.value=i.dom.getAttrib(n,"style");q.target_value=i.dom.getAttrib(n,"target");j.link_classes.value=i.dom.getAttrib(n,"class")}j.link_target.checked=(q.target_value&&q.target_value=="_blank")?"checked":"";e=m.substring(m.lastIndexOf("/"));e=e.replace(/-[0-9]{2,4}x[0-9]{2,4}/,"");q.link=m.substring(0,m.lastIndexOf("/"))+e;if(l.indexOf("alignleft")!=-1){q.I("alignleft").checked="checked";k.className=q.align="alignleft"}else{if(l.indexOf("aligncenter")!=-1){q.I("aligncenter").checked="checked";k.className=q.align="aligncenter"}else{if(l.indexOf("alignright")!=-1){q.I("alignright").checked="checked";k.className=q.align="alignright"}else{if(l.indexOf("alignnone")!=-1){q.I("alignnone").checked="checked";k.className=q.align="alignnone"}}}}if(q.width&&q.preloadImg.width){q.showSizeSet()}document.body.style.display=""},remove:function(){var a=tinyMCEPopup.editor,c,b;tinyMCEPopup.restoreSelection();b=a.selection.getNode();if(b.nodeName!="IMG"){return}if((c=a.dom.getParent(b,"div"))&&a.dom.hasClass(c,"mceTemp")){a.dom.remove(c)}else{if((c=a.dom.getParent(b,"A"))&&c.childNodes.length==1){a.dom.remove(c)}else{a.dom.remove(b)}}a.execCommand("mceRepaint");tinyMCEPopup.close();return},update:function(){var m=this,v=document.forms[0],g=tinyMCEPopup.editor,e,y,d=null,n,h,p,r,o=null,k=v.img_classes.value,l,q,u="",j,i,s,a,B,x="",c,z,w;tinyMCEPopup.restoreSelection();e=g.selection.getNode();if(e.nodeName!="IMG"){return}if(v.img_src.value===""){m.remove();return}if(v.img_cap_text.value!=""&&v.width.value!=""){o=1;k=k.replace(/align[^ "']+\s?/gi,"")}p=g.dom.getParent(e,"a");h=g.dom.getParent(e,"p");n=g.dom.getParent(e,"dl");r=g.dom.getParent(e,"div");tinyMCEPopup.execCommand("mceBeginUndoLevel");if(v.width.value!=e.width||v.height.value!=e.height){k=k.replace(/size-[^ "']+/,"")}g.dom.setAttribs(e,{src:v.img_src.value,title:v.img_title.value,alt:v.img_alt.value,width:v.width.value,height:v.height.value,style:v.img_style.value,"class":k});if(v.link_href.value){if(p==null){if(!v.link_href.value.match(/https?:\/\//i)){v.link_href.value=tinyMCEPopup.editor.documentBaseURI.toAbsolute(v.link_href.value)}g.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("mceInsertLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(g.dom.select("a"),function(b){if(g.dom.getAttrib(b,"href")=="#mce_temp_url#"){g.dom.setAttribs(b,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?"_blank":"","class":v.link_classes.value,style:v.link_style.value})}})}else{g.dom.setAttribs(p,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?"_blank":"","class":v.link_classes.value,style:v.link_style.value})}}if(o){a=10+parseInt(v.width.value);B=(m.align=="aligncenter")?"mceTemp mceIEcenter":"mceTemp";w=v.img_cap_text.value;w=w.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(b){return b.replace(/[\r\n\t]+/," ")});w=w.replace(/\s*\n\s*/g,"<br />");if(n){g.dom.setAttribs(n,{"class":"wp-caption "+m.align,style:"width: "+a+"px;"});if(r){g.dom.setAttrib(r,"class",B)}if((i=g.dom.getParent(e,"dt"))&&(s=i.nextSibling)&&g.dom.hasClass(s,"wp-caption-dd")){g.dom.setHTML(s,w)}}else{if((q=v.img_classes.value.match(/wp-image-([0-9]{1,6})/))&&q[1]){u="attachment_"+q[1]}if(v.link_href.value&&(x=g.dom.getParent(e,"a"))){if(x.childNodes.length==1){l=g.dom.getOuterHTML(x)}else{l=g.dom.getOuterHTML(x);l=l.match(/<a [^>]+>/i);l=l+g.dom.getOuterHTML(e)+"</a>"}}else{l=g.dom.getOuterHTML(e)}l='<dl id="'+u+'" class="wp-caption '+m.align+'" style="width: '+a+'px"><dt class="wp-caption-dt">'+l+'</dt><dd class="wp-caption-dd">'+w+"</dd></dl>";j=g.dom.create("div",{"class":B},l);if(h){h.parentNode.insertBefore(j,h);if(h.childNodes.length==1){g.dom.remove(h)}else{if(x&&x.childNodes.length==1){g.dom.remove(x)}else{g.dom.remove(e)}}}else{if(c=g.dom.getParent(e,"TD,TH,LI")){c.appendChild(j);if(x&&x.childNodes.length==1){g.dom.remove(x)}else{g.dom.remove(e)}}}}}else{if(n&&r){if(v.link_href.value&&(z=g.dom.getParent(e,"a"))){l=g.dom.getOuterHTML(z)}else{l=g.dom.getOuterHTML(e)}h=g.dom.create("p",{},l);r.parentNode.insertBefore(h,r);g.dom.remove(r)}}if(v.img_classes.value.indexOf("aligncenter")!=-1){if(h&&(!h.style||h.style.textAlign!="center")){g.dom.setStyle(h,"textAlign","center")}}else{if(h&&h.style&&h.style.textAlign=="center"){g.dom.setStyle(h,"textAlign","")}}if(!v.link_href.value&&p){y=g.selection.getBookmark();g.dom.remove(p,1);g.selection.moveToBookmark(y)}tinyMCEPopup.execCommand("mceEndUndoLevel");g.execCommand("mceRepaint");tinyMCEPopup.close()},updateStyle:function(a){var e=tinyMCEPopup.dom,c,d=document.forms[0],b=e.create("img",{style:d.img_style.value});if(tinyMCEPopup.editor.settings.inline_styles){if(a=="align"){e.setStyle(b,"float","");e.setStyle(b,"vertical-align","");c=d.align.value;if(c){if(c=="left"||c=="right"){e.setStyle(b,"float",c)}else{b.style.verticalAlign=c}}}if(a=="border"){e.setStyle(b,"border","");c=d.border.value;if(c||c=="0"){if(c=="0"){b.style.border="0"}else{b.style.border=c+"px solid black"}}}if(a=="hspace"){e.setStyle(b,"marginLeft","");e.setStyle(b,"marginRight","");c=d.hspace.value;if(c){b.style.marginLeft=c+"px";b.style.marginRight=c+"px"}}if(a=="vspace"){e.setStyle(b,"marginTop","");e.setStyle(b,"marginBottom","");c=d.vspace.value;if(c){b.style.marginTop=c+"px";b.style.marginBottom=c+"px"}}d.img_style.value=e.serializeStyle(e.parseStyle(b.style.cssText));this.demoSetStyle()}},checkVal:function(a){if(a.value==""){if(a.id=="img_src"){a.value=this.I("img_demo").src||this.preloadImg.src}}},resetImageData:function(){var a=document.forms[0];a.width.value=a.height.value=""},updateImageData:function(){var d=document.forms[0],b=wpImage,a=d.width.value,c=d.height.value;if(!a&&c){a=d.width.value=b.width=Math.round(b.preloadImg.width/(b.preloadImg.height/c))}else{if(a&&!c){c=d.height.value=b.height=Math.round(b.preloadImg.height/(b.preloadImg.width/a))}}if(!a){d.width.value=b.width=b.preloadImg.width}if(!c){d.height.value=b.height=b.preloadImg.height}b.showSizeSet();b.demoSetSize();if(d.img_style.value){b.demoSetStyle()}},getImageData:function(){var a=wpImage,b=document.forms[0];a.preloadImg=new Image();a.preloadImg.onload=a.updateImageData;a.preloadImg.onerror=a.resetImageData;a.preloadImg.src=tinyMCEPopup.editor.documentBaseURI.toAbsolute(b.img_src.value)}};window.onload=function(){wpImage.init()};wpImage.preInit();
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css	2011-12-08 17:02:33.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css	2012-05-16 02:02:55.000000000 -0500
***************
*** 1,11 ****
  /*
  Distraction Free Writing mode TinyMCE Styles
  */
! 
! html, body {
  	background: transparent;
  	width: auto !important;
  	max-width: none !important;
! 	margin: 0;
! 	padding: 0;
  }
--- 1,13 ----
  /*
  Distraction Free Writing mode TinyMCE Styles
  */
! 
! html,
! body {
  	background: transparent;
  	width: auto !important;
  	max-width: none !important;
! 	margin: 0 !important;
! 	padding: 0 !important;
! 	min-height: 0 !important;
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js	2011-08-03 05:19:00.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,178 ****
- /**
-  * WP Fullscreen TinyMCE plugin
-  *
-  * Contains code from Moxiecode Systems AB released under LGPL License http://tinymce.moxiecode.com/license
-  */
- 
- (function() {
- 	tinymce.create('tinymce.plugins.wpFullscreenPlugin', {
- 
- 		init : function(ed, url) {
- 			var t = this, oldHeight = 0, s = {}, DOM = tinymce.DOM, resized = false;
- 
- 			// Register commands
- 			ed.addCommand('wpFullScreenClose', function() {
- 				// this removes the editor, content has to be saved first with tinyMCE.execCommand('wpFullScreenSave');
- 				if ( ed.getParam('wp_fullscreen_is_enabled') ) {
- 					DOM.win.setTimeout(function() {
- 						tinyMCE.remove(ed);
- 						DOM.remove('wp_mce_fullscreen_parent');
- 						tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings
- 					}, 10);
- 				}
- 			});
- 
- 			ed.addCommand('wpFullScreenSave', function() {
- 				var ed = tinyMCE.get('wp_mce_fullscreen'), edd;
- 
- 				ed.focus();
- 				edd = tinyMCE.get( ed.getParam('wp_fullscreen_editor_id') );
- 
- 				edd.setContent( ed.getContent({format : 'raw'}), {format : 'raw'} );
- 			});
- 
- 			ed.addCommand('wpFullScreenInit', function() {
- 				var d, b, fsed;
- 
- 				ed = tinymce.get('content');
- 				d = ed.getDoc();
- 				b = d.body;
- 
- 				tinyMCE.oldSettings = tinyMCE.settings; // Store old settings
- 
- 				tinymce.each(ed.settings, function(v, n) {
- 					s[n] = v;
- 				});
- 
- 				s.id = 'wp_mce_fullscreen';
- 				s.wp_fullscreen_is_enabled = true;
- 				s.wp_fullscreen_editor_id = ed.id;
- 				s.theme_advanced_resizing = false;
- 				s.theme_advanced_statusbar_location = 'none';
- 				s.content_css = s.content_css ? s.content_css + ',' + s.wp_fullscreen_content_css : s.wp_fullscreen_content_css;
- 				s.height = tinymce.isIE ? b.scrollHeight : b.offsetHeight;
- 
- 				tinymce.each(ed.getParam('wp_fullscreen_settings'), function(v, k) {
- 					s[k] = v;
- 				});
- 
- 				fsed = new tinymce.Editor('wp_mce_fullscreen', s);
- 				fsed.onInit.add(function(edd) {
- 					var DOM = tinymce.DOM, buttons = DOM.select('a.mceButton', DOM.get('wp-fullscreen-buttons'));
- 
- 					if ( !ed.isHidden() )
- 						edd.setContent( ed.getContent() );
- 					else
- 						edd.setContent( switchEditors.wpautop( edd.getElement().value ) );
- 
- 					setTimeout(function(){ // add last
- 						edd.onNodeChange.add(function(ed, cm, e){
- 							tinymce.each(buttons, function(c) {
- 								var btn, cls;
- 
- 								if ( btn = DOM.get( 'wp_mce_fullscreen_' + c.id.substr(6) ) ) {
- 									cls = btn.className;
- 
- 									if ( cls )
- 										c.className = cls;
- 								}
- 							});
- 						});
- 					}, 1000);
- 
- 					edd.dom.addClass(edd.getBody(), 'wp-fullscreen-editor');
- 					edd.focus();
- 				});
- 
- 				fsed.render();
- 
- 				if ( 'undefined' != fullscreen ) {
- 					fsed.dom.bind( fsed.dom.doc, 'mousemove', function(e){
- 						fullscreen.bounder( 'showToolbar', 'hideToolbar', 2000, e );
- 					});
- 				}
- 			});
- 
- 			// Register buttons
- 			if ( 'undefined' != fullscreen ) {
- 				ed.addButton('wp_fullscreen', {
- 					title : 'fullscreen.desc',
- 					onclick : function(){ fullscreen.on(); }
- 				});
- 			}
- 
- 			// END fullscreen
- //----------------------------------------------------------------
- 			// START autoresize
- 
- 			if ( ed.getParam('fullscreen_is_enabled') || !ed.getParam('wp_fullscreen_is_enabled') )
- 				return;
- 
- 			/**
- 			 * This method gets executed each time the editor needs to resize.
- 			 */
- 			function resize() {
- 				if ( resized )
- 					return;
- 
- 				var d = ed.getDoc(), DOM = tinymce.DOM, resizeHeight, myHeight;
- 
- 				// Get height differently depending on the browser used
- 				if ( tinymce.isIE )
- 					myHeight = d.body.scrollHeight;
- 				else
- 					myHeight = d.documentElement.offsetHeight;
- 
- 				// Don't make it smaller than 300px
- 				resizeHeight = (myHeight > 300) ? myHeight : 300;
- 
- 				// Resize content element
- 				if ( oldHeight != resizeHeight ) {
- 					oldHeight = resizeHeight;
- 					resized = true;
- 					setTimeout(function(){ resized = false; }, 100);
- 
- 					DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px');
- 				}
- 			};
- 
- 			// Add appropriate listeners for resizing content area
- 			ed.onInit.add(function(ed, l) {
- 				ed.onChange.add(resize);
- 				ed.onSetContent.add(resize);
- 				ed.onPaste.add(resize);
- 				ed.onKeyUp.add(resize);
- 				ed.onPostRender.add(resize);
- 
- 				ed.getBody().style.overflowY = "hidden";
- 			});
- 
- 			if (ed.getParam('autoresize_on_init', true)) {
- 				ed.onLoadContent.add(function(ed, l) {
- 					// Because the content area resizes when its content CSS loads,
- 					// and we can't easily add a listener to its onload event,
- 					// we'll just trigger a resize after a short loading period
- 					setTimeout(function() {
- 						resize();
- 					}, 1200);
- 				});
- 			}
- 
- 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
- 			ed.addCommand('wpAutoResize', resize);
- 		},
- 
- 		getInfo : function() {
- 			return {
- 				longname : 'WP Fullscreen',
- 				author : 'WordPress',
- 				authorurl : 'http://wordpress.org',
- 				infourl : '',
- 				version : '1.0'
- 			};
- 		}
- 	});
- 
- 	// Register plugin
- 	tinymce.PluginManager.add('wpfullscreen', tinymce.plugins.wpFullscreenPlugin);
- })();
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js	2012-05-16 02:02:55.000000000 -0500
***************
*** 0 ****
--- 1,173 ----
+ /**
+  * WP Fullscreen TinyMCE plugin
+  *
+  * Contains code from Moxiecode Systems AB released under LGPL License http://tinymce.moxiecode.com/license
+  */
+ 
+ (function() {
+ 	tinymce.create('tinymce.plugins.wpFullscreenPlugin', {
+ 
+ 		init : function(ed, url) {
+ 			var t = this, oldHeight = 0, s = {}, DOM = tinymce.DOM;
+ 
+ 			// Register commands
+ 			ed.addCommand('wpFullScreenClose', function() {
+ 				// this removes the editor, content has to be saved first with tinyMCE.execCommand('wpFullScreenSave');
+ 				if ( ed.getParam('wp_fullscreen_is_enabled') ) {
+ 					DOM.win.setTimeout(function() {
+ 						tinyMCE.remove(ed);
+ 						DOM.remove('wp_mce_fullscreen_parent');
+ 						tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings
+ 					}, 10);
+ 				}
+ 			});
+ 
+ 			ed.addCommand('wpFullScreenSave', function() {
+ 				var ed = tinyMCE.get('wp_mce_fullscreen'), edd;
+ 
+ 				ed.focus();
+ 				edd = tinyMCE.get( ed.getParam('wp_fullscreen_editor_id') );
+ 
+ 				edd.setContent( ed.getContent({format : 'raw'}), {format : 'raw'} );
+ 			});
+ 
+ 			ed.addCommand('wpFullScreenInit', function() {
+ 				var d, b, fsed;
+ 
+ 				ed = tinyMCE.activeEditor;
+ 				d = ed.getDoc();
+ 				b = d.body;
+ 
+ 				tinyMCE.oldSettings = tinyMCE.settings; // Store old settings
+ 
+ 				tinymce.each(ed.settings, function(v, n) {
+ 					s[n] = v;
+ 				});
+ 
+ 				s.id = 'wp_mce_fullscreen';
+ 				s.wp_fullscreen_is_enabled = true;
+ 				s.wp_fullscreen_editor_id = ed.id;
+ 				s.theme_advanced_resizing = false;
+ 				s.theme_advanced_statusbar_location = 'none';
+ 				s.content_css = s.content_css ? s.content_css + ',' + s.wp_fullscreen_content_css : s.wp_fullscreen_content_css;
+ 				s.height = tinymce.isIE ? b.scrollHeight : b.offsetHeight;
+ 
+ 				tinymce.each(ed.getParam('wp_fullscreen_settings'), function(v, k) {
+ 					s[k] = v;
+ 				});
+ 
+ 				fsed = new tinymce.Editor('wp_mce_fullscreen', s);
+ 				fsed.onInit.add(function(edd) {
+ 					var DOM = tinymce.DOM, buttons = DOM.select('a.mceButton', DOM.get('wp-fullscreen-buttons'));
+ 
+ 					if ( !ed.isHidden() )
+ 						edd.setContent( ed.getContent() );
+ 					else
+ 						edd.setContent( switchEditors.wpautop( edd.getElement().value ) );
+ 
+ 					setTimeout(function(){ // add last
+ 						edd.onNodeChange.add(function(ed, cm, e){
+ 							tinymce.each(buttons, function(c) {
+ 								var btn, cls;
+ 
+ 								if ( btn = DOM.get( 'wp_mce_fullscreen_' + c.id.substr(6) ) ) {
+ 									cls = btn.className;
+ 
+ 									if ( cls )
+ 										c.className = cls;
+ 								}
+ 							});
+ 						});
+ 					}, 1000);
+ 
+ 					edd.dom.addClass(edd.getBody(), 'wp-fullscreen-editor');
+ 					edd.focus();
+ 				});
+ 
+ 				fsed.render();
+ 
+ 				if ( 'undefined' != fullscreen ) {
+ 					fsed.dom.bind( fsed.dom.doc, 'mousemove', function(e){
+ 						fullscreen.bounder( 'showToolbar', 'hideToolbar', 2000, e );
+ 					});
+ 				}
+ 			});
+ 
+ 			// Register buttons
+ 			if ( 'undefined' != fullscreen ) {
+ 				ed.addButton('wp_fullscreen', {
+ 					title : 'fullscreen.desc',
+ 					onclick : function(){ fullscreen.on(); }
+ 				});
+ 			}
+ 
+ 			// END fullscreen
+ //----------------------------------------------------------------
+ 			// START autoresize
+ 
+ 			if ( ed.getParam('fullscreen_is_enabled') || !ed.getParam('wp_fullscreen_is_enabled') )
+ 				return;
+ 
+ 			/**
+ 			 * This method gets executed each time the editor needs to resize.
+ 			 */
+ 			function resize() {
+ 				var d = ed.getDoc(), DOM = tinymce.DOM, resizeHeight, myHeight;
+ 
+ 				// Get height differently depending on the browser used
+ 				if ( tinymce.isWebKit )
+ 					myHeight = d.body.offsetHeight;
+ 				else
+ 					myHeight = d.body.scrollHeight;
+ 
+ 				// Don't make it smaller than 300px
+ 				resizeHeight = (myHeight > 300) ? myHeight : 300;
+ 
+ 				// Resize content element
+ 				if ( oldHeight != resizeHeight ) {
+ 					DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px');
+ 					oldHeight = resizeHeight;
+ 					ed.getWin().scrollTo(0,0);
+ 				}
+ 			};
+ 
+ 			// Add appropriate listeners for resizing content area
+ 			ed.onInit.add(function(ed, l) {
+ 				ed.onChange.add(resize);
+ 				ed.onSetContent.add(resize);
+ 				ed.onPaste.add(resize);
+ 				ed.onKeyUp.add(resize);
+ 				ed.onPostRender.add(resize);
+ 
+ 				ed.getBody().style.overflowY = "hidden";
+ 			});
+ 
+ 			if (ed.getParam('autoresize_on_init', true)) {
+ 				ed.onLoadContent.add(function(ed, l) {
+ 					// Because the content area resizes when its content CSS loads,
+ 					// and we can't easily add a listener to its onload event,
+ 					// we'll just trigger a resize after a short loading period
+ 					setTimeout(function() {
+ 						resize();
+ 					}, 1200);
+ 				});
+ 			}
+ 
+ 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
+ 			ed.addCommand('wpAutoResize', resize);
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'WP Fullscreen',
+ 				author : 'WordPress',
+ 				authorurl : 'http://wordpress.org',
+ 				infourl : '',
+ 				version : '1.0'
+ 			};
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('wpfullscreen', tinymce.plugins.wpFullscreenPlugin);
+ })();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js	2009-10-27 04:06:26.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,119 ****
- 
- (function() {
- 	tinymce.create('tinymce.plugins.wpGallery', {
- 
- 		init : function(ed, url) {
- 			var t = this;
- 
- 			t.url = url;
- 			t._createButtons();
- 
- 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...');
- 			ed.addCommand('WP_Gallery', function() {
- 				var el = ed.selection.getNode(), post_id, vp = tinymce.DOM.getViewPort(),
- 					H = vp.h - 80, W = ( 640 < vp.w ) ? 640 : vp.w;
- 
- 				if ( el.nodeName != 'IMG' ) return;
- 				if ( ed.dom.getAttrib(el, 'class').indexOf('wpGallery') == -1 )	return;
- 
- 				post_id = tinymce.DOM.get('post_ID').value;
- 				tb_show('', tinymce.documentBaseURL + '/media-upload.php?post_id='+post_id+'&tab=gallery&TB_iframe=true&width='+W+'&height='+H);
- 
- 				tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
- 			});
- 
- 			ed.onMouseDown.add(function(ed, e) {
- 				if ( e.target.nodeName == 'IMG' && ed.dom.hasClass(e.target, 'wpGallery') )
- 					ed.plugins.wordpress._showButtons(e.target, 'wp_gallerybtns');
- 			});
- 
- 			ed.onBeforeSetContent.add(function(ed, o) {
- 				o.content = t._do_gallery(o.content);
- 			});
- 
- 			ed.onPostProcess.add(function(ed, o) {
- 				if (o.get)
- 					o.content = t._get_gallery(o.content);
- 			});
- 		},
- 
- 		_do_gallery : function(co) {
- 			return co.replace(/\[gallery([^\]]*)\]/g, function(a,b){
- 				return '<img src="'+tinymce.baseURL+'/plugins/wpgallery/img/t.gif" class="wpGallery mceItem" title="gallery'+tinymce.DOM.encode(b)+'" />';
- 			});
- 		},
- 
- 		_get_gallery : function(co) {
- 
- 			function getAttr(s, n) {
- 				n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s);
- 				return n ? tinymce.DOM.decode(n[1]) : '';
- 			};
- 
- 			return co.replace(/(?:<p[^>]*>)*(<img[^>]+>)(?:<\/p>)*/g, function(a,im) {
- 				var cls = getAttr(im, 'class');
- 
- 				if ( cls.indexOf('wpGallery') != -1 )
- 					return '<p>['+tinymce.trim(getAttr(im, 'title'))+']</p>';
- 
- 				return a;
- 			});
- 		},
- 
- 		_createButtons : function() {
- 			var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, editButton, dellButton;
- 
- 			DOM.remove('wp_gallerybtns');
- 
- 			DOM.add(document.body, 'div', {
- 				id : 'wp_gallerybtns',
- 				style : 'display:none;'
- 			});
- 
- 			editButton = DOM.add('wp_gallerybtns', 'img', {
- 				src : t.url+'/img/edit.png',
- 				id : 'wp_editgallery',
- 				width : '24',
- 				height : '24',
- 				title : ed.getLang('wordpress.editgallery')
- 			});
- 
- 			tinymce.dom.Event.add(editButton, 'mousedown', function(e) {
- 				var ed = tinyMCE.activeEditor;
- 				ed.windowManager.bookmark = ed.selection.getBookmark('simple');
- 				ed.execCommand("WP_Gallery");
- 			});
- 
- 			dellButton = DOM.add('wp_gallerybtns', 'img', {
- 				src : t.url+'/img/delete.png',
- 				id : 'wp_delgallery',
- 				width : '24',
- 				height : '24',
- 				title : ed.getLang('wordpress.delgallery')
- 			});
- 
- 			tinymce.dom.Event.add(dellButton, 'mousedown', function(e) {
- 				var ed = tinyMCE.activeEditor, el = ed.selection.getNode();
- 
- 				if ( el.nodeName == 'IMG' && ed.dom.hasClass(el, 'wpGallery') ) {
- 					ed.dom.remove(el);
- 
- 					ed.execCommand('mceRepaint');
- 					return false;
- 				}
- 			});
- 		},
- 
- 		getInfo : function() {
- 			return {
- 				longname : 'Gallery Settings',
- 				author : 'WordPress',
- 				authorurl : 'http://wordpress.org',
- 				infourl : '',
- 				version : "1.0"
- 			};
- 		}
- 	});
- 
- 	tinymce.PluginManager.add('wpgallery', tinymce.plugins.wpGallery);
- })();
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js	2012-04-18 15:43:28.000000000 -0500
***************
*** 0 ****
--- 1,119 ----
+ 
+ (function() {
+ 	tinymce.create('tinymce.plugins.wpGallery', {
+ 
+ 		init : function(ed, url) {
+ 			var t = this;
+ 
+ 			t.url = url;
+ 			t._createButtons();
+ 
+ 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...');
+ 			ed.addCommand('WP_Gallery', function() {
+ 				var el = ed.selection.getNode(), post_id, vp = tinymce.DOM.getViewPort(),
+ 					H = vp.h - 80, W = ( 640 < vp.w ) ? 640 : vp.w;
+ 
+ 				if ( el.nodeName != 'IMG' ) return;
+ 				if ( ed.dom.getAttrib(el, 'class').indexOf('wpGallery') == -1 )	return;
+ 
+ 				post_id = tinymce.DOM.get('post_ID').value;
+ 				tb_show('', tinymce.documentBaseURL + 'media-upload.php?post_id='+post_id+'&tab=gallery&TB_iframe=true&width='+W+'&height='+H);
+ 
+ 				tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' );
+ 			});
+ 
+ 			ed.onMouseDown.add(function(ed, e) {
+ 				if ( e.target.nodeName == 'IMG' && ed.dom.hasClass(e.target, 'wpGallery') )
+ 					ed.plugins.wordpress._showButtons(e.target, 'wp_gallerybtns');
+ 			});
+ 
+ 			ed.onBeforeSetContent.add(function(ed, o) {
+ 				o.content = t._do_gallery(o.content);
+ 			});
+ 
+ 			ed.onPostProcess.add(function(ed, o) {
+ 				if (o.get)
+ 					o.content = t._get_gallery(o.content);
+ 			});
+ 		},
+ 
+ 		_do_gallery : function(co) {
+ 			return co.replace(/\[gallery([^\]]*)\]/g, function(a,b){
+ 				return '<img src="'+tinymce.baseURL+'/plugins/wpgallery/img/t.gif" class="wpGallery mceItem" title="gallery'+tinymce.DOM.encode(b)+'" />';
+ 			});
+ 		},
+ 
+ 		_get_gallery : function(co) {
+ 
+ 			function getAttr(s, n) {
+ 				n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s);
+ 				return n ? tinymce.DOM.decode(n[1]) : '';
+ 			};
+ 
+ 			return co.replace(/(?:<p[^>]*>)*(<img[^>]+>)(?:<\/p>)*/g, function(a,im) {
+ 				var cls = getAttr(im, 'class');
+ 
+ 				if ( cls.indexOf('wpGallery') != -1 )
+ 					return '<p>['+tinymce.trim(getAttr(im, 'title'))+']</p>';
+ 
+ 				return a;
+ 			});
+ 		},
+ 
+ 		_createButtons : function() {
+ 			var t = this, ed = tinyMCE.activeEditor, DOM = tinymce.DOM, editButton, dellButton;
+ 
+ 			DOM.remove('wp_gallerybtns');
+ 
+ 			DOM.add(document.body, 'div', {
+ 				id : 'wp_gallerybtns',
+ 				style : 'display:none;'
+ 			});
+ 
+ 			editButton = DOM.add('wp_gallerybtns', 'img', {
+ 				src : t.url+'/img/edit.png',
+ 				id : 'wp_editgallery',
+ 				width : '24',
+ 				height : '24',
+ 				title : ed.getLang('wordpress.editgallery')
+ 			});
+ 
+ 			tinymce.dom.Event.add(editButton, 'mousedown', function(e) {
+ 				var ed = tinyMCE.activeEditor;
+ 				ed.windowManager.bookmark = ed.selection.getBookmark('simple');
+ 				ed.execCommand("WP_Gallery");
+ 			});
+ 
+ 			dellButton = DOM.add('wp_gallerybtns', 'img', {
+ 				src : t.url+'/img/delete.png',
+ 				id : 'wp_delgallery',
+ 				width : '24',
+ 				height : '24',
+ 				title : ed.getLang('wordpress.delgallery')
+ 			});
+ 
+ 			tinymce.dom.Event.add(dellButton, 'mousedown', function(e) {
+ 				var ed = tinyMCE.activeEditor, el = ed.selection.getNode();
+ 
+ 				if ( el.nodeName == 'IMG' && ed.dom.hasClass(el, 'wpGallery') ) {
+ 					ed.dom.remove(el);
+ 
+ 					ed.execCommand('mceRepaint');
+ 					return false;
+ 				}
+ 			});
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Gallery Settings',
+ 				author : 'WordPress',
+ 				authorurl : 'http://wordpress.org',
+ 				infourl : '',
+ 				version : "1.0"
+ 			};
+ 		}
+ 	});
+ 
+ 	tinymce.PluginManager.add('wpgallery', tinymce.plugins.wpGallery);
+ })();
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wpgallery/img/gallery.png and ./wordpress-3.4/wp-includes/js/tinymce/plugins/wpgallery/img/gallery.png differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js	2011-01-20 17:09:37.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,60 ****
- (function() {
- 	tinymce.create('tinymce.plugins.wpLink', {
- 		/**
- 		 * Initializes the plugin, this will be executed after the plugin has been created.
- 		 * This call is done before the editor instance has finished it's initialization so use the onInit event
- 		 * of the editor instance to intercept that event.
- 		 *
- 		 * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
- 		 * @param {string} url Absolute URL to where the plugin is located.
- 		 */
- 		init : function(ed, url) {
- 			var disabled = true;
- 
- 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
- 			ed.addCommand('WP_Link', function() {
- 				if ( disabled )
- 					return;
- 				ed.windowManager.open({
- 					id : 'wp-link',
- 					width : 480,
- 					height : "auto",
- 					wpDialog : true,
- 					title : ed.getLang('advlink.link_desc')
- 				}, {
- 					plugin_url : url // Plugin absolute URL
- 				});
- 			});
- 
- 			// Register example button
- 			ed.addButton('link', {
- 				title : ed.getLang('advanced.link_desc'),
- 				cmd : 'WP_Link'
- 			});
- 
- 			ed.addShortcut('alt+shift+a', ed.getLang('advanced.link_desc'), 'WP_Link');
- 
- 			ed.onNodeChange.add(function(ed, cm, n, co) {
- 				disabled = co && n.nodeName != 'A';
- 			});
- 		},
- 		/**
- 		 * Returns information about the plugin as a name/value array.
- 		 * The current keys are longname, author, authorurl, infourl and version.
- 		 *
- 		 * @return {Object} Name/value array containing information about the plugin.
- 		 */
- 		getInfo : function() {
- 			return {
- 				longname : 'WordPress Link Dialog',
- 				author : 'WordPress',
- 				authorurl : 'http://wordpress.org',
- 				infourl : '',
- 				version : "1.0"
- 			};
- 		}
- 	});
- 
- 	// Register plugin
- 	tinymce.PluginManager.add('wplink', tinymce.plugins.wpLink);
- })();
\ No newline at end of file
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js ./wordpress-3.4/wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,60 ----
+ (function() {
+ 	tinymce.create('tinymce.plugins.wpLink', {
+ 		/**
+ 		 * Initializes the plugin, this will be executed after the plugin has been created.
+ 		 * This call is done before the editor instance has finished it's initialization so use the onInit event
+ 		 * of the editor instance to intercept that event.
+ 		 *
+ 		 * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
+ 		 * @param {string} url Absolute URL to where the plugin is located.
+ 		 */
+ 		init : function(ed, url) {
+ 			var disabled = true;
+ 
+ 			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
+ 			ed.addCommand('WP_Link', function() {
+ 				if ( disabled )
+ 					return;
+ 				ed.windowManager.open({
+ 					id : 'wp-link',
+ 					width : 480,
+ 					height : "auto",
+ 					wpDialog : true,
+ 					title : ed.getLang('advlink.link_desc')
+ 				}, {
+ 					plugin_url : url // Plugin absolute URL
+ 				});
+ 			});
+ 
+ 			// Register example button
+ 			ed.addButton('link', {
+ 				title : ed.getLang('advanced.link_desc'),
+ 				cmd : 'WP_Link'
+ 			});
+ 
+ 			ed.addShortcut('alt+shift+a', ed.getLang('advanced.link_desc'), 'WP_Link');
+ 
+ 			ed.onNodeChange.add(function(ed, cm, n, co) {
+ 				disabled = co && n.nodeName != 'A';
+ 			});
+ 		},
+ 		/**
+ 		 * Returns information about the plugin as a name/value array.
+ 		 * The current keys are longname, author, authorurl, infourl and version.
+ 		 *
+ 		 * @return {Object} Name/value array containing information about the plugin.
+ 		 */
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'WordPress Link Dialog',
+ 				author : 'WordPress',
+ 				authorurl : 'http://wordpress.org',
+ 				infourl : '',
+ 				version : "1.0"
+ 			};
+ 		}
+ 	});
+ 
+ 	// Register plugin
+ 	tinymce.PluginManager.add('wplink', tinymce.plugins.wpLink);
+ })();
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/about.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/about.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/about.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/about.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,10 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.about_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/about.js?ver=345-20110908"></script>
  </head>
  <body id="about" style="display: none">
  		<div class="tabs">
--- 2,10 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.about_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/about.js?ver=349-20120314"></script>
  </head>
  <body id="about" style="display: none">
  		<div class="tabs">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/anchor.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/anchor.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/anchor.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/anchor.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,9 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.anchor_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/anchor.js?ver=345-20110908"></script>
  </head>
  <body style="display: none" role="application" aria-labelledby="app_title">
  <form onsubmit="AnchorDialog.update();return false;" action="#">
--- 2,9 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.anchor_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/anchor.js?ver=349-20120314"></script>
  </head>
  <body style="display: none" role="application" aria-labelledby="app_title">
  <form onsubmit="AnchorDialog.update();return false;" action="#">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/charmap.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/charmap.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/charmap.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/charmap.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,11 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.charmap_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/charmap.js?ver=345-20110908"></script>
  </head>
! <body id="charmap" style="display:none">
  <table align="center" border="0" cellspacing="0" cellpadding="2" role="presentation">
  	<tr>
  		<td colspan="2" class="title" ><label for="charmapView" id="charmap_label">{#advanced_dlg.charmap_title}</label></td>
--- 2,11 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.charmap_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/charmap.js?ver=349-20120314"></script>
  </head>
! <body id="charmap" style="display:none" role="application">
  <table align="center" border="0" cellspacing="0" cellpadding="2" role="presentation">
  	<tr>
  		<td colspan="2" class="title" ><label for="charmapView" id="charmap_label">{#advanced_dlg.charmap_title}</label></td>
***************
*** 46,51 ****
--- 46,55 ----
  			</table>
  		</td>
  	</tr>
+ 	<tr>
+ 		<td colspan="2" id="charmap_usage">{#advanced_dlg.charmap_usage}</td>
+ 	</tr>
+ 	
  </table>
  </body>
  </html>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/color_picker.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/color_picker.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/color_picker.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/color_picker.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,10 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.colorpicker_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/color_picker.js?ver=345-20110908"></script>
  </head>
  <body id="colorpicker" style="display: none" role="application" aria-labelledby="app_label">
  	<span class="mceVoiceLabel" id="app_label" style="display:none;">{#advanced_dlg.colorpicker_title}</span>
--- 2,10 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.colorpicker_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/color_picker.js?ver=349-20120314"></script>
  </head>
  <body id="colorpicker" style="display: none" role="application" aria-labelledby="app_label">
  	<span class="mceVoiceLabel" id="app_label" style="display:none;">{#advanced_dlg.colorpicker_title}</span>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/editor_template.js ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/editor_template.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/editor_template.js	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/editor_template.js	2012-02-04 16:23:27.000000000 -0600
***************
*** 1 ****
! (function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);j.forcedHighContrastMode=j.settings.detect_highcontrast&&l._isHighContrast();j.settings.skin=j.forcedHighContrastMode?"highcontrast":j.settings.skin;l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}if(j.settings.content_css!==false){j.contentCSS.push(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l);j.onKeyUp.add(l._updateUndoStatus,l);j.onMouseUp.add(l._updateUndoStatus,l);j.dom.bind(j.dom.getRoot(),"dragend",function(){l._updateUndoStatus(j)})}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},_isHighContrast:function(){var i,j=d.add(d.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});i=(d.getStyle(j,"background-color",true)+"").toLowerCase().replace(/ /g,"");d.remove(j);return i!="rgb(171,239,86)"&&i!="#abef56"},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){if(p[0]){i.formatter.remove(p[0])}}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});if(m&&m.value==l){k.select(null)}return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});if(o&&(o.value.fontSize==i.fontSize||o.value["class"]==i["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(l){j.editor.execCommand("FormatBlock",false,l);return false}});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;if(r.settings){r.settings.aria_label=w.aria_label+r.getLang("advanced.help_shortcut")}m=j=d.create("span",{role:"application","aria-labelledby":r.id+"_voice",id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});d.add(m,"span",{"class":"mceVoiceLabel",style:"display:none;",id:r.id+"_voice"},w.aria_label);if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{role:"presentation",id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;r.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){window.focus();v.toolbarGroup.focus();return b.cancel(n)}else{if(n.keyCode===o){d.get(p.id+"_path_row").focus();return b.cancel(n)}}}});r.addShortcut("alt+0","","mceShortcuts",v);return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_ifr");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i<n.clientWidth){i=n.clientWidth;d.setStyle(o,"width",n.clientWidth)}}if(k&&l.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+j.id+"_size",{cw:i,ch:m})}},destroy:function(){var i=this.editor.id;b.clear(i+"_resize");b.clear(i+"_path_row");b.clear(i+"_external_close")},_simpleLayout:function(y,r,k,i){var x=this,u=x.editor,v=y.theme_advanced_toolbar_location,m=y.theme_advanced_statusbar_location,l,j,q,w;if(y.readonly){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});return j}if(v=="top"){x._addToolbars(r,k)}if(v=="external"){l=w=d.create("div",{style:"position:relative"});l=d.add(l,"div",{id:u.id+"_external","class":"mceExternalToolbar"});d.add(l,"a",{id:u.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});l=d.add(l,"table",{id:u.id+"_tblext",cellSpacing:0,cellPadding:0});q=d.add(l,"tbody");if(i.firstChild.className=="mceOldBoxModel"){i.firstChild.appendChild(w)}else{i.insertBefore(w,i.firstChild)}x._addToolbars(q,k);u.onMouseUp.add(function(){var o=d.get(u.id+"_external");d.show(o);d.hide(g);var n=b.add(u.id+"_external_close","click",function(){d.hide(u.id+"_external");b.remove(u.id+"_external_close","click",n)});d.show(o);d.setStyle(o,"top",0-d.getRect(u.id+"_tblext").h-1);d.hide(o);d.show(o);o.style.filter="";g=u.id+"_external";o=null})}if(m=="top"){x._addStatusBar(r,k)}if(!y.theme_advanced_toolbar_container){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"})}if(v=="bottom"){x._addToolbars(r,k)}if(m=="bottom"){x._addStatusBar(r,k)}return j},_rowLayout:function(w,m,k){var v=this,p=v.editor,u,x,i=p.controlManager,l,j,r,q;u=w.theme_advanced_containers_default_class||"";x=w.theme_advanced_containers_default_align||"center";f(c(w.theme_advanced_containers||""),function(s,o){var n=w["theme_advanced_container_"+s]||"";switch(s.toLowerCase()){case"mceeditor":l=d.add(m,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":v._addStatusBar(m,k);break;default:q=(w["theme_advanced_container_"+s+"_align"]||x).toLowerCase();q="mce"+v._ufirst(q);l=d.add(d.add(m,"tr"),"td",{"class":"mceToolbar "+(w["theme_advanced_container_"+s+"_class"]||u)+" "+q||x});r=i.createToolbar("toolbar"+o);v._addControls(n,r);d.setHTML(l,r.renderHTML());k.deltaHeight-=w.theme_advanced_row_height}});return j},_addControls:function(j,i){var k=this,l=k.settings,m,n=k.editor.controlManager;if(l.theme_advanced_disable&&!k._disabled){m={};f(c(l.theme_advanced_disable),function(o){m[o]=1});k._disabled=m}else{m=k._disabled}f(c(j),function(p){var o;if(m&&m[p]){return}if(p=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(q){q=k.createControl(q,n);if(q){i.add(q)}});return}o=k.createControl(p,n);if(o){i.add(o)}})},_addToolbars:function(x,k){var A=this,p,m,r=A.editor,B=A.settings,z,j=r.controlManager,u,l,q=[],y,w;w=j.createToolbarGroup("toolbargroup",{name:r.getLang("advanced.toolbar"),tab_focus_toolbar:r.getParam("theme_advanced_tab_focus_toolbar")});A.toolbarGroup=w;y=B.theme_advanced_toolbar_align.toLowerCase();y="mce"+A._ufirst(y);l=d.add(d.add(x,"tr",{role:"presentation"}),"td",{"class":"mceToolbar "+y,role:"presentation"});for(p=1;(z=B["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(B["theme_advanced_buttons"+p+"_add"]){z+=","+B["theme_advanced_buttons"+p+"_add"]}if(B["theme_advanced_buttons"+p+"_add_before"]){z=B["theme_advanced_buttons"+p+"_add_before"]+","+z}A._addControls(z,m);w.add(m);k.deltaHeight-=B.theme_advanced_row_height}q.push(w.renderHTML());q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},"<!-- IE -->"));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row",role:"group","aria-labelledby":p.id+"_path_voice"});if(w.theme_advanced_path){d.add(k,"span",{id:p.id+"_path_voice"},p.translate("advanced.path"));d.add(k,"span",{},": ")}else{d.add(k,"span",{},"&#160;")}if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_updateUndoStatus:function(j){var i=j.controlManager,k=j.undoManager;i.setDisabled("undo",!k.hasUndo()&&!k.typing);i.setDisabled("redo",!k.hasRedo())},_nodeChanged:function(m,r,D,q,E){var y=this,C,F=0,x,G,z=y.settings,w,k,u,B,l,j,i;e.each(y.stateControls,function(n){r.setActive(n,m.queryCommandState(y.controls[n][1]))});function o(p){var s,n=E.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}r.setActive("visualaid",m.hasVisual);y._updateUndoStatus(m);r.setDisabled("outdent",!m.queryCommandState("Outdent"));C=o("A");if(G=r.get("link")){if(!C||!C.name){G.setDisabled(!C&&q);G.setActive(!!C)}}if(G=r.get("unlink")){G.setDisabled(!C&&q);G.setActive(!!C&&!C.name)}if(G=r.get("anchor")){G.setActive(!q&&!!C&&C.name)}C=o("IMG");if(G=r.get("image")){G.setActive(!q&&!!C&&D.className.indexOf("mceItem")==-1)}if(G=r.get("styleselect")){y._importClasses();j=[];f(G.items,function(n){j.push(n.value)});i=m.formatter.matchAll(j);G.select(i[0])}if(G=r.get("formatselect")){C=o(d.isBlock);if(C){G.select(C.nodeName.toLowerCase())}}o(function(p){if(p.nodeName==="SPAN"){if(!w&&p.className){w=p.className}}if(m.dom.is(p,z.theme_advanced_font_selector)){if(!k&&p.style.fontSize){k=p.style.fontSize}if(!u&&p.style.fontFamily){u=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!B&&p.style.color){B=p.style.color}if(!l&&p.style.backgroundColor){l=p.style.backgroundColor}}return false});if(G=r.get("fontselect")){G.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==u})}if(G=r.get("fontsizeselect")){if(z.theme_advanced_runtime_fontsize&&!k&&!w){k=m.dom.getStyle(D,"fontSize",true)}G.select(function(n){if(n.fontSize&&n.fontSize===k){return true}if(n["class"]&&n["class"]===w){return true}})}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_path&&z.theme_advanced_statusbar_location){C=d.get(m.id+"_path")||d.add(m.id+"_path_row","span",{id:m.id+"_path"});if(y.statusKeyboardNavigation){y.statusKeyboardNavigation.destroy();y.statusKeyboardNavigation=null}d.setHTML(C,"");o(function(H){var p=H.nodeName.toLowerCase(),s,v,t="";if(H.nodeType!=1||p==="br"||H.getAttribute("data-mce-bogus")||d.hasClass(H,"mceItemHidden")||d.hasClass(H,"mceItemRemoved")){return}if(e.isIE&&H.scopeName!=="HTML"){p=H.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(x=d.getAttrib(H,"src")){t+="src: "+x+" "}break;case"a":if(x=d.getAttrib(H,"name")){t+="name: "+x+" ";p+="#"+x}if(x=d.getAttrib(H,"href")){t+="href: "+x+" "}break;case"font":if(x=d.getAttrib(H,"face")){t+="font: "+x+" "}if(x=d.getAttrib(H,"size")){t+="size: "+x+" "}if(x=d.getAttrib(H,"color")){t+="color: "+x+" "}break;case"span":if(x=d.getAttrib(H,"style")){t+="style: "+x+" "}break}if(x=d.getAttrib(H,"id")){t+="id: "+x+" "}if(x=H.className){x=x.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(x){t+="class: "+x+" ";if(d.isBlock(H)||p=="img"||p=="span"){p+="."+x}}}p=p.replace(/(html:)/g,"");p={name:p,node:H,title:t};y.onResolveName.dispatch(y,p);t=p.title;p=p.name;v=d.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(F++)},p);if(C.hasChildNodes()){C.insertBefore(d.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),C.firstChild);C.insertBefore(v,C.firstChild)}else{C.appendChild(v)}},m.getBody());if(d.select("a",C).length>0){y.statusKeyboardNavigation=new e.ui.KeyboardNavigation({root:m.id+"_path_row",items:d.select("a",C),excludeFromTabOrder:true,onCancel:function(){m.focus()}},d)}}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:250+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var i=this.editor;i.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce));
\ No newline at end of file
--- 1 ----
! (function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);j.forcedHighContrastMode=j.settings.detect_highcontrast&&l._isHighContrast();j.settings.skin=j.forcedHighContrastMode?"highcontrast":j.settings.skin;l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}if(j.settings.content_css!==false){j.contentCSS.push(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l);j.onKeyUp.add(l._updateUndoStatus,l);j.onMouseUp.add(l._updateUndoStatus,l);j.dom.bind(j.dom.getRoot(),"dragend",function(){l._updateUndoStatus(j)})}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},_isHighContrast:function(){var i,j=d.add(d.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});i=(d.getStyle(j,"background-color",true)+"").toLowerCase().replace(/ /g,"");d.remove(j);return i!="rgb(171,239,86)"&&i!="#abef56"},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){if(p[0]){i.formatter.remove(p[0])}}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});if(m&&m.value==l){k.select(null)}return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});if(o&&(o.value.fontSize==i.fontSize||o.value["class"]&&o.value["class"]==i["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(l){j.editor.execCommand("FormatBlock",false,l);return false}});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;if(r.settings){r.settings.aria_label=w.aria_label+r.getLang("advanced.help_shortcut")}m=j=d.create("span",{role:"application","aria-labelledby":r.id+"_voice",id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});d.add(m,"span",{"class":"mceVoiceLabel",style:"display:none;",id:r.id+"_voice"},w.aria_label);if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{role:"presentation",id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;r.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){if(e.isWebKit){window.focus()}v.toolbarGroup.focus();return b.cancel(n)}else{if(n.keyCode===o){d.get(p.id+"_path_row").focus();return b.cancel(n)}}}});r.addShortcut("alt+0","","mceShortcuts",v);return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_ifr");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i<n.clientWidth){i=n.clientWidth;d.setStyle(o,"width",n.clientWidth)}}if(k&&l.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+j.id+"_size",{cw:i,ch:m})}},destroy:function(){var i=this.editor.id;b.clear(i+"_resize");b.clear(i+"_path_row");b.clear(i+"_external_close")},_simpleLayout:function(y,r,k,i){var x=this,u=x.editor,v=y.theme_advanced_toolbar_location,m=y.theme_advanced_statusbar_location,l,j,q,w;if(y.readonly){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});return j}if(v=="top"){x._addToolbars(r,k)}if(v=="external"){l=w=d.create("div",{style:"position:relative"});l=d.add(l,"div",{id:u.id+"_external","class":"mceExternalToolbar"});d.add(l,"a",{id:u.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});l=d.add(l,"table",{id:u.id+"_tblext",cellSpacing:0,cellPadding:0});q=d.add(l,"tbody");if(i.firstChild.className=="mceOldBoxModel"){i.firstChild.appendChild(w)}else{i.insertBefore(w,i.firstChild)}x._addToolbars(q,k);u.onMouseUp.add(function(){var o=d.get(u.id+"_external");d.show(o);d.hide(g);var n=b.add(u.id+"_external_close","click",function(){d.hide(u.id+"_external");b.remove(u.id+"_external_close","click",n)});d.show(o);d.setStyle(o,"top",0-d.getRect(u.id+"_tblext").h-1);d.hide(o);d.show(o);o.style.filter="";g=u.id+"_external";o=null})}if(m=="top"){x._addStatusBar(r,k)}if(!y.theme_advanced_toolbar_container){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"})}if(v=="bottom"){x._addToolbars(r,k)}if(m=="bottom"){x._addStatusBar(r,k)}return j},_rowLayout:function(w,m,k){var v=this,p=v.editor,u,x,i=p.controlManager,l,j,r,q;u=w.theme_advanced_containers_default_class||"";x=w.theme_advanced_containers_default_align||"center";f(c(w.theme_advanced_containers||""),function(s,o){var n=w["theme_advanced_container_"+s]||"";switch(s.toLowerCase()){case"mceeditor":l=d.add(m,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":v._addStatusBar(m,k);break;default:q=(w["theme_advanced_container_"+s+"_align"]||x).toLowerCase();q="mce"+v._ufirst(q);l=d.add(d.add(m,"tr"),"td",{"class":"mceToolbar "+(w["theme_advanced_container_"+s+"_class"]||u)+" "+q||x});r=i.createToolbar("toolbar"+o);v._addControls(n,r);d.setHTML(l,r.renderHTML());k.deltaHeight-=w.theme_advanced_row_height}});return j},_addControls:function(j,i){var k=this,l=k.settings,m,n=k.editor.controlManager;if(l.theme_advanced_disable&&!k._disabled){m={};f(c(l.theme_advanced_disable),function(o){m[o]=1});k._disabled=m}else{m=k._disabled}f(c(j),function(p){var o;if(m&&m[p]){return}if(p=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(q){q=k.createControl(q,n);if(q){i.add(q)}});return}o=k.createControl(p,n);if(o){i.add(o)}})},_addToolbars:function(x,k){var A=this,p,m,r=A.editor,B=A.settings,z,j=r.controlManager,u,l,q=[],y,w;w=j.createToolbarGroup("toolbargroup",{name:r.getLang("advanced.toolbar"),tab_focus_toolbar:r.getParam("theme_advanced_tab_focus_toolbar")});A.toolbarGroup=w;y=B.theme_advanced_toolbar_align.toLowerCase();y="mce"+A._ufirst(y);l=d.add(d.add(x,"tr",{role:"presentation"}),"td",{"class":"mceToolbar "+y,role:"presentation"});for(p=1;(z=B["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(B["theme_advanced_buttons"+p+"_add"]){z+=","+B["theme_advanced_buttons"+p+"_add"]}if(B["theme_advanced_buttons"+p+"_add_before"]){z=B["theme_advanced_buttons"+p+"_add_before"]+","+z}A._addControls(z,m);w.add(m);k.deltaHeight-=B.theme_advanced_row_height}q.push(w.renderHTML());q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},"<!-- IE -->"));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row",role:"group","aria-labelledby":p.id+"_path_voice"});if(w.theme_advanced_path){d.add(k,"span",{id:p.id+"_path_voice"},p.translate("advanced.path"));d.add(k,"span",{},": ")}else{d.add(k,"span",{},"&#160;")}if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_updateUndoStatus:function(j){var i=j.controlManager,k=j.undoManager;i.setDisabled("undo",!k.hasUndo()&&!k.typing);i.setDisabled("redo",!k.hasRedo())},_nodeChanged:function(m,r,D,q,E){var y=this,C,F=0,x,G,z=y.settings,w,k,u,B,l,j,i;e.each(y.stateControls,function(n){r.setActive(n,m.queryCommandState(y.controls[n][1]))});function o(p){var s,n=E.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}r.setActive("visualaid",m.hasVisual);y._updateUndoStatus(m);r.setDisabled("outdent",!m.queryCommandState("Outdent"));C=o("A");if(G=r.get("link")){if(!C||!C.name){G.setDisabled(!C&&q);G.setActive(!!C)}}if(G=r.get("unlink")){G.setDisabled(!C&&q);G.setActive(!!C&&!C.name)}if(G=r.get("anchor")){G.setActive(!q&&!!C&&C.name)}C=o("IMG");if(G=r.get("image")){G.setActive(!q&&!!C&&D.className.indexOf("mceItem")==-1)}if(G=r.get("styleselect")){y._importClasses();j=[];f(G.items,function(n){j.push(n.value)});i=m.formatter.matchAll(j);G.select(i[0])}if(G=r.get("formatselect")){C=o(d.isBlock);if(C){G.select(C.nodeName.toLowerCase())}}o(function(p){if(p.nodeName==="SPAN"){if(!w&&p.className){w=p.className}}if(m.dom.is(p,z.theme_advanced_font_selector)){if(!k&&p.style.fontSize){k=p.style.fontSize}if(!u&&p.style.fontFamily){u=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!B&&p.style.color){B=p.style.color}if(!l&&p.style.backgroundColor){l=p.style.backgroundColor}}return false});if(G=r.get("fontselect")){G.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==u})}if(G=r.get("fontsizeselect")){if(z.theme_advanced_runtime_fontsize&&!k&&!w){k=m.dom.getStyle(D,"fontSize",true)}G.select(function(n){if(n.fontSize&&n.fontSize===k){return true}if(n["class"]&&n["class"]===w){return true}})}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_path&&z.theme_advanced_statusbar_location){C=d.get(m.id+"_path")||d.add(m.id+"_path_row","span",{id:m.id+"_path"});if(y.statusKeyboardNavigation){y.statusKeyboardNavigation.destroy();y.statusKeyboardNavigation=null}d.setHTML(C,"");o(function(H){var p=H.nodeName.toLowerCase(),s,v,t="";if(H.nodeType!=1||p==="br"||H.getAttribute("data-mce-bogus")||d.hasClass(H,"mceItemHidden")||d.hasClass(H,"mceItemRemoved")){return}if(e.isIE&&H.scopeName!=="HTML"){p=H.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(x=d.getAttrib(H,"src")){t+="src: "+x+" "}break;case"a":if(x=d.getAttrib(H,"name")){t+="name: "+x+" ";p+="#"+x}if(x=d.getAttrib(H,"href")){t+="href: "+x+" "}break;case"font":if(x=d.getAttrib(H,"face")){t+="font: "+x+" "}if(x=d.getAttrib(H,"size")){t+="size: "+x+" "}if(x=d.getAttrib(H,"color")){t+="color: "+x+" "}break;case"span":if(x=d.getAttrib(H,"style")){t+="style: "+x+" "}break}if(x=d.getAttrib(H,"id")){t+="id: "+x+" "}if(x=H.className){x=x.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(x){t+="class: "+x+" ";if(d.isBlock(H)||p=="img"||p=="span"){p+="."+x}}}p=p.replace(/(html:)/g,"");p={name:p,node:H,title:t};y.onResolveName.dispatch(y,p);t=p.title;p=p.name;v=d.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(F++)},p);if(C.hasChildNodes()){C.insertBefore(d.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),C.firstChild);C.insertBefore(v,C.firstChild)}else{C.appendChild(v)}},m.getBody());if(d.select("a",C).length>0){y.statusKeyboardNavigation=new e.ui.KeyboardNavigation({root:m.id+"_path_row",items:d.select("a",C),excludeFromTabOrder:true,onCancel:function(){m.focus()}},d)}}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:265+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var i=this.editor;i.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce));
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/editor_template_src.js ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/editor_template_src.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/editor_template_src.js	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/editor_template_src.js	2012-02-18 00:43:47.000000000 -0600
***************
*** 0 ****
--- 1,1362 ----
+ /**
+  * editor_template_src.js
+  *
+  * Copyright 2009, Moxiecode Systems AB
+  * Released under LGPL License.
+  *
+  * License: http://tinymce.moxiecode.com/license
+  * Contributing: http://tinymce.moxiecode.com/contributing
+  */
+ 
+ (function(tinymce) {
+ 	var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode;
+ 
+ 	// Tell it to load theme specific language pack(s)
+ 	tinymce.ThemeManager.requireLangPack('advanced');
+ 
+ 	tinymce.create('tinymce.themes.AdvancedTheme', {
+ 		sizes : [8, 10, 12, 14, 18, 24, 36],
+ 
+ 		// Control name lookup, format: title, command
+ 		controls : {
+ 			bold : ['bold_desc', 'Bold'],
+ 			italic : ['italic_desc', 'Italic'],
+ 			underline : ['underline_desc', 'Underline'],
+ 			strikethrough : ['striketrough_desc', 'Strikethrough'],
+ 			justifyleft : ['justifyleft_desc', 'JustifyLeft'],
+ 			justifycenter : ['justifycenter_desc', 'JustifyCenter'],
+ 			justifyright : ['justifyright_desc', 'JustifyRight'],
+ 			justifyfull : ['justifyfull_desc', 'JustifyFull'],
+ 			bullist : ['bullist_desc', 'InsertUnorderedList'],
+ 			numlist : ['numlist_desc', 'InsertOrderedList'],
+ 			outdent : ['outdent_desc', 'Outdent'],
+ 			indent : ['indent_desc', 'Indent'],
+ 			cut : ['cut_desc', 'Cut'],
+ 			copy : ['copy_desc', 'Copy'],
+ 			paste : ['paste_desc', 'Paste'],
+ 			undo : ['undo_desc', 'Undo'],
+ 			redo : ['redo_desc', 'Redo'],
+ 			link : ['link_desc', 'mceLink'],
+ 			unlink : ['unlink_desc', 'unlink'],
+ 			image : ['image_desc', 'mceImage'],
+ 			cleanup : ['cleanup_desc', 'mceCleanup'],
+ 			help : ['help_desc', 'mceHelp'],
+ 			code : ['code_desc', 'mceCodeEditor'],
+ 			hr : ['hr_desc', 'InsertHorizontalRule'],
+ 			removeformat : ['removeformat_desc', 'RemoveFormat'],
+ 			sub : ['sub_desc', 'subscript'],
+ 			sup : ['sup_desc', 'superscript'],
+ 			forecolor : ['forecolor_desc', 'ForeColor'],
+ 			forecolorpicker : ['forecolor_desc', 'mceForeColor'],
+ 			backcolor : ['backcolor_desc', 'HiliteColor'],
+ 			backcolorpicker : ['backcolor_desc', 'mceBackColor'],
+ 			charmap : ['charmap_desc', 'mceCharMap'],
+ 			visualaid : ['visualaid_desc', 'mceToggleVisualAid'],
+ 			anchor : ['anchor_desc', 'mceInsertAnchor'],
+ 			newdocument : ['newdocument_desc', 'mceNewDocument'],
+ 			blockquote : ['blockquote_desc', 'mceBlockQuote']
+ 		},
+ 
+ 		stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'],
+ 
+ 		init : function(ed, url) {
+ 			var t = this, s, v, o;
+ 	
+ 			t.editor = ed;
+ 			t.url = url;
+ 			t.onResolveName = new tinymce.util.Dispatcher(this);
+ 
+ 			ed.forcedHighContrastMode = ed.settings.detect_highcontrast && t._isHighContrast();
+ 			ed.settings.skin = ed.forcedHighContrastMode ? 'highcontrast' : ed.settings.skin;
+ 
+ 			// Default settings
+ 			t.settings = s = extend({
+ 				theme_advanced_path : true,
+ 				theme_advanced_toolbar_location : 'bottom',
+ 				theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",
+ 				theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",
+ 				theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap",
+ 				theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6",
+ 				theme_advanced_toolbar_align : "center",
+ 				theme_advanced_fonts : "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",
+ 				theme_advanced_more_colors : 1,
+ 				theme_advanced_row_height : 23,
+ 				theme_advanced_resize_horizontal : 1,
+ 				theme_advanced_resizing_use_cookie : 1,
+ 				theme_advanced_font_sizes : "1,2,3,4,5,6,7",
+ 				theme_advanced_font_selector : "span",
+ 				theme_advanced_show_current_color: 0,
+ 				readonly : ed.settings.readonly
+ 			}, ed.settings);
+ 
+ 			// Setup default font_size_style_values
+ 			if (!s.font_size_style_values)
+ 				s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt";
+ 
+ 			if (tinymce.is(s.theme_advanced_font_sizes, 'string')) {
+ 				s.font_size_style_values = tinymce.explode(s.font_size_style_values);
+ 				s.font_size_classes = tinymce.explode(s.font_size_classes || '');
+ 
+ 				// Parse string value
+ 				o = {};
+ 				ed.settings.theme_advanced_font_sizes = s.theme_advanced_font_sizes;
+ 				each(ed.getParam('theme_advanced_font_sizes', '', 'hash'), function(v, k) {
+ 					var cl;
+ 
+ 					if (k == v && v >= 1 && v <= 7) {
+ 						k = v + ' (' + t.sizes[v - 1] + 'pt)';
+ 						cl = s.font_size_classes[v - 1];
+ 						v = s.font_size_style_values[v - 1] || (t.sizes[v - 1] + 'pt');
+ 					}
+ 
+ 					if (/^\s*\./.test(v))
+ 						cl = v.replace(/\./g, '');
+ 
+ 					o[k] = cl ? {'class' : cl} : {fontSize : v};
+ 				});
+ 
+ 				s.theme_advanced_font_sizes = o;
+ 			}
+ 
+ 			if ((v = s.theme_advanced_path_location) && v != 'none')
+ 				s.theme_advanced_statusbar_location = s.theme_advanced_path_location;
+ 
+ 			if (s.theme_advanced_statusbar_location == 'none')
+ 				s.theme_advanced_statusbar_location = 0;
+ 
+ 			if (ed.settings.content_css !== false)
+ 				ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css"));
+ 
+ 			// Init editor
+ 			ed.onInit.add(function() {
+ 				if (!ed.settings.readonly) {
+ 					ed.onNodeChange.add(t._nodeChanged, t);
+ 					ed.onKeyUp.add(t._updateUndoStatus, t);
+ 					ed.onMouseUp.add(t._updateUndoStatus, t);
+ 					ed.dom.bind(ed.dom.getRoot(), 'dragend', function() {
+ 						t._updateUndoStatus(ed);
+ 					});
+ 				}
+ 			});
+ 
+ 			ed.onSetProgressState.add(function(ed, b, ti) {
+ 				var co, id = ed.id, tb;
+ 
+ 				if (b) {
+ 					t.progressTimer = setTimeout(function() {
+ 						co = ed.getContainer();
+ 						co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild);
+ 						tb = DOM.get(ed.id + '_tbl');
+ 
+ 						DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}});
+ 						DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}});
+ 					}, ti || 0);
+ 				} else {
+ 					DOM.remove(id + '_blocker');
+ 					DOM.remove(id + '_progress');
+ 					clearTimeout(t.progressTimer);
+ 				}
+ 			});
+ 
+ 			DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/" + ed.settings.skin + "/ui.css");
+ 
+ 			if (s.skin_variant)
+ 				DOM.loadCSS(url + "/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css");
+ 		},
+ 
+ 		_isHighContrast : function() {
+ 			var actualColor, div = DOM.add(DOM.getRoot(), 'div', {'style': 'background-color: rgb(171,239,86);'});
+ 
+ 			actualColor = (DOM.getStyle(div, 'background-color', true) + '').toLowerCase().replace(/ /g, '');
+ 			DOM.remove(div);
+ 
+ 			return actualColor != 'rgb(171,239,86)' && actualColor != '#abef56';
+ 		},
+ 
+ 		createControl : function(n, cf) {
+ 			var cd, c;
+ 
+ 			if (c = cf.createControl(n))
+ 				return c;
+ 
+ 			switch (n) {
+ 				case "styleselect":
+ 					return this._createStyleSelect();
+ 
+ 				case "formatselect":
+ 					return this._createBlockFormats();
+ 
+ 				case "fontselect":
+ 					return this._createFontSelect();
+ 
+ 				case "fontsizeselect":
+ 					return this._createFontSizeSelect();
+ 
+ 				case "forecolor":
+ 					return this._createForeColorMenu();
+ 
+ 				case "backcolor":
+ 					return this._createBackColorMenu();
+ 			}
+ 
+ 			if ((cd = this.controls[n]))
+ 				return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]});
+ 		},
+ 
+ 		execCommand : function(cmd, ui, val) {
+ 			var f = this['_' + cmd];
+ 
+ 			if (f) {
+ 				f.call(this, ui, val);
+ 				return true;
+ 			}
+ 
+ 			return false;
+ 		},
+ 
+ 		_importClasses : function(e) {
+ 			var ed = this.editor, ctrl = ed.controlManager.get('styleselect');
+ 
+ 			if (ctrl.getLength() == 0) {
+ 				each(ed.dom.getClasses(), function(o, idx) {
+ 					var name = 'style_' + idx;
+ 
+ 					ed.formatter.register(name, {
+ 						inline : 'span',
+ 						attributes : {'class' : o['class']},
+ 						selector : '*'
+ 					});
+ 
+ 					ctrl.add(o['class'], name);
+ 				});
+ 			}
+ 		},
+ 
+ 		_createStyleSelect : function(n) {
+ 			var t = this, ed = t.editor, ctrlMan = ed.controlManager, ctrl;
+ 
+ 			// Setup style select box
+ 			ctrl = ctrlMan.createListBox('styleselect', {
+ 				title : 'advanced.style_select',
+ 				onselect : function(name) {
+ 					var matches, formatNames = [];
+ 
+ 					each(ctrl.items, function(item) {
+ 						formatNames.push(item.value);
+ 					});
+ 
+ 					ed.focus();
+ 					ed.undoManager.add();
+ 
+ 					// Toggle off the current format
+ 					matches = ed.formatter.matchAll(formatNames);
+ 					if (!name || matches[0] == name) {
+ 						if (matches[0]) 
+ 							ed.formatter.remove(matches[0]);
+ 					} else
+ 						ed.formatter.apply(name);
+ 
+ 					ed.undoManager.add();
+ 					ed.nodeChanged();
+ 
+ 					return false; // No auto select
+ 				}
+ 			});
+ 
+ 			// Handle specified format
+ 			ed.onInit.add(function() {
+ 				var counter = 0, formats = ed.getParam('style_formats');
+ 
+ 				if (formats) {
+ 					each(formats, function(fmt) {
+ 						var name, keys = 0;
+ 
+ 						each(fmt, function() {keys++;});
+ 
+ 						if (keys > 1) {
+ 							name = fmt.name = fmt.name || 'style_' + (counter++);
+ 							ed.formatter.register(name, fmt);
+ 							ctrl.add(fmt.title, name);
+ 						} else
+ 							ctrl.add(fmt.title);
+ 					});
+ 				} else {
+ 					each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) {
+ 						var name;
+ 
+ 						if (val) {
+ 							name = 'style_' + (counter++);
+ 
+ 							ed.formatter.register(name, {
+ 								inline : 'span',
+ 								classes : val,
+ 								selector : '*'
+ 							});
+ 
+ 							ctrl.add(t.editor.translate(key), name);
+ 						}
+ 					});
+ 				}
+ 			});
+ 
+ 			// Auto import classes if the ctrl box is empty
+ 			if (ctrl.getLength() == 0) {
+ 				ctrl.onPostRender.add(function(ed, n) {
+ 					if (!ctrl.NativeListBox) {
+ 						Event.add(n.id + '_text', 'focus', t._importClasses, t);
+ 						Event.add(n.id + '_text', 'mousedown', t._importClasses, t);
+ 						Event.add(n.id + '_open', 'focus', t._importClasses, t);
+ 						Event.add(n.id + '_open', 'mousedown', t._importClasses, t);
+ 					} else
+ 						Event.add(n.id, 'focus', t._importClasses, t);
+ 				});
+ 			}
+ 
+ 			return ctrl;
+ 		},
+ 
+ 		_createFontSelect : function() {
+ 			var c, t = this, ed = t.editor;
+ 
+ 			c = ed.controlManager.createListBox('fontselect', {
+ 				title : 'advanced.fontdefault',
+ 				onselect : function(v) {
+ 					var cur = c.items[c.selectedIndex];
+ 
+ 					if (!v && cur) {
+ 						ed.execCommand('FontName', false, cur.value);
+ 						return;
+ 					}
+ 
+ 					ed.execCommand('FontName', false, v);
+ 
+ 					// Fake selection, execCommand will fire a nodeChange and update the selection
+ 					c.select(function(sv) {
+ 						return v == sv;
+ 					});
+ 
+ 					if (cur && cur.value == v) {
+ 						c.select(null);
+ 					}
+ 
+ 					return false; // No auto select
+ 				}
+ 			});
+ 
+ 			if (c) {
+ 				each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) {
+ 					c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''});
+ 				});
+ 			}
+ 
+ 			return c;
+ 		},
+ 
+ 		_createFontSizeSelect : function() {
+ 			var t = this, ed = t.editor, c, i = 0, cl = [];
+ 
+ 			c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) {
+ 				var cur = c.items[c.selectedIndex];
+ 
+ 				if (!v && cur) {
+ 					cur = cur.value;
+ 
+ 					if (cur['class']) {
+ 						ed.formatter.toggle('fontsize_class', {value : cur['class']});
+ 						ed.undoManager.add();
+ 						ed.nodeChanged();
+ 					} else {
+ 						ed.execCommand('FontSize', false, cur.fontSize);
+ 					}
+ 
+ 					return;
+ 				}
+ 
+ 				if (v['class']) {
+ 					ed.focus();
+ 					ed.undoManager.add();
+ 					ed.formatter.toggle('fontsize_class', {value : v['class']});
+ 					ed.undoManager.add();
+ 					ed.nodeChanged();
+ 				} else
+ 					ed.execCommand('FontSize', false, v.fontSize);
+ 
+ 				// Fake selection, execCommand will fire a nodeChange and update the selection
+ 				c.select(function(sv) {
+ 					return v == sv;
+ 				});
+ 
+ 				if (cur && (cur.value.fontSize == v.fontSize || cur.value['class'] && cur.value['class'] == v['class'])) {
+ 					c.select(null);
+ 				}
+ 
+ 				return false; // No auto select
+ 			}});
+ 
+ 			if (c) {
+ 				each(t.settings.theme_advanced_font_sizes, function(v, k) {
+ 					var fz = v.fontSize;
+ 
+ 					if (fz >= 1 && fz <= 7)
+ 						fz = t.sizes[parseInt(fz) - 1] + 'pt';
+ 
+ 					c.add(k, v, {'style' : 'font-size:' + fz, 'class' : 'mceFontSize' + (i++) + (' ' + (v['class'] || ''))});
+ 				});
+ 			}
+ 
+ 			return c;
+ 		},
+ 
+ 		_createBlockFormats : function() {
+ 			var c, fmts = {
+ 				p : 'advanced.paragraph',
+ 				address : 'advanced.address',
+ 				pre : 'advanced.pre',
+ 				h1 : 'advanced.h1',
+ 				h2 : 'advanced.h2',
+ 				h3 : 'advanced.h3',
+ 				h4 : 'advanced.h4',
+ 				h5 : 'advanced.h5',
+ 				h6 : 'advanced.h6',
+ 				div : 'advanced.div',
+ 				blockquote : 'advanced.blockquote',
+ 				code : 'advanced.code',
+ 				dt : 'advanced.dt',
+ 				dd : 'advanced.dd',
+ 				samp : 'advanced.samp'
+ 			}, t = this;
+ 
+ 			c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', onselect : function(v) {
+ 				t.editor.execCommand('FormatBlock', false, v);
+ 				return false;
+ 			}});
+ 
+ 			if (c) {
+ 				each(t.editor.getParam('theme_advanced_blockformats', t.settings.theme_advanced_blockformats, 'hash'), function(v, k) {
+ 					c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v});
+ 				});
+ 			}
+ 
+ 			return c;
+ 		},
+ 
+ 		_createForeColorMenu : function() {
+ 			var c, t = this, s = t.settings, o = {}, v;
+ 
+ 			if (s.theme_advanced_more_colors) {
+ 				o.more_colors_func = function() {
+ 					t._mceColorPicker(0, {
+ 						color : c.value,
+ 						func : function(co) {
+ 							c.setColor(co);
+ 						}
+ 					});
+ 				};
+ 			}
+ 
+ 			if (v = s.theme_advanced_text_colors)
+ 				o.colors = v;
+ 
+ 			if (s.theme_advanced_default_foreground_color)
+ 				o.default_color = s.theme_advanced_default_foreground_color;
+ 
+ 			o.title = 'advanced.forecolor_desc';
+ 			o.cmd = 'ForeColor';
+ 			o.scope = this;
+ 
+ 			c = t.editor.controlManager.createColorSplitButton('forecolor', o);
+ 
+ 			return c;
+ 		},
+ 
+ 		_createBackColorMenu : function() {
+ 			var c, t = this, s = t.settings, o = {}, v;
+ 
+ 			if (s.theme_advanced_more_colors) {
+ 				o.more_colors_func = function() {
+ 					t._mceColorPicker(0, {
+ 						color : c.value,
+ 						func : function(co) {
+ 							c.setColor(co);
+ 						}
+ 					});
+ 				};
+ 			}
+ 
+ 			if (v = s.theme_advanced_background_colors)
+ 				o.colors = v;
+ 
+ 			if (s.theme_advanced_default_background_color)
+ 				o.default_color = s.theme_advanced_default_background_color;
+ 
+ 			o.title = 'advanced.backcolor_desc';
+ 			o.cmd = 'HiliteColor';
+ 			o.scope = this;
+ 
+ 			c = t.editor.controlManager.createColorSplitButton('backcolor', o);
+ 
+ 			return c;
+ 		},
+ 
+ 		renderUI : function(o) {
+ 			var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl;
+ 
+ 			if (ed.settings) {
+ 				ed.settings.aria_label = s.aria_label + ed.getLang('advanced.help_shortcut');
+ 			}
+ 
+ 			// TODO: ACC Should have an aria-describedby attribute which is user-configurable to describe what this field is actually for.
+ 			// Maybe actually inherit it from the original textara?
+ 			n = p = DOM.create('span', {role : 'application', 'aria-labelledby' : ed.id + '_voice', id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '')});
+ 			DOM.add(n, 'span', {'class': 'mceVoiceLabel', 'style': 'display:none;', id: ed.id + '_voice'}, s.aria_label);
+ 
+ 			if (!DOM.boxModel)
+ 				n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'});
+ 
+ 			n = sc = DOM.add(n, 'table', {role : "presentation", id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0});
+ 			n = tb = DOM.add(n, 'tbody');
+ 
+ 			switch ((s.theme_advanced_layout_manager || '').toLowerCase()) {
+ 				case "rowlayout":
+ 					ic = t._rowLayout(s, tb, o);
+ 					break;
+ 
+ 				case "customlayout":
+ 					ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p);
+ 					break;
+ 
+ 				default:
+ 					ic = t._simpleLayout(s, tb, o, p);
+ 			}
+ 
+ 			n = o.targetNode;
+ 
+ 			// Add classes to first and last TRs
+ 			nl = sc.rows;
+ 			DOM.addClass(nl[0], 'mceFirst');
+ 			DOM.addClass(nl[nl.length - 1], 'mceLast');
+ 
+ 			// Add classes to first and last TDs
+ 			each(DOM.select('tr', tb), function(n) {
+ 				DOM.addClass(n.firstChild, 'mceFirst');
+ 				DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast');
+ 			});
+ 
+ 			if (DOM.get(s.theme_advanced_toolbar_container))
+ 				DOM.get(s.theme_advanced_toolbar_container).appendChild(p);
+ 			else
+ 				DOM.insertAfter(p, n);
+ 
+ 			Event.add(ed.id + '_path_row', 'click', function(e) {
+ 				e = e.target;
+ 
+ 				if (e.nodeName == 'A') {
+ 					t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1'));
+ 
+ 					return Event.cancel(e);
+ 				}
+ 			});
+ /*
+ 			if (DOM.get(ed.id + '_path_row')) {
+ 				Event.add(ed.id + '_tbl', 'mouseover', function(e) {
+ 					var re;
+ 	
+ 					e = e.target;
+ 
+ 					if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) {
+ 						re = DOM.get(ed.id + '_path_row');
+ 						t.lastPath = re.innerHTML;
+ 						DOM.setHTML(re, e.parentNode.title);
+ 					}
+ 				});
+ 
+ 				Event.add(ed.id + '_tbl', 'mouseout', function(e) {
+ 					if (t.lastPath) {
+ 						DOM.setHTML(ed.id + '_path_row', t.lastPath);
+ 						t.lastPath = 0;
+ 					}
+ 				});
+ 			}
+ */
+ 
+ 			if (!ed.getParam('accessibility_focus'))
+ 				Event.add(DOM.add(p, 'a', {href : '#'}, '<!-- IE -->'), 'focus', function() {tinyMCE.get(ed.id).focus();});
+ 
+ 			if (s.theme_advanced_toolbar_location == 'external')
+ 				o.deltaHeight = 0;
+ 
+ 			t.deltaHeight = o.deltaHeight;
+ 			o.targetNode = null;
+ 
+ 			ed.onKeyDown.add(function(ed, evt) {
+ 				var DOM_VK_F10 = 121, DOM_VK_F11 = 122;
+ 
+ 				if (evt.altKey) {
+ 		 			if (evt.keyCode === DOM_VK_F10) {
+ 						// Make sure focus is given to toolbar in Safari.
+ 						// We can't do this in IE as it prevents giving focus to toolbar when editor is in a frame
+ 						if (tinymce.isWebKit) {
+ 							window.focus();
+ 						}
+ 						t.toolbarGroup.focus();
+ 						return Event.cancel(evt);
+ 					} else if (evt.keyCode === DOM_VK_F11) {
+ 						DOM.get(ed.id + '_path_row').focus();
+ 						return Event.cancel(evt);
+ 					}
+ 				}
+ 			});
+ 
+ 			// alt+0 is the UK recommended shortcut for accessing the list of access controls.
+ 			ed.addShortcut('alt+0', '', 'mceShortcuts', t);
+ 
+ 			return {
+ 				iframeContainer : ic,
+ 				editorContainer : ed.id + '_parent',
+ 				sizeContainer : sc,
+ 				deltaHeight : o.deltaHeight
+ 			};
+ 		},
+ 
+ 		getInfo : function() {
+ 			return {
+ 				longname : 'Advanced theme',
+ 				author : 'Moxiecode Systems AB',
+ 				authorurl : 'http://tinymce.moxiecode.com',
+ 				version : tinymce.majorVersion + "." + tinymce.minorVersion
+ 			}
+ 		},
+ 
+ 		resizeBy : function(dw, dh) {
+ 			var e = DOM.get(this.editor.id + '_ifr');
+ 
+ 			this.resizeTo(e.clientWidth + dw, e.clientHeight + dh);
+ 		},
+ 
+ 		resizeTo : function(w, h, store) {
+ 			var ed = this.editor, s = this.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr');
+ 
+ 			// Boundery fix box
+ 			w = Math.max(s.theme_advanced_resizing_min_width || 100, w);
+ 			h = Math.max(s.theme_advanced_resizing_min_height || 100, h);
+ 			w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w);
+ 			h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h);
+ 
+ 			// Resize iframe and container
+ 			DOM.setStyle(e, 'height', '');
+ 			DOM.setStyle(ifr, 'height', h);
+ 
+ 			if (s.theme_advanced_resize_horizontal) {
+ 				DOM.setStyle(e, 'width', '');
+ 				DOM.setStyle(ifr, 'width', w);
+ 
+ 				// Make sure that the size is never smaller than the over all ui
+ 				if (w < e.clientWidth) {
+ 					w = e.clientWidth;
+ 					DOM.setStyle(ifr, 'width', e.clientWidth);
+ 				}
+ 			}
+ 
+ 			// Store away the size
+ 			if (store && s.theme_advanced_resizing_use_cookie) {
+ 				Cookie.setHash("TinyMCE_" + ed.id + "_size", {
+ 					cw : w,
+ 					ch : h
+ 				});
+ 			}
+ 		},
+ 
+ 		destroy : function() {
+ 			var id = this.editor.id;
+ 
+ 			Event.clear(id + '_resize');
+ 			Event.clear(id + '_path_row');
+ 			Event.clear(id + '_external_close');
+ 		},
+ 
+ 		// Internal functions
+ 
+ 		_simpleLayout : function(s, tb, o, p) {
+ 			var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c;
+ 
+ 			if (s.readonly) {
+ 				n = DOM.add(tb, 'tr');
+ 				n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'});
+ 				return ic;
+ 			}
+ 
+ 			// Create toolbar container at top
+ 			if (lo == 'top')
+ 				t._addToolbars(tb, o);
+ 
+ 			// Create external toolbar
+ 			if (lo == 'external') {
+ 				n = c = DOM.create('div', {style : 'position:relative'});
+ 				n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'});
+ 				DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'});
+ 				n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0});
+ 				etb = DOM.add(n, 'tbody');
+ 
+ 				if (p.firstChild.className == 'mceOldBoxModel')
+ 					p.firstChild.appendChild(c);
+ 				else
+ 					p.insertBefore(c, p.firstChild);
+ 
+ 				t._addToolbars(etb, o);
+ 
+ 				ed.onMouseUp.add(function() {
+ 					var e = DOM.get(ed.id + '_external');
+ 					DOM.show(e);
+ 
+ 					DOM.hide(lastExtID);
+ 
+ 					var f = Event.add(ed.id + '_external_close', 'click', function() {
+ 						DOM.hide(ed.id + '_external');
+ 						Event.remove(ed.id + '_external_close', 'click', f);
+ 					});
+ 
+ 					DOM.show(e);
+ 					DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1);
+ 
+ 					// Fixes IE rendering bug
+ 					DOM.hide(e);
+ 					DOM.show(e);
+ 					e.style.filter = '';
+ 
+ 					lastExtID = ed.id + '_external';
+ 
+ 					e = null;
+ 				});
+ 			}
+ 
+ 			if (sl == 'top')
+ 				t._addStatusBar(tb, o);
+ 
+ 			// Create iframe container
+ 			if (!s.theme_advanced_toolbar_container) {
+ 				n = DOM.add(tb, 'tr');
+ 				n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'});
+ 			}
+ 
+ 			// Create toolbar container at bottom
+ 			if (lo == 'bottom')
+ 				t._addToolbars(tb, o);
+ 
+ 			if (sl == 'bottom')
+ 				t._addStatusBar(tb, o);
+ 
+ 			return ic;
+ 		},
+ 
+ 		_rowLayout : function(s, tb, o) {
+ 			var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a;
+ 
+ 			dc = s.theme_advanced_containers_default_class || '';
+ 			da = s.theme_advanced_containers_default_align || 'center';
+ 
+ 			each(explode(s.theme_advanced_containers || ''), function(c, i) {
+ 				var v = s['theme_advanced_container_' + c] || '';
+ 
+ 				switch (c.toLowerCase()) {
+ 					case 'mceeditor':
+ 						n = DOM.add(tb, 'tr');
+ 						n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'});
+ 						break;
+ 
+ 					case 'mceelementpath':
+ 						t._addStatusBar(tb, o);
+ 						break;
+ 
+ 					default:
+ 						a = (s['theme_advanced_container_' + c + '_align'] || da).toLowerCase();
+ 						a = 'mce' + t._ufirst(a);
+ 
+ 						n = DOM.add(DOM.add(tb, 'tr'), 'td', {
+ 							'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da
+ 						});
+ 
+ 						to = cf.createToolbar("toolbar" + i);
+ 						t._addControls(v, to);
+ 						DOM.setHTML(n, to.renderHTML());
+ 						o.deltaHeight -= s.theme_advanced_row_height;
+ 				}
+ 			});
+ 
+ 			return ic;
+ 		},
+ 
+ 		_addControls : function(v, tb) {
+ 			var t = this, s = t.settings, di, cf = t.editor.controlManager;
+ 
+ 			if (s.theme_advanced_disable && !t._disabled) {
+ 				di = {};
+ 
+ 				each(explode(s.theme_advanced_disable), function(v) {
+ 					di[v] = 1;
+ 				});
+ 
+ 				t._disabled = di;
+ 			} else
+ 				di = t._disabled;
+ 
+ 			each(explode(v), function(n) {
+ 				var c;
+ 
+ 				if (di && di[n])
+ 					return;
+ 
+ 				// Compatiblity with 2.x
+ 				if (n == 'tablecontrols') {
+ 					each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) {
+ 						n = t.createControl(n, cf);
+ 
+ 						if (n)
+ 							tb.add(n);
+ 					});
+ 
+ 					return;
+ 				}
+ 
+ 				c = t.createControl(n, cf);
+ 
+ 				if (c)
+ 					tb.add(c);
+ 			});
+ 		},
+ 
+ 		_addToolbars : function(c, o) {
+ 			var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a, toolbarGroup;
+ 
+ 			toolbarGroup = cf.createToolbarGroup('toolbargroup', {
+ 				'name': ed.getLang('advanced.toolbar'),
+ 				'tab_focus_toolbar':ed.getParam('theme_advanced_tab_focus_toolbar')
+ 			});
+ 
+ 			t.toolbarGroup = toolbarGroup;
+ 
+ 			a = s.theme_advanced_toolbar_align.toLowerCase();
+ 			a = 'mce' + t._ufirst(a);
+ 
+ 			n = DOM.add(DOM.add(c, 'tr', {role: 'presentation'}), 'td', {'class' : 'mceToolbar ' + a, "role":"presentation"});
+ 
+ 			// Create toolbar and add the controls
+ 			for (i=1; (v = s['theme_advanced_buttons' + i]); i++) {
+ 				tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i});
+ 
+ 				if (s['theme_advanced_buttons' + i + '_add'])
+ 					v += ',' + s['theme_advanced_buttons' + i + '_add'];
+ 
+ 				if (s['theme_advanced_buttons' + i + '_add_before'])
+ 					v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v;
+ 
+ 				t._addControls(v, tb);
+ 				toolbarGroup.add(tb);
+ 
+ 				o.deltaHeight -= s.theme_advanced_row_height;
+ 			}
+ 			h.push(toolbarGroup.renderHTML());
+ 			h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '<!-- IE -->'));
+ 			DOM.setHTML(n, h.join(''));
+ 		},
+ 
+ 		_addStatusBar : function(tb, o) {
+ 			var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td;
+ 
+ 			n = DOM.add(tb, 'tr');
+ 			n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); 
+ 			n = DOM.add(n, 'div', {id : ed.id + '_path_row', 'role': 'group', 'aria-labelledby': ed.id + '_path_voice'});
+ 			if (s.theme_advanced_path) {
+ 				DOM.add(n, 'span', {id: ed.id + '_path_voice'}, ed.translate('advanced.path'));
+ 				DOM.add(n, 'span', {}, ': ');
+ 			} else {
+ 				DOM.add(n, 'span', {}, '&#160;');
+ 			}
+ 			
+ 
+ 			if (s.theme_advanced_resizing) {
+ 				DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize', tabIndex:"-1"});
+ 
+ 				if (s.theme_advanced_resizing_use_cookie) {
+ 					ed.onPostRender.add(function() {
+ 						var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl');
+ 
+ 						if (!o)
+ 							return;
+ 
+ 						t.resizeTo(o.cw, o.ch);
+ 					});
+ 				}
+ 
+ 				ed.onPostRender.add(function() {
+ 					Event.add(ed.id + '_resize', 'click', function(e) {
+ 						e.preventDefault();
+ 					});
+ 
+ 					Event.add(ed.id + '_resize', 'mousedown', function(e) {
+ 						var mouseMoveHandler1, mouseMoveHandler2,
+ 							mouseUpHandler1, mouseUpHandler2,
+ 							startX, startY, startWidth, startHeight, width, height, ifrElm;
+ 
+ 						function resizeOnMove(e) {
+ 							e.preventDefault();
+ 
+ 							width = startWidth + (e.screenX - startX);
+ 							height = startHeight + (e.screenY - startY);
+ 
+ 							t.resizeTo(width, height);
+ 						};
+ 
+ 						function endResize(e) {
+ 							// Stop listening
+ 							Event.remove(DOM.doc, 'mousemove', mouseMoveHandler1);
+ 							Event.remove(ed.getDoc(), 'mousemove', mouseMoveHandler2);
+ 							Event.remove(DOM.doc, 'mouseup', mouseUpHandler1);
+ 							Event.remove(ed.getDoc(), 'mouseup', mouseUpHandler2);
+ 
+ 							width = startWidth + (e.screenX - startX);
+ 							height = startHeight + (e.screenY - startY);
+ 							t.resizeTo(width, height, true);
+ 						};
+ 
+ 						e.preventDefault();
+ 
+ 						// Get the current rect size
+ 						startX = e.screenX;
+ 						startY = e.screenY;
+ 						ifrElm = DOM.get(t.editor.id + '_ifr');
+ 						startWidth = width = ifrElm.clientWidth;
+ 						startHeight = height = ifrElm.clientHeight;
+ 
+ 						// Register envent handlers
+ 						mouseMoveHandler1 = Event.add(DOM.doc, 'mousemove', resizeOnMove);
+ 						mouseMoveHandler2 = Event.add(ed.getDoc(), 'mousemove', resizeOnMove);
+ 						mouseUpHandler1 = Event.add(DOM.doc, 'mouseup', endResize);
+ 						mouseUpHandler2 = Event.add(ed.getDoc(), 'mouseup', endResize);
+ 					});
+ 				});
+ 			}
+ 
+ 			o.deltaHeight -= 21;
+ 			n = tb = null;
+ 		},
+ 
+ 		_updateUndoStatus : function(ed) {
+ 			var cm = ed.controlManager, um = ed.undoManager;
+ 
+ 			cm.setDisabled('undo', !um.hasUndo() && !um.typing);
+ 			cm.setDisabled('redo', !um.hasRedo());
+ 		},
+ 
+ 		_nodeChanged : function(ed, cm, n, co, ob) {
+ 			var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, fc, bc, formatNames, matches;
+ 
+ 			tinymce.each(t.stateControls, function(c) {
+ 				cm.setActive(c, ed.queryCommandState(t.controls[c][1]));
+ 			});
+ 
+ 			function getParent(name) {
+ 				var i, parents = ob.parents, func = name;
+ 
+ 				if (typeof(name) == 'string') {
+ 					func = function(node) {
+ 						return node.nodeName == name;
+ 					};
+ 				}
+ 
+ 				for (i = 0; i < parents.length; i++) {
+ 					if (func(parents[i]))
+ 						return parents[i];
+ 				}
+ 			};
+ 
+ 			cm.setActive('visualaid', ed.hasVisual);
+ 			t._updateUndoStatus(ed);
+ 			cm.setDisabled('outdent', !ed.queryCommandState('Outdent'));
+ 
+ 			p = getParent('A');
+ 			if (c = cm.get('link')) {
+ 				if (!p || !p.name) {
+ 					c.setDisabled(!p && co);
+ 					c.setActive(!!p);
+ 				}
+ 			}
+ 
+ 			if (c = cm.get('unlink')) {
+ 				c.setDisabled(!p && co);
+ 				c.setActive(!!p && !p.name);
+ 			}
+ 
+ 			if (c = cm.get('anchor')) {
+ 				c.setActive(!co && !!p && p.name);
+ 			}
+ 
+ 			p = getParent('IMG');
+ 			if (c = cm.get('image'))
+ 				c.setActive(!co && !!p && n.className.indexOf('mceItem') == -1);
+ 
+ 			if (c = cm.get('styleselect')) {
+ 				t._importClasses();
+ 
+ 				formatNames = [];
+ 				each(c.items, function(item) {
+ 					formatNames.push(item.value);
+ 				});
+ 
+ 				matches = ed.formatter.matchAll(formatNames);
+ 				c.select(matches[0]);
+ 			}
+ 
+ 			if (c = cm.get('formatselect')) {
+ 				p = getParent(DOM.isBlock);
+ 
+ 				if (p)
+ 					c.select(p.nodeName.toLowerCase());
+ 			}
+ 
+ 			// Find out current fontSize, fontFamily and fontClass
+ 			getParent(function(n) {
+ 				if (n.nodeName === 'SPAN') {
+ 					if (!cl && n.className)
+ 						cl = n.className;
+ 				}
+ 
+ 				if (ed.dom.is(n, s.theme_advanced_font_selector)) {
+ 					if (!fz && n.style.fontSize)
+ 						fz = n.style.fontSize;
+ 
+ 					if (!fn && n.style.fontFamily)
+ 						fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase();
+ 					
+ 					if (!fc && n.style.color)
+ 						fc = n.style.color;
+ 
+ 					if (!bc && n.style.backgroundColor)
+ 						bc = n.style.backgroundColor;
+ 				}
+ 
+ 				return false;
+ 			});
+ 
+ 			if (c = cm.get('fontselect')) {
+ 				c.select(function(v) {
+ 					return v.replace(/^([^,]+).*/, '$1').toLowerCase() == fn;
+ 				});
+ 			}
+ 
+ 			// Select font size
+ 			if (c = cm.get('fontsizeselect')) {
+ 				// Use computed style
+ 				if (s.theme_advanced_runtime_fontsize && !fz && !cl)
+ 					fz = ed.dom.getStyle(n, 'fontSize', true);
+ 
+ 				c.select(function(v) {
+ 					if (v.fontSize && v.fontSize === fz)
+ 						return true;
+ 
+ 					if (v['class'] && v['class'] === cl)
+ 						return true;
+ 				});
+ 			}
+ 			
+ 			if (s.theme_advanced_show_current_color) {
+ 				function updateColor(controlId, color) {
+ 					if (c = cm.get(controlId)) {
+ 						if (!color)
+ 							color = c.settings.default_color;
+ 						if (color !== c.value) {
+ 							c.displayColor(color);
+ 						}
+ 					}
+ 				}
+ 				updateColor('forecolor', fc);
+ 				updateColor('backcolor', bc);
+ 			}
+ 
+ 			if (s.theme_advanced_show_current_color) {
+ 				function updateColor(controlId, color) {
+ 					if (c = cm.get(controlId)) {
+ 						if (!color)
+ 							color = c.settings.default_color;
+ 						if (color !== c.value) {
+ 							c.displayColor(color);
+ 						}
+ 					}
+ 				};
+ 
+ 				updateColor('forecolor', fc);
+ 				updateColor('backcolor', bc);
+ 			}
+ 
+ 			if (s.theme_advanced_path && s.theme_advanced_statusbar_location) {
+ 				p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'});
+ 
+ 				if (t.statusKeyboardNavigation) {
+ 					t.statusKeyboardNavigation.destroy();
+ 					t.statusKeyboardNavigation = null;
+ 				}
+ 
+ 				DOM.setHTML(p, '');
+ 
+ 				getParent(function(n) {
+ 					var na = n.nodeName.toLowerCase(), u, pi, ti = '';
+ 
+ 					// Ignore non element and bogus/hidden elements
+ 					if (n.nodeType != 1 || na === 'br' || n.getAttribute('data-mce-bogus') || DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved'))
+ 						return;
+ 
+ 					// Handle prefix
+ 					if (tinymce.isIE && n.scopeName !== 'HTML')
+ 						na = n.scopeName + ':' + na;
+ 
+ 					// Remove internal prefix
+ 					na = na.replace(/mce\:/g, '');
+ 
+ 					// Handle node name
+ 					switch (na) {
+ 						case 'b':
+ 							na = 'strong';
+ 							break;
+ 
+ 						case 'i':
+ 							na = 'em';
+ 							break;
+ 
+ 						case 'img':
+ 							if (v = DOM.getAttrib(n, 'src'))
+ 								ti += 'src: ' + v + ' ';
+ 
+ 							break;
+ 
+ 						case 'a':
+ 							if (v = DOM.getAttrib(n, 'name')) {
+ 								ti += 'name: ' + v + ' ';
+ 								na += '#' + v;
+ 							}
+ 
+ 							if (v = DOM.getAttrib(n, 'href'))
+ 								ti += 'href: ' + v + ' ';
+ 
+ 							break;
+ 
+ 						case 'font':
+ 							if (v = DOM.getAttrib(n, 'face'))
+ 								ti += 'font: ' + v + ' ';
+ 
+ 							if (v = DOM.getAttrib(n, 'size'))
+ 								ti += 'size: ' + v + ' ';
+ 
+ 							if (v = DOM.getAttrib(n, 'color'))
+ 								ti += 'color: ' + v + ' ';
+ 
+ 							break;
+ 
+ 						case 'span':
+ 							if (v = DOM.getAttrib(n, 'style'))
+ 								ti += 'style: ' + v + ' ';
+ 
+ 							break;
+ 					}
+ 
+ 					if (v = DOM.getAttrib(n, 'id'))
+ 						ti += 'id: ' + v + ' ';
+ 
+ 					if (v = n.className) {
+ 						v = v.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, '')
+ 
+ 						if (v) {
+ 							ti += 'class: ' + v + ' ';
+ 
+ 							if (DOM.isBlock(n) || na == 'img' || na == 'span')
+ 								na += '.' + v;
+ 						}
+ 					}
+ 
+ 					na = na.replace(/(html:)/g, '');
+ 					na = {name : na, node : n, title : ti};
+ 					t.onResolveName.dispatch(t, na);
+ 					ti = na.title;
+ 					na = na.name;
+ 
+ 					//u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');";
+ 					pi = DOM.create('a', {'href' : "javascript:;", role: 'button', onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na);
+ 
+ 					if (p.hasChildNodes()) {
+ 						p.insertBefore(DOM.create('span', {'aria-hidden': 'true'}, '\u00a0\u00bb '), p.firstChild);
+ 						p.insertBefore(pi, p.firstChild);
+ 					} else
+ 						p.appendChild(pi);
+ 				}, ed.getBody());
+ 
+ 				if (DOM.select('a', p).length > 0) {
+ 					t.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({
+ 						root: ed.id + "_path_row",
+ 						items: DOM.select('a', p),
+ 						excludeFromTabOrder: true,
+ 						onCancel: function() {
+ 							ed.focus();
+ 						}
+ 					}, DOM);
+ 				}
+ 			}
+ 		},
+ 
+ 		// Commands gets called by execCommand
+ 
+ 		_sel : function(v) {
+ 			this.editor.execCommand('mceSelectNodeDepth', false, v);
+ 		},
+ 
+ 		_mceInsertAnchor : function(ui, v) {
+ 			var ed = this.editor;
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/anchor.htm',
+ 				width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)),
+ 				height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)),
+ 				inline : true
+ 			}, {
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceCharMap : function() {
+ 			var ed = this.editor;
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/charmap.htm',
+ 				width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)),
+ 				height : 265 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)),
+ 				inline : true
+ 			}, {
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceHelp : function() {
+ 			var ed = this.editor;
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/about.htm',
+ 				width : 480,
+ 				height : 380,
+ 				inline : true
+ 			}, {
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceShortcuts : function() {
+ 			var ed = this.editor;
+ 			ed.windowManager.open({
+ 				url: this.url + '/shortcuts.htm',
+ 				width: 480,
+ 				height: 380,
+ 				inline: true
+ 			}, {
+ 				theme_url: this.url
+ 			});
+ 		},
+ 
+ 		_mceColorPicker : function(u, v) {
+ 			var ed = this.editor;
+ 
+ 			v = v || {};
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/color_picker.htm',
+ 				width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)),
+ 				height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)),
+ 				close_previous : false,
+ 				inline : true
+ 			}, {
+ 				input_color : v.color,
+ 				func : v.func,
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceCodeEditor : function(ui, val) {
+ 			var ed = this.editor;
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/source_editor.htm',
+ 				width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)),
+ 				height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)),
+ 				inline : true,
+ 				resizable : true,
+ 				maximizable : true
+ 			}, {
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceImage : function(ui, val) {
+ 			var ed = this.editor;
+ 
+ 			// Internal image object like a flash placeholder
+ 			if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1)
+ 				return;
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/image.htm',
+ 				width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)),
+ 				height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)),
+ 				inline : true
+ 			}, {
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceLink : function(ui, val) {
+ 			var ed = this.editor;
+ 
+ 			ed.windowManager.open({
+ 				url : this.url + '/link.htm',
+ 				width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)),
+ 				height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)),
+ 				inline : true
+ 			}, {
+ 				theme_url : this.url
+ 			});
+ 		},
+ 
+ 		_mceNewDocument : function() {
+ 			var ed = this.editor;
+ 
+ 			ed.windowManager.confirm('advanced.newdocument', function(s) {
+ 				if (s)
+ 					ed.execCommand('mceSetContent', false, '');
+ 			});
+ 		},
+ 
+ 		_mceForeColor : function() {
+ 			var t = this;
+ 
+ 			this._mceColorPicker(0, {
+ 				color: t.fgColor,
+ 				func : function(co) {
+ 					t.fgColor = co;
+ 					t.editor.execCommand('ForeColor', false, co);
+ 				}
+ 			});
+ 		},
+ 
+ 		_mceBackColor : function() {
+ 			var t = this;
+ 
+ 			this._mceColorPicker(0, {
+ 				color: t.bgColor,
+ 				func : function(co) {
+ 					t.bgColor = co;
+ 					t.editor.execCommand('HiliteColor', false, co);
+ 				}
+ 			});
+ 		},
+ 
+ 		_ufirst : function(s) {
+ 			return s.substring(0, 1).toUpperCase() + s.substring(1);
+ 		}
+ 	});
+ 
+ 	tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme);
+ }(tinymce));
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/image.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/image.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/image.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/image.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,11 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.image_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/form_utils.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/image.js?ver=345-20110908"></script>
  </head>
  <body id="image" style="display: none">
  <form onsubmit="ImageDialog.update();return false;" action="#">
--- 2,11 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.image_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/form_utils.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/image.js?ver=349-20120314"></script>
  </head>
  <body id="image" style="display: none">
  <form onsubmit="ImageDialog.update();return false;" action="#">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/js/anchor.js ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/js/anchor.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/js/anchor.js	2011-04-10 13:36:05.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/js/anchor.js	2012-02-04 16:23:27.000000000 -0600
***************
*** 30,38 ****
  			ed.selection.collapse(1);
  
  		elm = ed.dom.getParent(ed.selection.getNode(), 'A');
! 		if (elm)
  			elm.name = name;
! 		else
  			ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, ''));
  
  		tinyMCEPopup.close();
--- 30,39 ----
  			ed.selection.collapse(1);
  
  		elm = ed.dom.getParent(ed.selection.getNode(), 'A');
! 		if (elm) {
! 			elm.setAttribute('name', name);
  			elm.name = name;
! 		} else
  			ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, ''));
  
  		tinyMCEPopup.close();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/js/charmap.js ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/js/charmap.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/js/charmap.js	2011-04-10 13:36:05.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/js/charmap.js	2012-02-04 16:23:27.000000000 -0600
***************
*** 281,293 ****
  function addKeyboardNavigation(){
  	var tableElm, cells, settings;
  
! 	cells = tinyMCEPopup.dom.select(".charmaplink", "charmapgroup");
  
  	settings ={
  		root: "charmapgroup",
  		items: cells
  	};
! 
  	tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
  }
  
--- 281,301 ----
  function addKeyboardNavigation(){
  	var tableElm, cells, settings;
  
! 	cells = tinyMCEPopup.dom.select("a.charmaplink", "charmapgroup");
  
  	settings ={
  		root: "charmapgroup",
  		items: cells
  	};
! 	cells[0].tabindex=0;
! 	tinyMCEPopup.dom.addClass(cells[0], "mceFocus");
! 	if (tinymce.isGecko) {
! 		cells[0].focus();		
! 	} else {
! 		setTimeout(function(){
! 			cells[0].focus();
! 		}, 100);
! 	}
  	tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
  }
  
***************
*** 306,312 ****
  			previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';
  			html += ''
  				+ '<td class="charmap">'
! 				+ '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
  				+ charmap[i][1]
  				+ '</a></td>';
  			if ((cols+1) % charsPerRow == 0)
--- 314,320 ----
  			previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';
  			html += ''
  				+ '<td class="charmap">'
! 				+ '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + ' '+ tinyMCEPopup.editor.translate("advanced_dlg.charmap_usage")+'">'
  				+ charmap[i][1]
  				+ '</a></td>';
  			if ((cols+1) % charsPerRow == 0)
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/js/color_picker.js ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/js/color_picker.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/js/color_picker.js	2011-04-10 13:36:05.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/js/color_picker.js	2012-02-04 16:23:27.000000000 -0600
***************
*** 1,6 ****
  tinyMCEPopup.requireLangPack();
  
! var detail = 50, strhex = "0123456789ABCDEF", i, isMouseDown = false, isMouseOver = false;
  
  var colors = [
  	"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
--- 1,6 ----
  tinyMCEPopup.requireLangPack();
  
! var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
  
  var colors = [
  	"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
***************
*** 266,275 ****
  }
  
  function computeColor(e) {
! 	var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB;
  
! 	x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0);
! 	y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0);
  
  	partWidth = document.getElementById('colors').width / 6;
  	partDetail = detail / 2;
--- 266,275 ----
  }
  
  function computeColor(e) {
! 	var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB, pos = tinyMCEPopup.dom.getPos(e.target);
  
! 	x = e.offsetX ? e.offsetX : (e.target ? e.clientX - pos.x : 0);
! 	y = e.offsetY ? e.offsetY : (e.target ? e.clientY - pos.y : 0);
  
  	partWidth = document.getElementById('colors').width / 6;
  	partDetail = detail / 2;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/link.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/link.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/link.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/link.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,12 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.link_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/form_utils.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="../../utils/validate.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/link.js?ver=345-20110908"></script>
  </head>
  <body id="link" style="display: none">
  <form onsubmit="LinkDialog.update();return false;" action="#">
--- 2,12 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.link_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/mctabs.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/form_utils.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="../../utils/validate.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/link.js?ver=349-20120314"></script>
  </head>
  <body id="link" style="display: none">
  <form onsubmit="LinkDialog.update();return false;" action="#">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/shortcuts.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/shortcuts.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/shortcuts.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/shortcuts.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 2,8 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  	<head>
  		<title>{#advanced_dlg.accessibility_help}</title>
! 		<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
  		<script type="text/javascript">tinyMCEPopup.requireLangPack();</script>
  	</head>
  	<body id="content">
--- 2,8 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  	<head>
  		<title>{#advanced_dlg.accessibility_help}</title>
! 		<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
  		<script type="text/javascript">tinyMCEPopup.requireLangPack();</script>
  	</head>
  	<body id="content">
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/default/content.css ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/default/content.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/default/content.css	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/default/content.css	2012-02-04 16:23:27.000000000 -0600
***************
*** 13,19 ****
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
--- 13,19 ----
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table, img, hr, .mceItemAnchor {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
***************
*** 45,49 ****
--- 45,50 ----
  .mceItemRealMedia {background-image:url(../../img/realmedia.gif)}
  .mceItemVideo {background-image:url(../../img/video.gif)}
  .mceItemAudio {background-image:url(../../img/video.gif)}
+ .mceItemEmbeddedAudio {background-image:url(../../img/video.gif)}
  .mceItemIframe {background-image:url(../../img/iframe.gif)}
  .mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;}
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css	2012-02-04 16:23:27.000000000 -0600
***************
*** 11,17 ****
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
--- 11,17 ----
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table, img, hr, .mceItemAnchor {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css	2012-02-04 16:23:27.000000000 -0600
***************
*** 12,18 ****
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
--- 12,18 ----
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table, img, hr, .mceItemAnchor {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css	2011-11-14 14:40:31.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css	2012-03-06 14:33:19.000000000 -0600
***************
*** 1,8 ****
! body {
! 	font: 13px/19px Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
! 	margin: 10px;
! 	color: #000;
! }
  body.mceForceColors {background:#FFF; color:#000;}
  body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;}
  td {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;}
--- 1,4 ----
! 
  body.mceForceColors {background:#FFF; color:#000;}
  body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;}
  td {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;}
***************
*** 17,23 ****
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
--- 13,19 ----
  span.mceItemNbsp {background: #DDD}
  td.mceSelected, th.mceSelected {background-color:#3399ff !important}
  img {border:0;}
! table, img, hr, .mceItemAnchor {cursor:default}
  table td, table th {cursor:text}
  ins {border-bottom:1px solid green; text-decoration: none; color:green}
  del {color:red; text-decoration:line-through}
***************
*** 41,46 ****
--- 37,60 ----
  .mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;}
  
  /* WordPress styles */
+ body {
+ 	font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
+ 	font-size: 13px;
+ 	line-height: 19px;
+ 	color: #333;
+ 	margin: 10px;
+ 	min-height: 100%;
+ }
+ 
+ br[data-mce-bogus] {
+ 	line-height: 1em;
+ 	margin-top: -1em;
+ }
+ 
+ br[data-mce-bogus]:only-child {
+ 	line-height: inherit;
+ 	margin-top: inherit;
+ }
  
  .aligncenter,
  dl.aligncenter {
***************
*** 75,80 ****
--- 89,95 ----
  	margin: 0;
  	padding: 0;
  	border: 0 none;
+ 	-webkit-user-drag: none;
  }
  
  .wp-caption-dd {
***************
*** 94,96 ****
--- 109,144 ----
  	margin: 8px;
  }
  
+ /* Styles for the WordPress plugins */
+ img.mceWPnextpage,
+ img.mceWPmore {
+ 	border: 0;
+ 	border-top: 1px dotted #cccccc;
+ 	display: block;
+ 	width: 95%;
+ 	height: 12px;
+ 	margin: 15px auto 0;
+ }
+ 
+ img.mceWPmore {
+ 	background: transparent url("img/more_bug.gif") no-repeat right top;
+ }
+ 
+ img.mceWPnextpage {
+     background: transparent url("img/page_bug.gif") no-repeat right top;
+ }
+ 
+ img.wpGallery {
+ 	border: 1px dashed #888;
+ 	background: #f2f8ff url("img/gallery.png") no-repeat scroll center center;
+ 	width: 99%;
+ 	height: 250px;
+ }
+ 
+ img.wp-oembed {
+ 	border: 1px dashed #888;
+ 	background: #f7f5f2 url("img/embedded.png") no-repeat scroll center center;
+ 	width: 300px;
+ 	height: 250px;
+ }
+ 
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/embedded.png and ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/embedded.png differ
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery.png and ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery.png differ
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/more_bug.gif and ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/more_bug.gif differ
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/page_bug.gif and ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/page_bug.gif differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/source_editor.htm ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/source_editor.htm
*** ./wordpress-3.3.2/wp-includes/js/tinymce/themes/advanced/source_editor.htm	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/themes/advanced/source_editor.htm	2012-03-14 19:47:06.000000000 -0500
***************
*** 1,8 ****
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.code_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=345-20110908"></script>
! 	<script type="text/javascript" src="js/source_editor.js?ver=345-20110908"></script>
  </head>
  <body onresize="resizeInputs();" style="display:none; overflow:hidden;">
  	<form name="source" onsubmit="saveContent();return false;" action="#">
--- 1,8 ----
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<title>{#advanced_dlg.code_title}</title>
! 	<script type="text/javascript" src="../../tiny_mce_popup.js?ver=349-20120314"></script>
! 	<script type="text/javascript" src="js/source_editor.js?ver=349-20120314"></script>
  </head>
  <body onresize="resizeInputs();" style="display:none; overflow:hidden;">
  	<form name="source" onsubmit="saveContent();return false;" action="#">
***************
*** 18,28 ****
  
  		<div class="mceActionPanel">
  			<div style="float: left">
! 				<input type="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
  			</div>
  
  			<div style="float: right">
! 				<input type="submit" name="insert" value="{#update}" id="insert" />
  			</div>
  		</div>
  	</form>
--- 18,28 ----
  
  		<div class="mceActionPanel">
  			<div style="float: left">
! 				<input type="button" role="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
  			</div>
  
  			<div style="float: right">
! 				<input type="submit" role="button" name="insert" value="{#update}" id="insert" />
  			</div>
  		</div>
  	</form>
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/tinymce/tiny_mce.js ./wordpress-3.4/wp-includes/js/tinymce/tiny_mce.js
*** ./wordpress-3.3.2/wp-includes/js/tinymce/tiny_mce.js	2011-09-09 15:08:40.000000000 -0500
--- ./wordpress-3.4/wp-includes/js/tinymce/tiny_mce.js	2012-04-06 17:59:22.000000000 -0500
***************
*** 1 ****
! (function(d){var a=/^\s*|\s*$/g,e,c="B".replace(/A(.)|B/,"$1")==="$1";var b={majorVersion:"3",minorVersion:"4.5",releaseDate:"2011-09-06",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=d.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){if(r=f[m].href){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==e}if(f=="array"&&(g.hasOwnProperty&&g instanceof Array)){return true}return typeof(g)==f},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==e){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];b.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];b.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(k,j){var h,g,f=arguments;for(h=1,g=f.length;h<g;h++){j=f[h];b.each(j,function(i,l){if(i!==e){k[l]=i}})}return k},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}b.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}b.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this;j={func:j,scope:i||this};if(!h.unloads){function g(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(d.detachEvent){d.detachEvent("onbeforeunload",k);d.detachEvent("onunload",g)}else{if(d.removeEventListener){d.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(d.CollectGarbage){CollectGarbage()}}}function k(){var l=document;if(l.readyState=="interactive"){function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l){l.attachEvent("onstop",f)}d.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}if(d.attachEvent){d.attachEvent("onunload",g);d.attachEvent("onbeforeunload",k)}else{if(d.addEventListener){d.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;b.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){return f?b.map(f.split(g||","),b.trim):f},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(c){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===e){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};b._init();d.tinymce=d.tinyMCE=b})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(a,b){this.listeners.push({cb:a,scope:b||this.scope});return a},addToTop:function(a,b){this.listeners.unshift({cb:a,scope:b||this.scope});return a},remove:function(a){var b=this.listeners,c=null;tinymce.each(b,function(e,d){if(a==e.cb){c=a;b.splice(d,1);return false}});return c},dispatch:function(){var f,d=arguments,e,b=this.listeners,g;for(e=0;e<b.length;e++){g=b[e];f=g.cb.apply(g.scope,d);if(f===false){break}}return f}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});if(c=g.base_uri){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host=="mce_host"){f.port=c.port}if(!f.host||f.host=="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var c=this,d;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:c});if((b.host!="mce_host"&&c.host!=b.host&&b.host)||c.port!=b.port||c.protocol!=b.protocol){return b.getURI()}d=c.toRelPath(c.path,b.path);if(b.query){d+="?"+b.query}if(b.anchor){d+="#"+b.anchor}return d},toAbsolute:function(b,c){var b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();(function(){function serialize(o,quote){var i,v,t;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&o instanceof Array){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(i in o){v+=typeof o[i]!="function"?(v.length>1?","+quote:quote)+i+quote+":"+serialize(o[i],quote):""}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={DELETE:46,BACKSPACE:8}})(tinymce);(function(d){var f=d.VK,e=f.BACKSPACE,c=f.DELETE;function b(g){var i=g.dom,h=g.selection;g.onKeyDown.add(function(k,o){var j,p,m,n,l;l=o.keyCode==c;if(l||o.keyCode==e){o.preventDefault();j=h.getRng();p=i.getParent(j.startContainer,i.isBlock);if(l){p=i.getNext(p,i.isBlock)}if(p){m=p.firstChild;if(m&&m.nodeName==="SPAN"){n=m.cloneNode(false)}}k.getDoc().execCommand(l?"ForwardDelete":"Delete",false,null);p=i.getParent(j.startContainer,i.isBlock);d.each(i.select("span.Apple-style-span,font.Apple-style-span",p),function(r){var q=i.createRng();q.setStartBefore(r);q.setEndBefore(r);if(n){i.replace(n.cloneNode(false),r,true)}else{i.remove(r,true)}h.setRng(q)})}})}function a(g){g.onKeyUp.add(function(h,j){var i=j.keyCode;if(i==c||i==e){if(h.dom.isEmpty(h.getBody())){h.setContent("",{format:"raw"});h.nodeChanged();return}}})}d.create("tinymce.util.Quirks",{Quirks:function(g){if(d.isWebKit){b(g);a(g)}if(d.isIE){a(g)}}})})(tinymce);(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;"};d={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g<j.length;g++){a[j[g]]="\uFEFF"+g;a["\uFEFF"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(r){var y={},p,n,v,q,u=d.url_converter,x=d.url_converter_scope||this;function o(C,F){var E,B,A,D;E=y[C+"-top"+F];if(!E){return}B=y[C+"-right"+F];if(E!=B){return}A=y[C+"-bottom"+F];if(B!=A){return}D=y[C+"-left"+F];if(A!=D){return}y[C+F]=D;delete y[C+"-top"+F];delete y[C+"-right"+F];delete y[C+"-bottom"+F];delete y[C+"-left"+F]}function t(B){var C=y[B],A;if(!C||C.indexOf(" ")<0){return}C=C.split(" ");A=C.length;while(A--){if(C[A]!==C[0]){return false}}y[B]=C[0];return true}function z(C,B,A,D){if(!t(B)){return}if(!t(A)){return}if(!t(D)){return}y[C]=y[B]+" "+y[A]+" "+y[D];delete y[B];delete y[A];delete y[D]}function s(A){q=true;return a[A]}function i(B,A){if(q){B=B.replace(/\uFEFF[0-9]/g,function(C){return a[C]})}if(!A){B=B.replace(/\\([\'\";:])/g,"$1")}return B}if(r){r=r.replace(/\\[\"\';:\uFEFF]/g,s).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(A){return A.replace(/[;:]/g,s)});while(p=b.exec(r)){n=p[1].replace(l,"").toLowerCase();v=p[2].replace(l,"");if(n&&v.length>0){if(n==="font-weight"&&v==="700"){v="bold"}else{if(n==="color"||n==="background-color"){v=v.toLowerCase()}}v=v.replace(k,c);v=v.replace(h,function(B,A,E,D,F,C){F=F||C;if(F){F=i(F);return"'"+F.replace(/\'/g,"\\'")+"'"}A=i(A||E||D);if(u){A=u.call(x,A,"style")}return"url('"+A.replace(/\'/g,"\\'")+"')"});y[n]=q?i(v,true):v}b.lastIndex=p.index+p[0].length}o("border","");o("border","-width");o("border","-color");o("border","-style");o("padding","");o("margin","");z("border","border-width","border-style","border-color");if(y.border==="medium none"){delete y.border}}return y},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(m){var h={},j,l,g,f,c={},b,e,d=m.makeMap,k=m.each;function i(o,n){return o.split(n||",")}function a(r,q){var o,p={};function n(s){return s.replace(/[A-Z]+/g,function(t){return n(r[t])})}for(o in r){if(r.hasOwnProperty(o)){r[o]=n(r[o])}}n(q).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(v,t,s,u){s=i(s,"|");p[t]={attributes:d(s),attributesOrder:s,children:d(u,"|",{"#comment":{}})}});return p}l="h1,h2,h3,h4,h5,h6,hr,p,div,address,pre,form,table,tbody,thead,tfoot,th,tr,td,li,ol,ul,caption,blockquote,center,dl,dt,dd,dir,fieldset,noscript,menu,isindex,samp,header,footer,article,section,hgroup";l=d(l,",",d(l.toUpperCase()));h=a({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]");j=d("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected,autoplay,loop,controls");g=d("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,source");f=m.extend(d("td,th,iframe,video,audio,object"),g);b=d("pre,script,style,textarea");e=d("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");m.html.Schema=function(r){var A=this,n={},o={},y=[],q,p;r=r||{};if(r.verify_html===false){r.valid_elements="*[*]"}if(r.valid_styles){q={};k(r.valid_styles,function(C,B){q[B]=m.explode(C)})}p=r.whitespace_elements?d(r.whitespace_elements):b;function z(B){return new RegExp("^"+B.replace(/([?+*])/g,".$1")+"$")}function t(I){var H,D,W,S,X,C,F,R,U,N,V,Z,L,G,T,B,P,E,Y,aa,M,Q,K=/^([#+-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,O=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,J=/[*?+]/;if(I){I=i(I);if(n["@"]){P=n["@"].attributes;E=n["@"].attributesOrder}for(H=0,D=I.length;H<D;H++){C=K.exec(I[H]);if(C){T=C[1];N=C[2];B=C[3];U=C[4];L={};G=[];F={attributes:L,attributesOrder:G};if(T==="#"){F.paddEmpty=true}if(T==="-"){F.removeEmpty=true}if(P){for(aa in P){L[aa]=P[aa]}G.push.apply(G,E)}if(U){U=i(U,"|");for(W=0,S=U.length;W<S;W++){C=O.exec(U[W]);if(C){R={};Z=C[1];V=C[2].replace(/::/g,":");T=C[3];Q=C[4];if(Z==="!"){F.attributesRequired=F.attributesRequired||[];F.attributesRequired.push(V);R.required=true}if(Z==="-"){delete L[V];G.splice(m.inArray(G,V),1);continue}if(T){if(T==="="){F.attributesDefault=F.attributesDefault||[];F.attributesDefault.push({name:V,value:Q});R.defaultValue=Q}if(T===":"){F.attributesForced=F.attributesForced||[];F.attributesForced.push({name:V,value:Q});R.forcedValue=Q}if(T==="<"){R.validValues=d(Q,"?")}}if(J.test(V)){F.attributePatterns=F.attributePatterns||[];R.pattern=z(V);F.attributePatterns.push(R)}else{if(!L[V]){G.push(V)}L[V]=R}}}}if(!P&&N=="@"){P=L;E=G}if(B){F.outputName=N;n[B]=F}if(J.test(N)){F.pattern=z(N);y.push(F)}else{n[N]=F}}}}}function v(B){n={};y=[];t(B);k(h,function(D,C){o[C]=D.children})}function s(C){var B=/^(~)?(.+)$/;if(C){k(i(C),function(G){var E=B.exec(G),F=E[1]==="~",H=F?"span":"div",D=E[2];o[D]=o[H];c[D]=H;if(!F){l[D]={}}k(o,function(I,J){if(I[H]){I[D]=I[H]}})})}}function u(C){var B=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(C){k(i(C),function(G){var F=B.exec(G),D,E;if(F){E=F[1];if(E){D=o[F[2]]}else{D=o[F[2]]={"#comment":{}}}D=o[F[2]];k(i(F[3],"|"),function(H){if(E==="-"){delete D[H]}else{D[H]={}}})}})}}function x(B){var D=n[B],C;if(D){return D}C=y.length;while(C--){D=y[C];if(D.pattern.test(B)){return D}}}if(!r.valid_elements){k(h,function(C,B){n[B]={attributes:C.attributes,attributesOrder:C.attributesOrder};o[B]=C.children});k(i("strong/b,em/i"),function(B){B=i(B,"/");n[B[1]].outputName=B[0]});n.img.attributesDefault=[{name:"alt",value:""}];k(i("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr"),function(B){n[B].removeEmpty=true});k(i("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(B){n[B].paddEmpty=true})}else{v(r.valid_elements)}s(r.custom_elements);u(r.valid_children);t(r.extended_valid_elements);u("+ol[ul|ol],+ul[ul|ol]");if(!x("span")){t("span[!data-mce-type|*]")}if(r.invalid_elements){m.each(m.explode(r.invalid_elements),function(B){if(n[B]){delete n[B]}})}A.children=o;A.styles=q;A.getBoolAttrs=function(){return j};A.getBlockElements=function(){return l};A.getShortEndedElements=function(){return g};A.getSelfClosingElements=function(){return e};A.getNonEmptyElements=function(){return f};A.getWhiteSpaceElements=function(){return p};A.isValidChild=function(B,D){var C=o[B];return !!(C&&C[D])};A.getElementRule=x;A.getCustomElements=function(){return c};A.addValidElements=t;A.setValidElements=v;A.addCustomElements=s;A.addValidChildren=u};m.html.Schema.boolAttrMap=j;m.html.Schema.blockElementsMap=l})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(D){var n=this,g,F=0,H,A,z=[],M,P,B,q,y,r,L,G,N,u,m,k,s,Q,o,O,E,R,K,f,I,l,C,J,h,v=0,j=a.html.Entities.decode,x,p;function t(S){var U,T;U=z.length;while(U--){if(z[U].name===S){break}}if(U>=0){for(T=z.length-1;T>=U;T--){S=z[T];if(S.valid){n.end(S.name)}}z.length=U}}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([^\\s\\/<>]+)\\s*((?:[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*)>))","g");C=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g;J={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};L=e.getShortEndedElements();I=e.getSelfClosingElements();G=e.getBoolAttrs();u=c.validate;r=c.remove_internals;x=c.fix_self_closing;p=a.isIE;o=/^:/;while(g=l.exec(D)){if(F<g.index){n.text(j(D.substr(F,g.index-F)))}if(H=g[6]){H=H.toLowerCase();if(p&&o.test(H)){H=H.substr(1)}t(H)}else{if(H=g[7]){H=H.toLowerCase();if(p&&o.test(H)){H=H.substr(1)}N=H in L;if(x&&I[H]&&z.length>0&&z[z.length-1].name===H){t(H)}if(!u||(m=e.getElementRule(H))){k=true;if(u){O=m.attributes;E=m.attributePatterns}if(Q=g[8]){y=Q.indexOf("data-mce-type")!==-1;if(y&&r){k=false}M=[];M.map={};Q.replace(C,function(T,S,X,W,V){var Y,U;S=S.toLowerCase();X=S in G?S:j(X||W||V||"");if(u&&!y&&S.indexOf("data-")!==0){Y=O[S];if(!Y&&E){U=E.length;while(U--){Y=E[U];if(Y.pattern.test(S)){break}}if(U===-1){Y=null}}if(!Y){return}if(Y.validValues&&!(X in Y.validValues)){return}}M.map[S]=X;M.push({name:S,value:X})})}else{M=[];M.map={}}if(u&&!y){R=m.attributesRequired;K=m.attributesDefault;f=m.attributesForced;if(f){P=f.length;while(P--){s=f[P];q=s.name;h=s.value;if(h==="{$uid}"){h="mce_"+v++}M.map[q]=h;M.push({name:q,value:h})}}if(K){P=K.length;while(P--){s=K[P];q=s.name;if(!(q in M.map)){h=s.value;if(h==="{$uid}"){h="mce_"+v++}M.map[q]=h;M.push({name:q,value:h})}}}if(R){P=R.length;while(P--){if(R[P] in M.map){break}}if(P===-1){k=false}}if(M.map["data-mce-bogus"]){k=false}}if(k){n.start(H,M,N)}}else{k=false}if(A=J[H]){A.lastIndex=F=g.index+g[0].length;if(g=A.exec(D)){if(k){B=D.substr(F,g.index-F)}F=g.index+g[0].length}else{B=D.substr(F);F=D.length}if(k&&B.length>0){n.text(B,true)}if(k){n.end(H)}l.lastIndex=F;continue}if(!N){if(!Q||Q.indexOf("/")!=Q.length-1){z.push({name:H,valid:k})}else{if(k){n.end(H)}}}}else{if(H=g[1]){n.comment(H)}else{if(H=g[2]){n.cdata(H)}else{if(H=g[3]){n.doctype(H)}else{if(H=g[4]){n.pi(H,g[5])}}}}}}F=g.index+g[0].length}if(F<D.length){n.text(j(D.substr(F)))}for(P=z.length-1;P>=0;P--){H=z[P];if(H.valid){n.end(H.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-")===0){return false}}}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true},walk:function(f){return a(this,null,f)}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(m){var o,p,x,v,z,n,q,l,t,u,k,s,y,r;s=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();for(o=0;o<m.length;o++){p=m[o];if(!p.parent){continue}v=[p];for(x=p.parent;x&&!h.isValidChild(x.name,p.name)&&!s[x.name];x=x.parent){v.push(x)}if(x&&v.length>1){v.reverse();z=n=f.filterNode(v[0].clone());for(t=0;t<v.length-1;t++){if(h.isValidChild(n.name,v[t].name)){q=f.filterNode(v[t].clone());n.append(q)}else{q=n}for(l=v[t].firstChild;l&&l!=v[t+1];){r=l.next;q.append(l);l=r}n=q}if(!z.isEmpty(k)){x.insert(z,v[0],true);x.insert(p,z)}else{x.insert(p,v[0],true)}x=v[0];if(x.isEmpty(k)||x.firstChild===x.lastChild&&x.firstChild.name==="br"){x.empty().remove()}}else{if(p.parent){if(p.name==="li"){y=p.prev;if(y&&(y.name==="ul"||y.name==="ul")){y.append(p);continue}y=p.next;if(y&&(y.name==="ul"||y.name==="ul")){y.insert(p,y.firstChild,true);continue}p.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(p.parent.name,"div")&&h.isValidChild("div",p.name)){p.wrap(f.filterNode(new a("div",1)))}else{if(p.name==="style"||p.name==="script"){p.empty().remove()}else{p.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(v,m){var n,H,A,z,C,B,x,r,E,K,y,o,D,J=[],t,k,s,p,u,q;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());u=h.getNonEmptyElements();p=h.children;y=g.validate;q="forced_root_block" in m?m.forced_root_block:g.forced_root_block;s=h.getWhiteSpaceElements();D=/^[ \t\r\n]+/;t=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;function F(){var L=H.firstChild,l,M;while(L){l=L.next;if(L.type==3||(L.type==1&&L.name!=="p"&&!o[L.name]&&!L.attr("data-mce-type"))){if(!M){M=I(q,1);H.insert(M,L);M.append(L)}else{M.append(L)}}else{M=null}L=l}}function I(l,L){var M=new a(l,L),N;if(l in e){N=i[l];if(N){N.push(M)}else{i[l]=[M]}}return M}function G(M){var N,l,L;for(N=M.prev;N&&N.type===3;){l=N.value.replace(t,"");if(l.length>0){N.value=l;N=N.prev}else{L=N.prev;N.remove();N=L}}}n=new b.html.SaxParser({validate:y,fix_self_closing:!y,cdata:function(l){A.append(I("#cdata",4)).value=l},text:function(M,l){var L;if(!s[A.name]){M=M.replace(k," ");if(A.lastChild&&o[A.lastChild.name]){M=M.replace(D,"")}}if(M.length!==0){L=I("#text",3);L.raw=!!l;A.append(L).value=M}},comment:function(l){A.append(I("#comment",8)).value=l},pi:function(l,L){A.append(I(l,7)).value=L;G(A)},doctype:function(L){var l;l=A.append(I("#doctype",10));l.value=L;G(A)},start:function(l,T,M){var R,O,N,L,P,U,S,Q;N=y?h.getElementRule(l):{};if(N){R=I(N.outputName||l,1);R.attributes=T;R.shortEnded=M;A.append(R);Q=p[A.name];if(Q&&p[R.name]&&!Q[R.name]){J.push(R)}O=d.length;while(O--){P=d[O].name;if(P in T.map){E=c[P];if(E){E.push(R)}else{c[P]=[R]}}}if(o[l]){G(R)}if(!M){A=R}}},end:function(l){var P,M,O,L,N;M=y?h.getElementRule(l):{};if(M){if(o[l]){if(!s[A.name]){for(P=A.firstChild;P&&P.type===3;){O=P.value.replace(D,"");if(O.length>0){P.value=O;P=P.next}else{L=P.next;P.remove();P=L}}for(P=A.lastChild;P&&P.type===3;){O=P.value.replace(t,"");if(O.length>0){P.value=O;P=P.prev}else{L=P.prev;P.remove();P=L}}}P=A.prev;if(P&&P.type===3){O=P.value.replace(D,"");if(O.length>0){P.value=O}else{P.remove()}}}if(M.removeEmpty||M.paddEmpty){if(A.isEmpty(u)){if(M.paddEmpty){A.empty().append(new a("#text","3")).value="\u00a0"}else{if(!A.attributes.map.name){N=A.parent;A.empty().remove();A=N;return}}}}A=A.parent}}},h);H=A=new a(m.context||g.root_name,11);n.parse(v);if(y&&J.length){if(!m.context){j(J)}else{m.invalid=true}}if(q&&H.name=="body"){F()}if(!m.invalid){for(K in i){E=e[K];z=i[K];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(C=0,B=E.length;C<B;C++){E[C](z,K,m)}}for(C=0,B=d.length;C<B;C++){E=d[C];if(E.name in c){z=c[E.name];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(x=0,r=E.callbacks.length;x<r;x++){E.callbacks[x](z,E.name,m)}}}}return H};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,u=h.getBlockElements(),k=h.getNonEmptyElements(),s,p,t;u.body=1;for(r=0;r<q;r++){o=n[r];s=o.parent;if(u[o.parent.name]&&o===s.lastChild){p=o.prev;while(p){t=p.name;if(t!=="span"||p.attr("data-mce-type")!=="bookmark"){if(t!=="br"){break}if(t==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(s.isEmpty(k)){elementRule=h.getElementRule(s.name);if(elementRule){if(elementRule.removeEmpty){s.remove()}else{if(elementRule.paddEmpty){s.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);(function(h){var f=h.each,e=h.is,d=h.isWebKit,b=h.isIE,c=h.html.Entities,a=/^([a-z0-9],?)+$/i,g=h.html.Schema.blockElementsMap,i=/^[ \t\r\n]*$/;h.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(o,m){var l=this,j,k;l.doc=o;l.win=window;l.files={};l.cssFlicker=false;l.counter=0;l.stdMode=!h.isIE||o.documentMode>=8;l.boxModel=!h.isIE||o.compatMode=="CSS1Compat"||l.stdMode;l.hasOuterHTML="outerHTML" in o.createElement("a");l.settings=m=h.extend({keep_values:false,hex_colors:1},m);l.schema=m.schema;l.styles=new h.html.Styles({url_converter:m.url_converter,url_converter_scope:m.url_converter_scope},m.schema);if(h.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(n){l.cssFlicker=true}}if(b&&m.schema){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(p){o.createElement(p)});for(k in m.schema.getCustomElements()){o.createElement(k)}}h.addUnload(l.destroy,l)},getRoot:function(){var j=this,k=j.settings;return(k&&j.get(k.root_element))||j.doc.body},getViewPort:function(k){var l,j;k=!k?this.win:k;l=k.document;j=this.boxModel?l.documentElement:l.body;return{x:k.pageXOffset||j.scrollLeft,y:k.pageYOffset||j.scrollTop,w:k.innerWidth||j.clientWidth,h:k.innerHeight||j.clientHeight}},getRect:function(m){var l,j=this,k;m=j.get(m);l=j.getPos(m);k=j.getSize(m);return{x:l.x,y:l.y,w:k.w,h:k.h}},getSize:function(m){var k=this,j,l;m=k.get(m);j=k.getStyle(m,"width");l=k.getStyle(m,"height");if(j.indexOf("px")===-1){j=0}if(l.indexOf("px")===-1){l=0}return{w:parseInt(j)||m.offsetWidth||m.clientWidth,h:parseInt(l)||m.offsetHeight||m.clientHeight}},getParent:function(l,k,j){return this.getParents(l,k,j,false)},getParents:function(u,p,l,s){var k=this,j,m=k.settings,q=[];u=k.get(u);s=s===undefined;if(m.strict_root){l=l||k.getRoot()}if(e(p,"string")){j=p;if(p==="*"){p=function(o){return o.nodeType==1}}else{p=function(o){return k.is(o,j)}}}while(u){if(u==l||!u.nodeType||u.nodeType===9){break}if(!p||p(u)){if(s){q.push(u)}else{return u}}u=u.parentNode}return s?q:null},get:function(j){var k;if(j&&this.doc&&typeof(j)=="string"){k=j;j=this.doc.getElementById(j);if(j&&j.id!==k){return this.doc.getElementsByName(k)[1]}}return j},getNext:function(k,j){return this._findSib(k,j,"nextSibling")},getPrev:function(k,j){return this._findSib(k,j,"previousSibling")},select:function(l,k){var j=this;return h.dom.Sizzle(l,j.get(k)||j.get(j.settings.root_element)||j.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(a.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return h.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(m,q,j,l,o){var k=this;return this.run(m,function(s){var r,n;r=e(q,"string")?k.doc.createElement(q):q;k.setAttribs(r,j);if(l){if(l.nodeType){r.appendChild(l)}else{k.setHTML(r,l)}}return !o?s.appendChild(r):r})},create:function(l,j,k){return this.add(this.doc.createElement(l),l,j,k,1)},createHTML:function(r,j,p){var q="",m=this,l;q+="<"+r;for(l in j){if(j.hasOwnProperty(l)){q+=" "+l+'="'+m.encode(j[l])+'"'}}if(typeof(p)!="undefined"){return q+">"+p+"</"+r+">"}return q+" />"},remove:function(j,k){return this.run(j,function(m){var n,l=m.parentNode;if(!l){return null}if(k){while(n=m.firstChild){if(!h.isIE||n.nodeType!==3||n.nodeValue){l.insertBefore(n,m)}else{m.removeChild(n)}}}return l.removeChild(m)})},setStyle:function(m,j,k){var l=this;return l.run(m,function(p){var o,n;o=p.style;j=j.replace(/-(\D)/g,function(r,q){return q.toUpperCase()});if(l.pixelStyles.test(j)&&(h.is(k,"number")||/^[\-0-9\.]+$/.test(k))){k+="px"}switch(j){case"opacity":if(b){o.filter=k===""?"":"alpha(opacity="+(k*100)+")";if(!m.currentStyle||!m.currentStyle.hasLayout){o.display="inline-block"}}o[j]=o["-moz-opacity"]=o["-khtml-opacity"]=k||"";break;case"float":b?o.styleFloat=k:o.cssFloat=k;break;default:o[j]=k||""}if(l.settings.update_styles){l.setAttrib(p,"data-mce-style")}})},getStyle:function(m,j,l){m=this.get(m);if(!m){return}if(this.doc.defaultView&&l){j=j.replace(/[A-Z]/g,function(n){return"-"+n});try{return this.doc.defaultView.getComputedStyle(m,null).getPropertyValue(j)}catch(k){return null}}j=j.replace(/-(\D)/g,function(o,n){return n.toUpperCase()});if(j=="float"){j=b?"styleFloat":"cssFloat"}if(m.currentStyle&&l){return m.currentStyle[j]}return m.style?m.style[j]:undefined},setStyles:function(m,n){var k=this,l=k.settings,j;j=l.update_styles;l.update_styles=0;f(n,function(o,p){k.setStyle(m,p,o)});l.update_styles=j;if(l.update_styles){k.setAttrib(m,l.cssText)}},removeAllAttribs:function(j){return this.run(j,function(m){var l,k=m.attributes;for(l=k.length-1;l>=0;l--){m.removeAttributeNode(k.item(l))}})},setAttrib:function(l,m,j){var k=this;if(!l||!m){return}if(k.settings.strict){m=m.toLowerCase()}return this.run(l,function(o){var n=k.settings;switch(m){case"style":if(!e(j,"string")){f(j,function(p,q){k.setStyle(o,q,p)});return}if(n.keep_values){if(j&&!k._isRes(j)){o.setAttribute("data-mce-style",j,2)}else{o.removeAttribute("data-mce-style",2)}}o.style.cssText=j;break;case"class":o.className=j||"";break;case"src":case"href":if(n.keep_values){if(n.url_converter){j=n.url_converter.call(n.url_converter_scope||k,j,m,o)}k.setAttrib(o,"data-mce-"+m,j,2)}break;case"shape":o.setAttribute("data-mce-style",j);break}if(e(j)&&j!==null&&j.length!==0){o.setAttribute(m,""+j,2)}else{o.removeAttribute(m,2)}})},setAttribs:function(k,l){var j=this;return this.run(k,function(m){f(l,function(o,p){j.setAttrib(m,p,o)})})},getAttrib:function(o,p,l){var j,k=this,m;o=k.get(o);if(!o||o.nodeType!==1){return l===m?false:l}if(!e(l)){l=""}if(/^(src|href|style|coords|shape)$/.test(p)){j=o.getAttribute("data-mce-"+p);if(j){return j}}if(b&&k.props[p]){j=o[k.props[p]];j=j&&j.nodeValue?j.nodeValue:j}if(!j){j=o.getAttribute(p,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(p)){if(o[k.props[p]]===true&&j===""){return p}return j?p:""}if(o.nodeName==="FORM"&&o.getAttributeNode(p)){return o.getAttributeNode(p).nodeValue}if(p==="style"){j=j||o.style.cssText;if(j){j=k.serializeStyle(k.parseStyle(j),o.nodeName);if(k.settings.keep_values&&!k._isRes(j)){o.setAttribute("data-mce-style",j)}}}if(d&&p==="class"&&j){j=j.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(p){case"rowspan":case"colspan":if(j===1){j=""}break;case"size":if(j==="+0"||j===20||j===0){j=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(j===0){j=""}break;case"hspace":if(j===-1){j=""}break;case"maxlength":case"tabindex":if(j===32768||j===2147483647||j==="32768"){j=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(j===65535){return p}return l;case"shape":j=j.toLowerCase();break;default:if(p.indexOf("on")===0&&j){j=h._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+j)}}}return(j!==m&&j!==null&&j!=="")?""+j:l},getPos:function(s,m){var k=this,j=0,q=0,o,p=k.doc,l;s=k.get(s);m=m||p.body;if(s){if(s.getBoundingClientRect){s=s.getBoundingClientRect();o=k.boxModel?p.documentElement:p.body;j=s.left+(p.documentElement.scrollLeft||p.body.scrollLeft)-o.clientTop;q=s.top+(p.documentElement.scrollTop||p.body.scrollTop)-o.clientLeft;return{x:j,y:q}}l=s;while(l&&l!=m&&l.nodeType){j+=l.offsetLeft||0;q+=l.offsetTop||0;l=l.offsetParent}l=s.parentNode;while(l&&l!=m&&l.nodeType){j-=l.scrollLeft||0;q-=l.scrollTop||0;l=l.parentNode}}return{x:j,y:q}},parseStyle:function(j){return this.styles.parse(j)},serializeStyle:function(k,j){return this.styles.serialize(k,j)},loadCSS:function(j){var l=this,m=l.doc,k;if(!j){j=""}k=l.select("head")[0];f(j.split(","),function(n){var o;if(l.files[n]){return}l.files[n]=true;o=l.create("link",{rel:"stylesheet",href:h._addVer(n)});if(b&&m.documentMode&&m.recalc){o.onload=function(){if(m.recalc){m.recalc()}o.onload=null}}k.appendChild(o)})},addClass:function(j,k){return this.run(j,function(l){var m;if(!k){return 0}if(this.hasClass(l,k)){return l.className}m=this.removeClass(l,k);return l.className=(m!=""?(m+" "):"")+k})},removeClass:function(l,m){var j=this,k;return j.run(l,function(o){var n;if(j.hasClass(o,m)){if(!k){k=new RegExp("(^|\\s+)"+m+"(\\s+|$)","g")}n=o.className.replace(k," ");n=h.trim(n!=" "?n:"");o.className=n;if(!n){o.removeAttribute("class");o.removeAttribute("className")}return n}return o.className})},hasClass:function(k,j){k=this.get(k);if(!k||!j){return false}return(" "+k.className+" ").indexOf(" "+j+" ")!==-1},show:function(j){return this.setStyle(j,"display","block")},hide:function(j){return this.setStyle(j,"display","none")},isHidden:function(j){j=this.get(j);return !j||j.style.display=="none"||this.getStyle(j,"display")=="none"},uniqueId:function(j){return(!j?"mce_":j)+(this.counter++)},setHTML:function(l,k){var j=this;return j.run(l,function(n){if(b){while(n.firstChild){n.removeChild(n.firstChild)}try{n.innerHTML="<br />"+k;n.removeChild(n.firstChild)}catch(m){n=j.create("div");n.innerHTML="<br />"+k;f(n.childNodes,function(p,o){if(o){n.appendChild(p)}})}}else{n.innerHTML=k}return k})},getOuterHTML:function(l){var k,j=this;l=j.get(l);if(!l){return null}if(l.nodeType===1&&j.hasOuterHTML){return l.outerHTML}k=(l.ownerDocument||j.doc).createElement("body");k.appendChild(l.cloneNode(true));return k.innerHTML},setOuterHTML:function(m,k,n){var j=this;function l(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){j.insertAfter(s.cloneNode(true),p);s=s.previousSibling}j.remove(p)}return this.run(m,function(p){p=j.get(p);if(p.nodeType==1){n=n||p.ownerDocument||j.doc;if(b){try{if(b&&p.nodeType==1){p.outerHTML=k}else{l(p,k,n)}}catch(o){l(p,k,n)}}else{l(p,k,n)}}})},decode:c.decode,encode:c.encodeAllRaw,insertAfter:function(j,k){k=this.get(k);return this.run(j,function(m){var l,n;l=k.parentNode;n=k.nextSibling;if(n){l.insertBefore(m,n)}else{l.appendChild(m)}return m})},isBlock:function(k){var j=k.nodeType;if(j){return !!(j===1&&g[k.nodeName])}return !!g[k]},replace:function(p,m,j){var l=this;if(e(m,"array")){p=p.cloneNode(true)}return l.run(m,function(k){if(j){f(h.grep(k.childNodes),function(n){p.appendChild(n)})}return k.parentNode.replaceChild(p,k)})},rename:function(m,j){var l=this,k;if(m.nodeName!=j.toUpperCase()){k=l.create(j);f(l.getAttribs(m),function(n){l.setAttrib(k,n.nodeName,l.getAttrib(m,n.nodeName))});l.replace(k,m,1)}return k||m},findCommonAncestor:function(l,j){var m=l,k;while(m){k=j;while(k&&m!=k){k=k.parentNode}if(m==k){break}m=m.parentNode}if(!m&&l.ownerDocument){return l.ownerDocument.documentElement}return m},toHex:function(j){var l=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(j);function k(m){m=parseInt(m).toString(16);return m.length>1?m:"0"+m}if(l){j="#"+k(l[1])+k(l[2])+k(l[3]);return j}return j},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(r){f(r.imports,function(s){q(s)});f(r.cssRules||r.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){f(s.selectorText.split(","),function(t){t=t.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(t)||!/\.[\w\-]+$/.test(t)){return}l=t;t=h._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",t);if(p&&!(t=p(t,l))){return}if(!o[t]){j.push({"class":t});o[t]=1}})}break;case 3:q(s.styleSheet);break}})}try{f(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(m,l,k){var j=this,n;if(j.doc&&typeof(m)==="string"){m=j.get(m)}if(!m){return false}k=k||this;if(!m.nodeType&&(m.length||m.length===0)){n=[];f(m,function(p,o){if(p){if(typeof(p)=="string"){p=j.doc.getElementById(p)}n.push(l.call(k,p,o))}});return n}return l.call(k,m)},getAttribs:function(k){var j;k=this.get(k);if(!k){return[]}if(b){j=[];if(k.nodeName=="OBJECT"){return k.attributes}if(k.nodeName==="OPTION"&&this.getAttrib(k,"selected")){j.push({specified:1,nodeName:"selected"})}k.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(l){j.push({specified:1,nodeName:l})});return j}return k.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p;m=m.firstChild;if(m){j=new h.dom.TreeWalker(m);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){p=m.parentNode;if(l==="br"&&r.isBlock(p)&&p.firstChild===m&&p.lastChild===m){continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if((q===3&&!i.test(m.nodeValue))){return false}}while(m=j.next())}return true},destroy:function(k){var j=this;if(j.events){j.events.destroy()}j.win=j.doc=j.root=j.events=null;if(!k){h.removeUnload(j.destroy)}},createRng:function(){var j=this.doc;return j.createRange?j.createRange():new h.dom.Range(this)},nodeIndex:function(n,o){var j=0,l,m,k;if(n){for(l=n.nodeType,n=n.previousSibling,m=n;n;n=n.previousSibling){k=n.nodeType;if(o&&k==3){if(k==l||!n.nodeValue.length){continue}}j++;l=k}}return j},split:function(n,m,q){var s=this,j=s.createRng(),o,l,p;function k(v){var t,r=v.childNodes,u=v.nodeType;if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=r.length-1;t>=0;t--){k(r[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){if(!s.isBlock(v.parentNode)||h.trim(v.nodeValue).length>0){return}}else{if(u==1){r=v.childNodes;if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(r[0],v)}if(r.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}s.remove(v)}return v}if(n&&m){j.setStart(n.parentNode,s.nodeIndex(n));j.setEnd(m.parentNode,s.nodeIndex(m));o=j.extractContents();j=s.createRng();j.setStart(m.parentNode,s.nodeIndex(m)+1);j.setEnd(n.parentNode,s.nodeIndex(n)+1);l=j.extractContents();p=n.parentNode;p.insertBefore(k(o),n);if(q){p.replaceChild(q,m)}else{p.insertBefore(m,n)}p.insertBefore(k(l),n);s.remove(n);return q||m}},bind:function(n,j,m,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.add(n,j,m,l||this)},unbind:function(m,j,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.remove(m,j,l)},_findSib:function(m,j,k){var l=this,n=j;if(m){if(e(n,"string")){n=function(o){return l.is(o,j)}}for(m=m[k];m;m=m[k]){if(n(m)){return m}}}return null},_isRes:function(j){return/^(top|left|bottom|right|width|height)/i.test(j)||/;\s*(top|left|bottom|right|width|height)/i.test(j)}});h.DOM=new h.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(Y,t){var ab=N[h],W=N[U],aa=N[P],V=N[z],Z=t.startContainer,ad=t.startOffset,X=t.endContainer,ac=t.endOffset;if(Y===0){return G(ab,W,Z,ad)}if(Y===1){return G(aa,V,Z,ad)}if(Y===2){return G(aa,V,X,ac)}if(Y===3){return G(ab,W,X,ac)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z<Y){return -1}return 1}aa=V;while(aa&&aa.parentNode!=X){aa=aa.parentNode}if(aa){W=0;t=X.firstChild;while(t!=aa&&W<Z){W++;t=t.nextSibling}if(Z<=W){return -1}return 1}aa=X;while(aa&&aa.parentNode!=V){aa=aa.parentNode}if(aa){W=0;t=V.firstChild;while(t!=aa&&W<Y){W++;t=t.nextSibling}if(W<Y){return -1}return 1}ab=c.findCommonAncestor(X,V);ad=X;while(ad&&ad.parentNode!=ab){ad=ad.parentNode}if(!ad){ad=ab}ac=V;while(ac&&ac.parentNode!=ab){ac=ac.parentNode}if(!ac){ac=ab}if(ad==ac){return 0}t=ab.firstChild;while(t){if(t==ad){return -1}if(t==ac){return 1}t=t.nextSibling}}function B(V,Y,X){var t,W;if(V){N[h]=Y;N[U]=X}else{N[P]=Y;N[z]=X}t=N[P];while(t.parentNode){t=t.parentNode}W=N[h];while(W.parentNode){W=W.parentNode}if(W==t){if(G(N[h],N[U],N[P],N[z])>0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}k.setEndPoint(j?"EndToStart":"EndToEnd",i);if(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)>0){k=i.duplicate();k.collapse(j);o=-1;while(s==k.parentElement()){if(k.move("character",-1)==0){break}o++}}o=o||k.text.replace("\r\n"," ").length}else{k.collapse(true);k.setEndPoint(j?"StartToStart":"StartToEnd",i);o=k.text.replace("\r\n"," ").length}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var u,t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,s,q,r=d.dom.doc,m=r.body;function j(z){var u,y,t,x,v;t=h.create("a");u=z?k:s;y=z?p:q;x=n.duplicate();if(u==r||u==r.documentElement){u=m;y=0}if(u.nodeType==3){u.parentNode.insertBefore(t,u);x.moveToElementText(t);x.moveStart("character",y);h.remove(t);n.setEndPoint(z?"StartToStart":"EndToEnd",x)}else{v=u.childNodes;if(v.length){if(y>=v.length){h.insertAfter(t,v[v.length-1])}else{u.insertBefore(t,v[y])}x.moveToElementText(t)}else{t=r.createTextNode("\uFEFF");u.appendChild(t);x.moveToElementText(t.parentNode);x.collapse(c)}n.setEndPoint(z?"StartToStart":"EndToEnd",x);h.remove(t)}}k=i.startContainer;p=i.startOffset;s=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==s&&k.nodeType==1&&p==q-1){if(p==q-1){try{l=m.createControlRange();l.addElement(k.childNodes[p]);l.select();return}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,j=0,d=Object.prototype.toString,o=false,i=true;[0,0].sort(function(){i=false;return 0});var b=function(v,e,z,A){z=z||[];e=e||document;var C=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!v||typeof v!=="string"){return z}var x=[],s,E,H,r,u=true,t=b.isXML(e),B=v,D,G,F,y;do{p.exec("");s=p.exec(B);if(s){B=s[3];x.push(s[1]);if(s[2]){r=s[3];break}}}while(s);if(x.length>1&&k.exec(v)){if(x.length===2&&f.relative[x[0]]){E=h(x[0]+x[1],e)}else{E=f.relative[x[0]]?[e]:b(x.shift(),e);while(x.length){v=x.shift();if(f.relative[v]){v+=x.shift()}E=h(v,E)}}}else{if(!A&&x.length>1&&e.nodeType===9&&!t&&f.match.ID.test(x[0])&&!f.match.ID.test(x[x.length-1])){D=b.find(x.shift(),e,t);e=D.expr?b.filter(D.expr,D.set)[0]:D.set[0]}if(e){D=A?{expr:x.pop(),set:a(A)}:b.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&e.parentNode?e.parentNode:e,t);E=D.expr?b.filter(D.expr,D.set):D.set;if(x.length>0){H=a(E)}else{u=false}while(x.length){G=x.pop();F=G;if(!f.relative[G]){G=""}else{F=x.pop()}if(F==null){F=e}f.relative[G](H,F,t)}}else{H=x=[]}}if(!H){H=E}if(!H){b.error(G||v)}if(d.call(H)==="[object Array]"){if(!u){z.push.apply(z,H)}else{if(e&&e.nodeType===1){for(y=0;H[y]!=null;y++){if(H[y]&&(H[y]===true||H[y].nodeType===1&&b.contains(e,H[y]))){z.push(E[y])}}}else{for(y=0;H[y]!=null;y++){if(H[y]&&H[y].nodeType===1){z.push(E[y])}}}}}else{a(H,z)}if(r){b(r,C,z,A);b.uniqueSort(z)}return z};b.uniqueSort=function(r){if(c){o=i;r.sort(c);if(o){for(var e=1;e<r.length;e++){if(r[e]===r[e-1]){r.splice(e--,1)}}}}return r};b.matches=function(e,r){return b(e,null,null,r)};b.find=function(y,e,z){var x;if(!y){return[]}for(var t=0,s=f.order.length;t<s;t++){var v=f.order[t],u;if((u=f.leftMatch[v].exec(y))){var r=u[1];u.splice(1,1);if(r.substr(r.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");x=f.find[v](u,e,z);if(x!=null){y=y.replace(f.match[v],"");break}}}}if(!x){x=e.getElementsByTagName("*")}return{set:x,expr:y}};b.filter=function(C,B,F,u){var s=C,H=[],z=B,x,e,y=B&&B[0]&&b.isXML(B[0]);while(C&&B.length){for(var A in f.filter){if((x=f.leftMatch[A].exec(C))!=null&&x[2]){var r=f.filter[A],G,E,t=x[1];e=false;x.splice(1,1);if(t.substr(t.length-1)==="\\"){continue}if(z===H){H=[]}if(f.preFilter[A]){x=f.preFilter[A](x,z,F,H,u,y);if(!x){e=G=true}else{if(x===true){continue}}}if(x){for(var v=0;(E=z[v])!=null;v++){if(E){G=r(E,x,v,z);var D=u^!!G;if(F&&G!=null){if(D){e=true}else{z[v]=false}}else{if(D){H.push(E);e=true}}}}}if(G!==undefined){if(!F){z=H}C=C.replace(f.match[A],"");if(!e){return[]}break}}}if(C===s){if(e==null){b.error(C)}else{break}}s=C}return z};b.error=function(e){throw"Syntax error, unrecognized expression: "+e};var f=b.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(x,r){var t=typeof r==="string",v=t&&!/\W/.test(r),y=t&&!v;if(v){r=r.toLowerCase()}for(var s=0,e=x.length,u;s<e;s++){if((u=x[s])){while((u=u.previousSibling)&&u.nodeType!==1){}x[s]=y||u&&u.nodeName.toLowerCase()===r?u||false:u===r}}if(y){b.filter(r,x,true)}},">":function(x,r){var u=typeof r==="string",v,s=0,e=x.length;if(u&&!/\W/.test(r)){r=r.toLowerCase();for(;s<e;s++){v=x[s];if(v){var t=v.parentNode;x[s]=t.nodeName.toLowerCase()===r?t:false}}}else{for(;s<e;s++){v=x[s];if(v){x[s]=u?v.parentNode:v.parentNode===r}}if(u){b.filter(r,x,true)}}},"":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("parentNode",r,s,t,u,v)},"~":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("previousSibling",r,s,t,u,v)}},find:{ID:function(r,s,t){if(typeof s.getElementById!=="undefined"&&!t){var e=s.getElementById(r[1]);return e?[e]:[]}},NAME:function(s,v){if(typeof v.getElementsByName!=="undefined"){var r=[],u=v.getElementsByName(s[1]);for(var t=0,e=u.length;t<e;t++){if(u[t].getAttribute("name")===s[1]){r.push(u[t])}}return r.length===0?null:r}},TAG:function(e,r){return r.getElementsByTagName(e[1])}},preFilter:{CLASS:function(t,r,s,e,x,y){t=" "+t[1].replace(/\\/g,"")+" ";if(y){return t}for(var u=0,v;(v=r[u])!=null;u++){if(v){if(x^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(t)>=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){return r[1].toLowerCase()},CHILD:function(e){if(e[1]==="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=j++;return e},ATTR:function(u,r,s,e,v,x){var t=u[1].replace(/\\/g,"");if(!x&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if((p.exec(u[3])||"").length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return r<e[3]-0},gt:function(s,r,e){return r>e[3]-0},nth:function(s,r,e){return e[3]-0===r},eq:function(s,r,e){return e[3]-0===r}},filter:{PSEUDO:function(s,y,x,z){var e=y[1],r=f.filters[e];if(r){return r(s,x,y,z)}else{if(e==="contains"){return(s.textContent||s.innerText||b.getText([s])||"").indexOf(y[3])>=0}else{if(e==="not"){var t=y[3];for(var v=0,u=t.length;v<u;v++){if(t[v]===s){return false}}return true}else{b.error("Syntax error, unrecognized expression: "+e)}}}},CHILD:function(e,t){var x=t[1],r=e;switch(x){case"only":case"first":while((r=r.previousSibling)){if(r.nodeType===1){return false}}if(x==="first"){return true}r=e;case"last":while((r=r.nextSibling)){if(r.nodeType===1){return false}}return true;case"nth":var s=t[2],A=t[3];if(s===1&&A===0){return true}var v=t[0],z=e.parentNode;if(z&&(z.sizcache!==v||!e.nodeIndex)){var u=0;for(r=z.firstChild;r;r=r.nextSibling){if(r.nodeType===1){r.nodeIndex=++u}}z.sizcache=v}var y=e.nodeIndex-A;if(s===0){return y===0}else{return(y%s===0&&y/s>=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName.toLowerCase()===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),x=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?x===r:u==="*="?x.indexOf(r)>=0:u==="~="?(" "+x+" ").indexOf(r)>=0:!r?x&&e!==false:u==="!="?x!==r:u==="^="?x.indexOf(r)===0:u==="$="?x.substr(x.length-r.length)===r:u==="|="?x===r||x.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var k=f.match.POS,g=function(r,e){return"\\"+(e-0+1)};for(var m in f.match){f.match[m]=new RegExp(f.match[m].source+(/(?![^\[]*\])(?![^\(]*\))/.source));f.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[m].source.replace(/\\(\d+)/g,g))}var a=function(r,e){r=Array.prototype.slice.call(r,0);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(l){a=function(u,t){var r=t||[],s=0;if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var e=u.length;s<e;s++){r.push(u[s])}}else{for(;u[s];s++){r.push(u[s])}}}return r}}var c;if(document.documentElement.compareDocumentPosition){c=function(r,e){if(!r.compareDocumentPosition||!e.compareDocumentPosition){if(r==e){o=true}return r.compareDocumentPosition?-1:1}var s=r.compareDocumentPosition(e)&4?-1:r===e?0:1;if(s===0){o=true}return s}}else{if("sourceIndex" in document.documentElement){c=function(r,e){if(!r.sourceIndex||!e.sourceIndex){if(r==e){o=true}return r.sourceIndex?-1:1}var s=r.sourceIndex-e.sourceIndex;if(s===0){o=true}return s}}else{if(document.createRange){c=function(t,r){if(!t.ownerDocument||!r.ownerDocument){if(t==r){o=true}return t.ownerDocument?-1:1}var s=t.ownerDocument.createRange(),e=r.ownerDocument.createRange();s.setStart(t,0);s.setEnd(t,0);e.setStart(r,0);e.setEnd(r,0);var u=s.compareBoundaryPoints(Range.START_TO_END,e);if(u===0){o=true}return u}}}}b.getText=function(e){var r="",t;for(var s=0;e[s];s++){t=e[s];if(t.nodeType===3||t.nodeType===4){r+=t.nodeValue}else{if(t.nodeType!==8){r+=b.getText(t.childNodes)}}}return r};(function(){var r=document.createElement("div"),s="script"+(new Date()).getTime();r.innerHTML="<a name='"+s+"'/>";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(document.getElementById(s)){f.find.ID=function(u,v,x){if(typeof v.getElementById!=="undefined"&&!x){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r);e=r=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="<p class='TEST'></p>";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(x,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!b.isXML(v)){try{return a(v.querySelectorAll(x),t)}catch(y){}}return e(x,v,t,u)};for(var r in e){b[r]=e[r]}s=null})()}(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}};e=null})();function n(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1&&!z){e.sizcache=v;e.sizset=t}if(e.nodeName.toLowerCase()===x){u=e;break}e=e[r]}A[t]=u}}}function q(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1){if(!z){e.sizcache=v;e.sizset=t}if(typeof x!=="string"){if(e===x){u=true;break}}else{if(b.filter(x,[e]).length>0){u=e;break}}}e=e[r]}A[t]=u}}}b.contains=document.compareDocumentPosition?function(r,e){return !!(r.compareDocumentPosition(e)&16)}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};b.isXML=function(e){var r=(e?e.ownerDocument||e:0).documentElement;return r?r.nodeName!=="HTML":false};var h=function(e,y){var t=[],u="",v,s=y.nodeType?[y]:y;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var x=0,r=s.length;x<r;x++){b(e,s[x],t)}return b.filter(u,t)};window.tinymce.dom.Sizzle=b})();(function(d){var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;d.create("tinymce.dom.EventUtils",{EventUtils:function(){this.inits=[];this.events=[]},add:function(m,p,l,j){var g,h=this,i=h.events,k;if(p instanceof Array){k=[];f(p,function(o){k.push(h.add(m,o,l,j))});return k}if(m&&m.hasOwnProperty&&m instanceof Array){k=[];f(m,function(n){n=c.get(n);k.push(h.add(n,p,l,j))});return k}m=c.get(m);if(!m){return}g=function(n){if(h.disabled){return}n=n||window.event;if(n&&b){if(!n.target){n.target=n.srcElement}d.extend(n,h._stoppers)}if(!j){return l(n)}return l.call(j,n)};if(p=="unload"){d.unloads.unshift({func:g});return g}if(p=="init"){if(h.domLoaded){g()}else{h.inits.push(g)}return g}i.push({obj:m,name:p,func:l,cfunc:g,scope:j});h._add(m,p,g);return l},remove:function(l,m,k){var h=this,g=h.events,i=false,j;if(l&&l.hasOwnProperty&&l instanceof Array){j=[];f(l,function(n){n=c.get(n);j.push(h.remove(n,m,k))});return j}l=c.get(l);f(g,function(o,n){if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){g.splice(n,1);h._remove(l,m,o.cfunc);i=true;return false}});return i},clear:function(l){var j=this,g=j.events,h,k;if(l){l=c.get(l);for(h=g.length-1;h>=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(c){function e(f){return f.replace(/[\n\r]+/g,"")}var b=c.is,a=c.isIE,d=c.each;c.create("tinymce.dom.Selection",{Selection:function(i,h,g){var f=this;f.dom=i;f.win=h;f.serializer=g;d(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(j){f[j]=new c.util.Dispatcher(f)});if(!f.win.getSelection){f.tridentSel=new c.dom.TridentSelection(f)}if(c.isIE&&i.boxModel){this._fixIESelection()}c.addUnload(f.destroy,f)},setCursorLocation:function(h,i){var f=this;var g=f.dom.createRng();g.setStart(h,i);g.setEnd(h,i);f.setRng(g);f.collapse(false)},getContent:function(g){var f=this,h=f.getRng(),l=f.dom.create("body"),j=f.getSel(),i,k,m;g=g||{};i=k="";g.get=true;g.format=g.format||"html";g.forced_root_block="";f.onBeforeGetContent.dispatch(f,g);if(g.format=="text"){return f.isCollapsed()?"":(h.text||(j.toString?j.toString():""))}if(h.cloneContents){m=h.cloneContents();if(m){l.appendChild(m)}}else{if(b(h.item)||b(h.htmlText)){l.innerHTML="<br>"+(h.item?h.item(0).outerHTML:h.htmlText);l.removeChild(l.firstChild)}else{l.innerHTML=h.toString()}}if(/^\s/.test(l.innerHTML)){i=" "}if(/\s+$/.test(l.innerHTML)){k=" "}g.getInner=true;g.content=f.isCollapsed()?"":i+f.serializer.serialize(l,g)+k;f.onGetContent.dispatch(f,g);return g.content},setContent:function(g,i){var n=this,f=n.getRng(),j,k=n.win.document,m,l;i=i||{format:"html"};i.set=true;g=i.content=g;if(!i.no_events){n.onBeforeSetContent.dispatch(n,i)}g=i.content;if(f.insertNode){g+='<span id="__caret">_</span>';if(f.startContainer==k&&f.endContainer==k){k.body.innerHTML=g}else{f.deleteContents();if(k.body.childNodes.length==0){k.body.innerHTML=g}else{if(f.createContextualFragment){f.insertNode(f.createContextualFragment(g))}else{m=k.createDocumentFragment();l=k.createElement("div");m.appendChild(l);l.outerHTML=g;f.insertNode(m)}}}j=n.dom.get("__caret");f=k.createRange();f.setStartBefore(j);f.setEndBefore(j);n.setRng(f);n.dom.remove("__caret");try{n.setRng(f)}catch(h){}}else{if(f.item){k.execCommand("Delete",false,null);f=n.getRng()}if(/^\s+/.test(g)){f.pasteHTML('<span id="__mce_tmp">_</span>'+g);n.dom.remove("__mce_tmp")}else{f.pasteHTML(g)}}if(!i.no_events){n.onSetContent.dispatch(n,i)}},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(r,s){var v=this,m=v.dom,g,j,i,n,h,o,p,l="\uFEFF",u;function f(x,y){var t=0;d(m.select(x),function(A,z){if(A==y){t=z}});return t}if(r==2){function k(){var x=v.getRng(true),t=m.getRoot(),y={};function z(C,H){var B=C[H?"startContainer":"endContainer"],G=C[H?"startOffset":"endOffset"],A=[],D,F,E=0;if(B.nodeType==3){if(s){for(D=B.previousSibling;D&&D.nodeType==3;D=D.previousSibling){G+=D.nodeValue.length}}A.push(G)}else{F=B.childNodes;if(G>=F.length&&F.length){E=1;G=Math.max(0,F.length-1)}A.push(v.dom.nodeIndex(F[G],s)+E)}for(;B&&B!=t;B=B.parentNode){A.push(v.dom.nodeIndex(B,s))}return A}y.start=z(x,true);if(!v.isCollapsed()){y.end=z(x)}return y}if(v.tridentSel){return v.tridentSel.getBookmark(r)}return k()}if(r){return{rng:v.getRng()}}g=v.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();u="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();try{g.collapse();g.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_start" style="'+u+'">'+l+"</span>");if(!n){j.collapse(false);g.moveToElementText(j.parentElement());if(g.compareEndPoints("StartToEnd",j)==0){j.move("character",-1)}j.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_end" style="'+u+'">'+l+"</span>")}}catch(q){return null}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=v.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_end",style:u},l))}g.collapse(true);g.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_start",style:u},l))}v.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){y=t[0];for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(t[v]>u.length-1){return}x=u[t[v]]}if(x.nodeType===3){y=Math.min(t[0],x.nodeValue.length)}if(x.nodeType===1){y=Math.min(t[0],x.childNodes.length)}if(z){f.setStart(x,y)}else{f.setEnd(x,y)}}return true}if(r.tridentSel){return r.tridentSel.moveToBookmark(n)}if(g(true)&&g()){r.setRng(f)}}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(l.isBlock(t)&&!t.innerHTML){t.innerHTML=!a?'<br data-mce-bogus="1" />':" "}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;if(k){f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g)}return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var h=this,g=h.getRng(),i;if(g.item){i=g.item(0);g=h.win.document.body.createTextRange();g.moveToElementText(i)}g.collapse(!!f);h.setRng(g)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;try{h.removeAllRanges()}catch(f){}h.addRange(i);g.selectedRange=h.getRangeAt(0)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var h=this,g=h.getRng(),i=h.getSel(),l,k=g.startContainer,f=g.endContainer;if(!g){return h.dom.getRoot()}if(g.setStart){l=g.commonAncestorContainer;if(!g.collapsed){if(g.startContainer==g.endContainer){if(g.endOffset-g.startOffset<2){if(g.startContainer.hasChildNodes()){l=g.startContainer.childNodes[g.startOffset]}}}if(k.nodeType===3&&f.nodeType===3){function j(p,m){var o=p;while(p&&p.nodeType===3&&p.length===0){p=m?p.nextSibling:p.previousSibling}return p||o}if(k.length===g.startOffset){k=j(k.nextSibling,true)}else{k=k.parentNode}if(g.endOffset===0){f=j(f.previousSibling,false)}else{f=f.parentNode}if(k&&k===f){return k}}}if(l&&l.nodeType==3){return l.parentNode}return l}return g.item?g.item(0):g.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},normalize:function(){var g=this,f,i;if(c.isIE){return}function h(p){var k,o,n,m=g.dom,j=m.getRoot(),l;k=f[(p?"start":"end")+"Container"];o=f[(p?"start":"end")+"Offset"];if(k.nodeType===9){k=k.body;o=0}if(k===j){if(k.hasChildNodes()){k=k.childNodes[Math.min(!p&&o>0?o-1:o,k.childNodes.length-1)];o=0;if(k.hasChildNodes()){l=k;n=new c.dom.TreeWalker(k,j);do{if(l.nodeType===3){o=p?0:l.nodeValue.length-1;k=l;break}if(l.nodeName==="BR"){o=m.nodeIndex(l);k=l.parentNode;break}}while(l=(p?n.next():n.prev()));i=true}}}if(i){f["set"+(p?"Start":"End")](k,o)}}f=g.getRng();h(true);if(f.collapsed){h()}if(i){g.setRng(f)}},destroy:function(g){var f=this;f.win=null;if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var g=this.dom,m=g.doc,h=m.body,j,n,f;m.documentElement.unselectable=true;function i(o,r){var p=h.createTextRange();try{p.moveToPoint(o,r)}catch(q){p=null}return p}function l(p){var o;if(p.button){o=i(p.x,p.y);if(o){if(o.compareEndPoints("StartToStart",n)>0){o.setEndPoint("StartToStart",n)}else{o.setEndPoint("EndToEnd",n)}o.select()}}else{k()}}function k(){var o=m.selection.createRange();if(n&&!o.item&&o.compareEndPoints("StartToEnd",o)===0){n.select()}g.unbind(m,"mouseup",k);g.unbind(m,"mousemove",l);n=j=0}g.bind(m,["mousedown","contextmenu"],function(o){if(o.target.nodeName==="HTML"){if(j){k()}f=m.documentElement;if(f.scrollHeight>f.clientHeight){return}j=1;n=i(o.x,o.y);if(n){g.bind(m,"mouseup",k);g.bind(m,"mousemove",l);g.win.focus();n.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}e.remove_trailing_brs=true;i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/\s*mce(Item\w+|Selected)\s*/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g,"").replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(m.getInner?o.innerHTML:a.trim(i.getOuterHTML(o),m),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=q.create("script",{id:n,type:"text/javascript",src:a._addVer(m)});if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==e){j.push(m);l[m]=c}if(q){if(!f[m]){f[m]=[]}f[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(f[r],function(s){s.func.call(s.scope)});f[r]=e}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,r){var h=d.startContainer,k=d.startOffset,s=d.endContainer,l=d.endOffset,i,f,n,g,q,p,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(t){r([t])});return}function o(v,u,t){var x=[];for(;v&&v!=t;v=v[u]){x.push(v)}return x}function m(u,t){do{if(u.parentNode==t){return u}u=u.parentNode}while(u)}function j(v,u,x){var t=x?"nextSibling":"previousSibling";for(g=v,q=g.parentNode;g&&g!=u;g=q){q=g.parentNode;p=o(g==v?g:g[t],t);if(p.length){if(!x){p.reverse()}r(p)}}}if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[k]}if(s.nodeType==1&&s.hasChildNodes()){s=s.childNodes[Math.min(l-1,s.childNodes.length-1)]}i=c.findCommonAncestor(h,s);if(h==s){return r([h])}for(g=h;g;g=g.parentNode){if(g==s){return j(h,i,true)}if(g==i){break}}for(g=s;g;g=g.parentNode){if(g==h){return j(s,i)}if(g==i){break}}f=m(h,i)||h;n=m(s,i)||s;j(h,f,true);p=o(f==h?f:f.nextSibling,"nextSibling",n==s?n.nextSibling:n);if(p.length){r(p)}j(s,n)}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var p=this,m=e.root,l=e.items,n=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,k=e.excludeFromTabOrder,j,h,o,d,g;f=f||b.DOM;j=function(q){g=q.target.id};h=function(q){f.setAttrib(q.target.id,"tabindex","-1")};d=function(q){var r=f.get(g);f.setAttrib(r,"tabindex","0");r.focus()};p.focus=function(){f.get(g).focus()};p.destroy=function(){c(l,function(q){f.unbind(f.get(q.id),"focus",j);f.unbind(f.get(q.id),"blur",h)});f.unbind(f.get(m),"focus",d);f.unbind(f.get(m),"keydown",o);l=f=m=p.focus=j=h=o=d=null;p.destroy=function(){}};p.moveFocus=function(u,r){var q=-1,t=p.controls,s;if(!g){return}c(l,function(x,v){if(x.id===g){q=v;return false}});q+=u;if(q<0){q=l.length-1}else{if(q>=l.length){q=0}}s=l[q];f.setAttrib(g,"tabindex","-1");f.setAttrib(s.id,"tabindex","0");f.get(s.id).focus();if(e.actOnFocus){e.onAction(s.id)}if(r){a.cancel(r)}};o=function(y){var u=37,t=39,x=38,z=40,q=27,s=14,r=13,v=32;switch(y.keyCode){case u:if(i){p.moveFocus(-1)}break;case t:if(i){p.moveFocus(1)}break;case x:if(n){p.moveFocus(-1)}break;case z:if(n){p.moveFocus(1)}break;case q:if(e.onCancel){e.onCancel();a.cancel(y)}break;case s:case r:case v:if(e.onAction){e.onAction(g);a.cancel(y)}break}};c(l,function(s,q){var r;if(!s.id){s.id=f.uniqueId("_mce_item_")}if(k){f.bind(s.id,"blur",h);r="-1"}else{r=(q===0?"0":"-1")}f.setAttrib(s.id,"tabindex",r);f.bind(f.get(s.id),"focus",j)});if(l[0]){g=l[0].id}f.setAttrib(m,"tabindex","-1");f.bind(f.get(m),"focus",d);f.bind(f.get(m),"keydown",o)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return a.cancel(s)}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.select("#menu_"+g.id)[0];h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+='<img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" />'+c}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var c=this,d=c.settings;b.dom.Event.add(c.id,"click",function(f){if(!c.isDisabled()){return d.onclick.call(d.scope,f)}})}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(i,h,f){var g=this;g.parent(i,h,f);g.items=[];g.onChange=new a(g);g.onPostRender=new a(g);g.onAdd=new a(g);g.onRenderMenu=new d.util.Dispatcher(this);g.classPrefix="mceListBox"},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){var g=this,h,i;if(f!=g.selectedIndex){h=c.get(g.id+"_text");i=g.items[f];if(i){g.selectedValue=i.value;g.selectedIndex=f;c.setHTML(h,c.encode(i.title));c.removeClass(h,"mceTitle");c.setAttrib(g.id,"aria-valuenow",i.title)}else{c.setHTML(h,c.encode(g.settings.title));c.addClass(h,"mceTitle");g.selectedValue=g.selectedIndex=null;c.setAttrib(g.id,"aria-valuenow",g.settings.title)}h=0}},add:function(i,f,h){var g=this;h=h||{};h=d.extend(h,{title:i,value:f});g.items.push(h);g.onAdd.dispatch(g,h)},getLength:function(){return this.items.length},renderHTML:function(){var i="",f=this,g=f.settings,j=f.classPrefix;i='<span role="button" aria-haspopup="true" aria-labelledby="'+f.id+'_text" aria-describedby="'+f.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+f.id+'" cellpadding="0" cellspacing="0" class="'+j+" "+j+"Enabled"+(g["class"]?(" "+g["class"]):"")+'"><tbody><tr>';i+="<td>"+c.createHTML("span",{id:f.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},f.settings.title);i+=c.createHTML("a",{id:f.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},c.encode(f.settings.title))+"</td>";i+="<td>"+c.createHTML("a",{id:f.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";i+="</tr></tbody></table></span>";return i},showMenu:function(){var g=this,i,h=c.get(this.id),f;if(g.isDisabled()||g.items.length==0){return}if(g.menu&&g.menu.isMenuVisible){return g.hideMenu()}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}i=c.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.keyboard_focus=!d.isOpera;if(g.oldID){f.items[g.oldID].setSelected(0)}e(g.items,function(j){if(j.value===g.selectedValue){f.items[j.id].setSelected(1);g.oldID=j.id}});f.showMenu(0,h.clientHeight);b.add(c.doc,"mousedown",g.hideMenu,g);c.addClass(g.id,g.classPrefix+"Selected")},hideMenu:function(g){var f=this;if(f.menu&&f.menu.isMenuVisible){c.removeClass(f.id,f.classPrefix+"Selected");if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){return}if(!g||!c.getParent(g.target,".mceMenu")){c.removeClass(f.id,f.classPrefix+"Selected");b.remove(c.doc,"mousedown",f.hideMenu,f);f.menu.hideMenu()}}},renderMenu:function(){var g=this,f;f=g.settings.control_manager.createDropMenu(g.id+"_menu",{menu_line:1,"class":g.classPrefix+"Menu mceNoIcons",max_width:150,max_height:150});f.onHideMenu.add(function(){g.hideMenu();g.focus()});f.add({title:g.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}});e(g.items,function(h){if(h.value===undefined){f.add({title:h.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}})}else{h.id=c.uniqueId();h.onclick=function(){if(g.settings.onselect(h.value)!==false){g.select(h.value)}};f.add(h)}});g.onRenderMenu.dispatch(g,f);g.menu=f},postRender:function(){var f=this,g=f.classPrefix;b.add(f.id,"click",f.showMenu,f);b.add(f.id,"keydown",function(h){if(h.keyCode==32){f.showMenu(h);b.cancel(h)}});b.add(f.id,"focus",function(){if(!f._focused){f.keyDownHandler=b.add(f.id,"keydown",function(h){if(h.keyCode==40){f.showMenu();b.cancel(h)}});f.keyPressHandler=b.add(f.id,"keypress",function(i){var h;if(i.keyCode==13){h=f.selectedValue;f.selectedValue=null;b.cancel(i);f.settings.onselect(h)}})}f._focused=1});b.add(f.id,"blur",function(){b.remove(f.id,"keydown",f.keyDownHandler);b.remove(f.id,"keypress",f.keyPressHandler);f._focused=0});if(d.isIE6||!c.boxModel){b.add(f.id,"mouseover",function(){if(!c.hasClass(f.id,g+"Disabled")){c.addClass(f.id,g+"Hover")}});b.add(f.id,"mouseout",function(){if(!c.hasClass(f.id,g+"Disabled")){c.removeClass(f.id,g+"Hover")}})}f.onPostRender.dispatch(f,c.get(f.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(g,f){this.parent(g,f);this.classPrefix="mceNativeListBox"},setDisabled:function(f){c.get(this.id).disabled=f;this.setAriaProperty("disabled",f)},isDisabled:function(){return c.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){c.get(this.id).selectedIndex=f+1;this.selectedValue=this.items[f]?this.items[f].value:null},add:function(j,g,f){var i,h=this;f=f||{};f.value=g;if(h.isRendered()){c.add(c.get(this.id),"option",f,j)}i={title:j,value:g,attribs:f};h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var g,f=this;g=c.createHTML("option",{value:""},"-- "+f.settings.title+" --");e(f.items,function(h){g+=c.createHTML("option",{value:h.value},h.title)});g=c.createHTML("select",{id:f.id,"class":"mceNativeListBox","aria-labelledby":f.id+"_aria"},g);g+=c.createHTML("span",{id:f.id+"_aria",style:"display: none"},f.settings.title);return g},postRender:function(){var g=this,h,i=true;g.rendered=true;function f(k){var j=g.items[k.target.selectedIndex-1];if(j&&(j=j.value)){g.onChange.dispatch(g,j);if(g.settings.onselect){g.settings.onselect(j)}}}b.add(g.id,"change",f);b.add(g.id,"keydown",function(k){var j;b.remove(g.id,"change",h);i=false;j=b.add(g.id,"blur",function(){if(i){return}i=true;b.add(g.id,"change",f);b.remove(g.id,"blur",j)});if(d.isWebKit&&(k.keyCode==37||k.keyCode==39)){return b.prevent(k)}if(k.keyCode==13||k.keyCode==32){f(k);return b.cancel(k)}});g.onPostRender.dispatch(g,c.get(g.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{id:f.id,role:"presentation",tabindex:"0","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("span",{role:"button","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(i){i=i.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");g=c.add(g,"a",{role:"option",href:"javascript:;",style:{backgroundColor:"#"+i},title:p.editor.getLang("colors."+i,i),"data-mce-color":"#"+i});if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+i;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");new d.ui.KeyboardNavigation({root:p.id+"_menu",items:c.select("a",p.id+"_menu"),onCancel:function(){p.hideMenu();p.focus()}});a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return a.cancel(i)});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){this.parent();a.clear(this.id+"_menu");a.clear(this.id+"_more");c.remove(this.id+"_menu")}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){this.keyNav.focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE){function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(m){var n=m.DOM,j=m.dom.Event,f=m.extend,k=m.util.Dispatcher,i=m.each,a=m.isGecko,b=m.isIE,e=m.isWebKit,d=m.is,h=m.ThemeManager,c=m.PluginManager,o=m.inArray,l=m.grep,g=m.explode;m.create("tinymce.Editor",{Editor:function(r,q){var p=this;p.id=p.editorId=r;p.execCommands={};p.queryStateCommands={};p.queryValueCommands={};p.isNotDirty=false;p.plugins={};i(["onPreInit","onBeforeRenderUI","onPostRender","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState"],function(s){p[s]=new k(p)});p.settings=q=f({id:r,language:"en",docs_language:"en",theme:"simple",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:m.documentBaseURL,add_form_submit_trigger:1,submit_patch:1,add_unload_trigger:1,convert_urls:1,relative_urls:1,remove_script_host:1,table_inline_editing:0,object_resizing:1,cleanup:1,accessibility_focus:1,custom_shortcuts:1,custom_undo_redo_keyboard_shortcuts:1,custom_undo_redo_restore_selection:1,custom_undo_redo:1,doctype:m.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",hidden_input:1,padd_empty_editor:1,render_ui:1,init_theme:1,force_p_newlines:1,indentation:"30px",keep_styles:1,fix_table_elements:1,inline_styles:1,convert_fonts_to_spans:true,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",validate:true,entity_encoding:"named",url_converter:p.convertURL,url_converter_scope:p,ie7_compat:true},q);p.documentBaseURI=new m.util.URI(q.document_base_url||m.documentBaseURL,{base_uri:tinyMCE.baseURI});p.baseURI=m.baseURI;p.contentCSS=[];p.execCallback("setup",p)},render:function(r){var u=this,v=u.settings,x=u.id,p=m.ScriptLoader;if(!j.domLoaded){j.add(document,"init",function(){u.render()});return}tinyMCE.settings=v;if(!u.getElement()){return}if(m.isIDevice&&!m.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(u.getElement().nodeName)&&v.hidden_input&&n.getParent(x,"form")){n.insertAfter(n.create("input",{type:"hidden",name:x}),x)}if(m.WindowManager){u.windowManager=new m.WindowManager(u)}if(v.encoding=="xml"){u.onGetContent.add(function(s,t){if(t.save){t.content=n.encode(t.content)}})}if(v.add_form_submit_trigger){u.onSubmit.addToTop(function(){if(u.initialized){u.save();u.isNotDirty=1}})}if(v.add_unload_trigger){u._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(u.initialized&&!u.destroyed&&!u.isHidden()){u.save({format:"raw",no_events:true})}})}m.addUnload(u.destroy,u);if(v.submit_patch){u.onBeforeRenderUI.add(function(){var s=u.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){u.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){m.triggerSave();u.isNotDirty=1;return u.formElement._mceOldSubmit(u.formElement)}}s=null})}function q(){if(v.language&&v.language_load!==false){p.add(m.baseURL+"/langs/"+v.language+".js")}if(v.theme&&v.theme.charAt(0)!="-"&&!h.urls[v.theme]){h.load(v.theme,"themes/"+v.theme+"/editor_template"+m.suffix+".js")}i(g(v.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(z){var y={prefix:"plugins/",resource:z,suffix:"/editor_plugin"+m.suffix+".js"};var z=c.createUrl(y,z);c.load(z.resource,z)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+m.suffix+".js"})}}});p.loadQueue(function(){if(!u.removed){u.init()}})}q()},init:function(){var r,H=this,I=H.settings,E,A,D=H.getElement(),q,p,F,y,C,G,z,v=[];m.add(H);I.aria_label=I.aria_label||n.getAttrib(D,"aria-label",H.getLang("aria.rich_text_area"));if(I.theme){I.theme=I.theme.replace(/-/,"");q=h.get(I.theme);H.theme=new q();if(H.theme.init&&I.init_theme){H.theme.init(H,h.urls[I.theme]||m.documentBaseURL.replace(/\/$/,""))}}function B(J){var K=c.get(J),t=c.urls[J]||m.documentBaseURL.replace(/\/$/,""),s;if(K&&m.inArray(v,J)===-1){i(c.dependencies(J),function(u){B(u)});s=new K(H,t);H.plugins[J]=s;if(s.init){s.init(H,t);v.push(J)}}}i(g(I.plugins.replace(/\-/g,"")),B);if(I.popup_css!==false){if(I.popup_css){I.popup_css=H.documentBaseURI.toAbsolute(I.popup_css)}else{I.popup_css=H.baseURI.toAbsolute("themes/"+I.theme+"/skins/"+I.skin+"/dialog.css")}}if(I.popup_css_add){I.popup_css+=","+H.documentBaseURI.toAbsolute(I.popup_css_add)}H.controlManager=new m.ControlManager(H);if(I.custom_undo_redo){H.onBeforeExecCommand.add(function(t,J,u,K,s){if(J!="Undo"&&J!="Redo"&&J!="mceRepaint"&&(!s||!s.skip_undo)){H.undoManager.beforeChange()}});H.onExecCommand.add(function(t,J,u,K,s){if(J!="Undo"&&J!="Redo"&&J!="mceRepaint"&&(!s||!s.skip_undo)){H.undoManager.add()}})}H.onExecCommand.add(function(s,t){if(!/^(FontName|FontSize)$/.test(t)){H.nodeChanged()}});if(a){function x(s,t){if(!t||!t.initial){H.execCommand("mceRepaint")}}H.onUndo.add(x);H.onRedo.add(x);H.onSetContent.add(x)}H.onBeforeRenderUI.dispatch(H,H.controlManager);if(I.render_ui){E=I.width||D.style.width||D.offsetWidth;A=I.height||D.style.height||D.offsetHeight;H.orgDisplay=D.style.display;G=/^[0-9\.]+(|px)$/i;if(G.test(""+E)){E=Math.max(parseInt(E)+(q.deltaWidth||0),100)}if(G.test(""+A)){A=Math.max(parseInt(A)+(q.deltaHeight||0),100)}q=H.theme.renderUI({targetNode:D,width:E,height:A,deltaWidth:I.delta_width,deltaHeight:I.delta_height});H.editorContainer=q.editorContainer}if(document.domain&&location.hostname!=document.domain){m.relaxedDomain=document.domain}n.setStyles(q.sizeContainer||q.editorContainer,{width:E,height:A});if(I.content_css){m.each(g(I.content_css),function(s){H.contentCSS.push(H.documentBaseURI.toAbsolute(s))})}A=(q.iframeHeight||A)+(typeof(A)=="number"?(q.deltaHeight||0):"");if(A<100){A=100}H.iframeHTML=I.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(I.document_base_url!=m.documentBaseURL){H.iframeHTML+='<base href="'+H.documentBaseURI.getURI()+'" />'}if(I.ie7_compat){H.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{H.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}H.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';y=I.body_id||"tinymce";if(y.indexOf("=")!=-1){y=H.getParam("body_id","","hash");y=y[H.id]||y}C=I.body_class||"";if(C.indexOf("=")!=-1){C=H.getParam("body_class","","hash");C=C[H.id]||""}H.iframeHTML+='</head><body id="'+y+'" class="mceContentBody '+C+'"><br></body></html>';if(m.relaxedDomain&&(b||(m.isOpera&&parseFloat(opera.version())<11))){F='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+H.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'}r=n.add(q.iframeContainer,"iframe",{id:H.id+"_ifr",src:F||'javascript:""',frameBorder:"0",allowTransparency:"true",title:I.aria_label,style:{width:"100%",height:A,display:"block"}});H.contentAreaContainer=q.iframeContainer;n.get(q.editorContainer).style.display=H.orgDisplay;n.get(H.id).style.display="none";n.setAttrib(H.id,"aria-hidden",true);if(!m.relaxedDomain||!F){H.setupIframe()}D=r=q=null},setupIframe:function(){var q=this,v=q.settings,x=n.get(q.id),y=q.getDoc(),u,p;if(!b||!m.relaxedDomain){if(a&&!Range.prototype.getClientRects){q.onMouseDown.add(function(t,z){if(z.target.nodeName==="HTML"){var s=q.getBody();s.blur();setTimeout(function(){s.focus()},0)}})}y.open();y.write(q.iframeHTML);y.close();if(m.relaxedDomain){y.domain=m.relaxedDomain}}p=q.getBody();p.disabled=true;if(!v.readonly){p.contentEditable=true}p.disabled=false;q.schema=new m.html.Schema(v);q.dom=new m.dom.DOMUtils(q.getDoc(),{keep_values:true,url_converter:q.convertURL,url_converter_scope:q,hex_colors:v.force_hex_style_colors,class_filter:v.class_filter,update_styles:1,fix_ie_paragraphs:1,schema:q.schema});q.parser=new m.html.DomParser(v,q.schema);if(!q.settings.allow_html_in_named_anchor){q.parser.addAttributeFilter("name",function(s,t){var A=s.length,C,z,B,D;while(A--){D=s[A];if(D.name==="a"&&D.firstChild){B=D.parent;C=D.lastChild;do{z=C.prev;B.insert(C,D);C=z}while(C)}}})}q.parser.addAttributeFilter("src,href,style",function(s,t){var z=s.length,B,D=q.dom,C,A;while(z--){B=s[z];C=B.attr(t);A="data-mce-"+t;if(!B.attributes.map[A]){if(t==="style"){B.attr(A,D.serializeStyle(D.parseStyle(C),B.name))}else{B.attr(A,q.convertURL(C,t,B.name))}}}});q.parser.addNodeFilter("script",function(s,t){var z=s.length;while(z--){s[z].attr("type","mce-text/javascript")}});q.parser.addNodeFilter("#cdata",function(s,t){var z=s.length,A;while(z--){A=s[z];A.type=8;A.name="#comment";A.value="[CDATA["+A.value+"]]"}});q.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(t,z){var A=t.length,B,s=q.schema.getNonEmptyElements();while(A--){B=t[A];if(B.isEmpty(s)){B.empty().append(new m.html.Node("br",1)).shortEnded=true}}});q.serializer=new m.dom.Serializer(v,q.dom,q.schema);q.selection=new m.dom.Selection(q.dom,q.getWin(),q.serializer);q.formatter=new m.Formatter(this);q.formatter.register({alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"justify"}}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},link:{inline:"a",selector:"a",remove:"all",split:true,deep:true,onmatch:function(s){return true},onformat:function(z,s,t){i(t,function(B,A){q.dom.setAttrib(z,A,B)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){q.formatter.register(s,{block:s,remove:"all"})});q.formatter.register(q.settings.formats);q.undoManager=new m.UndoManager(q);q.undoManager.onAdd.add(function(t,s){if(t.hasUndo()){return q.onChange.dispatch(q,s,t)}});q.undoManager.onUndo.add(function(t,s){return q.onUndo.dispatch(q,s,t)});q.undoManager.onRedo.add(function(t,s){return q.onRedo.dispatch(q,s,t)});q.forceBlocks=new m.ForceBlocks(q,{forced_root_block:v.forced_root_block});q.editorCommands=new m.EditorCommands(q);q.serializer.onPreProcess.add(function(s,t){return q.onPreProcess.dispatch(q,t,s)});q.serializer.onPostProcess.add(function(s,t){return q.onPostProcess.dispatch(q,t,s)});q.onPreInit.dispatch(q);if(!v.gecko_spellcheck){q.getBody().spellcheck=0}if(!v.readonly){q._addEvents()}q.controlManager.onPostRender.dispatch(q,q.controlManager);q.onPostRender.dispatch(q);q.quirks=new m.util.Quirks(this);if(v.directionality){q.getBody().dir=v.directionality}if(v.nowrap){q.getBody().style.whiteSpace="nowrap"}if(v.handle_node_change_callback){q.onNodeChange.add(function(t,s,z){q.execCallback("handle_node_change_callback",q.id,z,-1,-1,true,q.selection.isCollapsed())})}if(v.save_callback){q.onSaveContent.add(function(s,z){var t=q.execCallback("save_callback",q.id,z.content,q.getBody());if(t){z.content=t}})}if(v.onchange_callback){q.onChange.add(function(t,s){q.execCallback("onchange_callback",q,s)})}if(v.protect){q.onBeforeSetContent.add(function(s,t){if(v.protect){i(v.protect,function(z){t.content=t.content.replace(z,function(A){return"<!--mce:protected "+escape(A)+"-->"})})}})}if(v.convert_newlines_to_brs){q.onBeforeSetContent.add(function(s,t){if(t.initial){t.content=t.content.replace(/\r?\n/g,"<br />")}})}if(v.preformatted){q.onPostProcess.add(function(s,t){t.content=t.content.replace(/^\s*<pre.*?>/,"");t.content=t.content.replace(/<\/pre>\s*$/,"");if(t.set){t.content='<pre class="mceItemHidden">'+t.content+"</pre>"}})}if(v.verify_css_classes){q.serializer.attribValueFilter=function(B,z){var A,t;if(B=="class"){if(!q.classesRE){t=q.dom.getClasses();if(t.length>0){A="";i(t,function(s){A+=(A?"|":"")+s["class"]});q.classesRE=new RegExp("("+A+")","gi")}}return !q.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(z)||q.classesRE.test(z)?z:""}return z}}if(v.cleanup_callback){q.onBeforeSetContent.add(function(s,t){t.content=q.execCallback("cleanup_callback","insert_to_editor",t.content,t)});q.onPreProcess.add(function(s,t){if(t.set){q.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)}if(t.get){q.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)}});q.onPostProcess.add(function(s,t){if(t.set){t.content=q.execCallback("cleanup_callback","insert_to_editor",t.content,t)}if(t.get){t.content=q.execCallback("cleanup_callback","get_from_editor",t.content,t)}})}if(v.save_callback){q.onGetContent.add(function(s,t){if(t.save){t.content=q.execCallback("save_callback",q.id,t.content,q.getBody())}})}if(v.handle_event_callback){q.onEvent.add(function(s,t,z){if(q.execCallback("handle_event_callback",t,s,z)===false){j.cancel(t)}})}q.onSetContent.add(function(){q.addVisual(q.getBody())});if(v.padd_empty_editor){q.onPostProcess.add(function(s,t){t.content=t.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}if(a){function r(s,t){i(s.dom.select("a"),function(A){var z=A.parentNode;if(s.dom.isBlock(z)&&z.lastChild===A){s.dom.add(z,"br",{"data-mce-bogus":1})}})}q.onExecCommand.add(function(s,t){if(t==="CreateLink"){r(s)}});q.onSetContent.add(q.selection.onSetContent.add(r))}q.load({initial:true,format:"html"});q.startContent=q.getContent({format:"raw"});q.undoManager.add();q.initialized=true;q.onInit.dispatch(q);q.execCallback("setupcontent_callback",q.id,q.getBody(),q.getDoc());q.execCallback("init_instance_callback",q);q.focus(true);q.nodeChanged({initial:1});i(q.contentCSS,function(s){q.dom.loadCSS(s)});if(v.auto_focus){setTimeout(function(){var s=m.get(v.auto_focus);s.selection.select(s.getBody(),1);s.selection.collapse(1);s.getBody().focus();s.getWin().focus()},100)}x=null},focus:function(u){var y,q=this,s=q.selection,x=q.settings.content_editable,r,p,v=q.getDoc();if(!u){r=s.getRng();if(r.item){p=r.item(0)}q._refreshContentEditable();s.normalize();if(!x){q.getWin().focus()}if(m.isGecko){q.getBody().focus()}if(p&&p.ownerDocument==v){r=v.body.createControlRange();r.addElement(p);r.select()}}if(m.activeEditor!=q){if((y=m.activeEditor)!=null){y.onDeactivate.dispatch(y,q)}q.onActivate.dispatch(q,y)}m._setActive(q)},execCallback:function(u){var p=this,r=p.settings[u],q;if(!r){return}if(p.callbackLookup&&(q=p.callbackLookup[u])){r=q.func;q=q.scope}if(d(r,"string")){q=r.replace(/\.\w+$/,"");q=q?m.resolve(q):0;r=m.resolve(r);p.callbackLookup=p.callbackLookup||{};p.callbackLookup[u]={func:r,scope:q}}return r.apply(q||p,Array.prototype.slice.call(arguments,1))},translate:function(p){var r=this.settings.language||"en",q=m.i18n;if(!p){return""}return q[r+"."+p]||p.replace(/{\#([^}]+)\}/g,function(t,s){return q[r+"."+s]||"{#"+s+"}"})},getLang:function(q,p){return m.i18n[(this.settings.language||"en")+"."+q]||(d(p)?p:"{#"+q+"}")},getParam:function(u,r,p){var s=m.trim,q=d(this.settings[u])?this.settings[u]:r,t;if(p==="hash"){t={};if(d(q,"string")){i(q.indexOf("=")>0?q.split(/[;,](?![^=;,]*(?:[;,]|$))/):q.split(","),function(x){x=x.split("=");if(x.length>1){t[s(x[0])]=s(x[1])}else{t[s(x[0])]=s(x)}})}else{t=q}return t}return q},nodeChanged:function(r){var p=this,q=p.selection,u=q.getStart()||p.getBody();if(p.initialized){r=r||{};u=b&&u.ownerDocument!=p.getDoc()?p.getBody():u;r.parents=[];p.dom.getParent(u,function(s){if(s.nodeName=="BODY"){return true}r.parents.push(s)});p.onNodeChange.dispatch(p,r?r.controlManager||p.controlManager:p.controlManager,u,q.isCollapsed(),r)}},addButton:function(r,q){var p=this;p.buttons=p.buttons||{};p.buttons[r]=q},addCommand:function(p,r,q){this.execCommands[p]={func:r,scope:q||this}},addQueryStateHandler:function(p,r,q){this.queryStateCommands[p]={func:r,scope:q||this}},addQueryValueHandler:function(p,r,q){this.queryValueCommands[p]={func:r,scope:q||this}},addShortcut:function(r,u,p,s){var q=this,v;if(!q.settings.custom_shortcuts){return false}q.shortcuts=q.shortcuts||{};if(d(p,"string")){v=p;p=function(){q.execCommand(v,false,null)}}if(d(p,"object")){v=p;p=function(){q.execCommand(v[0],v[1],v[2])}}i(g(r),function(t){var x={func:p,scope:s||this,desc:u,alt:false,ctrl:false,shift:false};i(g(t,"+"),function(y){switch(y){case"alt":case"ctrl":case"shift":x[y]=true;break;default:x.charCode=y.charCodeAt(0);x.keyCode=y.toUpperCase().charCodeAt(0)}});q.shortcuts[(x.ctrl?"ctrl":"")+","+(x.alt?"alt":"")+","+(x.shift?"shift":"")+","+x.keyCode]=x});return true},execCommand:function(x,v,z,p){var r=this,u=0,y,q;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(x)&&(!p||!p.skip_focus)){r.focus()}y={};r.onBeforeExecCommand.dispatch(r,x,v,z,y);if(y.terminate){return false}if(r.execCallback("execcommand_callback",r.id,r.selection.getNode(),x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(y=r.execCommands[x]){q=y.func.call(y.scope,v,z);if(q!==true){r.onExecCommand.dispatch(r,x,v,z,p);return q}}i(r.plugins,function(s){if(s.execCommand&&s.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);u=1;return false}});if(u){return true}if(r.theme&&r.theme.execCommand&&r.theme.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(r.editorCommands.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}r.getDoc().execCommand(x,v,z);r.onExecCommand.dispatch(r,x,v,z,p)},queryCommandState:function(u){var q=this,v,r;if(q._isHidden()){return}if(v=q.queryStateCommands[u]){r=v.func.call(v.scope);if(r!==true){return r}}v=q.editorCommands.queryCommandState(u);if(v!==-1){return v}try{return this.getDoc().queryCommandState(u)}catch(p){}},queryCommandValue:function(v){var q=this,u,r;if(q._isHidden()){return}if(u=q.queryValueCommands[v]){r=u.func.call(u.scope);if(r!==true){return r}}u=q.editorCommands.queryCommandValue(v);if(d(u)){return u}try{return this.getDoc().queryCommandValue(v)}catch(p){}},show:function(){var p=this;n.show(p.getContainer());n.hide(p.id);p.load()},hide:function(){var p=this,q=p.getDoc();if(b&&q){q.execCommand("SelectAll")}p.save();n.hide(p.getContainer());n.setStyle(p.id,"display",p.orgDisplay)},isHidden:function(){return !n.isHidden(this.id)},setProgressState:function(p,q,r){this.onSetProgressState.dispatch(this,p,q,r);return p},load:function(s){var p=this,r=p.getElement(),q;if(r){s=s||{};s.load=true;q=p.setContent(d(r.value)?r.value:r.innerHTML,s);s.element=r;if(!s.no_events){p.onLoadContent.dispatch(p,s)}s.element=r=null;return q}},save:function(u){var p=this,s=p.getElement(),q,r;if(!s||!p.initialized){return}u=u||{};u.save=true;if(!u.no_events){p.undoManager.typing=false;p.undoManager.add()}u.element=s;q=u.content=p.getContent(u);if(!u.no_events){p.onSaveContent.dispatch(p,u)}q=u.content;if(!/TEXTAREA|INPUT/i.test(s.nodeName)){s.innerHTML=q;if(r=n.getParent(p.id,"form")){i(r.elements,function(t){if(t.name==p.id){t.value=q;return false}})}}else{s.value=q}u.element=s=null;return q},setContent:function(u,s){var r=this,q,p=r.getBody(),t;s=s||{};s.format=s.format||"html";s.set=true;s.content=u;if(!s.no_events){r.onBeforeSetContent.dispatch(r,s)}u=s.content;if(!m.isIE&&(u.length===0||/^\s+$/.test(u))){t=r.settings.forced_root_block;if(t){u="<"+t+'><br data-mce-bogus="1"></'+t+">"}else{u='<br data-mce-bogus="1">'}p.innerHTML=u;r.selection.select(p,true);r.selection.collapse(true);return}if(s.format!=="raw"){u=new m.html.Serializer({},r.schema).serialize(r.parser.parse(u))}s.content=m.trim(u);r.dom.setHTML(p,s.content);if(!s.no_events){r.onSetContent.dispatch(r,s)}r.selection.normalize();return s.content},getContent:function(q){var p=this,r;q=q||{};q.format=q.format||"html";q.get=true;if(!q.no_events){p.onBeforeGetContent.dispatch(p,q)}if(q.format=="raw"){r=p.getBody().innerHTML}else{r=p.serializer.serialize(p.getBody(),q)}q.content=m.trim(r);if(!q.no_events){p.onGetContent.dispatch(p,q)}return q.content},isDirty:function(){var p=this;return m.trim(p.startContent)!=m.trim(p.getContent({format:"raw",no_events:1}))&&!p.isNotDirty},getContainer:function(){var p=this;if(!p.container){p.container=n.get(p.editorContainer||p.id+"_parent")}return p.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return n.get(this.settings.content_element||this.id)},getWin:function(){var p=this,q;if(!p.contentWindow){q=n.get(p.id+"_ifr");if(q){p.contentWindow=q.contentWindow}}return p.contentWindow},getDoc:function(){var q=this,p;if(!q.contentDocument){p=q.getWin();if(p){q.contentDocument=p.document}}return q.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(p,x,v){var q=this,r=q.settings;if(r.urlconverter_callback){return q.execCallback("urlconverter_callback",p,v,true,x)}if(!r.convert_urls||(v&&v.nodeName=="LINK")||p.indexOf("file:")===0){return p}if(r.relative_urls){return q.documentBaseURI.toRelative(p)}p=q.documentBaseURI.toAbsolute(p,r.remove_script_host);return p},addVisual:function(r){var p=this,q=p.settings;r=r||p.getBody();if(!d(p.hasVisual)){p.hasVisual=q.visual}i(p.dom.select("table,a",r),function(t){var s;switch(t.nodeName){case"TABLE":s=p.dom.getAttrib(t,"border");if(!s||s=="0"){if(p.hasVisual){p.dom.addClass(t,q.visual_table_class)}else{p.dom.removeClass(t,q.visual_table_class)}}return;case"A":s=p.dom.getAttrib(t,"name");if(s){if(p.hasVisual){p.dom.addClass(t,"mceItemAnchor")}else{p.dom.removeClass(t,"mceItemAnchor")}}return}});p.onVisualAid.dispatch(p,r,p.hasVisual)},remove:function(){var p=this,q=p.getContainer();p.removed=1;p.hide();p.execCallback("remove_instance_callback",p);p.onRemove.dispatch(p);p.onExecCommand.listeners=[];m.remove(p);n.remove(q)},destroy:function(q){var p=this;if(p.destroyed){return}if(!q){m.removeUnload(p.destroy);tinyMCE.onBeforeUnload.remove(p._beforeUnload);if(p.theme&&p.theme.destroy){p.theme.destroy()}p.controlManager.destroy();p.selection.destroy();p.dom.destroy();if(!p.settings.content_editable){j.clear(p.getWin());j.clear(p.getDoc())}j.clear(p.getBody());j.clear(p.formElement)}if(p.formElement){p.formElement.submit=p.formElement._mceOldSubmit;p.formElement._mceOldSubmit=null}p.contentAreaContainer=p.formElement=p.container=p.settings.content_element=p.bodyElement=p.contentDocument=p.contentWindow=null;if(p.selection){p.selection=p.selection.win=p.selection.dom=p.selection.dom.doc=null}p.destroyed=1},_addEvents:function(){var B=this,r,C=B.settings,q=B.dom,x={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function p(t,D){var s=t.type;if(B.removed){return}if(B.onEvent.dispatch(B,t,D)!==false){B[x[t.fakeType||t.type]].dispatch(B,t,D)}}i(x,function(t,s){switch(s){case"contextmenu":q.bind(B.getDoc(),s,p);break;case"paste":q.bind(B.getBody(),s,function(D){p(D)});break;case"submit":case"reset":q.bind(B.getElement().form||n.getParent(B.id,"form"),s,p);break;default:q.bind(C.content_editable?B.getBody():B.getDoc(),s,p)}});q.bind(C.content_editable?B.getBody():(a?B.getDoc():B.getWin()),"focus",function(s){B.focus(true)});if(m.isGecko){q.bind(B.getDoc(),"DOMNodeInserted",function(t){var s;t=t.target;if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("data-mce-src"))){t.src=B.documentBaseURI.toAbsolute(s)}})}if(a){function u(){var E=this,G=E.getDoc(),F=E.settings;if(a&&!F.readonly){E._refreshContentEditable();try{G.execCommand("styleWithCSS",0,false)}catch(D){if(!E._isHidden()){try{G.execCommand("useCSS",0,true)}catch(D){}}}if(!F.table_inline_editing){try{G.execCommand("enableInlineTableEditing",false,false)}catch(D){}}if(!F.object_resizing){try{G.execCommand("enableObjectResizing",false,false)}catch(D){}}}}B.onBeforeExecCommand.add(u);B.onMouseDown.add(u)}B.onClick.add(function(s,t){t=t.target;if(m.isWebKit&&t.nodeName=="IMG"){B.selection.getSel().setBaseAndExtent(t,0,t,1)}if(t.nodeName=="A"&&q.hasClass(t,"mceItemAnchor")){B.selection.select(t)}B.nodeChanged()});B.onMouseUp.add(B.nodeChanged);B.onKeyUp.add(function(s,t){var D=t.keyCode;if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45||D==46||D==8||(m.isMac&&(D==91||D==93))||t.ctrlKey){B.nodeChanged()}});B.onKeyDown.add(function(t,D){if(D.keyCode!=8){return}var F=t.selection.getRng().startContainer;var E=t.selection.getRng().startOffset;while(F&&F.nodeType&&F.nodeType!=1&&F.parentNode){F=F.parentNode}if(F&&F.parentNode&&F.parentNode.tagName==="BLOCKQUOTE"&&F.parentNode.firstChild==F&&E==0){t.formatter.toggle("blockquote",null,F.parentNode);var s=t.selection.getRng();s.setStart(F,0);s.setEnd(F,0);t.selection.setRng(s);t.selection.collapse(false)}});B.onReset.add(function(){B.setContent(B.startContent,{format:"raw"})});if(C.custom_shortcuts){if(C.custom_undo_redo_keyboard_shortcuts){B.addShortcut("ctrl+z",B.getLang("undo_desc"),"Undo");B.addShortcut("ctrl+y",B.getLang("redo_desc"),"Redo")}B.addShortcut("ctrl+b",B.getLang("bold_desc"),"Bold");B.addShortcut("ctrl+i",B.getLang("italic_desc"),"Italic");B.addShortcut("ctrl+u",B.getLang("underline_desc"),"Underline");for(r=1;r<=6;r++){B.addShortcut("ctrl+"+r,"",["FormatBlock",false,"h"+r])}B.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);B.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);B.addShortcut("ctrl+9","",["FormatBlock",false,"address"]);function v(t){var s=null;if(!t.altKey&&!t.ctrlKey&&!t.metaKey){return s}i(B.shortcuts,function(D){if(m.isMac&&D.ctrl!=t.metaKey){return}else{if(!m.isMac&&D.ctrl!=t.ctrlKey){return}}if(D.alt!=t.altKey){return}if(D.shift!=t.shiftKey){return}if(t.keyCode==D.keyCode||(t.charCode&&t.charCode==D.charCode)){s=D;return false}});return s}B.onKeyUp.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyPress.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyDown.add(function(s,t){var D=v(t);if(D){D.func.call(D.scope);return j.cancel(t)}})}if(m.isIE){q.bind(B.getDoc(),"controlselect",function(D){var t=B.resizeInfo,s;D=D.target;if(D.nodeName!=="IMG"){return}if(t){q.unbind(t.node,t.ev,t.cb)}if(!q.hasClass(D,"mceItemNoResize")){ev="resizeend";s=q.bind(D,ev,function(F){var E;F=F.target;if(E=q.getStyle(F,"width")){q.setAttrib(F,"width",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"width","")}if(E=q.getStyle(F,"height")){q.setAttrib(F,"height",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"height","")}})}else{ev="resizestart";s=q.bind(D,"resizestart",j.cancel,j)}t=B.resizeInfo={node:D,ev:ev,cb:s}})}if(m.isOpera){B.onClick.add(function(s,t){j.prevent(t)})}if(C.custom_undo_redo){function y(){B.undoManager.typing=false;B.undoManager.add()}q.bind(B.getDoc(),"focusout",function(s){if(!B.removed&&B.undoManager.typing){y()}});B.dom.bind(B.dom.getRoot(),"dragend",function(s){y()});B.onKeyUp.add(function(s,D){var t=D.keyCode;if((t>=33&&t<=36)||(t>=37&&t<=40)||t==13||t==45||D.ctrlKey){y()}});B.onKeyDown.add(function(s,E){var D=E.keyCode,t;if(D==8){t=B.getDoc().selection;if(t&&t.createRange&&t.createRange().item){B.undoManager.beforeChange();s.dom.remove(t.createRange().item(0));y();return j.cancel(E)}}if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45){if(m.isIE&&D==13){B.undoManager.beforeChange()}if(B.undoManager.typing){y()}return}if((D<16||D>20)&&D!=224&&D!=91&&!B.undoManager.typing){B.undoManager.beforeChange();B.undoManager.typing=true;B.undoManager.add()}});B.onMouseDown.add(function(){if(B.undoManager.typing){y()}})}if(m.isWebKit){q.bind(B.getDoc(),"selectionchange",function(){if(B.selectionTimer){clearTimeout(B.selectionTimer);B.selectionTimer=0}B.selectionTimer=window.setTimeout(function(){B.nodeChanged()},50)})}if(m.isGecko){function A(){var s=B.dom.getAttribs(B.selection.getStart().cloneNode(false));return function(){var t=B.selection.getStart();if(t!==B.getBody()){B.dom.removeAllAttribs(t);i(s,function(D){t.setAttributeNode(D.cloneNode(true))})}}}function z(){var t=B.selection;return !t.isCollapsed()&&t.getStart()!=t.getEnd()}B.onKeyPress.add(function(s,D){var t;if((D.keyCode==8||D.keyCode==46)&&z()){t=A();B.getDoc().execCommand("delete",false,null);t();return j.cancel(D)}});B.dom.bind(B.getDoc(),"cut",function(t){var s;if(z()){s=A();B.onKeyUp.addToTop(j.cancel,j);setTimeout(function(){s();B.onKeyUp.remove(j.cancel,j)},0)}})}},_refreshContentEditable:function(){var q=this,p,r;if(q._isHidden()){p=q.getBody();r=p.parentNode;r.removeChild(p);r.appendChild(p);p.focus()}},_isHidden:function(){var p;if(!a){return 0}p=this.selection.getSel();return(!p||!p.rangeCount||p.rangeCount==0)}})})(tinymce);(function(c){var d=c.each,e,a=true,b=false;c.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return b}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return b}function u(v,x){x=x||"exec";d(v,function(z,y){d(y.toLowerCase().split(","),function(A){j[x][A]=z})})}c.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===e){x=b}if(v===e){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:e)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(c.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(b)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);d("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=c.explode(k.font_size_style_values);v=c.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return b}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new c.html.Serializer({},n.schema);v='<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=n.selection.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.y<L.y)||(C.x>L.x+L.w||C.x<L.x)){H=c.isIE?n.getDoc().documentElement:n.getBody();H.scrollLeft=C.x;H.scrollTop=C.y-L.h+25}x=m.createRng();A=D.previousSibling;if(A&&A.nodeType==3){x.setStart(A,A.nodeValue.length)}else{x.setStartBefore(D);x.setEndBefore(D)}m.remove(D);p.setRng(x);p.onSetContent.dispatch(p,G);n.addVisual()},mceInsertRawHTML:function(y,x,v){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return v}))},mceSetContent:function(y,x,v){n.setContent(v)},"Indent,Outdent":function(z){var x,v,y;x=k.indentation;v=/[a-z%]+$/i.exec(x);x=parseInt(x);if(!l("InsertUnorderedList")&&!l("InsertOrderedList")){d(p.getSelectedBlocks(),function(A){if(z=="outdent"){y=Math.max(0,parseInt(A.style.paddingLeft||0)-x);m.setStyle(A,"paddingLeft",y?y+v:"")}else{m.setStyle(A,"paddingLeft",(parseInt(A.style.paddingLeft||0)+x)+v)}})}else{f(z)}},mceRepaint:function(){var x;if(c.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(v){}}},mceToggleFormat:function(y,x,v){q.toggle(v)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();v.setStart(x,0);v.setEnd(x,x.childNodes.length);n.selection.setRng(v)}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){return t("align"+v.substring(7))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(v){return m.getParent(p.getNode(),v=="insertunorderedlist"?"UL":"OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");if(k.custom_undo_redo){u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(f){var d,e=0,h=[],c;function g(){return b.trim(f.getContent({format:"raw",no_events:1}))}return d={typing:false,onAdd:new a(d),onUndo:new a(d),onRedo:new a(d),beforeChange:function(){c=f.selection.getBookmark(2,true)},add:function(m){var j,k=f.settings,l;m=m||{};m.content=g();l=h[e];if(l&&l.content==m.content){return null}if(h[e]){h[e].beforeBookmark=c}if(k.custom_undo_redo_levels){if(h.length>k.custom_undo_redo_levels){for(j=0;j<h.length-1;j++){h[j]=h[j+1]}h.length--;e=h.length}}m.bookmark=f.selection.getBookmark(2,true);if(e<h.length-1){h.length=e+1}h.push(m);e=h.length-1;d.onAdd.dispatch(d,m);f.isNotDirty=0;return m},undo:function(){var k,j;if(d.typing){d.add();d.typing=false}if(e>0){k=h[--e];f.setContent(k.content,{format:"raw"});f.selection.moveToBookmark(k.beforeBookmark);d.onUndo.dispatch(d,k)}return k},redo:function(){var i;if(e<h.length-1){i=h[++e];f.setContent(i.content,{format:"raw"});f.selection.moveToBookmark(i.bookmark);d.onRedo.dispatch(d,i)}return i},clear:function(){h=[];e=0;d.typing=false},hasUndo:function(){return e>0||this.typing},hasRedo:function(){return e<h.length-1&&!this.typing}}}})(tinymce);(function(l){var j=l.dom.Event,c=l.isIE,a=l.isGecko,b=l.isOpera,i=l.each,h=l.extend,d=true,g=false;function k(o){var p,n,m;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(o.nodeName)){if(p){n=o.cloneNode(false);n.appendChild(p);p=n}else{p=m=o.cloneNode(false)}p.removeAttribute("id")}}while(o=o.parentNode);if(p){return{wrapper:p,inner:m}}}function f(n,o){var m=o.ownerDocument.createRange();m.setStart(n.endContainer,n.endOffset);m.setEndAfter(o);return m.cloneContents().textContent.length==0}function e(o,q,m){var n,p;if(q.isEmpty(m)){n=q.getParent(m,"ul,ol");if(!q.getParent(n.parentNode,"ul,ol")){q.split(n,m);p=q.create("p",0,'<br data-mce-bogus="1" />');q.replace(p,m);o.select(p,1)}return g}return d}l.create("tinymce.ForceBlocks",{ForceBlocks:function(m){var n=this,o=m.settings,p;n.editor=m;n.dom=m.dom;p=(o.forced_root_block||"p").toLowerCase();o.element=p.toUpperCase();m.onPreInit.add(n.setup,n)},setup:function(){var n=this,m=n.editor,p=m.settings,u=m.dom,o=m.selection,q=m.schema.getBlockElements();if(p.forced_root_block){function v(){var y=o.getStart(),t=m.getBody(),s,z,D,F,E,x,A,B=-16777215;if(!y||y.nodeType!==1){return}while(y!=t){if(q[y.nodeName]){return}y=y.parentNode}s=o.getRng();if(s.setStart){z=s.startContainer;D=s.startOffset;F=s.endContainer;E=s.endOffset}else{if(s.item){s=m.getDoc().body.createTextRange();s.moveToElementText(s.item(0))}tmpRng=s.duplicate();tmpRng.collapse(true);D=tmpRng.move("character",B)*-1;if(!tmpRng.collapsed){tmpRng=s.duplicate();tmpRng.collapse(false);E=(tmpRng.move("character",B)*-1)-D}}for(y=t.firstChild;y;y){if(y.nodeType===3||(y.nodeType==1&&!q[y.nodeName])){if(!x){x=u.create(p.forced_root_block);y.parentNode.insertBefore(x,y)}A=y;y=y.nextSibling;x.appendChild(A)}else{x=null;y=y.nextSibling}}if(s.setStart){s.setStart(z,D);s.setEnd(F,E);o.setRng(s)}else{try{s=m.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(true);s.moveStart("character",D);if(E>0){s.moveEnd("character",E)}s.select()}catch(C){}}m.nodeChanged()}m.onKeyUp.add(v);m.onClick.add(v)}if(p.force_br_newlines){if(c){m.onKeyPress.add(function(s,t){var x;if(t.keyCode==13&&o.getNode().nodeName!="LI"){o.setContent('<br id="__" /> ',{format:"raw"});x=u.get("__");x.removeAttribute("id");o.select(x);o.collapse();return j.cancel(t)}})}}if(p.force_p_newlines){if(!c){m.onKeyPress.add(function(s,t){if(t.keyCode==13&&!t.shiftKey&&!n.insertPara(t)){j.cancel(t)}})}else{l.addUnload(function(){n._previousFormats=0});m.onKeyPress.add(function(s,t){n._previousFormats=0;if(t.keyCode==13&&!t.shiftKey&&s.selection.isCollapsed()&&p.keep_styles){n._previousFormats=k(s.selection.getStart())}});m.onKeyUp.add(function(t,y){if(y.keyCode==13&&!y.shiftKey){var x=t.selection.getStart(),s=n._previousFormats;if(!x.hasChildNodes()&&s){x=u.getParent(x,u.isBlock);if(x&&x.nodeName!="LI"){x.innerHTML="";if(n._previousFormats){x.appendChild(s.wrapper);s.inner.innerHTML="\uFEFF"}else{x.innerHTML="\uFEFF"}o.select(x,1);o.collapse(true);t.getDoc().execCommand("Delete",false,null);n._previousFormats=0}}}})}if(a){m.onKeyDown.add(function(s,t){if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){n.backspaceDelete(t,t.keyCode==8)}})}}if(l.isWebKit){function r(t){var s=o.getRng(),x,A=u.create("div",null," "),z,y=u.getViewPort(t.getWin()).h;s.insertNode(x=u.create("br"));s.setStartAfter(x);s.setEndAfter(x);o.setRng(s);if(o.getSel().focusNode==x.previousSibling){o.select(u.insertAfter(u.doc.createTextNode("\u00a0"),x));o.collapse(d)}u.insertAfter(A,x);z=u.getPos(A).y;u.remove(A);if(z>y){t.getWin().scrollTo(0,z)}}m.onKeyPress.add(function(s,t){if(t.keyCode==13&&(t.shiftKey||(p.force_br_newlines&&!u.getParent(o.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){r(s);j.cancel(t)}})}if(c){if(p.element!="P"){m.onKeyPress.add(function(s,t){n.lastElm=o.getNode().nodeName});m.onKeyUp.add(function(t,x){var z,y=o.getNode(),s=t.getBody();if(s.childNodes.length===1&&y.nodeName=="P"){y=u.rename(y,p.element);o.select(y);o.collapse();t.nodeChanged()}else{if(x.keyCode==13&&!x.shiftKey&&n.lastElm!="P"){z=u.getParent(y,"p");if(z){u.rename(z,p.element);t.nodeChanged()}}}})}}},getParentBlock:function(o){var m=this.dom;return m.getParent(o,m.isBlock)},insertPara:function(Q){var E=this,v=E.editor,M=v.dom,R=v.getDoc(),V=v.settings,F=v.selection.getSel(),G=F.getRangeAt(0),U=R.body;var J,K,H,O,N,q,o,u,z,m,C,T,p,x,I,L=M.getViewPort(v.getWin()),B,D,A;v.undoManager.beforeChange();J=R.createRange();J.setStart(F.anchorNode,F.anchorOffset);J.collapse(d);K=R.createRange();K.setStart(F.focusNode,F.focusOffset);K.collapse(d);H=J.compareBoundaryPoints(J.START_TO_END,K)<0;O=H?F.anchorNode:F.focusNode;N=H?F.anchorOffset:F.focusOffset;q=H?F.focusNode:F.anchorNode;o=H?F.focusOffset:F.anchorOffset;if(O===q&&/^(TD|TH)$/.test(O.nodeName)){if(O.firstChild.nodeName=="BR"){M.remove(O.firstChild)}if(O.childNodes.length==0){v.dom.add(O,V.element,null,"<br />");T=v.dom.add(O,V.element,null,"<br />")}else{I=O.innerHTML;O.innerHTML="";v.dom.add(O,V.element,null,I);T=v.dom.add(O,V.element,null,"<br />")}G=R.createRange();G.selectNodeContents(T);G.collapse(1);v.selection.setRng(G);return g}if(O==U&&q==U&&U.firstChild&&v.dom.isBlock(U.firstChild)){O=q=O.firstChild;N=o=0;J=R.createRange();J.setStart(O,0);K=R.createRange();K.setStart(q,0)}if(!R.body.hasChildNodes()){R.body.appendChild(M.create("br"))}O=O.nodeName=="HTML"?R.body:O;O=O.nodeName=="BODY"?O.firstChild:O;q=q.nodeName=="HTML"?R.body:q;q=q.nodeName=="BODY"?q.firstChild:q;u=E.getParentBlock(O);z=E.getParentBlock(q);m=u?u.nodeName:V.element;if(I=E.dom.getParent(u,"li,pre")){if(I.nodeName=="LI"){return e(v.selection,E.dom,I)}return d}if(u&&(u.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;u=null}if(z&&(z.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;z=null}if(/(TD|TABLE|TH|CAPTION)/.test(m)||(u&&m=="DIV"&&/left|right/gi.test(M.getStyle(u,"float",1)))){m=V.element;u=z=null}C=(u&&u.nodeName==m)?u.cloneNode(0):v.dom.create(m);T=(z&&z.nodeName==m)?z.cloneNode(0):v.dom.create(m);T.removeAttribute("id");if(/^(H[1-6])$/.test(m)&&f(G,u)){T=v.dom.create(V.element)}I=p=O;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}p=I}while((I=I.previousSibling?I.previousSibling:I.parentNode));I=x=q;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}x=I}while((I=I.nextSibling?I.nextSibling:I.parentNode));if(p.nodeName==m){J.setStart(p,0)}else{J.setStartBefore(p)}J.setEnd(O,N);C.appendChild(J.cloneContents()||R.createTextNode(""));try{K.setEndAfter(x)}catch(P){}K.setStart(q,o);T.appendChild(K.cloneContents()||R.createTextNode(""));G=R.createRange();if(!p.previousSibling&&p.parentNode.nodeName==m){G.setStartBefore(p.parentNode)}else{if(J.startContainer.nodeName==m&&J.startOffset==0){G.setStartBefore(J.startContainer)}else{G.setStart(J.startContainer,J.startOffset)}}if(!x.nextSibling&&x.parentNode.nodeName==m){G.setEndAfter(x.parentNode)}else{G.setEnd(K.endContainer,K.endOffset)}G.deleteContents();if(b){v.getWin().scrollTo(0,L.y)}if(C.firstChild&&C.firstChild.nodeName==m){C.innerHTML=C.firstChild.innerHTML}if(T.firstChild&&T.firstChild.nodeName==m){T.innerHTML=T.firstChild.innerHTML}function S(y,s){var r=[],X,W,t;y.innerHTML="";if(V.keep_styles){W=s;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(W.nodeName)){X=W.cloneNode(g);M.setAttrib(X,"id","");r.push(X)}}while(W=W.parentNode)}if(r.length>0){for(t=r.length-1,X=y;t>=0;t--){X=X.appendChild(r[t])}r[0].innerHTML=b?"\u00a0":"<br />";return r[0]}else{y.innerHTML=b?"\u00a0":"<br />"}}if(M.isEmpty(C)){S(C,O)}if(M.isEmpty(T)){A=S(T,q)}if(b&&parseFloat(opera.version())<9.5){G.insertNode(C);G.insertNode(T)}else{G.insertNode(T);G.insertNode(C)}T.normalize();C.normalize();v.selection.select(T,true);v.selection.collapse(true);B=v.dom.getPos(T).y;if(B<L.y||B+25>L.y+L.h){v.getWin().scrollTo(0,B<L.y?B:B-L.h+25)}v.undoManager.add();return g},backspaceDelete:function(u,B){var C=this,s=C.editor,y=s.getBody(),q=s.dom,p,v=s.selection,o=v.getRng(),x=o.startContainer,p,z,A,m;if(!B&&o.collapsed&&x.nodeType==1&&o.startOffset==x.childNodes.length){m=new l.dom.TreeWalker(x.lastChild,x);for(p=x.lastChild;p;p=m.prev()){if(p.nodeType==3){o.setStart(p,p.nodeValue.length);o.collapse(true);v.setRng(o);return}}}if(x&&s.dom.isBlock(x)&&!/^(TD|TH)$/.test(x.nodeName)&&B){if(x.childNodes.length==0||(x.childNodes.length==1&&x.firstChild.nodeName=="BR")){p=x;while((p=p.previousSibling)&&!s.dom.isBlock(p)){}if(p){if(x!=y.firstChild){z=s.dom.doc.createTreeWalker(p,NodeFilter.SHOW_TEXT,null,g);while(A=z.nextNode()){p=A}o=s.getDoc().createRange();o.setStart(p,p.nodeValue?p.nodeValue.length:0);o.setEnd(p,p.nodeValue?p.nodeValue.length:0);v.setRng(o);s.dom.remove(x)}return j.cancel(u)}}}}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(i){var h,g=this,f=g.editor;d(f.plugins,function(j){if(j.createControl){h=j.createControl(i,g);if(h){return false}}});switch(i){case"|":case"separator":return g.createSeparator()}if(!h&&f.buttons&&(h=f.buttons[i])){return g.createButton(i,h)}return g.add(h)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;if(g.settings.use_native_selects){k=new c.ui.NativeListBox(m,i)}else{f=l||h._cls.listbox||c.ui.ListBox;k=new f(m,i,g)}h.controls[m]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){g.bookmark=g.selection.getBookmark(1)});a.add(o,"focus",function(){g.selection.moveToBookmark(g.bookmark);g.bookmark=null})})}if(k.hideMenu){g.onMouseDown.add(k.hideMenu,k)}return h.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i,g)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(V){var M={},O=a.each,c=V.dom,q=V.selection,t=a.dom.TreeWalker,K=new a.dom.RangeUtils(c),d=V.schema.isValidChild,F=c.isBlock,l=V.settings.forced_root_block,s=c.nodeIndex,E="\uFEFF",e=/^(src|href|style)$/,S=false,B=true,p,P={apply:[],remove:[]};function z(W){return W instanceof Array}function m(X,W){return c.getParents(X,W,c.getRoot())}function b(W){return W.nodeType===1&&(W.face==="mceinline"||W.style.fontFamily==="mceinline")}function R(W){return W?M[W]:M}function k(W,X){if(W){if(typeof(W)!=="string"){O(W,function(Z,Y){k(Y,Z)})}else{X=X.length?X:[X];O(X,function(Y){if(Y.deep===p){Y.deep=!Y.selector}if(Y.split===p){Y.split=!Y.selector||Y.inline}if(Y.remove===p&&Y.selector&&!Y.inline){Y.remove="none"}if(Y.selector&&Y.inline){Y.mixed=true;Y.block_expand=true}if(typeof(Y.classes)==="string"){Y.classes=Y.classes.split(/\s+/)}});M[W]=X}}}var i=function(X){var W;V.dom.getParent(X,function(Y){W=V.dom.getStyle(Y,"text-decoration");return W&&W!=="none"});return W};var I=function(W){var X;if(W.nodeType===1&&W.parentNode&&W.parentNode.nodeType===1){X=i(W.parentNode);if(V.dom.getStyle(W,"color")&&X){V.dom.setStyle(W,"text-decoration",X)}else{if(V.dom.getStyle(W,"textdecoration")===X){V.dom.setStyle(W,"text-decoration",null)}}}};function T(Z,ah,ac){var ad=R(Z),ai=ad[0],ag,X,af,ae=q.isCollapsed();function aa(am){var al=am.startContainer,ap=am.startOffset,ao,an;if(al.nodeType==1||al.nodeValue===""){al=al.nodeType==1?al.childNodes[ap]:al;if(al){ao=new t(al,al.parentNode);for(an=ao.current();an;an=ao.next()){if(an.nodeType==3&&!f(an)){am.setStart(an,0);break}}}}return am}function W(am,al){al=al||ai;if(am){if(al.onformat){al.onformat(am,al,ah,ac)}O(al.styles,function(ao,an){c.setStyle(am,an,r(ao,ah))});O(al.attributes,function(ao,an){c.setAttrib(am,an,r(ao,ah))});O(al.classes,function(an){an=r(an,ah);if(!c.hasClass(am,an)){c.addClass(am,an)}})}}function ab(){function an(au,ar){var at=new t(ar);for(ac=at.current();ac;ac=at.prev()){if(ac.childNodes.length>1||ac==au){return ac}}}var am=V.selection.getRng();var aq=am.startContainer;var al=am.endContainer;if(aq!=al&&am.endOffset==0){var ap=an(aq,al);var ao=ap.nodeType==3?ap.length:ap.childNodes.length;am.setEnd(ap,ao)}return am}function Y(ao,au,ar,aq,am){var al=[],an=-1,at,aw=-1,ap=-1,av;O(ao.childNodes,function(ay,ax){if(ay.nodeName==="UL"||ay.nodeName==="OL"){an=ax;at=ay;return false}});O(ao.childNodes,function(ay,ax){if(ay.nodeName==="SPAN"&&c.getAttrib(ay,"data-mce-type")=="bookmark"){if(ay.id==au.id+"_start"){aw=ax}else{if(ay.id==au.id+"_end"){ap=ax}}}});if(an<=0||(aw<an&&ap>an)){O(a.grep(ao.childNodes),am);return 0}else{av=ar.cloneNode(S);O(a.grep(ao.childNodes),function(ay,ax){if((aw<an&&ax<an)||(aw>an&&ax>an)){al.push(ay);ay.parentNode.removeChild(ay)}});if(aw<an){ao.insertBefore(av,at)}else{if(aw>an){ao.insertBefore(av,at.nextSibling)}}aq.push(av);O(al,function(ax){av.appendChild(ax)});return av}}function aj(am,ao){var al=[],ap,an;ap=ai.inline||ai.block;an=c.create(ap);W(an);K.walk(am,function(aq){var ar;function at(au){var ax=au.nodeName.toLowerCase(),aw=au.parentNode.nodeName.toLowerCase(),av;if(g(ax,"br")){ar=0;if(ai.block){c.remove(au)}return}if(ai.wrapper&&x(au,Z,ah)){ar=0;return}if(ai.block&&!ai.wrapper&&G(ax)){au=c.rename(au,ap);W(au);al.push(au);ar=0;return}if(ai.selector){O(ad,function(ay){if("collapsed" in ay&&ay.collapsed!==ae){return}if(c.is(au,ay.selector)&&!b(au)){W(au,ay);av=true}});if(!ai.inline||av){ar=0;return}}if(d(ap,ax)&&d(aw,ap)&&!(au.nodeType===3&&au.nodeValue.length===1&&au.nodeValue.charCodeAt(0)===65279)){if(!ar){ar=an.cloneNode(S);au.parentNode.insertBefore(ar,au);al.push(ar)}ar.appendChild(au)}else{if(ax=="li"&&ao){ar=Y(au,ao,an,al,at)}else{ar=0;O(a.grep(au.childNodes),at);ar=0}}}O(aq,at)});if(ai.wrap_links===false){O(al,function(aq){function ar(aw){var av,au,at;if(aw.nodeName==="A"){au=an.cloneNode(S);al.push(au);at=a.grep(aw.childNodes);for(av=0;av<at.length;av++){au.appendChild(at[av])}aw.appendChild(au)}O(a.grep(aw.childNodes),ar)}ar(aq)})}O(al,function(at){var aq;function au(aw){var av=0;O(aw.childNodes,function(ax){if(!f(ax)&&!H(ax)){av++}});return av}function ar(av){var ax,aw;O(av.childNodes,function(ay){if(ay.nodeType==1&&!H(ay)&&!b(ay)){ax=ay;return S}});if(ax&&h(ax,ai)){aw=ax.cloneNode(S);W(aw);c.replace(aw,av,B);c.remove(ax,1)}return aw||av}aq=au(at);if((al.length>1||!F(at))&&aq===0){c.remove(at,1);return}if(ai.inline||ai.wrapper){if(!ai.exact&&aq===1){at=ar(at)}O(ad,function(av){O(c.select(av.inline,at),function(ax){var aw;if(av.wrap_links===false){aw=ax.parentNode;do{if(aw.nodeName==="A"){return}}while(aw=aw.parentNode)}U(av,ah,ax,av.exact?ax:null)})});if(x(at.parentNode,Z,ah)){c.remove(at,1);at=0;return B}if(ai.merge_with_parents){c.getParent(at.parentNode,function(av){if(x(av,Z,ah)){c.remove(at,1);at=0;return B}})}if(at&&ai.merge_siblings!==false){at=u(C(at),at);at=u(at,C(at,B))}}})}if(ai){if(ac){X=c.createRng();X.setStartBefore(ac);X.setEndAfter(ac);aj(o(X,ad))}else{if(!ae||!ai.inline||c.select("td.mceSelected,th.mceSelected").length){var ak=V.selection.getNode();V.selection.setRng(ab());ag=q.getBookmark();aj(o(q.getRng(B),ad),ag);if(ai.styles&&(ai.styles.color||ai.styles.textDecoration)){a.walk(ak,I,"childNodes");I(ak)}q.moveToBookmark(ag);q.setRng(aa(q.getRng(B)));V.nodeChanged()}else{Q("apply",Z,ah)}}}}function A(Y,ah,ab){var ac=R(Y),aj=ac[0],ag,af,X;function aa(am){var al=am.startContainer,ar=am.startOffset,aq,ap,an,ao;if(al.nodeType==3&&ar>=al.nodeValue.length-1){al=al.parentNode;ar=s(al)+1}if(al.nodeType==1){an=al.childNodes;al=an[Math.min(ar,an.length-1)];aq=new t(al);if(ar>an.length-1){aq.next()}for(ap=aq.current();ap;ap=aq.next()){if(ap.nodeType==3&&!f(ap)){ao=c.create("a",null,E);ap.parentNode.insertBefore(ao,ap);am.setStart(ap,0);q.setRng(am);c.remove(ao);return}}}}function Z(ao){var an,am,al;an=a.grep(ao.childNodes);for(am=0,al=ac.length;am<al;am++){if(U(ac[am],ah,ao,ao)){break}}if(aj.deep){for(am=0,al=an.length;am<al;am++){Z(an[am])}}}function ad(al){var am;O(m(al.parentNode).reverse(),function(an){var ao;if(!am&&an.id!="_start"&&an.id!="_end"){ao=x(an,Y,ah);if(ao&&ao.split!==false){am=an}}});return am}function W(ao,al,aq,au){var av,at,ar,an,ap,am;if(ao){am=ao.parentNode;for(av=al.parentNode;av&&av!=am;av=av.parentNode){at=av.cloneNode(S);for(ap=0;ap<ac.length;ap++){if(U(ac[ap],ah,at,at)){at=0;break}}if(at){if(ar){at.appendChild(ar)}if(!an){an=at}ar=at}}if(au&&(!aj.mixed||!F(ao))){al=c.split(ao,al)}if(ar){aq.parentNode.insertBefore(ar,aq);an.appendChild(aq)}}return al}function ai(al){return W(ad(al),al,al,true)}function ae(an){var am=c.get(an?"_start":"_end"),al=am[an?"firstChild":"lastChild"];if(H(al)){al=al[an?"firstChild":"lastChild"]}c.remove(am,true);return al}function ak(al){var am,an;al=o(al,ac,B);if(aj.split){am=J(al,B);an=J(al);if(am!=an){am=N(am,"span",{id:"_start","data-mce-type":"bookmark"});an=N(an,"span",{id:"_end","data-mce-type":"bookmark"});ai(am);ai(an);am=ae(B);an=ae()}else{am=an=ai(am)}al.startContainer=am.parentNode;al.startOffset=s(am);al.endContainer=an.parentNode;al.endOffset=s(an)+1}K.walk(al,function(ao){O(ao,function(ap){Z(ap);if(ap.nodeType===1&&V.dom.getStyle(ap,"text-decoration")==="underline"&&ap.parentNode&&i(ap.parentNode)==="underline"){U({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,ap)}})})}if(ab){X=c.createRng();X.setStartBefore(ab);X.setEndAfter(ab);ak(X);return}if(!q.isCollapsed()||!aj.inline||c.select("td.mceSelected,th.mceSelected").length){ag=q.getBookmark();ak(q.getRng(B));q.moveToBookmark(ag);if(j(Y,ah,q.getStart())){aa(q.getRng(true))}V.nodeChanged()}else{Q("remove",Y,ah)}}function D(X,Z,Y){var W=R(X);if(j(X,Z,Y)&&(!("toggle" in W[0])||W[0]["toggle"])){A(X,Z,Y)}else{T(X,Z,Y)}}function x(X,W,ac,aa){var Y=R(W),ad,ab,Z;function ae(ai,ak,al){var ah,aj,af=ak[al],ag;if(ak.onmatch){return ak.onmatch(ai,ak,al)}if(af){if(af.length===p){for(ah in af){if(af.hasOwnProperty(ah)){if(al==="attributes"){aj=c.getAttrib(ai,ah)}else{aj=L(ai,ah)}if(aa&&!aj&&!ak.exact){return}if((!aa||ak.exact)&&!g(aj,r(af[ah],ac))){return}}}}else{for(ag=0;ag<af.length;ag++){if(al==="attributes"?c.getAttrib(ai,af[ag]):L(ai,af[ag])){return ak}}}}return ak}if(Y&&X){for(ab=0;ab<Y.length;ab++){ad=Y[ab];if(h(X,ad)&&ae(X,ad,"attributes")&&ae(X,ad,"styles")){if(Z=ad.classes){for(ab=0;ab<Z.length;ab++){if(!c.hasClass(X,Z[ab])){return}}}return ad}}}}function j(Y,ab,aa){var X,Z;function W(ac){ac=c.getParent(ac,function(ad){return !!x(ad,Y,ab,true)});return x(ac,Y,ab)}if(aa){return W(aa)}if(q.isCollapsed()){for(Z=P.apply.length-1;Z>=0;Z--){if(P.apply[Z].name==Y){return true}}for(Z=P.remove.length-1;Z>=0;Z--){if(P.remove[Z].name==Y){return false}}return W(q.getNode())}aa=q.getNode();if(W(aa)){return B}X=q.getStart();if(X!=aa){if(W(X)){return B}}return S}function v(ad,ac){var aa,ab=[],Z={},Y,X,W;if(q.isCollapsed()){for(X=0;X<ad.length;X++){for(Y=P.remove.length-1;Y>=0;Y--){W=ad[X];if(P.remove[Y].name==W){Z[W]=true;break}}}for(Y=P.apply.length-1;Y>=0;Y--){for(X=0;X<ad.length;X++){W=ad[X];if(!Z[W]&&P.apply[Y].name==W){Z[W]=true;ab.push(W)}}}}aa=q.getStart();c.getParent(aa,function(ag){var af,ae;for(af=0;af<ad.length;af++){ae=ad[af];if(!Z[ae]&&x(ag,ae,ac)){Z[ae]=true;ab.push(ae)}}});return ab}function y(aa){var ac=R(aa),Z,Y,ab,X,W;if(ac){Z=q.getStart();Y=m(Z);for(X=ac.length-1;X>=0;X--){W=ac[X].selector;if(!W){return B}for(ab=Y.length-1;ab>=0;ab--){if(c.is(Y[ab],W)){return B}}}}return S}a.extend(this,{get:R,register:k,apply:T,remove:A,toggle:D,match:j,matchAll:v,matchNode:x,canApply:y});function h(W,X){if(g(W,X.inline)){return B}if(g(W,X.block)){return B}if(X.selector){return c.is(W,X.selector)}}function g(X,W){X=X||"";W=W||"";X=""+(X.nodeName||X);W=""+(W.nodeName||W);return X.toLowerCase()==W.toLowerCase()}function L(X,W){var Y=c.getStyle(X,W);if(W=="color"||W=="backgroundColor"){Y=c.toHex(Y)}if(W=="fontWeight"&&Y==700){Y="bold"}return""+Y}function r(W,X){if(typeof(W)!="string"){W=W(X)}else{if(X){W=W.replace(/%(\w+)/g,function(Z,Y){return X[Y]||Z})}}return W}function f(W){return W&&W.nodeType===3&&/^([\s\r\n]+|)$/.test(W.nodeValue)}function N(Y,X,W){var Z=c.create(X,W);Y.parentNode.insertBefore(Z,Y);Z.appendChild(Y);return Z}function o(W,ag,Z){var Y=W.startContainer,ad=W.startOffset,aj=W.endContainer,ae=W.endOffset,ai,af,ac;function ah(am,an,ak,al){var ao,ap;al=al||c.getRoot();for(;;){ao=am.parentNode;if(ao==al||(!ag[0].block_expand&&F(ao))){return am}for(ai=ao[an];ai&&ai!=am;ai=ai[ak]){if(ai.nodeType==1&&!H(ai)){return am}if(ai.nodeType==3&&!f(ai)){return am}}am=am.parentNode}return am}function ab(ak,al){if(al===p){al=ak.nodeType===3?ak.length:ak.childNodes.length}while(ak&&ak.hasChildNodes()){ak=ak.childNodes[al];if(ak){al=ak.nodeType===3?ak.length:ak.childNodes.length}}return{node:ak,offset:al}}if(Y.nodeType==1&&Y.hasChildNodes()){af=Y.childNodes.length-1;Y=Y.childNodes[ad>af?af:ad];if(Y.nodeType==3){ad=0}}if(aj.nodeType==1&&aj.hasChildNodes()){af=aj.childNodes.length-1;aj=aj.childNodes[ae>af?af:ae-1];if(aj.nodeType==3){ae=aj.nodeValue.length}}if(H(Y.parentNode)){Y=Y.parentNode}if(H(Y)){Y=Y.nextSibling||Y}if(H(aj.parentNode)){ae=c.nodeIndex(aj);aj=aj.parentNode}if(H(aj)&&aj.previousSibling){aj=aj.previousSibling;ae=aj.length}if(ag[0].inline){ac=ab(aj,ae);if(ac.node){while(ac.node&&ac.offset===0&&ac.node.previousSibling){ac=ab(ac.node.previousSibling)}if(ac.node&&ac.offset>0&&ac.node.nodeType===3&&ac.node.nodeValue.charAt(ac.offset-1)===" "){if(ac.offset>1){aj=ac.node;aj.splitText(ac.offset-1)}else{if(ac.node.previousSibling){aj=ac.node.previousSibling}}}}}if(ag[0].inline||ag[0].block_expand){Y=ah(Y,"firstChild","nextSibling");aj=ah(aj,"lastChild","previousSibling")}if(ag[0].selector&&ag[0].expand!==S&&!ag[0].inline){function aa(al,ak){var am,an,ap,ao;if(al.nodeType==3&&al.nodeValue.length==0&&al[ak]){al=al[ak]}am=m(al);for(an=0;an<am.length;an++){for(ap=0;ap<ag.length;ap++){ao=ag[ap];if("collapsed" in ao&&ao.collapsed!==W.collapsed){continue}if(c.is(am[an],ao.selector)){return am[an]}}}return al}Y=aa(Y,"previousSibling");aj=aa(aj,"nextSibling")}if(ag[0].block||ag[0].selector){function X(al,ak,an){var am;if(!ag[0].wrapper){am=c.getParent(al,ag[0].block)}if(!am){am=c.getParent(al.nodeType==3?al.parentNode:al,F)}if(am&&ag[0].wrapper){am=m(am,"ul,ol").reverse()[0]||am}if(!am){am=al;while(am[ak]&&!F(am[ak])){am=am[ak];if(g(am,"br")){break}}}return am||al}Y=X(Y,"previousSibling");aj=X(aj,"nextSibling");if(ag[0].block){if(!F(Y)){Y=ah(Y,"firstChild","nextSibling")}if(!F(aj)){aj=ah(aj,"lastChild","previousSibling")}}}if(Y.nodeType==1){ad=s(Y);Y=Y.parentNode}if(aj.nodeType==1){ae=s(aj)+1;aj=aj.parentNode}return{startContainer:Y,startOffset:ad,endContainer:aj,endOffset:ae}}function U(ac,ab,Z,W){var Y,X,aa;if(!h(Z,ac)){return S}if(ac.remove!="all"){O(ac.styles,function(ae,ad){ae=r(ae,ab);if(typeof(ad)==="number"){ad=ae;W=0}if(!W||g(L(W,ad),ae)){c.setStyle(Z,ad,"")}aa=1});if(aa&&c.getAttrib(Z,"style")==""){Z.removeAttribute("style");Z.removeAttribute("data-mce-style")}O(ac.attributes,function(af,ad){var ae;af=r(af,ab);if(typeof(ad)==="number"){ad=af;W=0}if(!W||g(c.getAttrib(W,ad),af)){if(ad=="class"){af=c.getAttrib(Z,ad);if(af){ae="";O(af.split(/\s+/),function(ag){if(/mce\w+/.test(ag)){ae+=(ae?" ":"")+ag}});if(ae){c.setAttrib(Z,ad,ae);return}}}if(ad=="class"){Z.removeAttribute("className")}if(e.test(ad)){Z.removeAttribute("data-mce-"+ad)}Z.removeAttribute(ad)}});O(ac.classes,function(ad){ad=r(ad,ab);if(!W||c.hasClass(W,ad)){c.removeClass(Z,ad)}});X=c.getAttribs(Z);for(Y=0;Y<X.length;Y++){if(X[Y].nodeName.indexOf("_")!==0){return S}}}if(ac.remove!="none"){n(Z,ac);return B}}function n(Y,Z){var W=Y.parentNode,X;if(Z.block){if(!l){function aa(ac,ab,ad){ac=C(ac,ab,ad);return !ac||(ac.nodeName=="BR"||F(ac))}if(F(Y)&&!F(W)){if(!aa(Y,S)&&!aa(Y.firstChild,B,1)){Y.insertBefore(c.create("br"),Y.firstChild)}if(!aa(Y,B)&&!aa(Y.lastChild,S,1)){Y.appendChild(c.create("br"))}}}else{if(W==c.getRoot()){if(!Z.list_block||!g(Y,Z.list_block)){O(a.grep(Y.childNodes),function(ab){if(d(l,ab.nodeName.toLowerCase())){if(!X){X=N(ab,l)}else{X.appendChild(ab)}}else{X=0}})}}}}if(Z.selector&&Z.inline&&!g(Z.inline,Y)){return}c.remove(Y,1)}function C(X,W,Y){if(X){W=W?"nextSibling":"previousSibling";for(X=Y?X:X[W];X;X=X[W]){if(X.nodeType==1||!f(X)){return X}}}}function H(W){return W&&W.nodeType==1&&W.getAttribute("data-mce-type")=="bookmark"}function u(aa,Z){var W,Y,X;function ac(af,ae){if(af.nodeName!=ae.nodeName){return S}function ad(ah){var ai={};O(c.getAttribs(ah),function(aj){var ak=aj.nodeName.toLowerCase();if(ak.indexOf("_")!==0&&ak!=="style"){ai[ak]=c.getAttrib(ah,ak)}});return ai}function ag(ak,aj){var ai,ah;for(ah in ak){if(ak.hasOwnProperty(ah)){ai=aj[ah];if(ai===p){return S}if(ak[ah]!=ai){return S}delete aj[ah]}}for(ah in aj){if(aj.hasOwnProperty(ah)){return S}}return B}if(!ag(ad(af),ad(ae))){return S}if(!ag(c.parseStyle(c.getAttrib(af,"style")),c.parseStyle(c.getAttrib(ae,"style")))){return S}return B}if(aa&&Z){function ab(ae,ad){for(Y=ae;Y;Y=Y[ad]){if(Y.nodeType==3&&Y.nodeValue.length!==0){return ae}if(Y.nodeType==1&&!H(Y)){return Y}}return ae}aa=ab(aa,"previousSibling");Z=ab(Z,"nextSibling");if(ac(aa,Z)){for(Y=aa.nextSibling;Y&&Y!=Z;){X=Y;Y=Y.nextSibling;aa.appendChild(X)}c.remove(Z);O(a.grep(Z.childNodes),function(ad){aa.appendChild(ad)});return aa}}return Z}function G(W){return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(W)}function J(X,aa){var W,Z,Y;W=X[aa?"startContainer":"endContainer"];Z=X[aa?"startOffset":"endOffset"];if(W.nodeType==1){Y=W.childNodes.length-1;if(!aa&&Z){Z--}W=W.childNodes[Z>Y?Y:Z]}return W}function Q(ad,Y,ac){var aa,X=P[ad],ae=P[ad=="apply"?"remove":"apply"];function af(){return P.apply.length||P.remove.length}function ab(){P.apply=[];P.remove=[]}function ag(ah){O(P.apply.reverse(),function(ai){T(ai.name,ai.vars,ah);if(ai.name==="forecolor"&&ai.vars.value){I(ah.parentNode)}});O(P.remove.reverse(),function(ai){A(ai.name,ai.vars,ah)});c.remove(ah,1);ab()}for(aa=X.length-1;aa>=0;aa--){if(X[aa].name==Y){return}}X.push({name:Y,vars:ac});for(aa=ae.length-1;aa>=0;aa--){if(ae[aa].name==Y){ae.splice(aa,1)}}if(af()){V.getDoc().execCommand("FontName",false,"mceinline");P.lastRng=q.getRng();O(c.select("font,span"),function(ai){var ah;if(b(ai)){ah=q.getBookmark();ag(ai);q.moveToBookmark(ah);V.nodeChanged()}});if(!P.isListening&&af()){P.isListening=true;function W(ai,aj){var ah=c.createRng();ag(ai);ah.setStart(aj,aj.nodeValue.length);ah.setEnd(aj,aj.nodeValue.length);q.setRng(ah);V.nodeChanged()}var Z=false;O("onKeyDown,onKeyUp,onKeyPress,onMouseUp".split(","),function(ah){V[ah].addToTop(function(ai,al){if(al.keyCode==13&&!al.shiftKey){Z=true;return}if(af()&&!a.dom.RangeUtils.compareRanges(P.lastRng,q.getRng())){var aj=false;O(c.select("font,span"),function(ao){var ap,an;if(b(ao)){aj=true;ap=ao.firstChild;while(ap&&ap.nodeType!=3){ap=ap.firstChild}if(ap){W(ao,ap)}else{c.remove(ao)}}});if(Z&&!aj){var ak=q.getNode();var am=ak;while(am&&am.nodeType!=3){am=am.firstChild}if(am){ak=am.parentNode;while(!F(ak)){ak=ak.parentNode}W(ak,am)}}if(al.type=="keyup"||al.type=="mouseup"){ab();Z=false}}})})}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;if(c.inline_styles){h=e.explode(c.font_size_style_values);function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});
\ No newline at end of file
--- 1 ----
! (function(d){var a=/^\s*|\s*$/g,e,c="B".replace(/A(.)|B/,"$1")==="$1";var b={majorVersion:"3",minorVersion:"4.9",releaseDate:"2012-02-23",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=d.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){if(r=f[m].href){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==e}if(f=="array"&&(g.hasOwnProperty&&g instanceof Array)){return true}return typeof(g)==f},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==e){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];b.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];b.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(k,j){var h,g,f=arguments;for(h=1,g=f.length;h<g;h++){j=f[h];b.each(j,function(i,l){if(i!==e){k[l]=i}})}return k},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}b.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}b.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this;j={func:j,scope:i||this};if(!h.unloads){function g(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(d.detachEvent){d.detachEvent("onbeforeunload",k);d.detachEvent("onunload",g)}else{if(d.removeEventListener){d.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(d.CollectGarbage){CollectGarbage()}}}function k(){var l=document;if(l.readyState=="interactive"){function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l){l.attachEvent("onstop",f)}d.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}if(d.attachEvent){d.attachEvent("onunload",g);d.attachEvent("onbeforeunload",k)}else{if(d.addEventListener){d.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;b.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){return f?b.map(f.split(g||","),b.trim):f},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(c){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===e){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};b._init();d.tinymce=d.tinyMCE=b})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(a,b){this.listeners.push({cb:a,scope:b||this.scope});return a},addToTop:function(a,b){this.listeners.unshift({cb:a,scope:b||this.scope});return a},remove:function(a){var b=this.listeners,c=null;tinymce.each(b,function(e,d){if(a==e.cb){c=a;b.splice(d,1);return false}});return c},dispatch:function(){var f,d=arguments,e,b=this.listeners,g;for(e=0;e<b.length;e++){g=b[e];f=g.cb.apply(g.scope,d.length>0?d:[g.scope]);if(f===false){break}}return f}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});if(c=g.base_uri){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host=="mce_host"){f.port=c.port}if(!f.host||f.host=="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var c=this,d;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:c});if((b.host!="mce_host"&&c.host!=b.host&&b.host)||c.port!=b.port||c.protocol!=b.protocol){return b.getURI()}d=c.toRelPath(c.path,b.path);if(b.query){d+="?"+b.query}if(b.anchor){d+="#"+b.anchor}return d},toAbsolute:function(b,c){var b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();(function(){function serialize(o,quote){var i,v,t;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&o instanceof Array){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(i in o){if(o.hasOwnProperty(i)){v+=typeof o[i]!="function"?(v.length>1?","+quote:quote)+i+quote+":"+serialize(o[i],quote):""}}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={DELETE:46,BACKSPACE:8,ENTER:13,TAB:9,SPACEBAR:32,UP:38,DOWN:40,modifierPressed:function(b){return b.shiftKey||b.ctrlKey||b.altKey}}})(tinymce);(function(l){var j=l.VK,k=j.BACKSPACE,h=j.DELETE;function c(n){var p=n.dom,o=n.selection;n.onKeyDown.add(function(r,v){var q,x,t,u,s;s=v.keyCode==h;if((s||v.keyCode==k)&&!j.modifierPressed(v)){v.preventDefault();q=o.getRng();x=p.getParent(q.startContainer,p.isBlock);if(s){x=p.getNext(x,p.isBlock)}if(x){t=x.firstChild;while(t&&t.nodeType==3&&t.nodeValue.length==0){t=t.nextSibling}if(t&&t.nodeName==="SPAN"){u=t.cloneNode(false)}}r.getDoc().execCommand(s?"ForwardDelete":"Delete",false,null);x=p.getParent(q.startContainer,p.isBlock);l.each(p.select("span.Apple-style-span,font.Apple-style-span",x),function(y){var z=o.getBookmark();if(u){p.replace(u.cloneNode(false),y,true)}else{p.remove(y,true)}o.moveToBookmark(z)})}})}function d(n){function o(r){var q=n.dom.create("body");var s=r.cloneContents();q.appendChild(s);return n.selection.serializer.serialize(q,{format:"html"})}function p(q){var s=o(q);var t=n.dom.createRng();t.selectNode(n.getBody());var r=o(t);return s===r}n.onKeyDown.addToTop(function(r,t){var s=t.keyCode;if(s==h||s==k){var q=r.selection.getRng(true);if(!q.collapsed&&p(q)){r.setContent("",{format:"raw"});r.nodeChanged();t.preventDefault()}}})}function b(n){n.dom.bind(n.getDoc(),"focusin",function(){n.selection.setRng(n.selection.getRng())})}function e(n){n.onKeyDown.add(function(o,r){if(r.keyCode===k){if(o.selection.isCollapsed()&&o.selection.getRng(true).startOffset===0){var q=o.selection.getNode();var p=q.previousSibling;if(p&&p.nodeName&&p.nodeName.toLowerCase()==="hr"){o.dom.remove(p);l.dom.Event.cancel(r)}}}})}function g(n){if(!Range.prototype.getClientRects){n.onMouseDown.add(function(p,q){if(q.target.nodeName==="HTML"){var o=p.getBody();o.blur();setTimeout(function(){o.focus()},0)}})}}function f(n){n.onClick.add(function(o,p){p=p.target;if(/^(IMG|HR)$/.test(p.nodeName)){o.selection.getSel().setBaseAndExtent(p,0,p,1)}if(p.nodeName=="A"&&o.dom.hasClass(p,"mceItemAnchor")){o.selection.select(p)}o.nodeChanged()})}function i(n){n.onKeyDown.add(function(o,p){function q(r){var s=r.selection.getNode();var t="h1,h2,h3,h4,h5,h6";return r.dom.is(s,t)||r.dom.getParent(s,t)!==null}if(p.keyCode===j.ENTER&&!j.modifierPressed(p)&&q(o)){setTimeout(function(){var r=o.selection.getNode();if(o.dom.is(r,"p")){o.dom.setAttrib(r,"style",null);o.execCommand("mceCleanup")}},0)}})}function m(n){var p,o;n.dom.bind(n.getDoc(),"selectionchange",function(){if(o){clearTimeout(o);o=0}o=window.setTimeout(function(){var q=n.selection.getRng();if(!p||!l.dom.RangeUtils.compareRanges(q,p)){n.nodeChanged();p=q}},50)})}function a(n){document.body.setAttribute("role","application")}l.create("tinymce.util.Quirks",{Quirks:function(n){if(l.isWebKit){c(n);d(n);b(n);f(n);if(l.isIDevice){m(n)}}if(l.isIE){e(n);d(n);a(n);i(n)}if(l.isGecko){e(n);g(n)}}})})(tinymce);(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;"};d={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g<j.length;g++){a[j[g]]="\uFEFF"+g;a["\uFEFF"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(r){var y={},p,n,v,q,u=d.url_converter,x=d.url_converter_scope||this;function o(C,F){var E,B,A,D;E=y[C+"-top"+F];if(!E){return}B=y[C+"-right"+F];if(E!=B){return}A=y[C+"-bottom"+F];if(B!=A){return}D=y[C+"-left"+F];if(A!=D){return}y[C+F]=D;delete y[C+"-top"+F];delete y[C+"-right"+F];delete y[C+"-bottom"+F];delete y[C+"-left"+F]}function t(B){var C=y[B],A;if(!C||C.indexOf(" ")<0){return}C=C.split(" ");A=C.length;while(A--){if(C[A]!==C[0]){return false}}y[B]=C[0];return true}function z(C,B,A,D){if(!t(B)){return}if(!t(A)){return}if(!t(D)){return}y[C]=y[B]+" "+y[A]+" "+y[D];delete y[B];delete y[A];delete y[D]}function s(A){q=true;return a[A]}function i(B,A){if(q){B=B.replace(/\uFEFF[0-9]/g,function(C){return a[C]})}if(!A){B=B.replace(/\\([\'\";:])/g,"$1")}return B}if(r){r=r.replace(/\\[\"\';:\uFEFF]/g,s).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(A){return A.replace(/[;:]/g,s)});while(p=b.exec(r)){n=p[1].replace(l,"").toLowerCase();v=p[2].replace(l,"");if(n&&v.length>0){if(n==="font-weight"&&v==="700"){v="bold"}else{if(n==="color"||n==="background-color"){v=v.toLowerCase()}}v=v.replace(k,c);v=v.replace(h,function(B,A,E,D,F,C){F=F||C;if(F){F=i(F);return"'"+F.replace(/\'/g,"\\'")+"'"}A=i(A||E||D);if(u){A=u.call(x,A,"style")}return"url('"+A.replace(/\'/g,"\\'")+"')"});y[n]=q?i(v,true):v}b.lastIndex=p.index+p[0].length}o("border","");o("border","-width");o("border","-color");o("border","-style");o("padding","");o("margin","");z("border","border-width","border-style","border-color");if(y.border==="medium none"){delete y.border}}return y},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(m){var h={},j,l,g,f,c={},b,e,d=m.makeMap,k=m.each;function i(o,n){return o.split(n||",")}function a(r,q){var o,p={};function n(s){return s.replace(/[A-Z]+/g,function(t){return n(r[t])})}for(o in r){if(r.hasOwnProperty(o)){r[o]=n(r[o])}}n(q).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(v,t,s,u){s=i(s,"|");p[t]={attributes:d(s),attributesOrder:s,children:d(u,"|",{"#comment":{}})}});return p}l="h1,h2,h3,h4,h5,h6,hr,p,div,address,pre,form,table,tbody,thead,tfoot,th,tr,td,li,ol,ul,caption,blockquote,center,dl,dt,dd,dir,fieldset,noscript,menu,isindex,samp,header,footer,article,section,hgroup,aside,audio,canvas,figcaption,figure,nav,output,video";l=d(l,",",d(l.toUpperCase()));h=a({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]");j=d("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected,autoplay,loop,controls");g=d("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,source");f=m.extend(d("td,th,iframe,video,audio,object"),g);b=d("pre,script,style,textarea");e=d("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");m.html.Schema=function(r){var A=this,n={},o={},y=[],q,p;r=r||{};if(r.verify_html===false){r.valid_elements="*[*]"}if(r.valid_styles){q={};k(r.valid_styles,function(C,B){q[B]=m.explode(C)})}p=r.whitespace_elements?d(r.whitespace_elements):b;function z(B){return new RegExp("^"+B.replace(/([?+*])/g,".$1")+"$")}function t(I){var H,D,W,S,X,C,F,R,U,N,V,Z,L,G,T,B,P,E,Y,aa,M,Q,K=/^([#+-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,O=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,J=/[*?+]/;if(I){I=i(I);if(n["@"]){P=n["@"].attributes;E=n["@"].attributesOrder}for(H=0,D=I.length;H<D;H++){C=K.exec(I[H]);if(C){T=C[1];N=C[2];B=C[3];U=C[4];L={};G=[];F={attributes:L,attributesOrder:G};if(T==="#"){F.paddEmpty=true}if(T==="-"){F.removeEmpty=true}if(P){for(aa in P){L[aa]=P[aa]}G.push.apply(G,E)}if(U){U=i(U,"|");for(W=0,S=U.length;W<S;W++){C=O.exec(U[W]);if(C){R={};Z=C[1];V=C[2].replace(/::/g,":");T=C[3];Q=C[4];if(Z==="!"){F.attributesRequired=F.attributesRequired||[];F.attributesRequired.push(V);R.required=true}if(Z==="-"){delete L[V];G.splice(m.inArray(G,V),1);continue}if(T){if(T==="="){F.attributesDefault=F.attributesDefault||[];F.attributesDefault.push({name:V,value:Q});R.defaultValue=Q}if(T===":"){F.attributesForced=F.attributesForced||[];F.attributesForced.push({name:V,value:Q});R.forcedValue=Q}if(T==="<"){R.validValues=d(Q,"?")}}if(J.test(V)){F.attributePatterns=F.attributePatterns||[];R.pattern=z(V);F.attributePatterns.push(R)}else{if(!L[V]){G.push(V)}L[V]=R}}}}if(!P&&N=="@"){P=L;E=G}if(B){F.outputName=N;n[B]=F}if(J.test(N)){F.pattern=z(N);y.push(F)}else{n[N]=F}}}}}function v(B){n={};y=[];t(B);k(h,function(D,C){o[C]=D.children})}function s(C){var B=/^(~)?(.+)$/;if(C){k(i(C),function(G){var E=B.exec(G),F=E[1]==="~",H=F?"span":"div",D=E[2];o[D]=o[H];c[D]=H;if(!F){l[D]={}}k(o,function(I,J){if(I[H]){I[D]=I[H]}})})}}function u(C){var B=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(C){k(i(C),function(G){var F=B.exec(G),D,E;if(F){E=F[1];if(E){D=o[F[2]]}else{D=o[F[2]]={"#comment":{}}}D=o[F[2]];k(i(F[3],"|"),function(H){if(E==="-"){delete D[H]}else{D[H]={}}})}})}}function x(B){var D=n[B],C;if(D){return D}C=y.length;while(C--){D=y[C];if(D.pattern.test(B)){return D}}}if(!r.valid_elements){k(h,function(C,B){n[B]={attributes:C.attributes,attributesOrder:C.attributesOrder};o[B]=C.children});k(i("strong/b,em/i"),function(B){B=i(B,"/");n[B[1]].outputName=B[0]});n.img.attributesDefault=[{name:"alt",value:""}];k(i("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr"),function(B){n[B].removeEmpty=true});k(i("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(B){n[B].paddEmpty=true})}else{v(r.valid_elements)}s(r.custom_elements);u(r.valid_children);t(r.extended_valid_elements);u("+ol[ul|ol],+ul[ul|ol]");if(!x("span")){t("span[!data-mce-type|*]")}if(r.invalid_elements){m.each(m.explode(r.invalid_elements),function(B){if(n[B]){delete n[B]}})}A.children=o;A.styles=q;A.getBoolAttrs=function(){return j};A.getBlockElements=function(){return l};A.getShortEndedElements=function(){return g};A.getSelfClosingElements=function(){return e};A.getNonEmptyElements=function(){return f};A.getWhiteSpaceElements=function(){return p};A.isValidChild=function(B,D){var C=o[B];return !!(C&&C[D])};A.getElementRule=x;A.getCustomElements=function(){return c};A.addValidElements=t;A.setValidElements=v;A.addCustomElements=s;A.addValidChildren=u};m.html.Schema.boolAttrMap=j;m.html.Schema.blockElementsMap=l})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(D){var n=this,g,F=0,H,A,z=[],M,P,B,q,y,r,L,G,N,u,m,k,s,Q,o,O,E,R,K,f,I,l,C,J,h,v=0,j=a.html.Entities.decode,x,p;function t(S){var U,T;U=z.length;while(U--){if(z[U].name===S){break}}if(U>=0){for(T=z.length-1;T>=U;T--){S=z[T];if(S.valid){n.end(S.name)}}z.length=U}}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([^\\s\\/<>]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/)>))","g");C=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g;J={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};L=e.getShortEndedElements();I=e.getSelfClosingElements();G=e.getBoolAttrs();u=c.validate;r=c.remove_internals;x=c.fix_self_closing;p=a.isIE;o=/^:/;while(g=l.exec(D)){if(F<g.index){n.text(j(D.substr(F,g.index-F)))}if(H=g[6]){H=H.toLowerCase();if(p&&o.test(H)){H=H.substr(1)}t(H)}else{if(H=g[7]){H=H.toLowerCase();if(p&&o.test(H)){H=H.substr(1)}N=H in L;if(x&&I[H]&&z.length>0&&z[z.length-1].name===H){t(H)}if(!u||(m=e.getElementRule(H))){k=true;if(u){O=m.attributes;E=m.attributePatterns}if(Q=g[8]){y=Q.indexOf("data-mce-type")!==-1;if(y&&r){k=false}M=[];M.map={};Q.replace(C,function(T,S,X,W,V){var Y,U;S=S.toLowerCase();X=S in G?S:j(X||W||V||"");if(u&&!y&&S.indexOf("data-")!==0){Y=O[S];if(!Y&&E){U=E.length;while(U--){Y=E[U];if(Y.pattern.test(S)){break}}if(U===-1){Y=null}}if(!Y){return}if(Y.validValues&&!(X in Y.validValues)){return}}M.map[S]=X;M.push({name:S,value:X})})}else{M=[];M.map={}}if(u&&!y){R=m.attributesRequired;K=m.attributesDefault;f=m.attributesForced;if(f){P=f.length;while(P--){s=f[P];q=s.name;h=s.value;if(h==="{$uid}"){h="mce_"+v++}M.map[q]=h;M.push({name:q,value:h})}}if(K){P=K.length;while(P--){s=K[P];q=s.name;if(!(q in M.map)){h=s.value;if(h==="{$uid}"){h="mce_"+v++}M.map[q]=h;M.push({name:q,value:h})}}}if(R){P=R.length;while(P--){if(R[P] in M.map){break}}if(P===-1){k=false}}if(M.map["data-mce-bogus"]){k=false}}if(k){n.start(H,M,N)}}else{k=false}if(A=J[H]){A.lastIndex=F=g.index+g[0].length;if(g=A.exec(D)){if(k){B=D.substr(F,g.index-F)}F=g.index+g[0].length}else{B=D.substr(F);F=D.length}if(k&&B.length>0){n.text(B,true)}if(k){n.end(H)}l.lastIndex=F;continue}if(!N){if(!Q||Q.indexOf("/")!=Q.length-1){z.push({name:H,valid:k})}else{if(k){n.end(H)}}}}else{if(H=g[1]){n.comment(H)}else{if(H=g[2]){n.cdata(H)}else{if(H=g[3]){n.doctype(H)}else{if(H=g[4]){n.pi(H,g[5])}}}}}}F=g.index+g[0].length}if(F<D.length){n.text(j(D.substr(F)))}for(P=z.length-1;P>=0;P--){H=z[P];if(H.valid){n.end(H.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-")===0){return false}}}if(j.type===8){return false}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true},walk:function(f){return a(this,null,f)}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(m){var o,p,x,v,z,n,q,l,t,u,k,s,y,r;s=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();for(o=0;o<m.length;o++){p=m[o];if(!p.parent){continue}v=[p];for(x=p.parent;x&&!h.isValidChild(x.name,p.name)&&!s[x.name];x=x.parent){v.push(x)}if(x&&v.length>1){v.reverse();z=n=f.filterNode(v[0].clone());for(t=0;t<v.length-1;t++){if(h.isValidChild(n.name,v[t].name)){q=f.filterNode(v[t].clone());n.append(q)}else{q=n}for(l=v[t].firstChild;l&&l!=v[t+1];){r=l.next;q.append(l);l=r}n=q}if(!z.isEmpty(k)){x.insert(z,v[0],true);x.insert(p,z)}else{x.insert(p,v[0],true)}x=v[0];if(x.isEmpty(k)||x.firstChild===x.lastChild&&x.firstChild.name==="br"){x.empty().remove()}}else{if(p.parent){if(p.name==="li"){y=p.prev;if(y&&(y.name==="ul"||y.name==="ul")){y.append(p);continue}y=p.next;if(y&&(y.name==="ul"||y.name==="ul")){y.insert(p,y.firstChild,true);continue}p.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(p.parent.name,"div")&&h.isValidChild("div",p.name)){p.wrap(f.filterNode(new a("div",1)))}else{if(p.name==="style"||p.name==="script"){p.empty().remove()}else{p.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(v,m){var n,H,A,z,C,B,x,r,E,K,y,o,D,J=[],t,k,s,p,u,q;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());u=h.getNonEmptyElements();p=h.children;y=g.validate;q="forced_root_block" in m?m.forced_root_block:g.forced_root_block;s=h.getWhiteSpaceElements();D=/^[ \t\r\n]+/;t=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;function F(){var L=H.firstChild,l,M;while(L){l=L.next;if(L.type==3||(L.type==1&&L.name!=="p"&&!o[L.name]&&!L.attr("data-mce-type"))){if(!M){M=I(q,1);H.insert(M,L);M.append(L)}else{M.append(L)}}else{M=null}L=l}}function I(l,L){var M=new a(l,L),N;if(l in e){N=i[l];if(N){N.push(M)}else{i[l]=[M]}}return M}function G(M){var N,l,L;for(N=M.prev;N&&N.type===3;){l=N.value.replace(t,"");if(l.length>0){N.value=l;N=N.prev}else{L=N.prev;N.remove();N=L}}}n=new b.html.SaxParser({validate:y,fix_self_closing:!y,cdata:function(l){A.append(I("#cdata",4)).value=l},text:function(M,l){var L;if(!s[A.name]){M=M.replace(k," ");if(A.lastChild&&o[A.lastChild.name]){M=M.replace(D,"")}}if(M.length!==0){L=I("#text",3);L.raw=!!l;A.append(L).value=M}},comment:function(l){A.append(I("#comment",8)).value=l},pi:function(l,L){A.append(I(l,7)).value=L;G(A)},doctype:function(L){var l;l=A.append(I("#doctype",10));l.value=L;G(A)},start:function(l,T,M){var R,O,N,L,P,U,S,Q;N=y?h.getElementRule(l):{};if(N){R=I(N.outputName||l,1);R.attributes=T;R.shortEnded=M;A.append(R);Q=p[A.name];if(Q&&p[R.name]&&!Q[R.name]){J.push(R)}O=d.length;while(O--){P=d[O].name;if(P in T.map){E=c[P];if(E){E.push(R)}else{c[P]=[R]}}}if(o[l]){G(R)}if(!M){A=R}}},end:function(l){var P,M,O,L,N;M=y?h.getElementRule(l):{};if(M){if(o[l]){if(!s[A.name]){for(P=A.firstChild;P&&P.type===3;){O=P.value.replace(D,"");if(O.length>0){P.value=O;P=P.next}else{L=P.next;P.remove();P=L}}for(P=A.lastChild;P&&P.type===3;){O=P.value.replace(t,"");if(O.length>0){P.value=O;P=P.prev}else{L=P.prev;P.remove();P=L}}}P=A.prev;if(P&&P.type===3){O=P.value.replace(D,"");if(O.length>0){P.value=O}else{P.remove()}}}if(M.removeEmpty||M.paddEmpty){if(A.isEmpty(u)){if(M.paddEmpty){A.empty().append(new a("#text","3")).value="\u00a0"}else{if(!A.attributes.map.name){N=A.parent;A.empty().remove();A=N;return}}}}A=A.parent}}},h);H=A=new a(m.context||g.root_name,11);n.parse(v);if(y&&J.length){if(!m.context){j(J)}else{m.invalid=true}}if(q&&H.name=="body"){F()}if(!m.invalid){for(K in i){E=e[K];z=i[K];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(C=0,B=E.length;C<B;C++){E[C](z,K,m)}}for(C=0,B=d.length;C<B;C++){E=d[C];if(E.name in c){z=c[E.name];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(x=0,r=E.callbacks.length;x<r;x++){E.callbacks[x](z,E.name,m)}}}}return H};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,u=h.getBlockElements(),k=h.getNonEmptyElements(),s,p,t;u.body=1;for(r=0;r<q;r++){o=n[r];s=o.parent;if(u[o.parent.name]&&o===s.lastChild){p=o.prev;while(p){t=p.name;if(t!=="span"||p.attr("data-mce-type")!=="bookmark"){if(t!=="br"){break}if(t==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(s.isEmpty(k)){elementRule=h.getElementRule(s.name);if(elementRule){if(elementRule.removeEmpty){s.remove()}else{if(elementRule.paddEmpty){s.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);(function(h){var f=h.each,e=h.is,d=h.isWebKit,b=h.isIE,c=h.html.Entities,a=/^([a-z0-9],?)+$/i,g=h.html.Schema.blockElementsMap,i=/^[ \t\r\n]*$/;h.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(o,m){var l=this,j,k;l.doc=o;l.win=window;l.files={};l.cssFlicker=false;l.counter=0;l.stdMode=!h.isIE||o.documentMode>=8;l.boxModel=!h.isIE||o.compatMode=="CSS1Compat"||l.stdMode;l.hasOuterHTML="outerHTML" in o.createElement("a");l.settings=m=h.extend({keep_values:false,hex_colors:1},m);l.schema=m.schema;l.styles=new h.html.Styles({url_converter:m.url_converter,url_converter_scope:m.url_converter_scope},m.schema);if(h.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(n){l.cssFlicker=true}}if(b&&m.schema){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(p){o.createElement(p)});for(k in m.schema.getCustomElements()){o.createElement(k)}}h.addUnload(l.destroy,l)},getRoot:function(){var j=this,k=j.settings;return(k&&j.get(k.root_element))||j.doc.body},getViewPort:function(k){var l,j;k=!k?this.win:k;l=k.document;j=this.boxModel?l.documentElement:l.body;return{x:k.pageXOffset||j.scrollLeft,y:k.pageYOffset||j.scrollTop,w:k.innerWidth||j.clientWidth,h:k.innerHeight||j.clientHeight}},getRect:function(m){var l,j=this,k;m=j.get(m);l=j.getPos(m);k=j.getSize(m);return{x:l.x,y:l.y,w:k.w,h:k.h}},getSize:function(m){var k=this,j,l;m=k.get(m);j=k.getStyle(m,"width");l=k.getStyle(m,"height");if(j.indexOf("px")===-1){j=0}if(l.indexOf("px")===-1){l=0}return{w:parseInt(j)||m.offsetWidth||m.clientWidth,h:parseInt(l)||m.offsetHeight||m.clientHeight}},getParent:function(l,k,j){return this.getParents(l,k,j,false)},getParents:function(u,p,l,s){var k=this,j,m=k.settings,q=[];u=k.get(u);s=s===undefined;if(m.strict_root){l=l||k.getRoot()}if(e(p,"string")){j=p;if(p==="*"){p=function(o){return o.nodeType==1}}else{p=function(o){return k.is(o,j)}}}while(u){if(u==l||!u.nodeType||u.nodeType===9){break}if(!p||p(u)){if(s){q.push(u)}else{return u}}u=u.parentNode}return s?q:null},get:function(j){var k;if(j&&this.doc&&typeof(j)=="string"){k=j;j=this.doc.getElementById(j);if(j&&j.id!==k){return this.doc.getElementsByName(k)[1]}}return j},getNext:function(k,j){return this._findSib(k,j,"nextSibling")},getPrev:function(k,j){return this._findSib(k,j,"previousSibling")},select:function(l,k){var j=this;return h.dom.Sizzle(l,j.get(k)||j.get(j.settings.root_element)||j.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(a.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return h.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(m,q,j,l,o){var k=this;return this.run(m,function(s){var r,n;r=e(q,"string")?k.doc.createElement(q):q;k.setAttribs(r,j);if(l){if(l.nodeType){r.appendChild(l)}else{k.setHTML(r,l)}}return !o?s.appendChild(r):r})},create:function(l,j,k){return this.add(this.doc.createElement(l),l,j,k,1)},createHTML:function(r,j,p){var q="",m=this,l;q+="<"+r;for(l in j){if(j.hasOwnProperty(l)){q+=" "+l+'="'+m.encode(j[l])+'"'}}if(typeof(p)!="undefined"){return q+">"+p+"</"+r+">"}return q+" />"},remove:function(j,k){return this.run(j,function(m){var n,l=m.parentNode;if(!l){return null}if(k){while(n=m.firstChild){if(!h.isIE||n.nodeType!==3||n.nodeValue){l.insertBefore(n,m)}else{m.removeChild(n)}}}return l.removeChild(m)})},setStyle:function(m,j,k){var l=this;return l.run(m,function(p){var o,n;o=p.style;j=j.replace(/-(\D)/g,function(r,q){return q.toUpperCase()});if(l.pixelStyles.test(j)&&(h.is(k,"number")||/^[\-0-9\.]+$/.test(k))){k+="px"}switch(j){case"opacity":if(b){o.filter=k===""?"":"alpha(opacity="+(k*100)+")";if(!m.currentStyle||!m.currentStyle.hasLayout){o.display="inline-block"}}o[j]=o["-moz-opacity"]=o["-khtml-opacity"]=k||"";break;case"float":b?o.styleFloat=k:o.cssFloat=k;break;default:o[j]=k||""}if(l.settings.update_styles){l.setAttrib(p,"data-mce-style")}})},getStyle:function(m,j,l){m=this.get(m);if(!m){return}if(this.doc.defaultView&&l){j=j.replace(/[A-Z]/g,function(n){return"-"+n});try{return this.doc.defaultView.getComputedStyle(m,null).getPropertyValue(j)}catch(k){return null}}j=j.replace(/-(\D)/g,function(o,n){return n.toUpperCase()});if(j=="float"){j=b?"styleFloat":"cssFloat"}if(m.currentStyle&&l){return m.currentStyle[j]}return m.style?m.style[j]:undefined},setStyles:function(m,n){var k=this,l=k.settings,j;j=l.update_styles;l.update_styles=0;f(n,function(o,p){k.setStyle(m,p,o)});l.update_styles=j;if(l.update_styles){k.setAttrib(m,l.cssText)}},removeAllAttribs:function(j){return this.run(j,function(m){var l,k=m.attributes;for(l=k.length-1;l>=0;l--){m.removeAttributeNode(k.item(l))}})},setAttrib:function(l,m,j){var k=this;if(!l||!m){return}if(k.settings.strict){m=m.toLowerCase()}return this.run(l,function(q){var p=k.settings;var n=q.getAttribute(m);if(j!==null){switch(m){case"style":if(!e(j,"string")){f(j,function(r,s){k.setStyle(q,s,r)});return}if(p.keep_values){if(j&&!k._isRes(j)){q.setAttribute("data-mce-style",j,2)}else{q.removeAttribute("data-mce-style",2)}}q.style.cssText=j;break;case"class":q.className=j||"";break;case"src":case"href":if(p.keep_values){if(p.url_converter){j=p.url_converter.call(p.url_converter_scope||k,j,m,q)}k.setAttrib(q,"data-mce-"+m,j,2)}break;case"shape":q.setAttribute("data-mce-style",j);break}}if(e(j)&&j!==null&&j.length!==0){q.setAttribute(m,""+j,2)}else{q.removeAttribute(m,2)}if(tinyMCE.activeEditor&&n!=j){var o=tinyMCE.activeEditor;o.onSetAttrib.dispatch(o,q,m,j)}})},setAttribs:function(k,l){var j=this;return this.run(k,function(m){f(l,function(o,p){j.setAttrib(m,p,o)})})},getAttrib:function(o,p,l){var j,k=this,m;o=k.get(o);if(!o||o.nodeType!==1){return l===m?false:l}if(!e(l)){l=""}if(/^(src|href|style|coords|shape)$/.test(p)){j=o.getAttribute("data-mce-"+p);if(j){return j}}if(b&&k.props[p]){j=o[k.props[p]];j=j&&j.nodeValue?j.nodeValue:j}if(!j){j=o.getAttribute(p,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(p)){if(o[k.props[p]]===true&&j===""){return p}return j?p:""}if(o.nodeName==="FORM"&&o.getAttributeNode(p)){return o.getAttributeNode(p).nodeValue}if(p==="style"){j=j||o.style.cssText;if(j){j=k.serializeStyle(k.parseStyle(j),o.nodeName);if(k.settings.keep_values&&!k._isRes(j)){o.setAttribute("data-mce-style",j)}}}if(d&&p==="class"&&j){j=j.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(p){case"rowspan":case"colspan":if(j===1){j=""}break;case"size":if(j==="+0"||j===20||j===0){j=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(j===0){j=""}break;case"hspace":if(j===-1){j=""}break;case"maxlength":case"tabindex":if(j===32768||j===2147483647||j==="32768"){j=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(j===65535){return p}return l;case"shape":j=j.toLowerCase();break;default:if(p.indexOf("on")===0&&j){j=h._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+j)}}}return(j!==m&&j!==null&&j!=="")?""+j:l},getPos:function(s,m){var k=this,j=0,q=0,o,p=k.doc,l;s=k.get(s);m=m||p.body;if(s){if(s.getBoundingClientRect){s=s.getBoundingClientRect();o=k.boxModel?p.documentElement:p.body;j=s.left+(p.documentElement.scrollLeft||p.body.scrollLeft)-o.clientTop;q=s.top+(p.documentElement.scrollTop||p.body.scrollTop)-o.clientLeft;return{x:j,y:q}}l=s;while(l&&l!=m&&l.nodeType){j+=l.offsetLeft||0;q+=l.offsetTop||0;l=l.offsetParent}l=s.parentNode;while(l&&l!=m&&l.nodeType){j-=l.scrollLeft||0;q-=l.scrollTop||0;l=l.parentNode}}return{x:j,y:q}},parseStyle:function(j){return this.styles.parse(j)},serializeStyle:function(k,j){return this.styles.serialize(k,j)},loadCSS:function(j){var l=this,m=l.doc,k;if(!j){j=""}k=l.select("head")[0];f(j.split(","),function(n){var o;if(l.files[n]){return}l.files[n]=true;o=l.create("link",{rel:"stylesheet",href:h._addVer(n)});if(b&&m.documentMode&&m.recalc){o.onload=function(){if(m.recalc){m.recalc()}o.onload=null}}k.appendChild(o)})},addClass:function(j,k){return this.run(j,function(l){var m;if(!k){return 0}if(this.hasClass(l,k)){return l.className}m=this.removeClass(l,k);return l.className=(m!=""?(m+" "):"")+k})},removeClass:function(l,m){var j=this,k;return j.run(l,function(o){var n;if(j.hasClass(o,m)){if(!k){k=new RegExp("(^|\\s+)"+m+"(\\s+|$)","g")}n=o.className.replace(k," ");n=h.trim(n!=" "?n:"");o.className=n;if(!n){o.removeAttribute("class");o.removeAttribute("className")}return n}return o.className})},hasClass:function(k,j){k=this.get(k);if(!k||!j){return false}return(" "+k.className+" ").indexOf(" "+j+" ")!==-1},show:function(j){return this.setStyle(j,"display","block")},hide:function(j){return this.setStyle(j,"display","none")},isHidden:function(j){j=this.get(j);return !j||j.style.display=="none"||this.getStyle(j,"display")=="none"},uniqueId:function(j){return(!j?"mce_":j)+(this.counter++)},setHTML:function(l,k){var j=this;return j.run(l,function(n){if(b){while(n.firstChild){n.removeChild(n.firstChild)}try{n.innerHTML="<br />"+k;n.removeChild(n.firstChild)}catch(m){n=j.create("div");n.innerHTML="<br />"+k;f(n.childNodes,function(p,o){if(o){n.appendChild(p)}})}}else{n.innerHTML=k}return k})},getOuterHTML:function(l){var k,j=this;l=j.get(l);if(!l){return null}if(l.nodeType===1&&j.hasOuterHTML){return l.outerHTML}k=(l.ownerDocument||j.doc).createElement("body");k.appendChild(l.cloneNode(true));return k.innerHTML},setOuterHTML:function(m,k,n){var j=this;function l(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){j.insertAfter(s.cloneNode(true),p);s=s.previousSibling}j.remove(p)}return this.run(m,function(p){p=j.get(p);if(p.nodeType==1){n=n||p.ownerDocument||j.doc;if(b){try{if(b&&p.nodeType==1){p.outerHTML=k}else{l(p,k,n)}}catch(o){l(p,k,n)}}else{l(p,k,n)}}})},decode:c.decode,encode:c.encodeAllRaw,insertAfter:function(j,k){k=this.get(k);return this.run(j,function(m){var l,n;l=k.parentNode;n=k.nextSibling;if(n){l.insertBefore(m,n)}else{l.appendChild(m)}return m})},isBlock:function(k){var j=k.nodeType;if(j){return !!(j===1&&g[k.nodeName])}return !!g[k]},replace:function(p,m,j){var l=this;if(e(m,"array")){p=p.cloneNode(true)}return l.run(m,function(k){if(j){f(h.grep(k.childNodes),function(n){p.appendChild(n)})}return k.parentNode.replaceChild(p,k)})},rename:function(m,j){var l=this,k;if(m.nodeName!=j.toUpperCase()){k=l.create(j);f(l.getAttribs(m),function(n){l.setAttrib(k,n.nodeName,l.getAttrib(m,n.nodeName))});l.replace(k,m,1)}return k||m},findCommonAncestor:function(l,j){var m=l,k;while(m){k=j;while(k&&m!=k){k=k.parentNode}if(m==k){break}m=m.parentNode}if(!m&&l.ownerDocument){return l.ownerDocument.documentElement}return m},toHex:function(j){var l=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(j);function k(m){m=parseInt(m).toString(16);return m.length>1?m:"0"+m}if(l){j="#"+k(l[1])+k(l[2])+k(l[3]);return j}return j},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(r){f(r.imports,function(s){q(s)});f(r.cssRules||r.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){f(s.selectorText.split(","),function(t){t=t.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(t)||!/\.[\w\-]+$/.test(t)){return}l=t;t=h._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",t);if(p&&!(t=p(t,l))){return}if(!o[t]){j.push({"class":t});o[t]=1}})}break;case 3:q(s.styleSheet);break}})}try{f(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(m,l,k){var j=this,n;if(j.doc&&typeof(m)==="string"){m=j.get(m)}if(!m){return false}k=k||this;if(!m.nodeType&&(m.length||m.length===0)){n=[];f(m,function(p,o){if(p){if(typeof(p)=="string"){p=j.doc.getElementById(p)}n.push(l.call(k,p,o))}});return n}return l.call(k,m)},getAttribs:function(k){var j;k=this.get(k);if(!k){return[]}if(b){j=[];if(k.nodeName=="OBJECT"){return k.attributes}if(k.nodeName==="OPTION"&&this.getAttrib(k,"selected")){j.push({specified:1,nodeName:"selected"})}k.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(l){j.push({specified:1,nodeName:l})});return j}return k.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p;m=m.firstChild;if(m){j=new h.dom.TreeWalker(m);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){p=m.parentNode;if(l==="br"&&r.isBlock(p)&&p.firstChild===m&&p.lastChild===m){continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if(q==8){return false}if((q===3&&!i.test(m.nodeValue))){return false}}while(m=j.next())}return true},destroy:function(k){var j=this;if(j.events){j.events.destroy()}j.win=j.doc=j.root=j.events=null;if(!k){h.removeUnload(j.destroy)}},createRng:function(){var j=this.doc;return j.createRange?j.createRange():new h.dom.Range(this)},nodeIndex:function(n,o){var j=0,l,m,k;if(n){for(l=n.nodeType,n=n.previousSibling,m=n;n;n=n.previousSibling){k=n.nodeType;if(o&&k==3){if(k==l||!n.nodeValue.length){continue}}j++;l=k}}return j},split:function(n,m,q){var s=this,j=s.createRng(),o,l,p;function k(x){var u,t=x.childNodes,v=x.nodeType;function y(B){var A=B.previousSibling&&B.previousSibling.nodeName=="SPAN";var z=B.nextSibling&&B.nextSibling.nodeName=="SPAN";return A&&z}if(v==1&&x.getAttribute("data-mce-type")=="bookmark"){return}for(u=t.length-1;u>=0;u--){k(t[u])}if(v!=9){if(v==3&&x.nodeValue.length>0){var r=h.trim(x.nodeValue).length;if(!s.isBlock(x.parentNode)||r>0||r==0&&y(x)){return}}else{if(v==1){t=x.childNodes;if(t.length==1&&t[0]&&t[0].nodeType==1&&t[0].getAttribute("data-mce-type")=="bookmark"){x.parentNode.insertBefore(t[0],x)}if(t.length||/^(br|hr|input|img)$/i.test(x.nodeName)){return}}}s.remove(x)}return x}if(n&&m){j.setStart(n.parentNode,s.nodeIndex(n));j.setEnd(m.parentNode,s.nodeIndex(m));o=j.extractContents();j=s.createRng();j.setStart(m.parentNode,s.nodeIndex(m)+1);j.setEnd(n.parentNode,s.nodeIndex(n)+1);l=j.extractContents();p=n.parentNode;p.insertBefore(k(o),n);if(q){p.replaceChild(q,m)}else{p.insertBefore(m,n)}p.insertBefore(k(l),n);s.remove(n);return q||m}},bind:function(n,j,m,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.add(n,j,m,l||this)},unbind:function(m,j,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.remove(m,j,l)},_findSib:function(m,j,k){var l=this,n=j;if(m){if(e(n,"string")){n=function(o){return l.is(o,j)}}for(m=m[k];m;m=m[k]){if(n(m)){return m}}}return null},_isRes:function(j){return/^(top|left|bottom|right|width|height)/i.test(j)||/;\s*(top|left|bottom|right|width|height)/i.test(j)}});h.DOM=new h.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(Y,t){var ab=N[h],W=N[U],aa=N[P],V=N[z],Z=t.startContainer,ad=t.startOffset,X=t.endContainer,ac=t.endOffset;if(Y===0){return G(ab,W,Z,ad)}if(Y===1){return G(aa,V,Z,ad)}if(Y===2){return G(aa,V,X,ac)}if(Y===3){return G(ab,W,X,ac)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z<Y){return -1}return 1}aa=V;while(aa&&aa.parentNode!=X){aa=aa.parentNode}if(aa){W=0;t=X.firstChild;while(t!=aa&&W<Z){W++;t=t.nextSibling}if(Z<=W){return -1}return 1}aa=X;while(aa&&aa.parentNode!=V){aa=aa.parentNode}if(aa){W=0;t=V.firstChild;while(t!=aa&&W<Y){W++;t=t.nextSibling}if(W<Y){return -1}return 1}ab=c.findCommonAncestor(X,V);ad=X;while(ad&&ad.parentNode!=ab){ad=ad.parentNode}if(!ad){ad=ab}ac=V;while(ac&&ac.parentNode!=ab){ac=ac.parentNode}if(!ac){ac=ab}if(ad==ac){return 0}t=ab.firstChild;while(t){if(t==ad){return -1}if(t==ac){return 1}t=t.nextSibling}}function B(V,Y,X){var t,W;if(V){N[h]=Y;N[U]=X}else{N[P]=Y;N[z]=X}t=N[P];while(t.parentNode){t=t.parentNode}W=N[h];while(W.parentNode){W=W.parentNode}if(W==t){if(G(N[h],N[U],N[P],N[z])>0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}k.setEndPoint(j?"EndToStart":"EndToEnd",i);if(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)>0){k=i.duplicate();k.collapse(j);o=-1;while(s==k.parentElement()){if(k.move("character",-1)==0){break}o++}}o=o||k.text.replace("\r\n"," ").length}else{k.collapse(true);k.setEndPoint(j?"StartToStart":"StartToEnd",i);o=k.text.replace("\r\n"," ").length}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var u,t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p&&t.nodeType!==9){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,s,q,r=d.dom.doc,m=r.body;function j(z){var u,y,t,x,v;t=h.create("a");u=z?k:s;y=z?p:q;x=n.duplicate();if(u==r||u==r.documentElement){u=m;y=0}if(u.nodeType==3){u.parentNode.insertBefore(t,u);x.moveToElementText(t);x.moveStart("character",y);h.remove(t);n.setEndPoint(z?"StartToStart":"EndToEnd",x)}else{v=u.childNodes;if(v.length){if(y>=v.length){h.insertAfter(t,v[v.length-1])}else{u.insertBefore(t,v[y])}x.moveToElementText(t)}else{t=r.createTextNode("\uFEFF");u.appendChild(t);x.moveToElementText(t.parentNode);x.collapse(c)}n.setEndPoint(z?"StartToStart":"EndToEnd",x);h.remove(t)}}k=i.startContainer;p=i.startOffset;s=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==s&&k.nodeType==1&&p==q-1){if(p==q-1){try{l=m.createControlRange();l.addElement(k.childNodes[p]);l.select();return}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,j=0,d=Object.prototype.toString,o=false,i=true;[0,0].sort(function(){i=false;return 0});var b=function(v,e,z,A){z=z||[];e=e||document;var C=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!v||typeof v!=="string"){return z}var x=[],s,E,H,r,u=true,t=b.isXML(e),B=v,D,G,F,y;do{p.exec("");s=p.exec(B);if(s){B=s[3];x.push(s[1]);if(s[2]){r=s[3];break}}}while(s);if(x.length>1&&k.exec(v)){if(x.length===2&&f.relative[x[0]]){E=h(x[0]+x[1],e)}else{E=f.relative[x[0]]?[e]:b(x.shift(),e);while(x.length){v=x.shift();if(f.relative[v]){v+=x.shift()}E=h(v,E)}}}else{if(!A&&x.length>1&&e.nodeType===9&&!t&&f.match.ID.test(x[0])&&!f.match.ID.test(x[x.length-1])){D=b.find(x.shift(),e,t);e=D.expr?b.filter(D.expr,D.set)[0]:D.set[0]}if(e){D=A?{expr:x.pop(),set:a(A)}:b.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&e.parentNode?e.parentNode:e,t);E=D.expr?b.filter(D.expr,D.set):D.set;if(x.length>0){H=a(E)}else{u=false}while(x.length){G=x.pop();F=G;if(!f.relative[G]){G=""}else{F=x.pop()}if(F==null){F=e}f.relative[G](H,F,t)}}else{H=x=[]}}if(!H){H=E}if(!H){b.error(G||v)}if(d.call(H)==="[object Array]"){if(!u){z.push.apply(z,H)}else{if(e&&e.nodeType===1){for(y=0;H[y]!=null;y++){if(H[y]&&(H[y]===true||H[y].nodeType===1&&b.contains(e,H[y]))){z.push(E[y])}}}else{for(y=0;H[y]!=null;y++){if(H[y]&&H[y].nodeType===1){z.push(E[y])}}}}}else{a(H,z)}if(r){b(r,C,z,A);b.uniqueSort(z)}return z};b.uniqueSort=function(r){if(c){o=i;r.sort(c);if(o){for(var e=1;e<r.length;e++){if(r[e]===r[e-1]){r.splice(e--,1)}}}}return r};b.matches=function(e,r){return b(e,null,null,r)};b.find=function(y,e,z){var x;if(!y){return[]}for(var t=0,s=f.order.length;t<s;t++){var v=f.order[t],u;if((u=f.leftMatch[v].exec(y))){var r=u[1];u.splice(1,1);if(r.substr(r.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");x=f.find[v](u,e,z);if(x!=null){y=y.replace(f.match[v],"");break}}}}if(!x){x=e.getElementsByTagName("*")}return{set:x,expr:y}};b.filter=function(C,B,F,u){var s=C,H=[],z=B,x,e,y=B&&B[0]&&b.isXML(B[0]);while(C&&B.length){for(var A in f.filter){if((x=f.leftMatch[A].exec(C))!=null&&x[2]){var r=f.filter[A],G,E,t=x[1];e=false;x.splice(1,1);if(t.substr(t.length-1)==="\\"){continue}if(z===H){H=[]}if(f.preFilter[A]){x=f.preFilter[A](x,z,F,H,u,y);if(!x){e=G=true}else{if(x===true){continue}}}if(x){for(var v=0;(E=z[v])!=null;v++){if(E){G=r(E,x,v,z);var D=u^!!G;if(F&&G!=null){if(D){e=true}else{z[v]=false}}else{if(D){H.push(E);e=true}}}}}if(G!==undefined){if(!F){z=H}C=C.replace(f.match[A],"");if(!e){return[]}break}}}if(C===s){if(e==null){b.error(C)}else{break}}s=C}return z};b.error=function(e){throw"Syntax error, unrecognized expression: "+e};var f=b.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(x,r){var t=typeof r==="string",v=t&&!/\W/.test(r),y=t&&!v;if(v){r=r.toLowerCase()}for(var s=0,e=x.length,u;s<e;s++){if((u=x[s])){while((u=u.previousSibling)&&u.nodeType!==1){}x[s]=y||u&&u.nodeName.toLowerCase()===r?u||false:u===r}}if(y){b.filter(r,x,true)}},">":function(x,r){var u=typeof r==="string",v,s=0,e=x.length;if(u&&!/\W/.test(r)){r=r.toLowerCase();for(;s<e;s++){v=x[s];if(v){var t=v.parentNode;x[s]=t.nodeName.toLowerCase()===r?t:false}}}else{for(;s<e;s++){v=x[s];if(v){x[s]=u?v.parentNode:v.parentNode===r}}if(u){b.filter(r,x,true)}}},"":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("parentNode",r,s,t,u,v)},"~":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("previousSibling",r,s,t,u,v)}},find:{ID:function(r,s,t){if(typeof s.getElementById!=="undefined"&&!t){var e=s.getElementById(r[1]);return e?[e]:[]}},NAME:function(s,v){if(typeof v.getElementsByName!=="undefined"){var r=[],u=v.getElementsByName(s[1]);for(var t=0,e=u.length;t<e;t++){if(u[t].getAttribute("name")===s[1]){r.push(u[t])}}return r.length===0?null:r}},TAG:function(e,r){return r.getElementsByTagName(e[1])}},preFilter:{CLASS:function(t,r,s,e,x,y){t=" "+t[1].replace(/\\/g,"")+" ";if(y){return t}for(var u=0,v;(v=r[u])!=null;u++){if(v){if(x^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(t)>=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){return r[1].toLowerCase()},CHILD:function(e){if(e[1]==="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=j++;return e},ATTR:function(u,r,s,e,v,x){var t=u[1].replace(/\\/g,"");if(!x&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if((p.exec(u[3])||"").length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return r<e[3]-0},gt:function(s,r,e){return r>e[3]-0},nth:function(s,r,e){return e[3]-0===r},eq:function(s,r,e){return e[3]-0===r}},filter:{PSEUDO:function(s,y,x,z){var e=y[1],r=f.filters[e];if(r){return r(s,x,y,z)}else{if(e==="contains"){return(s.textContent||s.innerText||b.getText([s])||"").indexOf(y[3])>=0}else{if(e==="not"){var t=y[3];for(var v=0,u=t.length;v<u;v++){if(t[v]===s){return false}}return true}else{b.error("Syntax error, unrecognized expression: "+e)}}}},CHILD:function(e,t){var x=t[1],r=e;switch(x){case"only":case"first":while((r=r.previousSibling)){if(r.nodeType===1){return false}}if(x==="first"){return true}r=e;case"last":while((r=r.nextSibling)){if(r.nodeType===1){return false}}return true;case"nth":var s=t[2],A=t[3];if(s===1&&A===0){return true}var v=t[0],z=e.parentNode;if(z&&(z.sizcache!==v||!e.nodeIndex)){var u=0;for(r=z.firstChild;r;r=r.nextSibling){if(r.nodeType===1){r.nodeIndex=++u}}z.sizcache=v}var y=e.nodeIndex-A;if(s===0){return y===0}else{return(y%s===0&&y/s>=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName.toLowerCase()===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),x=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?x===r:u==="*="?x.indexOf(r)>=0:u==="~="?(" "+x+" ").indexOf(r)>=0:!r?x&&e!==false:u==="!="?x!==r:u==="^="?x.indexOf(r)===0:u==="$="?x.substr(x.length-r.length)===r:u==="|="?x===r||x.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var k=f.match.POS,g=function(r,e){return"\\"+(e-0+1)};for(var m in f.match){f.match[m]=new RegExp(f.match[m].source+(/(?![^\[]*\])(?![^\(]*\))/.source));f.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[m].source.replace(/\\(\d+)/g,g))}var a=function(r,e){r=Array.prototype.slice.call(r,0);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(l){a=function(u,t){var r=t||[],s=0;if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var e=u.length;s<e;s++){r.push(u[s])}}else{for(;u[s];s++){r.push(u[s])}}}return r}}var c;if(document.documentElement.compareDocumentPosition){c=function(r,e){if(!r.compareDocumentPosition||!e.compareDocumentPosition){if(r==e){o=true}return r.compareDocumentPosition?-1:1}var s=r.compareDocumentPosition(e)&4?-1:r===e?0:1;if(s===0){o=true}return s}}else{if("sourceIndex" in document.documentElement){c=function(r,e){if(!r.sourceIndex||!e.sourceIndex){if(r==e){o=true}return r.sourceIndex?-1:1}var s=r.sourceIndex-e.sourceIndex;if(s===0){o=true}return s}}else{if(document.createRange){c=function(t,r){if(!t.ownerDocument||!r.ownerDocument){if(t==r){o=true}return t.ownerDocument?-1:1}var s=t.ownerDocument.createRange(),e=r.ownerDocument.createRange();s.setStart(t,0);s.setEnd(t,0);e.setStart(r,0);e.setEnd(r,0);var u=s.compareBoundaryPoints(Range.START_TO_END,e);if(u===0){o=true}return u}}}}b.getText=function(e){var r="",t;for(var s=0;e[s];s++){t=e[s];if(t.nodeType===3||t.nodeType===4){r+=t.nodeValue}else{if(t.nodeType!==8){r+=b.getText(t.childNodes)}}}return r};(function(){var r=document.createElement("div"),s="script"+(new Date()).getTime();r.innerHTML="<a name='"+s+"'/>";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(document.getElementById(s)){f.find.ID=function(u,v,x){if(typeof v.getElementById!=="undefined"&&!x){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r);e=r=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="<p class='TEST'></p>";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(x,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!b.isXML(v)){try{return a(v.querySelectorAll(x),t)}catch(y){}}return e(x,v,t,u)};for(var r in e){b[r]=e[r]}s=null})()}(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}};e=null})();function n(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1&&!z){e.sizcache=v;e.sizset=t}if(e.nodeName.toLowerCase()===x){u=e;break}e=e[r]}A[t]=u}}}function q(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1){if(!z){e.sizcache=v;e.sizset=t}if(typeof x!=="string"){if(e===x){u=true;break}}else{if(b.filter(x,[e]).length>0){u=e;break}}}e=e[r]}A[t]=u}}}b.contains=document.compareDocumentPosition?function(r,e){return !!(r.compareDocumentPosition(e)&16)}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};b.isXML=function(e){var r=(e?e.ownerDocument||e:0).documentElement;return r?r.nodeName!=="HTML":false};var h=function(e,y){var t=[],u="",v,s=y.nodeType?[y]:y;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var x=0,r=s.length;x<r;x++){b(e,s[x],t)}return b.filter(u,t)};window.tinymce.dom.Sizzle=b})();(function(d){var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;d.create("tinymce.dom.EventUtils",{EventUtils:function(){this.inits=[];this.events=[]},add:function(m,p,l,j){var g,h=this,i=h.events,k;if(p instanceof Array){k=[];f(p,function(o){k.push(h.add(m,o,l,j))});return k}if(m&&m.hasOwnProperty&&m instanceof Array){k=[];f(m,function(n){n=c.get(n);k.push(h.add(n,p,l,j))});return k}m=c.get(m);if(!m){return}g=function(n){if(h.disabled){return}n=n||window.event;if(n&&b){if(!n.target){n.target=n.srcElement}d.extend(n,h._stoppers)}if(!j){return l(n)}return l.call(j,n)};if(p=="unload"){d.unloads.unshift({func:g});return g}if(p=="init"){if(h.domLoaded){g()}else{h.inits.push(g)}return g}i.push({obj:m,name:p,func:l,cfunc:g,scope:j});h._add(m,p,g);return l},remove:function(l,m,k){var h=this,g=h.events,i=false,j;if(l&&l.hasOwnProperty&&l instanceof Array){j=[];f(l,function(n){n=c.get(n);j.push(h.remove(n,m,k))});return j}l=c.get(l);f(g,function(o,n){if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){g.splice(n,1);h._remove(l,m,o.cfunc);i=true;return false}});return i},clear:function(l){var j=this,g=j.events,h,k;if(l){l=c.get(l);for(h=g.length-1;h>=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.readyState==="complete"){g._pageInit(i);return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(c){function e(f){return f.replace(/[\n\r]+/g,"")}var b=c.is,a=c.isIE,d=c.each;c.create("tinymce.dom.Selection",{Selection:function(i,h,g){var f=this;f.dom=i;f.win=h;f.serializer=g;d(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(j){f[j]=new c.util.Dispatcher(f)});if(!f.win.getSelection){f.tridentSel=new c.dom.TridentSelection(f)}if(c.isIE&&i.boxModel){this._fixIESelection()}c.addUnload(f.destroy,f)},setCursorLocation:function(h,i){var f=this;var g=f.dom.createRng();g.setStart(h,i);g.setEnd(h,i);f.setRng(g);f.collapse(false)},getContent:function(g){var f=this,h=f.getRng(),l=f.dom.create("body"),j=f.getSel(),i,k,m;g=g||{};i=k="";g.get=true;g.format=g.format||"html";g.forced_root_block="";f.onBeforeGetContent.dispatch(f,g);if(g.format=="text"){return f.isCollapsed()?"":(h.text||(j.toString?j.toString():""))}if(h.cloneContents){m=h.cloneContents();if(m){l.appendChild(m)}}else{if(b(h.item)||b(h.htmlText)){l.innerHTML="<br>"+(h.item?h.item(0).outerHTML:h.htmlText);l.removeChild(l.firstChild)}else{l.innerHTML=h.toString()}}if(/^\s/.test(l.innerHTML)){i=" "}if(/\s+$/.test(l.innerHTML)){k=" "}g.getInner=true;g.content=f.isCollapsed()?"":i+f.serializer.serialize(l,g)+k;f.onGetContent.dispatch(f,g);return g.content},setContent:function(g,i){var n=this,f=n.getRng(),j,k=n.win.document,m,l;i=i||{format:"html"};i.set=true;g=i.content=g;if(!i.no_events){n.onBeforeSetContent.dispatch(n,i)}g=i.content;if(f.insertNode){g+='<span id="__caret">_</span>';if(f.startContainer==k&&f.endContainer==k){k.body.innerHTML=g}else{f.deleteContents();if(k.body.childNodes.length==0){k.body.innerHTML=g}else{if(f.createContextualFragment){f.insertNode(f.createContextualFragment(g))}else{m=k.createDocumentFragment();l=k.createElement("div");m.appendChild(l);l.outerHTML=g;f.insertNode(m)}}}j=n.dom.get("__caret");f=k.createRange();f.setStartBefore(j);f.setEndBefore(j);n.setRng(f);n.dom.remove("__caret");try{n.setRng(f)}catch(h){}}else{if(f.item){k.execCommand("Delete",false,null);f=n.getRng()}if(/^\s+/.test(g)){f.pasteHTML('<span id="__mce_tmp">_</span>'+g);n.dom.remove("__mce_tmp")}else{f.pasteHTML(g)}}if(!i.no_events){n.onSetContent.dispatch(n,i)}},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(r,s){var v=this,m=v.dom,g,j,i,n,h,o,p,l="\uFEFF",u;function f(x,y){var t=0;d(m.select(x),function(A,z){if(A==y){t=z}});return t}if(r==2){function k(){var x=v.getRng(true),t=m.getRoot(),y={};function z(C,H){var B=C[H?"startContainer":"endContainer"],G=C[H?"startOffset":"endOffset"],A=[],D,F,E=0;if(B.nodeType==3){if(s){for(D=B.previousSibling;D&&D.nodeType==3;D=D.previousSibling){G+=D.nodeValue.length}}A.push(G)}else{F=B.childNodes;if(G>=F.length&&F.length){E=1;G=Math.max(0,F.length-1)}A.push(v.dom.nodeIndex(F[G],s)+E)}for(;B&&B!=t;B=B.parentNode){A.push(v.dom.nodeIndex(B,s))}return A}y.start=z(x,true);if(!v.isCollapsed()){y.end=z(x)}return y}if(v.tridentSel){return v.tridentSel.getBookmark(r)}return k()}if(r){return{rng:v.getRng()}}g=v.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();u="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();try{g.collapse();g.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_start" style="'+u+'">'+l+"</span>");if(!n){j.collapse(false);g.moveToElementText(j.parentElement());if(g.compareEndPoints("StartToEnd",j)==0){j.move("character",-1)}j.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_end" style="'+u+'">'+l+"</span>")}}catch(q){return null}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=v.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_end",style:u},l))}g.collapse(true);g.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_start",style:u},l))}v.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){y=t[0];for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(t[v]>u.length-1){return}x=u[t[v]]}if(x.nodeType===3){y=Math.min(t[0],x.nodeValue.length)}if(x.nodeType===1){y=Math.min(t[0],x.childNodes.length)}if(z){f.setStart(x,y)}else{f.setEnd(x,y)}}return true}if(r.tridentSel){return r.tridentSel.moveToBookmark(n)}if(g(true)&&g()){r.setRng(f)}}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(l.isBlock(t)&&!t.innerHTML){t.innerHTML=!a?'<br data-mce-bogus="1" />':" "}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;if(k){f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g)}return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var h=this,g=h.getRng(),i;if(g.item){i=g.item(0);g=h.win.document.body.createTextRange();g.moveToElementText(i)}g.collapse(!!f);h.setRng(g)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;try{h.removeAllRanges()}catch(f){}h.addRange(i);g.selectedRange=h.rangeCount>0?h.getRangeAt(0):null}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var h=this,g=h.getRng(),i=h.getSel(),l,k=g.startContainer,f=g.endContainer;if(!g){return h.dom.getRoot()}if(g.setStart){l=g.commonAncestorContainer;if(!g.collapsed){if(g.startContainer==g.endContainer){if(g.endOffset-g.startOffset<2){if(g.startContainer.hasChildNodes()){l=g.startContainer.childNodes[g.startOffset]}}}if(k.nodeType===3&&f.nodeType===3){function j(p,m){var o=p;while(p&&p.nodeType===3&&p.length===0){p=m?p.nextSibling:p.previousSibling}return p||o}if(k.length===g.startOffset){k=j(k.nextSibling,true)}else{k=k.parentNode}if(g.endOffset===0){f=j(f.previousSibling,false)}else{f=f.parentNode}if(k&&k===f){return k}}}if(l&&l.nodeType==3){return l.parentNode}return l}return g.item?g.item(0):g.parentElement()},getSelectedBlocks:function(o,g){var m=this,j=m.dom,l,k,h,i=[];l=j.getParent(o||m.getStart(),j.isBlock);k=j.getParent(g||m.getEnd(),j.isBlock);if(l){i.push(l)}if(l&&k&&l!=k){h=l;var f=new c.dom.TreeWalker(l,j.getRoot());while((h=f.next())&&h!=k){if(j.isBlock(h)){i.push(h)}}}if(k&&l!=k){i.push(k)}return i},normalize:function(){var g=this,f,i;if(c.isIE){return}function h(p){var k,o,n,m=g.dom,j=m.getRoot(),l;k=f[(p?"start":"end")+"Container"];o=f[(p?"start":"end")+"Offset"];if(k.nodeType===9){k=k.body;o=0}if(k===j){if(k.hasChildNodes()){k=k.childNodes[Math.min(!p&&o>0?o-1:o,k.childNodes.length-1)];o=0;if(k.hasChildNodes()){l=k;n=new c.dom.TreeWalker(k,j);do{if(l.nodeType===3){o=p?0:l.nodeValue.length-1;k=l;i=true;break}if(/^(BR|IMG)$/.test(l.nodeName)){o=m.nodeIndex(l);k=l.parentNode;if(l.nodeName=="IMG"&&!p){o++}i=true;break}}while(l=(p?n.next():n.prev()))}}}if(i){f["set"+(p?"Start":"End")](k,o)}}f=g.getRng();h(true);if(!f.collapsed){h()}if(i){g.setRng(f)}},destroy:function(g){var f=this;f.win=null;if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var g=this.dom,m=g.doc,h=m.body,j,n,f;m.documentElement.unselectable=true;function i(o,r){var p=h.createTextRange();try{p.moveToPoint(o,r)}catch(q){p=null}return p}function l(p){var o;if(p.button){o=i(p.x,p.y);if(o){if(o.compareEndPoints("StartToStart",n)>0){o.setEndPoint("StartToStart",n)}else{o.setEndPoint("EndToEnd",n)}o.select()}}else{k()}}function k(){var o=m.selection.createRange();if(n&&!o.item&&o.compareEndPoints("StartToEnd",o)===0){n.select()}g.unbind(m,"mouseup",k);g.unbind(m,"mousemove",l);n=j=0}g.bind(m,["mousedown","contextmenu"],function(o){if(o.target.nodeName==="HTML"){if(j){k()}f=m.documentElement;if(f.scrollHeight>f.clientHeight){return}j=1;n=i(o.x,o.y);if(n){g.bind(m,"mouseup",k);g.bind(m,"mousemove",l);g.win.focus();n.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";e.remove_trailing_brs="remove_trailing_brs" in e?e.remove_trailing_brs:true;h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/\s*mce(Item\w+|Selected)\s*/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(m.getInner?o.innerHTML:a.trim(i.getOuterHTML(o),m),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF|\u200B/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=q.create("script",{id:n,type:"text/javascript",src:a._addVer(m)});if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==e){j.push(m);l[m]=c}if(q){if(!f[m]){f[m]=[]}f[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(f[r],function(s){s.func.call(s.scope)});f[r]=e}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,s){var i=d.startContainer,l=d.startOffset,t=d.endContainer,m=d.endOffset,j,g,o,h,r,q,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(u){s([u])});return}function f(u){var v;v=u[0];if(v.nodeType===3&&v===i&&l>=v.nodeValue.length){u.splice(0,1)}v=u[u.length-1];if(m===0&&u.length>0&&v===t&&v.nodeType===3){u.splice(u.length-1,1)}return u}function p(x,v,u){var y=[];for(;x&&x!=u;x=x[v]){y.push(x)}return y}function n(v,u){do{if(v.parentNode==u){return v}v=v.parentNode}while(v)}function k(x,v,y){var u=y?"nextSibling":"previousSibling";for(h=x,r=h.parentNode;h&&h!=v;h=r){r=h.parentNode;q=p(h==x?h:h[u],u);if(q.length){if(!y){q.reverse()}s(f(q))}}}if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[l]}if(t.nodeType==1&&t.hasChildNodes()){t=t.childNodes[Math.min(m-1,t.childNodes.length-1)]}if(i==t){return s(f([i]))}j=c.findCommonAncestor(i,t);for(h=i;h;h=h.parentNode){if(h===t){return k(i,j,true)}if(h===j){break}}for(h=t;h;h=h.parentNode){if(h===i){return k(t,j)}if(h===j){break}}g=n(i,j)||i;o=n(t,j)||t;k(i,g,true);q=p(g==i?g:g.nextSibling,"nextSibling",o==t?o.nextSibling:o);if(q.length){s(f(q))}k(t,o)};this.split=function(e){var h=e.startContainer,d=e.startOffset,i=e.endContainer,g=e.endOffset;function f(j,k){return j.splitText(k)}if(h==i&&h.nodeType==3){if(d>0&&d<h.nodeValue.length){i=f(h,d);h=i.previousSibling;if(g>d){g=g-d;h=i=f(i,g).previousSibling;g=i.nodeValue.length;d=0}else{g=0}}}else{if(h.nodeType==3&&d>0&&d<h.nodeValue.length){h=f(h,d);d=0}if(i.nodeType==3&&g>0&&g<i.nodeValue.length){i=f(i,g).previousSibling;g=i.nodeValue.length}}return{startContainer:h,startOffset:d,endContainer:i,endOffset:g}}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var p=this,m=e.root,l=e.items,n=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,k=e.excludeFromTabOrder,j,h,o,d,g;f=f||b.DOM;j=function(q){g=q.target.id};h=function(q){f.setAttrib(q.target.id,"tabindex","-1")};d=function(q){var r=f.get(g);f.setAttrib(r,"tabindex","0");r.focus()};p.focus=function(){f.get(g).focus()};p.destroy=function(){c(l,function(q){f.unbind(f.get(q.id),"focus",j);f.unbind(f.get(q.id),"blur",h)});f.unbind(f.get(m),"focus",d);f.unbind(f.get(m),"keydown",o);l=f=m=p.focus=j=h=o=d=null;p.destroy=function(){}};p.moveFocus=function(u,r){var q=-1,t=p.controls,s;if(!g){return}c(l,function(x,v){if(x.id===g){q=v;return false}});q+=u;if(q<0){q=l.length-1}else{if(q>=l.length){q=0}}s=l[q];f.setAttrib(g,"tabindex","-1");f.setAttrib(s.id,"tabindex","0");f.get(s.id).focus();if(e.actOnFocus){e.onAction(s.id)}if(r){a.cancel(r)}};o=function(y){var u=37,t=39,x=38,z=40,q=27,s=14,r=13,v=32;switch(y.keyCode){case u:if(i){p.moveFocus(-1)}break;case t:if(i){p.moveFocus(1)}break;case x:if(n){p.moveFocus(-1)}break;case z:if(n){p.moveFocus(1)}break;case q:if(e.onCancel){e.onCancel();a.cancel(y)}break;case s:case r:case v:if(e.onAction){e.onAction(g);a.cancel(y)}break}};c(l,function(s,q){var r;if(!s.id){s.id=f.uniqueId("_mce_item_")}if(k){f.bind(s.id,"blur",h);r="-1"}else{r=(q===0?"0":"-1")}f.setAttrib(s.id,"tabindex",r);f.bind(f.get(s.id),"focus",j)});if(l[0]){g=l[0].id}f.setAttrib(m,"tabindex","-1");f.bind(f.get(m),"focus",d);f.bind(f.get(m),"keydown",o)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return a.cancel(s)}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.get("menu_"+g.id);h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+='<img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" />'+c}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var d=this,e=d.settings,c;if(b.isIE&&d.editor){b.dom.Event.add(d.id,"mousedown",function(f){var g=d.editor.selection.getNode().nodeName;c=g==="IMG"?d.editor.selection.getBookmark():null})}b.dom.Event.add(d.id,"click",function(f){if(!d.isDisabled()){if(b.isIE&&d.editor&&c!==null){d.editor.selection.moveToBookmark(c)}return e.onclick.call(e.scope,f)}});b.dom.Event.add(d.id,"keyup",function(f){if(!d.isDisabled()&&f.keyCode==b.VK.SPACEBAR){return e.onclick.call(e.scope,f)}})}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(i,h,f){var g=this;g.parent(i,h,f);g.items=[];g.onChange=new a(g);g.onPostRender=new a(g);g.onAdd=new a(g);g.onRenderMenu=new d.util.Dispatcher(this);g.classPrefix="mceListBox"},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){var h=this,i,j,g;if(f!=h.selectedIndex){i=c.get(h.id+"_text");g=c.get(h.id+"_voiceDesc");j=h.items[f];if(j){h.selectedValue=j.value;h.selectedIndex=f;c.setHTML(i,c.encode(j.title));c.setHTML(g,h.settings.title+" - "+j.title);c.removeClass(i,"mceTitle");c.setAttrib(h.id,"aria-valuenow",j.title)}else{c.setHTML(i,c.encode(h.settings.title));c.setHTML(g,c.encode(h.settings.title));c.addClass(i,"mceTitle");h.selectedValue=h.selectedIndex=null;c.setAttrib(h.id,"aria-valuenow",h.settings.title)}i=0}},add:function(i,f,h){var g=this;h=h||{};h=d.extend(h,{title:i,value:f});g.items.push(h);g.onAdd.dispatch(g,h)},getLength:function(){return this.items.length},renderHTML:function(){var i="",f=this,g=f.settings,j=f.classPrefix;i='<span role="listbox" aria-haspopup="true" aria-labelledby="'+f.id+'_voiceDesc" aria-describedby="'+f.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+f.id+'" cellpadding="0" cellspacing="0" class="'+j+" "+j+"Enabled"+(g["class"]?(" "+g["class"]):"")+'"><tbody><tr>';i+="<td>"+c.createHTML("span",{id:f.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},f.settings.title);i+=c.createHTML("a",{id:f.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},c.encode(f.settings.title))+"</td>";i+="<td>"+c.createHTML("a",{id:f.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";i+="</tr></tbody></table></span>";return i},showMenu:function(){var g=this,i,h=c.get(this.id),f;if(g.isDisabled()||g.items.length==0){return}if(g.menu&&g.menu.isMenuVisible){return g.hideMenu()}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}i=c.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.keyboard_focus=!d.isOpera;if(g.oldID){f.items[g.oldID].setSelected(0)}e(g.items,function(j){if(j.value===g.selectedValue){f.items[j.id].setSelected(1);g.oldID=j.id}});f.showMenu(0,h.clientHeight);b.add(c.doc,"mousedown",g.hideMenu,g);c.addClass(g.id,g.classPrefix+"Selected")},hideMenu:function(g){var f=this;if(f.menu&&f.menu.isMenuVisible){c.removeClass(f.id,f.classPrefix+"Selected");if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){return}if(!g||!c.getParent(g.target,".mceMenu")){c.removeClass(f.id,f.classPrefix+"Selected");b.remove(c.doc,"mousedown",f.hideMenu,f);f.menu.hideMenu()}}},renderMenu:function(){var g=this,f;f=g.settings.control_manager.createDropMenu(g.id+"_menu",{menu_line:1,"class":g.classPrefix+"Menu mceNoIcons",max_width:150,max_height:150});f.onHideMenu.add(function(){g.hideMenu();g.focus()});f.add({title:g.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}});e(g.items,function(h){if(h.value===undefined){f.add({title:h.title,role:"option","class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}})}else{h.id=c.uniqueId();h.role="option";h.onclick=function(){if(g.settings.onselect(h.value)!==false){g.select(h.value)}};f.add(h)}});g.onRenderMenu.dispatch(g,f);g.menu=f},postRender:function(){var f=this,g=f.classPrefix;b.add(f.id,"click",f.showMenu,f);b.add(f.id,"keydown",function(h){if(h.keyCode==32){f.showMenu(h);b.cancel(h)}});b.add(f.id,"focus",function(){if(!f._focused){f.keyDownHandler=b.add(f.id,"keydown",function(h){if(h.keyCode==40){f.showMenu();b.cancel(h)}});f.keyPressHandler=b.add(f.id,"keypress",function(i){var h;if(i.keyCode==13){h=f.selectedValue;f.selectedValue=null;b.cancel(i);f.settings.onselect(h)}})}f._focused=1});b.add(f.id,"blur",function(){b.remove(f.id,"keydown",f.keyDownHandler);b.remove(f.id,"keypress",f.keyPressHandler);f._focused=0});if(d.isIE6||!c.boxModel){b.add(f.id,"mouseover",function(){if(!c.hasClass(f.id,g+"Disabled")){c.addClass(f.id,g+"Hover")}});b.add(f.id,"mouseout",function(){if(!c.hasClass(f.id,g+"Disabled")){c.removeClass(f.id,g+"Hover")}})}f.onPostRender.dispatch(f,c.get(f.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(g,f){this.parent(g,f);this.classPrefix="mceNativeListBox"},setDisabled:function(f){c.get(this.id).disabled=f;this.setAriaProperty("disabled",f)},isDisabled:function(){return c.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){c.get(this.id).selectedIndex=f+1;this.selectedValue=this.items[f]?this.items[f].value:null},add:function(j,g,f){var i,h=this;f=f||{};f.value=g;if(h.isRendered()){c.add(c.get(this.id),"option",f,j)}i={title:j,value:g,attribs:f};h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var g,f=this;g=c.createHTML("option",{value:""},"-- "+f.settings.title+" --");e(f.items,function(h){g+=c.createHTML("option",{value:h.value},h.title)});g=c.createHTML("select",{id:f.id,"class":"mceNativeListBox","aria-labelledby":f.id+"_aria"},g);g+=c.createHTML("span",{id:f.id+"_aria",style:"display: none"},f.settings.title);return g},postRender:function(){var g=this,h,i=true;g.rendered=true;function f(k){var j=g.items[k.target.selectedIndex-1];if(j&&(j=j.value)){g.onChange.dispatch(g,j);if(g.settings.onselect){g.settings.onselect(j)}}}b.add(g.id,"change",f);b.add(g.id,"keydown",function(k){var j;b.remove(g.id,"change",h);i=false;j=b.add(g.id,"blur",function(){if(i){return}i=true;b.add(g.id,"change",f);b.remove(g.id,"blur",j)});if(d.isWebKit&&(k.keyCode==37||k.keyCode==39)){return b.prevent(k)}if(k.keyCode==13||k.keyCode==32){f(k);return b.cancel(k)}});g.onPostRender.dispatch(g,c.get(g.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{role:"presentation","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("div",{id:f.id,role:"button",tabindex:"0","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(m){m=m.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");var i={href:"javascript:;",style:{backgroundColor:"#"+m},title:p.editor.getLang("colors."+m,m),"data-mce-color":"#"+m};if(!d.isIE){i.role="option"}g=c.add(g,"a",i);if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+m;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");new d.ui.KeyboardNavigation({root:p.id+"_menu",items:c.select("a",p.id+"_menu"),onCancel:function(){p.hideMenu();p.focus()}});a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return a.cancel(i)});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){this.parent();a.clear(this.id+"_menu");a.clear(this.id+"_more");c.remove(this.id+"_menu")}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){var e=this;d.get(e.id).focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){if(b.isWebKit){d.get(f.editor.id+"_ifr").focus()}f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE){function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(n){var o=n.DOM,k=n.dom.Event,f=n.extend,l=n.util.Dispatcher,i=n.each,a=n.isGecko,b=n.isIE,e=n.isWebKit,d=n.is,h=n.ThemeManager,c=n.PluginManager,p=n.inArray,m=n.grep,g=n.explode,j=n.VK;n.create("tinymce.Editor",{Editor:function(u,r){var q=this;q.id=q.editorId=u;q.execCommands={};q.queryStateCommands={};q.queryValueCommands={};q.isNotDirty=false;q.plugins={};i(["onPreInit","onBeforeRenderUI","onPostRender","onLoad","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState","onSetAttrib"],function(s){q[s]=new l(q)});q.settings=r=f({id:u,language:"en",docs_language:"en",theme:"simple",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:n.documentBaseURL,add_form_submit_trigger:1,submit_patch:1,add_unload_trigger:1,convert_urls:1,relative_urls:1,remove_script_host:1,table_inline_editing:0,object_resizing:1,cleanup:1,accessibility_focus:1,custom_shortcuts:1,custom_undo_redo_keyboard_shortcuts:1,custom_undo_redo_restore_selection:1,custom_undo_redo:1,doctype:n.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",hidden_input:1,padd_empty_editor:1,render_ui:1,init_theme:1,force_p_newlines:1,indentation:"30px",keep_styles:1,fix_table_elements:1,inline_styles:1,convert_fonts_to_spans:true,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",validate:true,entity_encoding:"named",url_converter:q.convertURL,url_converter_scope:q,ie7_compat:true},r);q.documentBaseURI=new n.util.URI(r.document_base_url||n.documentBaseURL,{base_uri:tinyMCE.baseURI});q.baseURI=n.baseURI;q.contentCSS=[];q.execCallback("setup",q)},render:function(u){var v=this,x=v.settings,y=v.id,q=n.ScriptLoader;if(!k.domLoaded){k.add(document,"init",function(){v.render()});return}tinyMCE.settings=x;if(!v.getElement()){return}if(n.isIDevice&&!n.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(v.getElement().nodeName)&&x.hidden_input&&o.getParent(y,"form")){o.insertAfter(o.create("input",{type:"hidden",name:y}),y)}if(n.WindowManager){v.windowManager=new n.WindowManager(v)}if(x.encoding=="xml"){v.onGetContent.add(function(s,t){if(t.save){t.content=o.encode(t.content)}})}if(x.add_form_submit_trigger){v.onSubmit.addToTop(function(){if(v.initialized){v.save();v.isNotDirty=1}})}if(x.add_unload_trigger){v._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(v.initialized&&!v.destroyed&&!v.isHidden()){v.save({format:"raw",no_events:true})}})}n.addUnload(v.destroy,v);if(x.submit_patch){v.onBeforeRenderUI.add(function(){var s=v.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){v.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){n.triggerSave();v.isNotDirty=1;return v.formElement._mceOldSubmit(v.formElement)}}s=null})}function r(){if(x.language&&x.language_load!==false){q.add(n.baseURL+"/langs/"+x.language+".js")}if(x.theme&&x.theme.charAt(0)!="-"&&!h.urls[x.theme]){h.load(x.theme,"themes/"+x.theme+"/editor_template"+n.suffix+".js")}i(g(x.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(A){var z={prefix:"plugins/",resource:A,suffix:"/editor_plugin"+n.suffix+".js"};var A=c.createUrl(z,A);c.load(A.resource,A)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+n.suffix+".js"})}}});q.loadQueue(function(){if(!v.removed){v.init()}})}r()},init:function(){var v,I=this,J=I.settings,F,B,E=I.getElement(),r,q,G,z,D,H,A,x=[];n.add(I);J.aria_label=J.aria_label||o.getAttrib(E,"aria-label",I.getLang("aria.rich_text_area"));if(J.theme){J.theme=J.theme.replace(/-/,"");r=h.get(J.theme);I.theme=new r();if(I.theme.init&&J.init_theme){I.theme.init(I,h.urls[J.theme]||n.documentBaseURL.replace(/\/$/,""))}}function C(K){var L=c.get(K),t=c.urls[K]||n.documentBaseURL.replace(/\/$/,""),s;if(L&&n.inArray(x,K)===-1){i(c.dependencies(K),function(u){C(u)});s=new L(I,t);I.plugins[K]=s;if(s.init){s.init(I,t);x.push(K)}}}i(g(J.plugins.replace(/\-/g,"")),C);if(J.popup_css!==false){if(J.popup_css){J.popup_css=I.documentBaseURI.toAbsolute(J.popup_css)}else{J.popup_css=I.baseURI.toAbsolute("themes/"+J.theme+"/skins/"+J.skin+"/dialog.css")}}if(J.popup_css_add){J.popup_css+=","+I.documentBaseURI.toAbsolute(J.popup_css_add)}I.controlManager=new n.ControlManager(I);if(J.custom_undo_redo){I.onBeforeExecCommand.add(function(t,K,u,L,s){if(K!="Undo"&&K!="Redo"&&K!="mceRepaint"&&(!s||!s.skip_undo)){I.undoManager.beforeChange()}});I.onExecCommand.add(function(t,K,u,L,s){if(K!="Undo"&&K!="Redo"&&K!="mceRepaint"&&(!s||!s.skip_undo)){I.undoManager.add()}})}I.onExecCommand.add(function(s,t){if(!/^(FontName|FontSize)$/.test(t)){I.nodeChanged()}});if(a){function y(s,t){if(!t||!t.initial){I.execCommand("mceRepaint")}}I.onUndo.add(y);I.onRedo.add(y);I.onSetContent.add(y)}I.onBeforeRenderUI.dispatch(I,I.controlManager);if(J.render_ui){F=J.width||E.style.width||E.offsetWidth;B=J.height||E.style.height||E.offsetHeight;I.orgDisplay=E.style.display;H=/^[0-9\.]+(|px)$/i;if(H.test(""+F)){F=Math.max(parseInt(F)+(r.deltaWidth||0),100)}if(H.test(""+B)){B=Math.max(parseInt(B)+(r.deltaHeight||0),100)}r=I.theme.renderUI({targetNode:E,width:F,height:B,deltaWidth:J.delta_width,deltaHeight:J.delta_height});I.editorContainer=r.editorContainer}if(document.domain&&location.hostname!=document.domain){n.relaxedDomain=document.domain}o.setStyles(r.sizeContainer||r.editorContainer,{width:F,height:B});if(J.content_css){n.each(g(J.content_css),function(s){I.contentCSS.push(I.documentBaseURI.toAbsolute(s))})}B=(r.iframeHeight||B)+(typeof(B)=="number"?(r.deltaHeight||0):"");if(B<100){B=100}I.iframeHTML=J.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(J.document_base_url!=n.documentBaseURL){I.iframeHTML+='<base href="'+I.documentBaseURI.getURI()+'" />'}if(J.ie7_compat){I.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{I.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}I.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(A=0;A<I.contentCSS.length;A++){I.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+I.contentCSS[A]+'" />'}I.contentCSS=[];z=J.body_id||"tinymce";if(z.indexOf("=")!=-1){z=I.getParam("body_id","","hash");z=z[I.id]||z}D=J.body_class||"";if(D.indexOf("=")!=-1){D=I.getParam("body_class","","hash");D=D[I.id]||""}I.iframeHTML+='</head><body id="'+z+'" class="mceContentBody '+D+'" onload="window.parent.tinyMCE.get(\''+I.id+"').onLoad.dispatch();\"><br></body></html>";if(n.relaxedDomain&&(b||(n.isOpera&&parseFloat(opera.version())<11))){G='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+I.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'}v=o.add(r.iframeContainer,"iframe",{id:I.id+"_ifr",src:G||'javascript:""',frameBorder:"0",allowTransparency:"true",title:J.aria_label,style:{width:"100%",height:B,display:"block"}});I.contentAreaContainer=r.iframeContainer;o.get(r.editorContainer).style.display=I.orgDisplay;o.get(I.id).style.display="none";o.setAttrib(I.id,"aria-hidden",true);if(!n.relaxedDomain||!G){I.setupIframe()}E=v=r=null},setupIframe:function(){var r=this,x=r.settings,y=o.get(r.id),z=r.getDoc(),v,q;if(!b||!n.relaxedDomain){z.open();z.write(r.iframeHTML);z.close();if(n.relaxedDomain){z.domain=n.relaxedDomain}}q=r.getBody();q.disabled=true;if(!x.readonly){q.contentEditable=true}q.disabled=false;r.schema=new n.html.Schema(x);r.dom=new n.dom.DOMUtils(r.getDoc(),{keep_values:true,url_converter:r.convertURL,url_converter_scope:r,hex_colors:x.force_hex_style_colors,class_filter:x.class_filter,update_styles:1,fix_ie_paragraphs:1,schema:r.schema});r.parser=new n.html.DomParser(x,r.schema);if(!r.settings.allow_html_in_named_anchor){r.parser.addAttributeFilter("name",function(s,t){var B=s.length,D,A,C,E;while(B--){E=s[B];if(E.name==="a"&&E.firstChild){C=E.parent;D=E.lastChild;do{A=D.prev;C.insert(D,E);D=A}while(D)}}})}r.parser.addAttributeFilter("src,href,style",function(s,t){var A=s.length,C,E=r.dom,D,B;while(A--){C=s[A];D=C.attr(t);B="data-mce-"+t;if(!C.attributes.map[B]){if(t==="style"){C.attr(B,E.serializeStyle(E.parseStyle(D),C.name))}else{C.attr(B,r.convertURL(D,t,C.name))}}}});r.parser.addNodeFilter("script",function(s,t){var A=s.length,B;while(A--){B=s[A];B.attr("type","mce-"+(B.attr("type")||"text/javascript"))}});r.parser.addNodeFilter("#cdata",function(s,t){var A=s.length,B;while(A--){B=s[A];B.type=8;B.name="#comment";B.value="[CDATA["+B.value+"]]"}});r.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(t,A){var B=t.length,C,s=r.schema.getNonEmptyElements();while(B--){C=t[B];if(C.isEmpty(s)){C.empty().append(new n.html.Node("br",1)).shortEnded=true}}});r.serializer=new n.dom.Serializer(x,r.dom,r.schema);r.selection=new n.dom.Selection(r.dom,r.getWin(),r.serializer);r.formatter=new n.Formatter(this);r.formatter.register({alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"justify"}}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},link:{inline:"a",selector:"a",remove:"all",split:true,deep:true,onmatch:function(s){return true},onformat:function(A,s,t){i(t,function(C,B){r.dom.setAttrib(A,B,C)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){r.formatter.register(s,{block:s,remove:"all"})});r.formatter.register(r.settings.formats);r.undoManager=new n.UndoManager(r);r.undoManager.onAdd.add(function(t,s){if(t.hasUndo()){return r.onChange.dispatch(r,s,t)}});r.undoManager.onUndo.add(function(t,s){return r.onUndo.dispatch(r,s,t)});r.undoManager.onRedo.add(function(t,s){return r.onRedo.dispatch(r,s,t)});r.forceBlocks=new n.ForceBlocks(r,{forced_root_block:x.forced_root_block});r.editorCommands=new n.EditorCommands(r);r.serializer.onPreProcess.add(function(s,t){return r.onPreProcess.dispatch(r,t,s)});r.serializer.onPostProcess.add(function(s,t){return r.onPostProcess.dispatch(r,t,s)});r.onPreInit.dispatch(r);if(!x.gecko_spellcheck){r.getBody().spellcheck=0}if(!x.readonly){r._addEvents()}r.controlManager.onPostRender.dispatch(r,r.controlManager);r.onPostRender.dispatch(r);r.quirks=new n.util.Quirks(this);if(x.directionality){r.getBody().dir=x.directionality}if(x.nowrap){r.getBody().style.whiteSpace="nowrap"}if(x.handle_node_change_callback){r.onNodeChange.add(function(t,s,A){r.execCallback("handle_node_change_callback",r.id,A,-1,-1,true,r.selection.isCollapsed())})}if(x.save_callback){r.onSaveContent.add(function(s,A){var t=r.execCallback("save_callback",r.id,A.content,r.getBody());if(t){A.content=t}})}if(x.onchange_callback){r.onChange.add(function(t,s){r.execCallback("onchange_callback",r,s)})}if(x.protect){r.onBeforeSetContent.add(function(s,t){if(x.protect){i(x.protect,function(A){t.content=t.content.replace(A,function(B){return"<!--mce:protected "+escape(B)+"-->"})})}})}if(x.convert_newlines_to_brs){r.onBeforeSetContent.add(function(s,t){if(t.initial){t.content=t.content.replace(/\r?\n/g,"<br />")}})}if(x.preformatted){r.onPostProcess.add(function(s,t){t.content=t.content.replace(/^\s*<pre.*?>/,"");t.content=t.content.replace(/<\/pre>\s*$/,"");if(t.set){t.content='<pre class="mceItemHidden">'+t.content+"</pre>"}})}if(x.verify_css_classes){r.serializer.attribValueFilter=function(C,A){var B,t;if(C=="class"){if(!r.classesRE){t=r.dom.getClasses();if(t.length>0){B="";i(t,function(s){B+=(B?"|":"")+s["class"]});r.classesRE=new RegExp("("+B+")","gi")}}return !r.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(A)||r.classesRE.test(A)?A:""}return A}}if(x.cleanup_callback){r.onBeforeSetContent.add(function(s,t){t.content=r.execCallback("cleanup_callback","insert_to_editor",t.content,t)});r.onPreProcess.add(function(s,t){if(t.set){r.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)}if(t.get){r.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)}});r.onPostProcess.add(function(s,t){if(t.set){t.content=r.execCallback("cleanup_callback","insert_to_editor",t.content,t)}if(t.get){t.content=r.execCallback("cleanup_callback","get_from_editor",t.content,t)}})}if(x.save_callback){r.onGetContent.add(function(s,t){if(t.save){t.content=r.execCallback("save_callback",r.id,t.content,r.getBody())}})}if(x.handle_event_callback){r.onEvent.add(function(s,t,A){if(r.execCallback("handle_event_callback",t,s,A)===false){k.cancel(t)}})}r.onSetContent.add(function(){r.addVisual(r.getBody())});if(x.padd_empty_editor){r.onPostProcess.add(function(s,t){t.content=t.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}if(a){function u(s,t){i(s.dom.select("a"),function(B){var A=B.parentNode;if(s.dom.isBlock(A)&&A.lastChild===B){s.dom.add(A,"br",{"data-mce-bogus":1})}})}r.onExecCommand.add(function(s,t){if(t==="CreateLink"){u(s)}});r.onSetContent.add(r.selection.onSetContent.add(u))}r.load({initial:true,format:"html"});r.startContent=r.getContent({format:"raw"});r.undoManager.add();r.initialized=true;r.onInit.dispatch(r);r.execCallback("setupcontent_callback",r.id,r.getBody(),r.getDoc());r.execCallback("init_instance_callback",r);r.focus(true);r.nodeChanged({initial:1});i(r.contentCSS,function(s){r.dom.loadCSS(s)});if(x.auto_focus){setTimeout(function(){var s=n.get(x.auto_focus);s.selection.select(s.getBody(),1);s.selection.collapse(1);s.getBody().focus();s.getWin().focus()},100)}y=null},focus:function(v){var z,r=this,u=r.selection,y=r.settings.content_editable,s,q,x=r.getDoc();if(!v){s=u.getRng();if(s.item){q=s.item(0)}r._refreshContentEditable();if(!y){r.getWin().focus()}if(n.isGecko){r.getBody().focus()}if(q&&q.ownerDocument==x){s=x.body.createControlRange();s.addElement(q);s.select()}}if(n.activeEditor!=r){if((z=n.activeEditor)!=null){z.onDeactivate.dispatch(z,r)}r.onActivate.dispatch(r,z)}n._setActive(r)},execCallback:function(v){var q=this,u=q.settings[v],r;if(!u){return}if(q.callbackLookup&&(r=q.callbackLookup[v])){u=r.func;r=r.scope}if(d(u,"string")){r=u.replace(/\.\w+$/,"");r=r?n.resolve(r):0;u=n.resolve(u);q.callbackLookup=q.callbackLookup||{};q.callbackLookup[v]={func:u,scope:r}}return u.apply(r||q,Array.prototype.slice.call(arguments,1))},translate:function(q){var t=this.settings.language||"en",r=n.i18n;if(!q){return""}return r[t+"."+q]||q.replace(/{\#([^}]+)\}/g,function(u,s){return r[t+"."+s]||"{#"+s+"}"})},getLang:function(r,q){return n.i18n[(this.settings.language||"en")+"."+r]||(d(q)?q:"{#"+r+"}")},getParam:function(x,s,q){var t=n.trim,r=d(this.settings[x])?this.settings[x]:s,u;if(q==="hash"){u={};if(d(r,"string")){i(r.indexOf("=")>0?r.split(/[;,](?![^=;,]*(?:[;,]|$))/):r.split(","),function(y){y=y.split("=");if(y.length>1){u[t(y[0])]=t(y[1])}else{u[t(y[0])]=t(y)}})}else{u=r}return u}return r},nodeChanged:function(u){var q=this,r=q.selection,v=r.getStart()||q.getBody();if(q.initialized){u=u||{};v=b&&v.ownerDocument!=q.getDoc()?q.getBody():v;u.parents=[];q.dom.getParent(v,function(s){if(s.nodeName=="BODY"){return true}u.parents.push(s)});q.onNodeChange.dispatch(q,u?u.controlManager||q.controlManager:q.controlManager,v,r.isCollapsed(),u)}},addButton:function(u,r){var q=this;q.buttons=q.buttons||{};q.buttons[u]=r},addCommand:function(q,s,r){this.execCommands[q]={func:s,scope:r||this}},addQueryStateHandler:function(q,s,r){this.queryStateCommands[q]={func:s,scope:r||this}},addQueryValueHandler:function(q,s,r){this.queryValueCommands[q]={func:s,scope:r||this}},addShortcut:function(s,v,q,u){var r=this,x;if(!r.settings.custom_shortcuts){return false}r.shortcuts=r.shortcuts||{};if(d(q,"string")){x=q;q=function(){r.execCommand(x,false,null)}}if(d(q,"object")){x=q;q=function(){r.execCommand(x[0],x[1],x[2])}}i(g(s),function(t){var y={func:q,scope:u||this,desc:v,alt:false,ctrl:false,shift:false};i(g(t,"+"),function(z){switch(z){case"alt":case"ctrl":case"shift":y[z]=true;break;default:y.charCode=z.charCodeAt(0);y.keyCode=z.toUpperCase().charCodeAt(0)}});r.shortcuts[(y.ctrl?"ctrl":"")+","+(y.alt?"alt":"")+","+(y.shift?"shift":"")+","+y.keyCode]=y});return true},execCommand:function(y,x,A,q){var u=this,v=0,z,r;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(y)&&(!q||!q.skip_focus)){u.focus()}q=f({},q);u.onBeforeExecCommand.dispatch(u,y,x,A,q);if(q.terminate){return false}if(u.execCallback("execcommand_callback",u.id,u.selection.getNode(),y,x,A)){u.onExecCommand.dispatch(u,y,x,A,q);return true}if(z=u.execCommands[y]){r=z.func.call(z.scope,x,A);if(r!==true){u.onExecCommand.dispatch(u,y,x,A,q);return r}}i(u.plugins,function(s){if(s.execCommand&&s.execCommand(y,x,A)){u.onExecCommand.dispatch(u,y,x,A,q);v=1;return false}});if(v){return true}if(u.theme&&u.theme.execCommand&&u.theme.execCommand(y,x,A)){u.onExecCommand.dispatch(u,y,x,A,q);return true}if(u.editorCommands.execCommand(y,x,A)){u.onExecCommand.dispatch(u,y,x,A,q);return true}u.getDoc().execCommand(y,x,A);u.onExecCommand.dispatch(u,y,x,A,q)},queryCommandState:function(v){var r=this,x,u;if(r._isHidden()){return}if(x=r.queryStateCommands[v]){u=x.func.call(x.scope);if(u!==true){return u}}x=r.editorCommands.queryCommandState(v);if(x!==-1){return x}try{return this.getDoc().queryCommandState(v)}catch(q){}},queryCommandValue:function(x){var r=this,v,u;if(r._isHidden()){return}if(v=r.queryValueCommands[x]){u=v.func.call(v.scope);if(u!==true){return u}}v=r.editorCommands.queryCommandValue(x);if(d(v)){return v}try{return this.getDoc().queryCommandValue(x)}catch(q){}},show:function(){var q=this;o.show(q.getContainer());o.hide(q.id);q.load()},hide:function(){var q=this,r=q.getDoc();if(b&&r){r.execCommand("SelectAll")}q.save();o.hide(q.getContainer());o.setStyle(q.id,"display",q.orgDisplay)},isHidden:function(){return !o.isHidden(this.id)},setProgressState:function(q,r,s){this.onSetProgressState.dispatch(this,q,r,s);return q},load:function(u){var q=this,s=q.getElement(),r;if(s){u=u||{};u.load=true;r=q.setContent(d(s.value)?s.value:s.innerHTML,u);u.element=s;if(!u.no_events){q.onLoadContent.dispatch(q,u)}u.element=s=null;return r}},save:function(v){var q=this,u=q.getElement(),r,s;if(!u||!q.initialized){return}v=v||{};v.save=true;if(!v.no_events){q.undoManager.typing=false;q.undoManager.add()}v.element=u;r=v.content=q.getContent(v);if(!v.no_events){q.onSaveContent.dispatch(q,v)}r=v.content;if(!/TEXTAREA|INPUT/i.test(u.nodeName)){u.innerHTML=r;if(s=o.getParent(q.id,"form")){i(s.elements,function(t){if(t.name==q.id){t.value=r;return false}})}}else{u.value=r}v.element=u=null;return r},setContent:function(v,t){var s=this,r,q=s.getBody(),u;t=t||{};t.format=t.format||"html";t.set=true;t.content=v;if(!t.no_events){s.onBeforeSetContent.dispatch(s,t)}v=t.content;if(!n.isIE&&(v.length===0||/^\s+$/.test(v))){u=s.settings.forced_root_block;if(u){v="<"+u+'><br data-mce-bogus="1"></'+u+">"}else{v='<br data-mce-bogus="1">'}q.innerHTML=v;s.selection.select(q,true);s.selection.collapse(true);return}if(t.format!=="raw"){v=new n.html.Serializer({},s.schema).serialize(s.parser.parse(v))}t.content=n.trim(v);s.dom.setHTML(q,t.content);if(!t.no_events){s.onSetContent.dispatch(s,t)}s.selection.normalize();return t.content},getContent:function(r){var q=this,s;r=r||{};r.format=r.format||"html";r.get=true;if(!r.no_events){q.onBeforeGetContent.dispatch(q,r)}if(r.format=="raw"){s=q.getBody().innerHTML}else{s=q.serializer.serialize(q.getBody(),r)}r.content=n.trim(s);if(!r.no_events){q.onGetContent.dispatch(q,r)}return r.content},isDirty:function(){var q=this;return n.trim(q.startContent)!=n.trim(q.getContent({format:"raw",no_events:1}))&&!q.isNotDirty},getContainer:function(){var q=this;if(!q.container){q.container=o.get(q.editorContainer||q.id+"_parent")}return q.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return o.get(this.settings.content_element||this.id)},getWin:function(){var q=this,r;if(!q.contentWindow){r=o.get(q.id+"_ifr");if(r){q.contentWindow=r.contentWindow}}return q.contentWindow},getDoc:function(){var r=this,q;if(!r.contentDocument){q=r.getWin();if(q){r.contentDocument=q.document}}return r.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(q,y,x){var r=this,v=r.settings;if(v.urlconverter_callback){return r.execCallback("urlconverter_callback",q,x,true,y)}if(!v.convert_urls||(x&&x.nodeName=="LINK")||q.indexOf("file:")===0){return q}if(v.relative_urls){return r.documentBaseURI.toRelative(q)}q=r.documentBaseURI.toAbsolute(q,v.remove_script_host);return q},addVisual:function(u){var q=this,r=q.settings;u=u||q.getBody();if(!d(q.hasVisual)){q.hasVisual=r.visual}i(q.dom.select("table,a",u),function(t){var s;switch(t.nodeName){case"TABLE":s=q.dom.getAttrib(t,"border");if(!s||s=="0"){if(q.hasVisual){q.dom.addClass(t,r.visual_table_class)}else{q.dom.removeClass(t,r.visual_table_class)}}return;case"A":s=q.dom.getAttrib(t,"name");if(s){if(q.hasVisual){q.dom.addClass(t,"mceItemAnchor")}else{q.dom.removeClass(t,"mceItemAnchor")}}return}});q.onVisualAid.dispatch(q,u,q.hasVisual)},remove:function(){var q=this,r=q.getContainer();q.removed=1;q.hide();q.execCallback("remove_instance_callback",q);q.onRemove.dispatch(q);q.onExecCommand.listeners=[];n.remove(q);o.remove(r)},destroy:function(r){var q=this;if(q.destroyed){return}if(!r){n.removeUnload(q.destroy);tinyMCE.onBeforeUnload.remove(q._beforeUnload);if(q.theme&&q.theme.destroy){q.theme.destroy()}q.controlManager.destroy();q.selection.destroy();q.dom.destroy();if(!q.settings.content_editable){k.clear(q.getWin());k.clear(q.getDoc())}k.clear(q.getBody());k.clear(q.formElement)}if(q.formElement){q.formElement.submit=q.formElement._mceOldSubmit;q.formElement._mceOldSubmit=null}q.contentAreaContainer=q.formElement=q.container=q.settings.content_element=q.bodyElement=q.contentDocument=q.contentWindow=null;if(q.selection){q.selection=q.selection.win=q.selection.dom=q.selection.dom.doc=null}q.destroyed=1},_addEvents:function(){var D=this,u,E=D.settings,r=D.dom,y={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function q(t,F){var s=t.type;if(D.removed){return}if(D.onEvent.dispatch(D,t,F)!==false){D[y[t.fakeType||t.type]].dispatch(D,t,F)}}i(y,function(t,s){switch(s){case"contextmenu":r.bind(D.getDoc(),s,q);break;case"paste":r.bind(D.getBody(),s,function(F){q(F)});break;case"submit":case"reset":r.bind(D.getElement().form||o.getParent(D.id,"form"),s,q);break;default:r.bind(E.content_editable?D.getBody():D.getDoc(),s,q)}});r.bind(E.content_editable?D.getBody():(a?D.getDoc():D.getWin()),"focus",function(s){D.focus(true)});if(n.isGecko){r.bind(D.getDoc(),"DOMNodeInserted",function(t){var s;t=t.target;if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("data-mce-src"))){t.src=D.documentBaseURI.toAbsolute(s)}})}if(a){function v(){var G=this,I=G.getDoc(),H=G.settings;if(a&&!H.readonly){G._refreshContentEditable();try{I.execCommand("styleWithCSS",0,false)}catch(F){if(!G._isHidden()){try{I.execCommand("useCSS",0,true)}catch(F){}}}if(!H.table_inline_editing){try{I.execCommand("enableInlineTableEditing",false,false)}catch(F){}}if(!H.object_resizing){try{I.execCommand("enableObjectResizing",false,false)}catch(F){}}}}D.onBeforeExecCommand.add(v);D.onMouseDown.add(v)}D.onMouseUp.add(D.nodeChanged);D.onKeyUp.add(function(s,t){var F=t.keyCode;if((F>=33&&F<=36)||(F>=37&&F<=40)||F==13||F==45||F==46||F==8||(n.isMac&&(F==91||F==93))||t.ctrlKey){D.nodeChanged()}});D.onKeyDown.add(function(t,F){if(F.keyCode!=j.BACKSPACE){return}var s=t.selection.getRng();if(!s.collapsed){return}var H=s.startContainer;var G=s.startOffset;while(H&&H.nodeType&&H.nodeType!=1&&H.parentNode){H=H.parentNode}if(H&&H.parentNode&&H.parentNode.tagName==="BLOCKQUOTE"&&H.parentNode.firstChild==H&&G==0){t.formatter.toggle("blockquote",null,H.parentNode);s.setStart(H,0);s.setEnd(H,0);t.selection.setRng(s);t.selection.collapse(false)}});D.onReset.add(function(){D.setContent(D.startContent,{format:"raw"})});if(E.custom_shortcuts){if(E.custom_undo_redo_keyboard_shortcuts){D.addShortcut("ctrl+z",D.getLang("undo_desc"),"Undo");D.addShortcut("ctrl+y",D.getLang("redo_desc"),"Redo")}D.addShortcut("ctrl+b",D.getLang("bold_desc"),"Bold");D.addShortcut("ctrl+i",D.getLang("italic_desc"),"Italic");D.addShortcut("ctrl+u",D.getLang("underline_desc"),"Underline");for(u=1;u<=6;u++){D.addShortcut("ctrl+"+u,"",["FormatBlock",false,"h"+u])}D.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);D.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);D.addShortcut("ctrl+9","",["FormatBlock",false,"address"]);function x(t){var s=null;if(!t.altKey&&!t.ctrlKey&&!t.metaKey){return s}i(D.shortcuts,function(F){if(n.isMac&&F.ctrl!=t.metaKey){return}else{if(!n.isMac&&F.ctrl!=t.ctrlKey){return}}if(F.alt!=t.altKey){return}if(F.shift!=t.shiftKey){return}if(t.keyCode==F.keyCode||(t.charCode&&t.charCode==F.charCode)){s=F;return false}});return s}D.onKeyUp.add(function(s,t){var F=x(t);if(F){return k.cancel(t)}});D.onKeyPress.add(function(s,t){var F=x(t);if(F){return k.cancel(t)}});D.onKeyDown.add(function(s,t){var F=x(t);if(F){F.func.call(F.scope);return k.cancel(t)}})}if(n.isIE){r.bind(D.getDoc(),"controlselect",function(F){var t=D.resizeInfo,s;F=F.target;if(F.nodeName!=="IMG"){return}if(t){r.unbind(t.node,t.ev,t.cb)}if(!r.hasClass(F,"mceItemNoResize")){ev="resizeend";s=r.bind(F,ev,function(H){var G;H=H.target;if(G=r.getStyle(H,"width")){r.setAttrib(H,"width",G.replace(/[^0-9%]+/g,""));r.setStyle(H,"width","")}if(G=r.getStyle(H,"height")){r.setAttrib(H,"height",G.replace(/[^0-9%]+/g,""));r.setStyle(H,"height","")}})}else{ev="resizestart";s=r.bind(F,"resizestart",k.cancel,k)}t=D.resizeInfo={node:F,ev:ev,cb:s}})}if(n.isOpera){D.onClick.add(function(s,t){k.prevent(t)})}if(E.custom_undo_redo){function A(){D.undoManager.typing=false;D.undoManager.add()}var z=n.isGecko?"blur":"focusout";r.bind(D.getDoc(),z,function(s){if(!D.removed&&D.undoManager.typing){A()}});D.dom.bind(D.dom.getRoot(),"dragend",function(s){A()});D.onKeyUp.add(function(s,F){var t=F.keyCode;if((t>=33&&t<=36)||(t>=37&&t<=40)||t==13||t==45||F.ctrlKey){A()}});D.onKeyDown.add(function(s,G){var F=G.keyCode,t;if(F==8){t=D.getDoc().selection;if(t&&t.createRange&&t.createRange().item){D.undoManager.beforeChange();s.dom.remove(t.createRange().item(0));A();return k.cancel(G)}}if((F>=33&&F<=36)||(F>=37&&F<=40)||F==13||F==45){if(n.isIE&&F==13){D.undoManager.beforeChange()}if(D.undoManager.typing){A()}return}if((F<16||F>20)&&F!=224&&F!=91&&!D.undoManager.typing){D.undoManager.beforeChange();D.undoManager.typing=true;D.undoManager.add()}});D.onMouseDown.add(function(){if(D.undoManager.typing){A()}})}if(n.isGecko){function C(){var s=D.dom.getAttribs(D.selection.getStart().cloneNode(false));return function(){var t=D.selection.getStart();if(t!==D.getBody()){D.dom.setAttrib(t,"style",null);i(s,function(F){t.setAttributeNode(F.cloneNode(true))})}}}function B(){var t=D.selection;return !t.isCollapsed()&&t.getStart()!=t.getEnd()}D.onKeyPress.add(function(s,F){var t;if((F.keyCode==8||F.keyCode==46)&&B()){t=C();D.getDoc().execCommand("delete",false,null);t();return k.cancel(F)}});D.dom.bind(D.getDoc(),"cut",function(t){var s;if(B()){s=C();D.onKeyUp.addToTop(k.cancel,k);setTimeout(function(){s();D.onKeyUp.remove(k.cancel,k)},0)}})}},_refreshContentEditable:function(){var r=this,q,s;if(r._isHidden()){q=r.getBody();s=q.parentNode;s.removeChild(q);s.appendChild(q);q.focus()}},_isHidden:function(){var q;if(!a){return 0}q=this.selection.getSel();return(!q||!q.rangeCount||q.rangeCount==0)}})})(tinymce);(function(c){var d=c.each,e,a=true,b=false;c.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return b}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return b}function u(v,x){x=x||"exec";d(v,function(z,y){d(y.toLowerCase().split(","),function(A){j[x][A]=z})})}c.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===e){x=b}if(v===e){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:e)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(c.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(b)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);d("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=c.explode(k.font_size_style_values);v=c.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return b}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new c.html.Serializer({},n.schema);v='<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=n.selection.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.y<L.y)||(C.x>L.x+L.w||C.x<L.x)){H=c.isIE?n.getDoc().documentElement:n.getBody();H.scrollLeft=C.x;H.scrollTop=C.y-L.h+25}x=m.createRng();A=D.previousSibling;if(A&&A.nodeType==3){x.setStart(A,A.nodeValue.length)}else{x.setStartBefore(D);x.setEndBefore(D)}m.remove(D);p.setRng(x);p.onSetContent.dispatch(p,G);n.addVisual()},mceInsertRawHTML:function(y,x,v){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return v}))},mceSetContent:function(y,x,v){n.setContent(v)},"Indent,Outdent":function(z){var x,v,y;x=k.indentation;v=/[a-z%]+$/i.exec(x);x=parseInt(x);if(!l("InsertUnorderedList")&&!l("InsertOrderedList")){d(p.getSelectedBlocks(),function(A){if(z=="outdent"){y=Math.max(0,parseInt(A.style.paddingLeft||0)-x);m.setStyle(A,"paddingLeft",y?y+v:"")}else{m.setStyle(A,"paddingLeft",(parseInt(A.style.paddingLeft||0)+x)+v)}})}else{f(z)}},mceRepaint:function(){var x;if(c.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(v){}}},mceToggleFormat:function(y,x,v){q.toggle(v)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();v.setStart(x,0);v.setEnd(x,x.childNodes.length);n.selection.setRng(v)}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(z){var x="align"+z.substring(7);var v=p.isCollapsed()?[p.getNode()]:p.getSelectedBlocks();var y=c.map(v,function(A){return !!q.matchNode(A,x)});return c.inArray(y,a)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(v){return m.getParent(p.getNode(),v=="insertunorderedlist"?"UL":"OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");if(k.custom_undo_redo){u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(f){var d,e=0,h=[],c;function g(){return b.trim(f.getContent({format:"raw",no_events:1}))}return d={typing:false,onAdd:new a(d),onUndo:new a(d),onRedo:new a(d),beforeChange:function(){c=f.selection.getBookmark(2,true)},add:function(m){var j,k=f.settings,l;m=m||{};m.content=g();l=h[e];if(l&&l.content==m.content){return null}if(h[e]){h[e].beforeBookmark=c}if(k.custom_undo_redo_levels){if(h.length>k.custom_undo_redo_levels){for(j=0;j<h.length-1;j++){h[j]=h[j+1]}h.length--;e=h.length}}m.bookmark=f.selection.getBookmark(2,true);if(e<h.length-1){h.length=e+1}h.push(m);e=h.length-1;d.onAdd.dispatch(d,m);f.isNotDirty=0;return m},undo:function(){var k,j;if(d.typing){d.add();d.typing=false}if(e>0){k=h[--e];f.setContent(k.content,{format:"raw"});f.selection.moveToBookmark(k.beforeBookmark);d.onUndo.dispatch(d,k)}return k},redo:function(){var i;if(e<h.length-1){i=h[++e];f.setContent(i.content,{format:"raw"});f.selection.moveToBookmark(i.bookmark);d.onRedo.dispatch(d,i)}return i},clear:function(){h=[];e=0;d.typing=false},hasUndo:function(){return e>0||this.typing},hasRedo:function(){return e<h.length-1&&!this.typing}}}})(tinymce);(function(l){var j=l.dom.Event,c=l.isIE,a=l.isGecko,b=l.isOpera,i=l.each,h=l.extend,d=true,g=false;function k(o){var p,n,m;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(o.nodeName)){if(p){n=o.cloneNode(false);n.appendChild(p);p=n}else{p=m=o.cloneNode(false)}p.removeAttribute("id")}}while(o=o.parentNode);if(p){return{wrapper:p,inner:m}}}function f(n,o){var m=o.ownerDocument.createRange();m.setStart(n.endContainer,n.endOffset);m.setEndAfter(o);return m.cloneContents().textContent.length==0}function e(o,q,m){var n,p;if(q.isEmpty(m)){n=q.getParent(m,"ul,ol");if(!q.getParent(n.parentNode,"ul,ol")){q.split(n,m);p=q.create("p",0,'<br data-mce-bogus="1" />');q.replace(p,m);o.select(p,1)}return g}return d}l.create("tinymce.ForceBlocks",{ForceBlocks:function(m){var n=this,o=m.settings,p;n.editor=m;n.dom=m.dom;p=(o.forced_root_block||"p").toLowerCase();o.element=p.toUpperCase();m.onPreInit.add(n.setup,n)},setup:function(){var n=this,m=n.editor,p=m.settings,u=m.dom,o=m.selection,q=m.schema.getBlockElements();if(p.forced_root_block){function v(){var y=o.getStart(),t=m.getBody(),s,z,D,F,E,x,A,B=-16777215;if(!y||y.nodeType!==1){return}while(y!=t){if(q[y.nodeName]){return}y=y.parentNode}s=o.getRng();if(s.setStart){z=s.startContainer;D=s.startOffset;F=s.endContainer;E=s.endOffset}else{if(s.item){s=m.getDoc().body.createTextRange();s.moveToElementText(s.item(0))}tmpRng=s.duplicate();tmpRng.collapse(true);D=tmpRng.move("character",B)*-1;if(!tmpRng.collapsed){tmpRng=s.duplicate();tmpRng.collapse(false);E=(tmpRng.move("character",B)*-1)-D}}for(y=t.firstChild;y;y){if(y.nodeType===3||(y.nodeType==1&&!q[y.nodeName])){if(!x){x=u.create(p.forced_root_block);y.parentNode.insertBefore(x,y)}A=y;y=y.nextSibling;x.appendChild(A)}else{x=null;y=y.nextSibling}}if(s.setStart){s.setStart(z,D);s.setEnd(F,E);o.setRng(s)}else{try{s=m.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(true);s.moveStart("character",D);if(E>0){s.moveEnd("character",E)}s.select()}catch(C){}}m.nodeChanged()}m.onKeyUp.add(v);m.onClick.add(v)}if(p.force_br_newlines){if(c){m.onKeyPress.add(function(s,t){var x;if(t.keyCode==13&&o.getNode().nodeName!="LI"){o.setContent('<br id="__" /> ',{format:"raw"});x=u.get("__");x.removeAttribute("id");o.select(x);o.collapse();return j.cancel(t)}})}}if(p.force_p_newlines){if(!c){m.onKeyPress.add(function(s,t){if(t.keyCode==13&&!t.shiftKey&&!n.insertPara(t)){j.cancel(t)}})}else{l.addUnload(function(){n._previousFormats=0});m.onKeyPress.add(function(s,t){n._previousFormats=0;if(t.keyCode==13&&!t.shiftKey&&s.selection.isCollapsed()&&p.keep_styles){n._previousFormats=k(s.selection.getStart())}});m.onKeyUp.add(function(t,y){if(y.keyCode==13&&!y.shiftKey){var x=t.selection.getStart(),s=n._previousFormats;if(!x.hasChildNodes()&&s){x=u.getParent(x,u.isBlock);if(x&&x.nodeName!="LI"){x.innerHTML="";if(n._previousFormats){x.appendChild(s.wrapper);s.inner.innerHTML="\uFEFF"}else{x.innerHTML="\uFEFF"}o.select(x,1);o.collapse(true);t.getDoc().execCommand("Delete",false,null);n._previousFormats=0}}}})}if(a){m.onKeyDown.add(function(s,t){if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){n.backspaceDelete(t,t.keyCode==8)}})}}if(l.isWebKit){function r(t){var s=o.getRng(),x,A=u.create("div",null," "),z,y=u.getViewPort(t.getWin()).h;s.insertNode(x=u.create("br"));s.setStartAfter(x);s.setEndAfter(x);o.setRng(s);if(o.getSel().focusNode==x.previousSibling){o.select(u.insertAfter(u.doc.createTextNode("\u00a0"),x));o.collapse(d)}u.insertAfter(A,x);z=u.getPos(A).y;u.remove(A);if(z>y){t.getWin().scrollTo(0,z)}}m.onKeyPress.add(function(s,t){if(t.keyCode==13&&(t.shiftKey||(p.force_br_newlines&&!u.getParent(o.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){r(s);j.cancel(t)}})}if(c){if(p.element!="P"){m.onKeyPress.add(function(s,t){n.lastElm=o.getNode().nodeName});m.onKeyUp.add(function(t,x){var z,y=o.getNode(),s=t.getBody();if(s.childNodes.length===1&&y.nodeName=="P"){y=u.rename(y,p.element);o.select(y);o.collapse();t.nodeChanged()}else{if(x.keyCode==13&&!x.shiftKey&&n.lastElm!="P"){z=u.getParent(y,"p");if(z){u.rename(z,p.element);t.nodeChanged()}}}})}}},getParentBlock:function(o){var m=this.dom;return m.getParent(o,m.isBlock)},insertPara:function(Q){var E=this,v=E.editor,M=v.dom,R=v.getDoc(),V=v.settings,F=v.selection.getSel(),G=F.getRangeAt(0),U=R.body;var J,K,H,O,N,q,o,u,z,m,C,T,p,x,I,L=M.getViewPort(v.getWin()),B,D,A;v.undoManager.beforeChange();J=R.createRange();J.setStart(F.anchorNode,F.anchorOffset);J.collapse(d);K=R.createRange();K.setStart(F.focusNode,F.focusOffset);K.collapse(d);H=J.compareBoundaryPoints(J.START_TO_END,K)<0;O=H?F.anchorNode:F.focusNode;N=H?F.anchorOffset:F.focusOffset;q=H?F.focusNode:F.anchorNode;o=H?F.focusOffset:F.anchorOffset;if(O===q&&/^(TD|TH)$/.test(O.nodeName)){if(O.firstChild.nodeName=="BR"){M.remove(O.firstChild)}if(O.childNodes.length==0){v.dom.add(O,V.element,null,"<br />");T=v.dom.add(O,V.element,null,"<br />")}else{I=O.innerHTML;O.innerHTML="";v.dom.add(O,V.element,null,I);T=v.dom.add(O,V.element,null,"<br />")}G=R.createRange();G.selectNodeContents(T);G.collapse(1);v.selection.setRng(G);return g}if(O==U&&q==U&&U.firstChild&&v.dom.isBlock(U.firstChild)){O=q=O.firstChild;N=o=0;J=R.createRange();J.setStart(O,0);K=R.createRange();K.setStart(q,0)}if(!R.body.hasChildNodes()){R.body.appendChild(M.create("br"))}O=O.nodeName=="HTML"?R.body:O;O=O.nodeName=="BODY"?O.firstChild:O;q=q.nodeName=="HTML"?R.body:q;q=q.nodeName=="BODY"?q.firstChild:q;u=E.getParentBlock(O);z=E.getParentBlock(q);m=u?u.nodeName:V.element;if(I=E.dom.getParent(u,"li,pre")){if(I.nodeName=="LI"){return e(v.selection,E.dom,I)}return d}if(u&&(u.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;u=null}if(z&&(z.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;z=null}if(/(TD|TABLE|TH|CAPTION)/.test(m)||(u&&m=="DIV"&&/left|right/gi.test(M.getStyle(u,"float",1)))){m=V.element;u=z=null}C=(u&&u.nodeName==m)?u.cloneNode(0):v.dom.create(m);T=(z&&z.nodeName==m)?z.cloneNode(0):v.dom.create(m);T.removeAttribute("id");if(/^(H[1-6])$/.test(m)&&f(G,u)){T=v.dom.create(V.element)}I=p=O;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}p=I}while((I=I.previousSibling?I.previousSibling:I.parentNode));I=x=q;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}x=I}while((I=I.nextSibling?I.nextSibling:I.parentNode));if(p.nodeName==m){J.setStart(p,0)}else{J.setStartBefore(p)}J.setEnd(O,N);C.appendChild(J.cloneContents()||R.createTextNode(""));try{K.setEndAfter(x)}catch(P){}K.setStart(q,o);T.appendChild(K.cloneContents()||R.createTextNode(""));G=R.createRange();if(!p.previousSibling&&p.parentNode.nodeName==m){G.setStartBefore(p.parentNode)}else{if(J.startContainer.nodeName==m&&J.startOffset==0){G.setStartBefore(J.startContainer)}else{G.setStart(J.startContainer,J.startOffset)}}if(!x.nextSibling&&x.parentNode.nodeName==m){G.setEndAfter(x.parentNode)}else{G.setEnd(K.endContainer,K.endOffset)}G.deleteContents();if(b){v.getWin().scrollTo(0,L.y)}if(C.firstChild&&C.firstChild.nodeName==m){C.innerHTML=C.firstChild.innerHTML}if(T.firstChild&&T.firstChild.nodeName==m){T.innerHTML=T.firstChild.innerHTML}function S(y,s){var r=[],X,W,t;y.innerHTML="";if(V.keep_styles){W=s;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(W.nodeName)){X=W.cloneNode(g);M.setAttrib(X,"id","");r.push(X)}}while(W=W.parentNode)}if(r.length>0){for(t=r.length-1,X=y;t>=0;t--){X=X.appendChild(r[t])}r[0].innerHTML=b?"\u00a0":"<br />";return r[0]}else{y.innerHTML=b?"\u00a0":"<br />"}}if(M.isEmpty(C)){S(C,O)}if(M.isEmpty(T)){A=S(T,q)}if(b&&parseFloat(opera.version())<9.5){G.insertNode(C);G.insertNode(T)}else{G.insertNode(T);G.insertNode(C)}T.normalize();C.normalize();v.selection.select(T,true);v.selection.collapse(true);B=v.dom.getPos(T).y;if(B<L.y||B+25>L.y+L.h){v.getWin().scrollTo(0,B<L.y?B:B-L.h+25)}v.undoManager.add();return g},backspaceDelete:function(u,B){var C=this,s=C.editor,y=s.getBody(),q=s.dom,p,v=s.selection,o=v.getRng(),x=o.startContainer,p,z,A,m;if(!B&&o.collapsed&&x.nodeType==1&&o.startOffset==x.childNodes.length){m=new l.dom.TreeWalker(x.lastChild,x);for(p=x.lastChild;p;p=m.prev()){if(p.nodeType==3){o.setStart(p,p.nodeValue.length);o.collapse(true);v.setRng(o);return}}}if(x&&s.dom.isBlock(x)&&!/^(TD|TH)$/.test(x.nodeName)&&B){if(x.childNodes.length==0||(x.childNodes.length==1&&x.firstChild.nodeName=="BR")){p=x;while((p=p.previousSibling)&&!s.dom.isBlock(p)){}if(p){if(x!=y.firstChild){z=s.dom.doc.createTreeWalker(p,NodeFilter.SHOW_TEXT,null,g);while(A=z.nextNode()){p=A}o=s.getDoc().createRange();o.setStart(p,p.nodeValue?p.nodeValue.length:0);o.setEnd(p,p.nodeValue?p.nodeValue.length:0);v.setRng(o);s.dom.remove(x)}return j.cancel(u)}}}}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(i){var h,g=this,f=g.editor;d(f.plugins,function(j){if(j.createControl){h=j.createControl(i,g);if(h){return false}}});switch(i){case"|":case"separator":return g.createSeparator()}if(!h&&f.buttons&&(h=f.buttons[i])){return g.createButton(i,h)}return g.add(h)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(f,n,h){var l=this,j=l.editor,i,k,m;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,scope:n.scope,control_manager:l},n);f=l.prefix+f;function g(o){return o.settings.use_accessible_selects&&!c.isGecko}if(j.settings.use_native_selects||g(j)){k=new c.ui.NativeListBox(f,n)}else{m=h||l._cls.listbox||c.ui.ListBox;k=new m(f,n,j)}l.controls[f]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){j.bookmark=j.selection.getBookmark(1)});a.add(o,"focus",function(){j.selection.moveToBookmark(j.bookmark);j.bookmark=null})})}if(k.hideMenu){j.onMouseDown.add(k.hideMenu,k)}return l.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i,g)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(V){var M={},P=a.each,c=V.dom,q=V.selection,t=a.dom.TreeWalker,K=new a.dom.RangeUtils(c),d=V.schema.isValidChild,F=c.isBlock,l=V.settings.forced_root_block,s=c.nodeIndex,E="\uFEFF",e=/^(src|href|style)$/,S=false,B=true,p;function z(W){return W instanceof Array}function m(X,W){return c.getParents(X,W,c.getRoot())}function b(W){return W.nodeType===1&&W.id==="_mce_caret"}function R(W){return W?M[W]:M}function k(W,X){if(W){if(typeof(W)!=="string"){P(W,function(Z,Y){k(Y,Z)})}else{X=X.length?X:[X];P(X,function(Y){if(Y.deep===p){Y.deep=!Y.selector}if(Y.split===p){Y.split=!Y.selector||Y.inline}if(Y.remove===p&&Y.selector&&!Y.inline){Y.remove="none"}if(Y.selector&&Y.inline){Y.mixed=true;Y.block_expand=true}if(typeof(Y.classes)==="string"){Y.classes=Y.classes.split(/\s+/)}});M[W]=X}}}var i=function(X){var W;V.dom.getParent(X,function(Y){W=V.dom.getStyle(Y,"text-decoration");return W&&W!=="none"});return W};var I=function(W){var X;if(W.nodeType===1&&W.parentNode&&W.parentNode.nodeType===1){X=i(W.parentNode);if(V.dom.getStyle(W,"color")&&X){V.dom.setStyle(W,"text-decoration",X)}else{if(V.dom.getStyle(W,"textdecoration")===X){V.dom.setStyle(W,"text-decoration",null)}}}};function T(Z,ag,ab){var ac=R(Z),ah=ac[0],af,X,ae,ad=q.isCollapsed();function W(al,ak){ak=ak||ah;if(al){if(ak.onformat){ak.onformat(al,ak,ag,ab)}P(ak.styles,function(an,am){c.setStyle(al,am,r(an,ag))});P(ak.attributes,function(an,am){c.setAttrib(al,am,r(an,ag))});P(ak.classes,function(am){am=r(am,ag);if(!c.hasClass(al,am)){c.addClass(al,am)}})}}function aa(){function am(at,aq){var ar=new t(aq);for(ab=ar.current();ab;ab=ar.prev()){if(ab.childNodes.length>1||ab==at){return ab}}}var al=V.selection.getRng();var ap=al.startContainer;var ak=al.endContainer;if(ap!=ak&&al.endOffset==0){var ao=am(ap,ak);var an=ao.nodeType==3?ao.length:ao.childNodes.length;al.setEnd(ao,an)}return al}function Y(an,at,aq,ap,al){var ak=[],am=-1,ar,av=-1,ao=-1,au;P(an.childNodes,function(ax,aw){if(ax.nodeName==="UL"||ax.nodeName==="OL"){am=aw;ar=ax;return false}});P(an.childNodes,function(ax,aw){if(ax.nodeName==="SPAN"&&c.getAttrib(ax,"data-mce-type")=="bookmark"){if(ax.id==at.id+"_start"){av=aw}else{if(ax.id==at.id+"_end"){ao=aw}}}});if(am<=0||(av<am&&ao>am)){P(a.grep(an.childNodes),al);return 0}else{au=aq.cloneNode(S);P(a.grep(an.childNodes),function(ax,aw){if((av<am&&aw<am)||(av>am&&aw>am)){ak.push(ax);ax.parentNode.removeChild(ax)}});if(av<am){an.insertBefore(au,ar)}else{if(av>am){an.insertBefore(au,ar.nextSibling)}}ap.push(au);P(ak,function(aw){au.appendChild(aw)});return au}}function ai(al,an,ap){var ak=[],ao,am;ao=ah.inline||ah.block;am=c.create(ao);W(am);K.walk(al,function(aq){var ar;function at(au){var ax=au.nodeName.toLowerCase(),aw=au.parentNode.nodeName.toLowerCase(),av;if(g(ax,"br")){ar=0;if(ah.block){c.remove(au)}return}if(ah.wrapper&&x(au,Z,ag)){ar=0;return}if(ah.block&&!ah.wrapper&&G(ax)){au=c.rename(au,ao);W(au);ak.push(au);ar=0;return}if(ah.selector){P(ac,function(ay){if("collapsed" in ay&&ay.collapsed!==ad){return}if(c.is(au,ay.selector)&&!b(au)){W(au,ay);av=true}});if(!ah.inline||av){ar=0;return}}if(d(ao,ax)&&d(aw,ao)&&!(!ap&&au.nodeType===3&&au.nodeValue.length===1&&au.nodeValue.charCodeAt(0)===65279)&&!b(au)){if(!ar){ar=am.cloneNode(S);au.parentNode.insertBefore(ar,au);ak.push(ar)}ar.appendChild(au)}else{if(ax=="li"&&an){ar=Y(au,an,am,ak,at)}else{ar=0;P(a.grep(au.childNodes),at);ar=0}}}P(aq,at)});if(ah.wrap_links===false){P(ak,function(aq){function ar(aw){var av,au,at;if(aw.nodeName==="A"){au=am.cloneNode(S);ak.push(au);at=a.grep(aw.childNodes);for(av=0;av<at.length;av++){au.appendChild(at[av])}aw.appendChild(au)}P(a.grep(aw.childNodes),ar)}ar(aq)})}P(ak,function(at){var aq;function au(aw){var av=0;P(aw.childNodes,function(ax){if(!f(ax)&&!H(ax)){av++}});return av}function ar(av){var ax,aw;P(av.childNodes,function(ay){if(ay.nodeType==1&&!H(ay)&&!b(ay)){ax=ay;return S}});if(ax&&h(ax,ah)){aw=ax.cloneNode(S);W(aw);c.replace(aw,av,B);c.remove(ax,1)}return aw||av}aq=au(at);if((ak.length>1||!F(at))&&aq===0){c.remove(at,1);return}if(ah.inline||ah.wrapper){if(!ah.exact&&aq===1){at=ar(at)}P(ac,function(av){P(c.select(av.inline,at),function(ax){var aw;if(av.wrap_links===false){aw=ax.parentNode;do{if(aw.nodeName==="A"){return}}while(aw=aw.parentNode)}U(av,ag,ax,av.exact?ax:null)})});if(x(at.parentNode,Z,ag)){c.remove(at,1);at=0;return B}if(ah.merge_with_parents){c.getParent(at.parentNode,function(av){if(x(av,Z,ag)){c.remove(at,1);at=0;return B}})}if(at&&ah.merge_siblings!==false){at=u(C(at),at);at=u(at,C(at,B))}}})}if(ah){if(ab){if(ab.nodeType){X=c.createRng();X.setStartBefore(ab);X.setEndAfter(ab);ai(o(X,ac),null,true)}else{ai(ab,null,true)}}else{if(!ad||!ah.inline||c.select("td.mceSelected,th.mceSelected").length){var aj=V.selection.getNode();V.selection.setRng(aa());af=q.getBookmark();ai(o(q.getRng(B),ac),af);if(ah.styles&&(ah.styles.color||ah.styles.textDecoration)){a.walk(aj,I,"childNodes");I(aj)}q.moveToBookmark(af);N(q.getRng(B));V.nodeChanged()}else{Q("apply",Z,ag)}}}}function A(Y,ag,aa){var ab=R(Y),ai=ab[0],af,ae,X;function Z(an){var am,al,ak;am=a.grep(an.childNodes);for(al=0,ak=ab.length;al<ak;al++){if(U(ab[al],ag,an,an)){break}}if(ai.deep){for(al=0,ak=am.length;al<ak;al++){Z(am[al])}}}function ac(ak){var al;P(m(ak.parentNode).reverse(),function(am){var an;if(!al&&am.id!="_start"&&am.id!="_end"){an=x(am,Y,ag);if(an&&an.split!==false){al=am}}});return al}function W(an,ak,ap,at){var au,ar,aq,am,ao,al;if(an){al=an.parentNode;for(au=ak.parentNode;au&&au!=al;au=au.parentNode){ar=au.cloneNode(S);for(ao=0;ao<ab.length;ao++){if(U(ab[ao],ag,ar,ar)){ar=0;break}}if(ar){if(aq){ar.appendChild(aq)}if(!am){am=ar}aq=ar}}if(at&&(!ai.mixed||!F(an))){ak=c.split(an,ak)}if(aq){ap.parentNode.insertBefore(aq,ap);am.appendChild(ap)}}return ak}function ah(ak){return W(ac(ak),ak,ak,true)}function ad(am){var al=c.get(am?"_start":"_end"),ak=al[am?"firstChild":"lastChild"];if(H(ak)){ak=ak[am?"firstChild":"lastChild"]}c.remove(al,true);return ak}function aj(ak){var al,am;ak=o(ak,ab,B);if(ai.split){al=J(ak,B);am=J(ak);if(al!=am){al=O(al,"span",{id:"_start","data-mce-type":"bookmark"});am=O(am,"span",{id:"_end","data-mce-type":"bookmark"});ah(al);ah(am);al=ad(B);am=ad()}else{al=am=ah(al)}ak.startContainer=al.parentNode;ak.startOffset=s(al);ak.endContainer=am.parentNode;ak.endOffset=s(am)+1}K.walk(ak,function(an){P(an,function(ao){Z(ao);if(ao.nodeType===1&&V.dom.getStyle(ao,"text-decoration")==="underline"&&ao.parentNode&&i(ao.parentNode)==="underline"){U({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,ao)}})})}if(aa){if(aa.nodeType){X=c.createRng();X.setStartBefore(aa);X.setEndAfter(aa);aj(X)}else{aj(aa)}return}if(!q.isCollapsed()||!ai.inline||c.select("td.mceSelected,th.mceSelected").length){af=q.getBookmark();aj(q.getRng(B));q.moveToBookmark(af);if(ai.inline&&j(Y,ag,q.getStart())){N(q.getRng(true))}V.nodeChanged()}else{Q("remove",Y,ag)}if(a.isWebKit){V.execCommand("mceCleanup")}}function D(X,Z,Y){var W=R(X);if(j(X,Z,Y)&&(!("toggle" in W[0])||W[0]["toggle"])){A(X,Z,Y)}else{T(X,Z,Y)}}function x(X,W,ac,aa){var Y=R(W),ad,ab,Z;function ae(ai,ak,al){var ah,aj,af=ak[al],ag;if(ak.onmatch){return ak.onmatch(ai,ak,al)}if(af){if(af.length===p){for(ah in af){if(af.hasOwnProperty(ah)){if(al==="attributes"){aj=c.getAttrib(ai,ah)}else{aj=L(ai,ah)}if(aa&&!aj&&!ak.exact){return}if((!aa||ak.exact)&&!g(aj,r(af[ah],ac))){return}}}}else{for(ag=0;ag<af.length;ag++){if(al==="attributes"?c.getAttrib(ai,af[ag]):L(ai,af[ag])){return ak}}}}return ak}if(Y&&X){for(ab=0;ab<Y.length;ab++){ad=Y[ab];if(h(X,ad)&&ae(X,ad,"attributes")&&ae(X,ad,"styles")){if(Z=ad.classes){for(ab=0;ab<Z.length;ab++){if(!c.hasClass(X,Z[ab])){return}}}return ad}}}}function j(Y,aa,Z){var X;function W(ab){ab=c.getParent(ab,function(ac){return !!x(ac,Y,aa,true)});return x(ab,Y,aa)}if(Z){return W(Z)}Z=q.getNode();if(W(Z)){return B}X=q.getStart();if(X!=Z){if(W(X)){return B}}return S}function v(ad,ac){var aa,ab=[],Z={},Y,X,W;aa=q.getStart();c.getParent(aa,function(ag){var af,ae;for(af=0;af<ad.length;af++){ae=ad[af];if(!Z[ae]&&x(ag,ae,ac)){Z[ae]=true;ab.push(ae)}}});return ab}function y(aa){var ac=R(aa),Z,Y,ab,X,W;if(ac){Z=q.getStart();Y=m(Z);for(X=ac.length-1;X>=0;X--){W=ac[X].selector;if(!W){return B}for(ab=Y.length-1;ab>=0;ab--){if(c.is(Y[ab],W)){return B}}}}return S}a.extend(this,{get:R,register:k,apply:T,remove:A,toggle:D,match:j,matchAll:v,matchNode:x,canApply:y});function h(W,X){if(g(W,X.inline)){return B}if(g(W,X.block)){return B}if(X.selector){return c.is(W,X.selector)}}function g(X,W){X=X||"";W=W||"";X=""+(X.nodeName||X);W=""+(W.nodeName||W);return X.toLowerCase()==W.toLowerCase()}function L(X,W){var Y=c.getStyle(X,W);if(W=="color"||W=="backgroundColor"){Y=c.toHex(Y)}if(W=="fontWeight"&&Y==700){Y="bold"}return""+Y}function r(W,X){if(typeof(W)!="string"){W=W(X)}else{if(X){W=W.replace(/%(\w+)/g,function(Z,Y){return X[Y]||Z})}}return W}function f(W){return W&&W.nodeType===3&&/^([\t \r\n]+|)$/.test(W.nodeValue)}function O(Y,X,W){var Z=c.create(X,W);Y.parentNode.insertBefore(Z,Y);Z.appendChild(Y);return Z}function o(W,ai,Z){var Y=W.startContainer,ad=W.startOffset,al=W.endContainer,af=W.endOffset,ak,ah,ac,ag;function aj(ar){var am,ap,aq,ao,an;am=ap=ar?Y:al;an=ar?"previousSibling":"nextSibling";root=c.getRoot();if(am.nodeType==3&&!f(am)){if(ar?ad>0:af<am.nodeValue.length){return am}}for(;;){if(!ai[0].block_expand&&F(ap)){return ap}for(ao=ap[an];ao;ao=ao[an]){if(!H(ao)&&!f(ao)){return ap}}if(ap.parentNode==root){am=ap;break}ap=ap.parentNode}return am}function ab(am,an){if(an===p){an=am.nodeType===3?am.length:am.childNodes.length}while(am&&am.hasChildNodes()){am=am.childNodes[an];if(am){an=am.nodeType===3?am.length:am.childNodes.length}}return{node:am,offset:an}}if(Y.nodeType==1&&Y.hasChildNodes()){ah=Y.childNodes.length-1;Y=Y.childNodes[ad>ah?ah:ad];if(Y.nodeType==3){ad=0}}if(al.nodeType==1&&al.hasChildNodes()){ah=al.childNodes.length-1;al=al.childNodes[af>ah?ah:af-1];if(al.nodeType==3){af=al.nodeValue.length}}if(H(Y.parentNode)||H(Y)){Y=H(Y)?Y:Y.parentNode;Y=Y.nextSibling||Y;if(Y.nodeType==3){ad=0}}if(H(al.parentNode)||H(al)){al=H(al)?al:al.parentNode;al=al.previousSibling||al;if(al.nodeType==3){af=al.length}}if(ai[0].inline){if(W.collapsed){function ae(an,ar,au){var aq,ao,at,am;function ap(aw,ay){var az,av,ax=aw.nodeValue;if(typeof(ay)=="undefined"){ay=au?ax.length:0}if(au){az=ax.lastIndexOf(" ",ay);av=ax.lastIndexOf("\u00a0",ay);az=az>av?az:av;if(az!==-1&&!Z){az++}}else{az=ax.indexOf(" ",ay);av=ax.indexOf("\u00a0",ay);az=az!==-1&&(av===-1||az<av)?az:av}return az}if(an.nodeType===3){at=ap(an,ar);if(at!==-1){return{container:an,offset:at}}am=an}aq=new t(an,c.getParent(an,F)||V.getBody());while(ao=aq[au?"prev":"next"]()){if(ao.nodeType===3){am=ao;at=ap(ao);if(at!==-1){return{container:ao,offset:at}}}else{if(F(ao)){break}}}if(am){if(au){ar=0}else{ar=am.length}return{container:am,offset:ar}}}ag=ae(Y,ad,true);if(ag){Y=ag.container;ad=ag.offset}ag=ae(al,af);if(ag){al=ag.container;af=ag.offset}}ac=ab(al,af);if(ac.node){while(ac.node&&ac.offset===0&&ac.node.previousSibling){ac=ab(ac.node.previousSibling)}if(ac.node&&ac.offset>0&&ac.node.nodeType===3&&ac.node.nodeValue.charAt(ac.offset-1)===" "){if(ac.offset>1){al=ac.node;al.splitText(ac.offset-1)}else{if(ac.node.previousSibling){}}}}}if(ai[0].inline||ai[0].block_expand){if(!ai[0].inline||(Y.nodeType!=3||ad===0)){Y=aj(true)}if(!ai[0].inline||(al.nodeType!=3||af===al.nodeValue.length)){al=aj()}}if(ai[0].selector&&ai[0].expand!==S&&!ai[0].inline){function aa(an,am){var ao,ap,ar,aq;if(an.nodeType==3&&an.nodeValue.length==0&&an[am]){an=an[am]}ao=m(an);for(ap=0;ap<ao.length;ap++){for(ar=0;ar<ai.length;ar++){aq=ai[ar];if("collapsed" in aq&&aq.collapsed!==W.collapsed){continue}if(c.is(ao[ap],aq.selector)){return ao[ap]}}}return an}Y=aa(Y,"previousSibling");al=aa(al,"nextSibling")}if(ai[0].block||ai[0].selector){function X(an,am,ap){var ao;if(!ai[0].wrapper){ao=c.getParent(an,ai[0].block)}if(!ao){ao=c.getParent(an.nodeType==3?an.parentNode:an,F)}if(ao&&ai[0].wrapper){ao=m(ao,"ul,ol").reverse()[0]||ao}if(!ao){ao=an;while(ao[am]&&!F(ao[am])){ao=ao[am];if(g(ao,"br")){break}}}return ao||an}Y=X(Y,"previousSibling");al=X(al,"nextSibling");if(ai[0].block){if(!F(Y)){Y=aj(true)}if(!F(al)){al=aj()}}}if(Y.nodeType==1){ad=s(Y);Y=Y.parentNode}if(al.nodeType==1){af=s(al)+1;al=al.parentNode}return{startContainer:Y,startOffset:ad,endContainer:al,endOffset:af}}function U(ac,ab,Z,W){var Y,X,aa;if(!h(Z,ac)){return S}if(ac.remove!="all"){P(ac.styles,function(ae,ad){ae=r(ae,ab);if(typeof(ad)==="number"){ad=ae;W=0}if(!W||g(L(W,ad),ae)){c.setStyle(Z,ad,"")}aa=1});if(aa&&c.getAttrib(Z,"style")==""){Z.removeAttribute("style");Z.removeAttribute("data-mce-style")}P(ac.attributes,function(af,ad){var ae;af=r(af,ab);if(typeof(ad)==="number"){ad=af;W=0}if(!W||g(c.getAttrib(W,ad),af)){if(ad=="class"){af=c.getAttrib(Z,ad);if(af){ae="";P(af.split(/\s+/),function(ag){if(/mce\w+/.test(ag)){ae+=(ae?" ":"")+ag}});if(ae){c.setAttrib(Z,ad,ae);return}}}if(ad=="class"){Z.removeAttribute("className")}if(e.test(ad)){Z.removeAttribute("data-mce-"+ad)}Z.removeAttribute(ad)}});P(ac.classes,function(ad){ad=r(ad,ab);if(!W||c.hasClass(W,ad)){c.removeClass(Z,ad)}});X=c.getAttribs(Z);for(Y=0;Y<X.length;Y++){if(X[Y].nodeName.indexOf("_")!==0){return S}}}if(ac.remove!="none"){n(Z,ac);return B}}function n(Y,Z){var W=Y.parentNode,X;if(Z.block){if(!l){function aa(ac,ab,ad){ac=C(ac,ab,ad);return !ac||(ac.nodeName=="BR"||F(ac))}if(F(Y)&&!F(W)){if(!aa(Y,S)&&!aa(Y.firstChild,B,1)){Y.insertBefore(c.create("br"),Y.firstChild)}if(!aa(Y,B)&&!aa(Y.lastChild,S,1)){Y.appendChild(c.create("br"))}}}else{if(W==c.getRoot()){if(!Z.list_block||!g(Y,Z.list_block)){P(a.grep(Y.childNodes),function(ab){if(d(l,ab.nodeName.toLowerCase())){if(!X){X=O(ab,l)}else{X.appendChild(ab)}}else{X=0}})}}}}if(Z.selector&&Z.inline&&!g(Z.inline,Y)){return}c.remove(Y,1)}function C(X,W,Y){if(X){W=W?"nextSibling":"previousSibling";for(X=Y?X:X[W];X;X=X[W]){if(X.nodeType==1||!f(X)){return X}}}}function H(W){return W&&W.nodeType==1&&W.getAttribute("data-mce-type")=="bookmark"}function u(aa,Z){var W,Y,X;function ac(af,ae){if(af.nodeName!=ae.nodeName){return S}function ad(ah){var ai={};P(c.getAttribs(ah),function(aj){var ak=aj.nodeName.toLowerCase();if(ak.indexOf("_")!==0&&ak!=="style"){ai[ak]=c.getAttrib(ah,ak)}});return ai}function ag(ak,aj){var ai,ah;for(ah in ak){if(ak.hasOwnProperty(ah)){ai=aj[ah];if(ai===p){return S}if(ak[ah]!=ai){return S}delete aj[ah]}}for(ah in aj){if(aj.hasOwnProperty(ah)){return S}}return B}if(!ag(ad(af),ad(ae))){return S}if(!ag(c.parseStyle(c.getAttrib(af,"style")),c.parseStyle(c.getAttrib(ae,"style")))){return S}return B}if(aa&&Z){function ab(ae,ad){for(Y=ae;Y;Y=Y[ad]){if(Y.nodeType==3&&Y.nodeValue.length!==0){return ae}if(Y.nodeType==1&&!H(Y)){return Y}}return ae}aa=ab(aa,"previousSibling");Z=ab(Z,"nextSibling");if(ac(aa,Z)){for(Y=aa.nextSibling;Y&&Y!=Z;){X=Y;Y=Y.nextSibling;aa.appendChild(X)}c.remove(Z);P(a.grep(Z.childNodes),function(ad){aa.appendChild(ad)});return aa}}return Z}function G(W){return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(W)}function J(X,ab){var W,aa,Y,Z;W=X[ab?"startContainer":"endContainer"];aa=X[ab?"startOffset":"endOffset"];if(W.nodeType==1){Y=W.childNodes.length-1;if(!ab&&aa){aa--}W=W.childNodes[aa>Y?Y:aa]}if(W.nodeType===3&&ab&&aa>=W.nodeValue.length){W=new t(W,V.getBody()).next()||W}if(W.nodeType===3&&!ab&&aa==0){W=new t(W,V.getBody()).prev()||W}return W}function Q(af,W,ad){var ai,ag="_mce_caret",X=V.settings.caret_debug;ai=a.isGecko?"\u200B":E;function Y(ak){var aj=c.create("span",{id:ag,"data-mce-bogus":true,style:X?"color:red":""});if(ak){aj.appendChild(V.getDoc().createTextNode(ai))}return aj}function ae(ak,aj){while(ak){if((ak.nodeType===3&&ak.nodeValue!==ai)||ak.childNodes.length>1){return false}if(aj&&ak.nodeType===1){aj.push(ak)}ak=ak.firstChild}return true}function ab(aj){while(aj){if(aj.id===ag){return aj}aj=aj.parentNode}}function aa(aj){var ak;if(aj){ak=new t(aj,aj);for(aj=ak.current();aj;aj=ak.next()){if(aj.nodeType===3){return aj}}}}function Z(al,ak){var am,aj;if(!al){al=ab(q.getStart());if(!al){while(al=c.get(ag)){Z(al,false)}}}else{aj=q.getRng(true);if(ae(al)){if(ak!==false){aj.setStartBefore(al);aj.setEndBefore(al)}c.remove(al)}else{am=aa(al);if(am.nodeValue.charAt(0)===E){am=am.deleteData(0,1)}c.remove(al,1)}q.setRng(aj)}}function ac(){var al,aj,ap,ao,am,ak,an;al=q.getRng(true);ao=al.startOffset;ak=al.startContainer;an=ak.nodeValue;aj=ab(q.getStart());if(aj){ap=aa(aj)}if(an&&ao>0&&ao<an.length&&/\w/.test(an.charAt(ao))&&/\w/.test(an.charAt(ao-1))){am=q.getBookmark();al.collapse(true);al=o(al,R(W));al=K.split(al);T(W,ad,al);q.moveToBookmark(am)}else{if(!aj||ap.nodeValue!==ai){aj=Y(true);ap=aj.firstChild;al.insertNode(aj);ao=1;T(W,ad,aj)}else{T(W,ad,aj)}q.setCursorLocation(ap,ao)}}function ah(){var aj=q.getRng(true),ak,am,ap,ao,al,at,ar=[],an,aq;ak=aj.startContainer;am=aj.startOffset;al=ak;if(ak.nodeType==3){if(am!=ak.nodeValue.length||ak.nodeValue===ai){ao=true}al=al.parentNode}while(al){if(x(al,W,ad)){at=al;break}if(al.nextSibling){ao=true}ar.push(al);al=al.parentNode}if(!at){return}if(ao){ap=q.getBookmark();aj.collapse(true);aj=o(aj,R(W),true);aj=K.split(aj);A(W,ad,aj);q.moveToBookmark(ap)}else{aq=Y();al=aq;for(an=ar.length-1;an>=0;an--){al.appendChild(ar[an].cloneNode(false));al=al.firstChild}al.appendChild(c.doc.createTextNode(ai));al=al.firstChild;c.insertAfter(aq,at);q.setCursorLocation(al,1)}}if(!self._hasCaretEvents){V.onBeforeGetContent.addToTop(function(){var aj=[],ak;if(ae(ab(q.getStart()),aj)){ak=aj.length;while(ak--){c.setAttrib(aj[ak],"data-mce-bogus","1")}}});a.each("onMouseUp onKeyUp".split(" "),function(aj){V[aj].addToTop(function(){Z()})});V.onKeyDown.addToTop(function(aj,al){var ak=al.keyCode;if(ak==8||ak==37||ak==39){Z(ab(q.getStart()))}});self._hasCaretEvents=true}if(af=="apply"){ac()}else{ah()}}function N(X){var W=X.startContainer,ac=X.startOffset,ab,aa,Y,Z;if(W.nodeType==3&&ac>=W.nodeValue.length-1){W=W.parentNode;ac=s(W)+1}if(W.nodeType==1){Y=W.childNodes;W=Y[Math.min(ac,Y.length-1)];ab=new t(W);if(ac>Y.length-1){ab.next()}for(aa=ab.current();aa;aa=ab.next()){if(aa.nodeType==3&&!f(aa)){Z=c.create("a",null,E);aa.parentNode.insertBefore(Z,aa);X.setStart(aa,0);q.setRng(X);c.remove(Z);return}}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;if(c.inline_styles){h=e.explode(c.font_size_legacy_values);function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});
Binary files ./wordpress-3.3.2/wp-includes/js/tinymce/wp-tinymce.js.gz and ./wordpress-3.4/wp-includes/js/tinymce/wp-tinymce.js.gz differ
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/wplink.dev.js ./wordpress-3.4/wp-includes/js/wplink.dev.js
*** ./wordpress-3.3.2/wp-includes/js/wplink.dev.js	2011-11-28 10:37:46.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/wplink.dev.js	2012-04-10 19:20:42.000000000 -0500
***************
*** 160,166 ****
  		},
  
  		htmlUpdate : function() {
! 			var attrs, html, start, end, cursor,
  				textarea = wpLink.textarea;
  
  			if ( ! textarea )
--- 160,166 ----
  		},
  
  		htmlUpdate : function() {
! 			var attrs, html, begin, end, cursor,
  				textarea = wpLink.textarea;
  
  			if ( ! textarea )
***************
*** 183,217 ****
  			html += '>';
  
  			// Insert HTML
! 			// W3C
! 			if ( typeof textarea.selectionStart !== 'undefined' ) {
! 				start       = textarea.selectionStart;
  				end         = textarea.selectionEnd;
! 				selection   = textarea.value.substring( start, end );
  				html        = html + selection + '</a>';
! 				cursor      = start + html.length;
  
  				// If no next is selected, place the cursor inside the closing tag.
! 				if ( start == end )
  					cursor -= '</a>'.length;
  
! 				textarea.value = textarea.value.substring( 0, start )
  				               + html
  				               + textarea.value.substring( end, textarea.value.length );
  
  				// Update cursor position
  				textarea.selectionStart = textarea.selectionEnd = cursor;
- 
- 			// IE
- 			// Note: If no text is selected, IE will not place the cursor
- 			//       inside the closing tag.
- 			} else if ( document.selection && wpLink.range ) {
- 				textarea.focus();
- 				wpLink.range.text = html + wpLink.range.text + '</a>';
- 				wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
- 				wpLink.range.select();
- 
- 				wpLink.range = null;
  			}
  
  			wpLink.close();
--- 183,216 ----
  			html += '>';
  
  			// Insert HTML
! 			if ( document.selection && wpLink.range ) {
! 				// IE
! 				// Note: If no text is selected, IE will not place the cursor
! 				//       inside the closing tag.
! 				textarea.focus();
! 				wpLink.range.text = html + wpLink.range.text + '</a>';
! 				wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
! 				wpLink.range.select();
! 
! 				wpLink.range = null;
! 			} else if ( typeof textarea.selectionStart !== 'undefined' ) {
! 				// W3C
! 				begin       = textarea.selectionStart;
  				end         = textarea.selectionEnd;
! 				selection   = textarea.value.substring( begin, end );
  				html        = html + selection + '</a>';
! 				cursor      = begin + html.length;
  
  				// If no next is selected, place the cursor inside the closing tag.
! 				if ( begin == end )
  					cursor -= '</a>'.length;
  
! 				textarea.value = textarea.value.substring( 0, begin )
  				               + html
  				               + textarea.value.substring( end, textarea.value.length );
  
  				// Update cursor position
  				textarea.selectionStart = textarea.selectionEnd = cursor;
  			}
  
  			wpLink.close();
***************
*** 243,249 ****
  
  			if (e == null) {
  				ed.getDoc().execCommand("unlink", false, null);
! 				tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
  
  				tinymce.each(ed.dom.select("a"), function(n) {
  					if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
--- 242,248 ----
  
  			if (e == null) {
  				ed.getDoc().execCommand("unlink", false, null);
! 				tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1});
  
  				tinymce.each(ed.dom.select("a"), function(n) {
  					if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/wplink.js ./wordpress-3.4/wp-includes/js/wplink.js
*** ./wordpress-3.3.2/wp-includes/js/wplink.js	2011-11-28 10:37:46.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/wplink.js	2012-04-10 19:58:23.000000000 -0500
***************
*** 1 ****
! var wpLink;(function(f){var b={},e={},d,a,c;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){b.dialog=f("#wp-link");b.submit=f("#wp-link-submit");b.url=f("#url-field");b.nonce=f("#_ajax_linking_nonce");b.title=f("#link-title-field");b.openInNewTab=f("#link-target-checkbox");b.search=f("#search-field");e.search=new a(f("#search-results"));e.recent=new a(f("#most-recent-results"));e.elements=f(".query-results",b.dialog);b.dialog.keydown(wpLink.keydown);b.dialog.keyup(wpLink.keyup);b.submit.click(function(g){g.preventDefault();wpLink.update()});f("#wp-link-cancel").click(function(g){g.preventDefault();wpLink.close()});f("#internal-toggle").click(wpLink.toggleInternalLinking);e.elements.bind("river-select",wpLink.updateFields);b.search.keyup(wpLink.searchInternalLinks);b.dialog.bind("wpdialogrefresh",wpLink.refresh);b.dialog.bind("wpdialogbeforeopen",wpLink.beforeOpen);b.dialog.bind("wpdialogclose",wpLink.onClose)},beforeOpen:function(){wpLink.range=null;if(!wpLink.isMCE()&&document.selection){wpLink.textarea.focus();wpLink.range=document.selection.createRange()}},open:function(){if(!wpActiveEditor){return}this.textarea=f("#"+wpActiveEditor).get(0);if(!b.dialog.data("wpdialog")){b.dialog.wpdialog({title:wpLinkL10n.title,width:480,height:"auto",modal:true,dialogClass:"wp-dialog",zIndex:300000})}b.dialog.wpdialog("open")},isMCE:function(){return tinyMCEPopup&&(d=tinyMCEPopup.editor)&&!d.isHidden()},refresh:function(){e.search.refresh();e.recent.refresh();if(wpLink.isMCE()){wpLink.mceRefresh()}else{wpLink.setDefaultValues()}b.url.focus()[0].select();if(!e.recent.ul.children().length){e.recent.ajax()}},mceRefresh:function(){var g;d=tinyMCEPopup.editor;tinyMCEPopup.restoreSelection();if(g=d.dom.getParent(d.selection.getNode(),"A")){b.url.val(d.dom.getAttrib(g,"href"));b.title.val(d.dom.getAttrib(g,"title"));if("_blank"==d.dom.getAttrib(g,"target")){b.openInNewTab.prop("checked",true)}b.submit.val(wpLinkL10n.update)}else{wpLink.setDefaultValues()}tinyMCEPopup.storeSelection()},close:function(){if(wpLink.isMCE()){tinyMCEPopup.close()}else{b.dialog.wpdialog("close")}},onClose:function(){if(!wpLink.isMCE()){wpLink.textarea.focus();if(wpLink.range){wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select()}}},getAttrs:function(){return{href:b.url.val(),title:b.title.val(),target:b.openInNewTab.prop("checked")?"_blank":""}},update:function(){if(wpLink.isMCE()){wpLink.mceUpdate()}else{wpLink.htmlUpdate()}},htmlUpdate:function(){var i,j,l,h,k,g=wpLink.textarea;if(!g){return}i=wpLink.getAttrs();if(!i.href||i.href=="http://"){return}j='<a href="'+i.href+'"';if(i.title){j+=' title="'+i.title+'"'}if(i.target){j+=' target="'+i.target+'"'}j+=">";if(typeof g.selectionStart!=="undefined"){l=g.selectionStart;h=g.selectionEnd;selection=g.value.substring(l,h);j=j+selection+"</a>";k=l+j.length;if(l==h){k-="</a>".length}g.value=g.value.substring(0,l)+j+g.value.substring(h,g.value.length);g.selectionStart=g.selectionEnd=k}else{if(document.selection&&wpLink.range){g.focus();wpLink.range.text=j+wpLink.range.text+"</a>";wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select();wpLink.range=null}}wpLink.close();g.focus()},mceUpdate:function(){var h=tinyMCEPopup.editor,i=wpLink.getAttrs(),j,g;tinyMCEPopup.restoreSelection();j=h.dom.getParent(h.selection.getNode(),"A");if(!i.href||i.href=="http://"){if(j){tinyMCEPopup.execCommand("mceBeginUndoLevel");g=h.selection.getBookmark();h.dom.remove(j,1);h.selection.moveToBookmark(g);tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()}return}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(j==null){h.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("CreateLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(h.dom.select("a"),function(k){if(h.dom.getAttrib(k,"href")=="#mce_temp_url#"){j=k;h.dom.setAttribs(j,i)}});if(f(j).text()=="#mce_temp_url#"){h.dom.remove(j);j=null}}else{h.dom.setAttribs(j,i)}if(j&&(j.childNodes.length!=1||j.firstChild.nodeName!="IMG")){h.focus();h.selection.select(j);h.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()},updateFields:function(i,h,g){b.url.val(h.children(".item-permalink").val());b.title.val(h.hasClass("no-title")?"":h.children(".item-title").text());if(g&&g.type=="click"){b.url.focus()}},setDefaultValues:function(){b.url.val("http://");b.title.val("");b.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var h=f(this),i,g=h.val();if(g.length>2){e.recent.hide();e.search.show();if(wpLink.lastSearch==g){return}wpLink.lastSearch=g;i=h.siblings("img.waiting").show();e.search.change(g);e.search.ajax(function(){i.hide()})}else{e.search.hide();e.recent.show()}},next:function(){e.search.next();e.recent.next()},prev:function(){e.search.prev();e.recent.prev()},keydown:function(i){var h,g=f.ui.keyCode;switch(i.which){case g.UP:h="prev";case g.DOWN:h=h||"next";clearInterval(wpLink.keyInterval);wpLink[h]();wpLink.keyInterval=setInterval(wpLink[h],wpLink.keySensitivity);break;default:return}i.preventDefault()},keyup:function(h){var g=f.ui.keyCode;switch(h.which){case g.ESCAPE:h.stopImmediatePropagation();if(!f(document).triggerHandler("wp_CloseOnEscape",[{event:h,what:"wplink",cb:wpLink.close}])){wpLink.close()}return false;break;case g.UP:case g.DOWN:clearInterval(wpLink.keyInterval);break;default:return}h.preventDefault()},delayedCallback:function(i,g){var l,k,j,h;if(!g){return i}setTimeout(function(){if(k){return i.apply(h,j)}l=true},g);return function(){if(l){return i.apply(this,arguments)}j=arguments;h=this;k=true}},toggleInternalLinking:function(h){var g=f("#search-panel"),i=b.dialog.wpdialog("widget"),k=!g.is(":visible"),j=f(window);f(this).toggleClass("toggle-arrow-active",k);b.dialog.height("auto");g.slideToggle(300,function(){setUserSetting("wplink",k?"1":"0");b[k?"search":"url"].focus();var l=j.scrollTop(),o=i.offset().top,m=o+i.outerHeight(),n=m-j.height();if(n>l){i.animate({top:n<o?o-n:l},200)}});h.preventDefault()}};a=function(i,h){var g=this;this.element=i;this.ul=i.children("ul");this.waiting=i.find(".river-waiting");this.change(h);this.refresh();i.scroll(function(){g.maybeLoad()});i.delegate("li","click",function(j){g.select(f(this),j)})};f.extend(a.prototype,{refresh:function(){this.deselect();this.visible=this.element.is(":visible")},show:function(){if(!this.visible){this.deselect();this.element.show();this.visible=true}},hide:function(){this.element.hide();this.visible=false},select:function(h,k){var j,i,l,g;if(h.hasClass("unselectable")||h==this.selected){return}this.deselect();this.selected=h.addClass("selected");j=h.outerHeight();i=this.element.height();l=h.position().top;g=this.element.scrollTop();if(l<0){this.element.scrollTop(g+l)}else{if(l+j>i){this.element.scrollTop(g+l-i+j)}}this.element.trigger("river-select",[h,k,this])},deselect:function(){if(this.selected){this.selected.removeClass("selected")}this.selected=false},prev:function(){if(!this.visible){return}var g;if(this.selected){g=this.selected.prev("li");if(g.length){this.select(g)}}},next:function(){if(!this.visible){return}var g=this.selected?this.selected.next("li"):f("li:not(.unselectable):first",this.element);if(g.length){this.select(g)}},ajax:function(j){var h=this,i=this.query.page==1?0:wpLink.minRiverAJAXDuration,g=wpLink.delayedCallback(function(k,l){h.process(k,l);if(j){j(k,l)}},i);this.query.ajax(g)},change:function(g){if(this.query&&this._search==g){return}this._search=g;this.query=new c(g);this.element.scrollTop(0)},process:function(h,l){var i="",j=true,g="",k=l.page==1;if(!h){if(k){i+='<li class="unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{f.each(h,function(){g=j?"alternate":"";g+=this["title"]?"":" no-title";i+=g?'<li class="'+g+'">':"<li>";i+='<input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';i+='<span class="item-title">';i+=this["title"]?this["title"]:wpLinkL10n.noTitle;i+='</span><span class="item-info">'+this["info"]+"</span></li>";j=!j})}this.ul[k?"html":"append"](i)},maybeLoad:function(){var h=this,i=this.element,g=i.scrollTop()+i.height();if(!this.query.ready()||g<this.ul.height()-wpLink.riverBottomThreshold){return}setTimeout(function(){var j=i.scrollTop(),k=j+i.height();if(!h.query.ready()||k<h.ul.height()-wpLink.riverBottomThreshold){return}h.waiting.show();i.scrollTop(j+h.waiting.outerHeight());h.ajax(function(){h.waiting.hide()})},wpLink.timeToTriggerRiver)}});c=function(g){this.page=1;this.allLoaded=false;this.querying=false;this.search=g};f.extend(c.prototype,{ready:function(){return !(this.querying||this.allLoaded)},ajax:function(i){var g=this,h={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:b.nonce.val()};if(this.search){h.search=this.search}this.querying=true;f.post(ajaxurl,h,function(j){g.page++;g.querying=false;g.allLoaded=!j;i(j,h)},"json")}});f(document).ready(wpLink.init)})(jQuery);
\ No newline at end of file
--- 1 ----
! var wpLink;(function(f){var b={},e={},d,a,c;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){b.dialog=f("#wp-link");b.submit=f("#wp-link-submit");b.url=f("#url-field");b.nonce=f("#_ajax_linking_nonce");b.title=f("#link-title-field");b.openInNewTab=f("#link-target-checkbox");b.search=f("#search-field");e.search=new a(f("#search-results"));e.recent=new a(f("#most-recent-results"));e.elements=f(".query-results",b.dialog);b.dialog.keydown(wpLink.keydown);b.dialog.keyup(wpLink.keyup);b.submit.click(function(g){g.preventDefault();wpLink.update()});f("#wp-link-cancel").click(function(g){g.preventDefault();wpLink.close()});f("#internal-toggle").click(wpLink.toggleInternalLinking);e.elements.bind("river-select",wpLink.updateFields);b.search.keyup(wpLink.searchInternalLinks);b.dialog.bind("wpdialogrefresh",wpLink.refresh);b.dialog.bind("wpdialogbeforeopen",wpLink.beforeOpen);b.dialog.bind("wpdialogclose",wpLink.onClose)},beforeOpen:function(){wpLink.range=null;if(!wpLink.isMCE()&&document.selection){wpLink.textarea.focus();wpLink.range=document.selection.createRange()}},open:function(){if(!wpActiveEditor){return}this.textarea=f("#"+wpActiveEditor).get(0);if(!b.dialog.data("wpdialog")){b.dialog.wpdialog({title:wpLinkL10n.title,width:480,height:"auto",modal:true,dialogClass:"wp-dialog",zIndex:300000})}b.dialog.wpdialog("open")},isMCE:function(){return tinyMCEPopup&&(d=tinyMCEPopup.editor)&&!d.isHidden()},refresh:function(){e.search.refresh();e.recent.refresh();if(wpLink.isMCE()){wpLink.mceRefresh()}else{wpLink.setDefaultValues()}b.url.focus()[0].select();if(!e.recent.ul.children().length){e.recent.ajax()}},mceRefresh:function(){var g;d=tinyMCEPopup.editor;tinyMCEPopup.restoreSelection();if(g=d.dom.getParent(d.selection.getNode(),"A")){b.url.val(d.dom.getAttrib(g,"href"));b.title.val(d.dom.getAttrib(g,"title"));if("_blank"==d.dom.getAttrib(g,"target")){b.openInNewTab.prop("checked",true)}b.submit.val(wpLinkL10n.update)}else{wpLink.setDefaultValues()}tinyMCEPopup.storeSelection()},close:function(){if(wpLink.isMCE()){tinyMCEPopup.close()}else{b.dialog.wpdialog("close")}},onClose:function(){if(!wpLink.isMCE()){wpLink.textarea.focus();if(wpLink.range){wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select()}}},getAttrs:function(){return{href:b.url.val(),title:b.title.val(),target:b.openInNewTab.prop("checked")?"_blank":""}},update:function(){if(wpLink.isMCE()){wpLink.mceUpdate()}else{wpLink.htmlUpdate()}},htmlUpdate:function(){var i,j,k,h,l,g=wpLink.textarea;if(!g){return}i=wpLink.getAttrs();if(!i.href||i.href=="http://"){return}j='<a href="'+i.href+'"';if(i.title){j+=' title="'+i.title+'"'}if(i.target){j+=' target="'+i.target+'"'}j+=">";if(document.selection&&wpLink.range){g.focus();wpLink.range.text=j+wpLink.range.text+"</a>";wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select();wpLink.range=null}else{if(typeof g.selectionStart!=="undefined"){k=g.selectionStart;h=g.selectionEnd;selection=g.value.substring(k,h);j=j+selection+"</a>";l=k+j.length;if(k==h){l-="</a>".length}g.value=g.value.substring(0,k)+j+g.value.substring(h,g.value.length);g.selectionStart=g.selectionEnd=l}}wpLink.close();g.focus()},mceUpdate:function(){var h=tinyMCEPopup.editor,i=wpLink.getAttrs(),j,g;tinyMCEPopup.restoreSelection();j=h.dom.getParent(h.selection.getNode(),"A");if(!i.href||i.href=="http://"){if(j){tinyMCEPopup.execCommand("mceBeginUndoLevel");g=h.selection.getBookmark();h.dom.remove(j,1);h.selection.moveToBookmark(g);tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()}return}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(j==null){h.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("mceInsertLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(h.dom.select("a"),function(k){if(h.dom.getAttrib(k,"href")=="#mce_temp_url#"){j=k;h.dom.setAttribs(j,i)}});if(f(j).text()=="#mce_temp_url#"){h.dom.remove(j);j=null}}else{h.dom.setAttribs(j,i)}if(j&&(j.childNodes.length!=1||j.firstChild.nodeName!="IMG")){h.focus();h.selection.select(j);h.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()},updateFields:function(i,h,g){b.url.val(h.children(".item-permalink").val());b.title.val(h.hasClass("no-title")?"":h.children(".item-title").text());if(g&&g.type=="click"){b.url.focus()}},setDefaultValues:function(){b.url.val("http://");b.title.val("");b.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var h=f(this),i,g=h.val();if(g.length>2){e.recent.hide();e.search.show();if(wpLink.lastSearch==g){return}wpLink.lastSearch=g;i=h.siblings("img.waiting").show();e.search.change(g);e.search.ajax(function(){i.hide()})}else{e.search.hide();e.recent.show()}},next:function(){e.search.next();e.recent.next()},prev:function(){e.search.prev();e.recent.prev()},keydown:function(i){var h,g=f.ui.keyCode;switch(i.which){case g.UP:h="prev";case g.DOWN:h=h||"next";clearInterval(wpLink.keyInterval);wpLink[h]();wpLink.keyInterval=setInterval(wpLink[h],wpLink.keySensitivity);break;default:return}i.preventDefault()},keyup:function(h){var g=f.ui.keyCode;switch(h.which){case g.ESCAPE:h.stopImmediatePropagation();if(!f(document).triggerHandler("wp_CloseOnEscape",[{event:h,what:"wplink",cb:wpLink.close}])){wpLink.close()}return false;break;case g.UP:case g.DOWN:clearInterval(wpLink.keyInterval);break;default:return}h.preventDefault()},delayedCallback:function(i,g){var l,k,j,h;if(!g){return i}setTimeout(function(){if(k){return i.apply(h,j)}l=true},g);return function(){if(l){return i.apply(this,arguments)}j=arguments;h=this;k=true}},toggleInternalLinking:function(h){var g=f("#search-panel"),i=b.dialog.wpdialog("widget"),k=!g.is(":visible"),j=f(window);f(this).toggleClass("toggle-arrow-active",k);b.dialog.height("auto");g.slideToggle(300,function(){setUserSetting("wplink",k?"1":"0");b[k?"search":"url"].focus();var l=j.scrollTop(),o=i.offset().top,m=o+i.outerHeight(),n=m-j.height();if(n>l){i.animate({top:n<o?o-n:l},200)}});h.preventDefault()}};a=function(i,h){var g=this;this.element=i;this.ul=i.children("ul");this.waiting=i.find(".river-waiting");this.change(h);this.refresh();i.scroll(function(){g.maybeLoad()});i.delegate("li","click",function(j){g.select(f(this),j)})};f.extend(a.prototype,{refresh:function(){this.deselect();this.visible=this.element.is(":visible")},show:function(){if(!this.visible){this.deselect();this.element.show();this.visible=true}},hide:function(){this.element.hide();this.visible=false},select:function(h,k){var j,i,l,g;if(h.hasClass("unselectable")||h==this.selected){return}this.deselect();this.selected=h.addClass("selected");j=h.outerHeight();i=this.element.height();l=h.position().top;g=this.element.scrollTop();if(l<0){this.element.scrollTop(g+l)}else{if(l+j>i){this.element.scrollTop(g+l-i+j)}}this.element.trigger("river-select",[h,k,this])},deselect:function(){if(this.selected){this.selected.removeClass("selected")}this.selected=false},prev:function(){if(!this.visible){return}var g;if(this.selected){g=this.selected.prev("li");if(g.length){this.select(g)}}},next:function(){if(!this.visible){return}var g=this.selected?this.selected.next("li"):f("li:not(.unselectable):first",this.element);if(g.length){this.select(g)}},ajax:function(j){var h=this,i=this.query.page==1?0:wpLink.minRiverAJAXDuration,g=wpLink.delayedCallback(function(k,l){h.process(k,l);if(j){j(k,l)}},i);this.query.ajax(g)},change:function(g){if(this.query&&this._search==g){return}this._search=g;this.query=new c(g);this.element.scrollTop(0)},process:function(h,l){var i="",j=true,g="",k=l.page==1;if(!h){if(k){i+='<li class="unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{f.each(h,function(){g=j?"alternate":"";g+=this["title"]?"":" no-title";i+=g?'<li class="'+g+'">':"<li>";i+='<input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';i+='<span class="item-title">';i+=this["title"]?this["title"]:wpLinkL10n.noTitle;i+='</span><span class="item-info">'+this["info"]+"</span></li>";j=!j})}this.ul[k?"html":"append"](i)},maybeLoad:function(){var h=this,i=this.element,g=i.scrollTop()+i.height();if(!this.query.ready()||g<this.ul.height()-wpLink.riverBottomThreshold){return}setTimeout(function(){var j=i.scrollTop(),k=j+i.height();if(!h.query.ready()||k<h.ul.height()-wpLink.riverBottomThreshold){return}h.waiting.show();i.scrollTop(j+h.waiting.outerHeight());h.ajax(function(){h.waiting.hide()})},wpLink.timeToTriggerRiver)}});c=function(g){this.page=1;this.allLoaded=false;this.querying=false;this.search=g};f.extend(c.prototype,{ready:function(){return !(this.querying||this.allLoaded)},ajax:function(i){var g=this,h={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:b.nonce.val()};if(this.search){h.search=this.search}this.querying=true;f.post(ajaxurl,h,function(j){g.page++;g.querying=false;g.allLoaded=!j;i(j,h)},"json")}});f(document).ready(wpLink.init)})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/wp-pointer.dev.js ./wordpress-3.4/wp-includes/js/wp-pointer.dev.js
*** ./wordpress-3.3.2/wp-includes/js/wp-pointer.dev.js	2011-11-29 13:43:24.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/wp-pointer.dev.js	2012-01-08 16:53:05.000000000 -0600
***************
*** 156,162 ****
  				left: 0,
  				zIndex: zindex++ // Increment the z-index so that it shows above other opened pointers.
  			}).show().position($.extend({
! 				of: this.element
  			}, position )); // the object comes before this.options.position so the user can override position.of.
  
  			this.repoint();
--- 155,162 ----
  				left: 0,
  				zIndex: zindex++ // Increment the z-index so that it shows above other opened pointers.
  			}).show().position($.extend({
! 				of: this.element,
! 				collision: 'fit none'
  			}, position )); // the object comes before this.options.position so the user can override position.of.
  
  			this.repoint();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/js/wp-pointer.js ./wordpress-3.4/wp-includes/js/wp-pointer.js
*** ./wordpress-3.3.2/wp-includes/js/wp-pointer.js	2011-11-29 13:43:24.000000000 -0600
--- ./wordpress-3.4/wp-includes/js/wp-pointer.js	2012-01-08 16:54:51.000000000 -0600
***************
*** 1 ****
! (function(c){var a=0,b=9999;c.widget("wp.pointer",{options:{pointerClass:"wp-pointer",pointerWidth:320,content:function(f,e,d){return c(this).text()},buttons:function(f,e){var g=(wpPointerL10n)?wpPointerL10n.dismiss:"Dismiss",d=c('<a class="close" href="#">'+g+"</a>");return d.bind("click.pointer",function(h){h.preventDefault();e.element.pointer("close")})},position:"top",show:function(e,d){d.pointer.show();d.opened()},hide:function(e,d){d.pointer.hide();d.closed()},document:document},_create:function(){var e,d;this.content=c('<div class="wp-pointer-content"></div>');this.arrow=c('<div class="wp-pointer-arrow"><div class="wp-pointer-arrow-inner"></div></div>');d=this.element.parents().add(this.element);e="absolute";if(d.filter(function(){return"fixed"===c(this).css("position")}).length){e="fixed"}this.pointer=c("<div />").append(this.content).append(this.arrow).attr("id","wp-pointer-"+a++).addClass(this.options.pointerClass).css({position:e,width:this.options.pointerWidth+"px",display:"none"}).appendTo(this.options.document.body)},_setOption:function(d,f){var g=this.options,e=this.pointer;if(d==="document"&&f!==g.document){e.detach().appendTo(f.body)}else{if(d==="pointerClass"){e.removeClass(g.pointerClass).addClass(f)}}c.Widget.prototype._setOption.apply(this,arguments);if(d==="position"){this.reposition()}else{if(d==="content"&&this.active){this.update()}}},destroy:function(){this.pointer.remove();c.Widget.prototype.destroy.call(this)},widget:function(){return this.pointer},update:function(g){var e=this,h=this.options,d=c.Deferred(),f;if(h.disabled){return}d.done(function(i){e._update(g,i)});if(typeof h.content==="string"){f=h.content}else{f=h.content.call(this.element[0],d.resolve,g,this._handoff())}if(f){d.resolve(f)}return d.promise()},_update:function(f,e){var d,g=this.options;if(!e){return}this.pointer.stop();this.content.html(e);d=g.buttons.call(this.element[0],f,this._handoff());if(d){d.wrap('<div class="wp-pointer-buttons" />').parent().appendTo(this.content)}this.reposition()},reposition:function(){var d;if(this.options.disabled){return}d=this._processPosition(this.options.position);this.pointer.css({top:0,left:0,zIndex:b++}).show().position(c.extend({of:this.element},d));this.repoint()},repoint:function(){var e=this.options,d;if(e.disabled){return}d=(typeof e.position=="string")?e.position:e.position.edge;this.pointer[0].className=this.pointer[0].className.replace(/wp-pointer-[^\s'"]*/,"");this.pointer.addClass("wp-pointer-"+d)},_processPosition:function(e){var f={top:"bottom",bottom:"top",left:"right",right:"left"},d;if(typeof e=="string"){d={edge:e+""}}else{d=c.extend({},e)}if(!d.edge){return d}if(d.edge=="top"||d.edge=="bottom"){d.align=d.align||"left";d.at=d.at||d.align+" "+f[d.edge];d.my=d.my||d.align+" "+d.edge}else{d.align=d.align||"top";d.at=d.at||f[d.edge]+" "+d.align;d.my=d.my||d.edge+" "+d.align}return d},open:function(e){var d=this,f=this.options;if(this.active||f.disabled||this.element.is(":hidden")){return}this.update().done(function(){d._open(e)})},_open:function(e){var d=this,f=this.options;if(this.active||f.disabled||this.element.is(":hidden")){return}this.active=true;this._trigger("open",e,this._handoff());this._trigger("show",e,this._handoff({opened:function(){d._trigger("opened",e,d._handoff())}}))},close:function(e){if(!this.active||this.options.disabled){return}var d=this;this.active=false;this._trigger("close",e,this._handoff());this._trigger("hide",e,this._handoff({closed:function(){d._trigger("closed",e,d._handoff())}}))},sendToTop:function(d){if(this.active){this.pointer.css("z-index",b++)}},toggle:function(d){if(this.pointer.is(":hidden")){this.open(d)}else{this.close(d)}},_handoff:function(d){return c.extend({pointer:this.pointer,element:this.element},d)}})})(jQuery);
\ No newline at end of file
--- 1 ----
! (function(c){var a=0,b=9999;c.widget("wp.pointer",{options:{pointerClass:"wp-pointer",pointerWidth:320,content:function(f,e,d){return c(this).text()},buttons:function(f,e){var g=(wpPointerL10n)?wpPointerL10n.dismiss:"Dismiss",d=c('<a class="close" href="#">'+g+"</a>");return d.bind("click.pointer",function(h){h.preventDefault();e.element.pointer("close")})},position:"top",show:function(e,d){d.pointer.show();d.opened()},hide:function(e,d){d.pointer.hide();d.closed()},document:document},_create:function(){var e,d;this.content=c('<div class="wp-pointer-content"></div>');this.arrow=c('<div class="wp-pointer-arrow"><div class="wp-pointer-arrow-inner"></div></div>');d=this.element.parents().add(this.element);e="absolute";if(d.filter(function(){return"fixed"===c(this).css("position")}).length){e="fixed"}this.pointer=c("<div />").append(this.content).append(this.arrow).attr("id","wp-pointer-"+a++).addClass(this.options.pointerClass).css({position:e,width:this.options.pointerWidth+"px",display:"none"}).appendTo(this.options.document.body)},_setOption:function(d,f){var g=this.options,e=this.pointer;if(d==="document"&&f!==g.document){e.detach().appendTo(f.body)}else{if(d==="pointerClass"){e.removeClass(g.pointerClass).addClass(f)}}c.Widget.prototype._setOption.apply(this,arguments);if(d==="position"){this.reposition()}else{if(d==="content"&&this.active){this.update()}}},destroy:function(){this.pointer.remove();c.Widget.prototype.destroy.call(this)},widget:function(){return this.pointer},update:function(g){var e=this,h=this.options,d=c.Deferred(),f;if(h.disabled){return}d.done(function(i){e._update(g,i)});if(typeof h.content==="string"){f=h.content}else{f=h.content.call(this.element[0],d.resolve,g,this._handoff())}if(f){d.resolve(f)}return d.promise()},_update:function(f,e){var d,g=this.options;if(!e){return}this.pointer.stop();this.content.html(e);d=g.buttons.call(this.element[0],f,this._handoff());if(d){d.wrap('<div class="wp-pointer-buttons" />').parent().appendTo(this.content)}this.reposition()},reposition:function(){var d;if(this.options.disabled){return}d=this._processPosition(this.options.position);this.pointer.css({top:0,left:0,zIndex:b++}).show().position(c.extend({of:this.element,collision:"fit none"},d));this.repoint()},repoint:function(){var e=this.options,d;if(e.disabled){return}d=(typeof e.position=="string")?e.position:e.position.edge;this.pointer[0].className=this.pointer[0].className.replace(/wp-pointer-[^\s'"]*/,"");this.pointer.addClass("wp-pointer-"+d)},_processPosition:function(e){var f={top:"bottom",bottom:"top",left:"right",right:"left"},d;if(typeof e=="string"){d={edge:e+""}}else{d=c.extend({},e)}if(!d.edge){return d}if(d.edge=="top"||d.edge=="bottom"){d.align=d.align||"left";d.at=d.at||d.align+" "+f[d.edge];d.my=d.my||d.align+" "+d.edge}else{d.align=d.align||"top";d.at=d.at||f[d.edge]+" "+d.align;d.my=d.my||d.edge+" "+d.align}return d},open:function(e){var d=this,f=this.options;if(this.active||f.disabled||this.element.is(":hidden")){return}this.update().done(function(){d._open(e)})},_open:function(e){var d=this,f=this.options;if(this.active||f.disabled||this.element.is(":hidden")){return}this.active=true;this._trigger("open",e,this._handoff());this._trigger("show",e,this._handoff({opened:function(){d._trigger("opened",e,d._handoff())}}))},close:function(e){if(!this.active||this.options.disabled){return}var d=this;this.active=false;this._trigger("close",e,this._handoff());this._trigger("hide",e,this._handoff({closed:function(){d._trigger("closed",e,d._handoff())}}))},sendToTop:function(d){if(this.active){this.pointer.css("z-index",b++)}},toggle:function(d){if(this.pointer.is(":hidden")){this.open(d)}else{this.close(d)}},_handoff:function(d){return c.extend({pointer:this.pointer,element:this.element},d)}})})(jQuery);
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/kses.php ./wordpress-3.4/wp-includes/kses.php
*** ./wordpress-3.3.2/wp-includes/kses.php	2012-04-19 16:52:24.000000000 -0500
--- ./wordpress-3.4/wp-includes/kses.php	2012-06-01 15:47:08.000000000 -0500
***************
*** 10,16 ****
   *
   * This program is distributed in the hope that it will be useful, but WITHOUT
   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
!  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
   * more details.
   *
   * You should have received a copy of the GNU General Public License along
--- 10,16 ----
   *
   * This program is distributed in the hope that it will be useful, but WITHOUT
   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
!  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
   * more details.
   *
   * You should have received a copy of the GNU General Public License along
***************
*** 51,398 ****
  	$allowedposttags = array(
  		'address' => array(),
  		'a' => array(
! 			'class' => array (),
! 			'href' => array (),
! 			'id' => array (),
! 			'title' => array (),
! 			'rel' => array (),
! 			'rev' => array (),
! 			'name' => array (),
! 			'target' => array()),
  		'abbr' => array(
! 			'class' => array (),
! 			'title' => array ()),
  		'acronym' => array(
! 			'title' => array ()),
  		'article' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'aside' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'b' => array(),
  		'big' => array(),
  		'blockquote' => array(
! 			'id' => array (),
! 			'cite' => array (),
! 			'class' => array(),
! 			'lang' => array(),
! 			'xml:lang' => array()),
  		'br' => array (
! 			'class' => array ()),
  		'button' => array(
! 			'disabled' => array (),
! 			'name' => array (),
! 			'type' => array (),
! 			'value' => array ()),
  		'caption' => array(
! 			'align' => array (),
! 			'class' => array ()),
  		'cite' => array (
! 			'class' => array(),
! 			'dir' => array(),
! 			'lang' => array(),
! 			'title' => array ()),
  		'code' => array (
! 			'style' => array()),
  		'col' => array(
! 			'align' => array (),
! 			'char' => array (),
! 			'charoff' => array (),
! 			'span' => array (),
! 			'dir' => array(),
! 			'style' => array (),
! 			'valign' => array (),
! 			'width' => array ()),
  		'del' => array(
! 			'datetime' => array ()),
  		'dd' => array(),
  		'details' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'open' => array (),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'div' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array()),
  		'dl' => array(),
  		'dt' => array(),
  		'em' => array(),
  		'fieldset' => array(),
  		'figure' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'figcaption' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'font' => array(
! 			'color' => array (),
! 			'face' => array (),
! 			'size' => array ()),
  		'footer' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'form' => array(
! 			'action' => array (),
! 			'accept' => array (),
! 			'accept-charset' => array (),
! 			'enctype' => array (),
! 			'method' => array (),
! 			'name' => array (),
! 			'target' => array ()),
  		'h1' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'id'    => array (),
! 			'style' => array ()),
  		'h2' => array (
! 			'align' => array (),
! 			'class' => array (),
! 			'id'    => array (),
! 			'style' => array ()),
  		'h3' => array (
! 			'align' => array (),
! 			'class' => array (),
! 			'id'    => array (),
! 			'style' => array ()),
  		'h4' => array (
! 			'align' => array (),
! 			'class' => array (),
! 			'id'    => array (),
! 			'style' => array ()),
  		'h5' => array (
! 			'align' => array (),
! 			'class' => array (),
! 			'id'    => array (),
! 			'style' => array ()),
  		'h6' => array (
! 			'align' => array (),
! 			'class' => array (),
! 			'id'    => array (),
! 			'style' => array ()),
  		'header' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'hgroup' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'hr' => array (
! 			'align' => array (),
! 			'class' => array (),
! 			'noshade' => array (),
! 			'size' => array (),
! 			'width' => array ()),
  		'i' => array(),
  		'img' => array(
! 			'alt' => array (),
! 			'align' => array (),
! 			'border' => array (),
! 			'class' => array (),
! 			'height' => array (),
! 			'hspace' => array (),
! 			'longdesc' => array (),
! 			'vspace' => array (),
! 			'src' => array (),
! 			'style' => array (),
! 			'width' => array ()),
  		'ins' => array(
! 			'datetime' => array (),
! 			'cite' => array ()),
  		'kbd' => array(),
  		'label' => array(
! 			'for' => array ()),
  		'legend' => array(
! 			'align' => array ()),
  		'li' => array (
! 			'align' => array (),
! 			'class' => array ()),
  		'menu' => array (
! 			'class' => array (),
! 			'style' => array (),
! 			'type' => array ()),
  		'nav' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'p' => array(
! 			'class' => array (),
! 			'align' => array (),
! 			'dir' => array(),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array()),
  		'pre' => array(
! 			'style' => array(),
! 			'width' => array ()),
  		'q' => array(
! 			'cite' => array ()),
  		's' => array(),
  		'span' => array (
! 			'class' => array (),
! 			'dir' => array (),
! 			'align' => array (),
! 			'lang' => array (),
! 			'style' => array (),
! 			'title' => array (),
! 			'xml:lang' => array()),
  		'section' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'strike' => array(),
  		'strong' => array(),
  		'sub' => array(),
  		'summary' => array(
! 			'align' => array (),
! 			'class' => array (),
! 			'dir' => array (),
! 			'lang' => array(),
! 			'style' => array (),
! 			'xml:lang' => array(),
  		),
  		'sup' => array(),
  		'table' => array(
! 			'align' => array (),
! 			'bgcolor' => array (),
! 			'border' => array (),
! 			'cellpadding' => array (),
! 			'cellspacing' => array (),
! 			'class' => array (),
! 			'dir' => array(),
! 			'id' => array(),
! 			'rules' => array (),
! 			'style' => array (),
! 			'summary' => array (),
! 			'width' => array ()),
  		'tbody' => array(
! 			'align' => array (),
! 			'char' => array (),
! 			'charoff' => array (),
! 			'valign' => array ()),
  		'td' => array(
! 			'abbr' => array (),
! 			'align' => array (),
! 			'axis' => array (),
! 			'bgcolor' => array (),
! 			'char' => array (),
! 			'charoff' => array (),
! 			'class' => array (),
! 			'colspan' => array (),
! 			'dir' => array(),
! 			'headers' => array (),
! 			'height' => array (),
! 			'nowrap' => array (),
! 			'rowspan' => array (),
! 			'scope' => array (),
! 			'style' => array (),
! 			'valign' => array (),
! 			'width' => array ()),
  		'textarea' => array(
! 			'cols' => array (),
! 			'rows' => array (),
! 			'disabled' => array (),
! 			'name' => array (),
! 			'readonly' => array ()),
  		'tfoot' => array(
! 			'align' => array (),
! 			'char' => array (),
! 			'class' => array (),
! 			'charoff' => array (),
! 			'valign' => array ()),
  		'th' => array(
! 			'abbr' => array (),
! 			'align' => array (),
! 			'axis' => array (),
! 			'bgcolor' => array (),
! 			'char' => array (),
! 			'charoff' => array (),
! 			'class' => array (),
! 			'colspan' => array (),
! 			'headers' => array (),
! 			'height' => array (),
! 			'nowrap' => array (),
! 			'rowspan' => array (),
! 			'scope' => array (),
! 			'valign' => array (),
! 			'width' => array ()),
  		'thead' => array(
! 			'align' => array (),
! 			'char' => array (),
! 			'charoff' => array (),
! 			'class' => array (),
! 			'valign' => array ()),
  		'title' => array(),
  		'tr' => array(
! 			'align' => array (),
! 			'bgcolor' => array (),
! 			'char' => array (),
! 			'charoff' => array (),
! 			'class' => array (),
! 			'style' => array (),
! 			'valign' => array ()),
  		'tt' => array(),
  		'u' => array(),
  		'ul' => array (
! 			'class' => array (),
! 			'style' => array (),
! 			'type' => array ()),
  		'ol' => array (
! 			'class' => array (),
! 			'start' => array (),
! 			'style' => array (),
! 			'type' => array ()),
! 		'var' => array ());
  
  	/**
  	 * Kses allowed HTML elements.
--- 51,440 ----
  	$allowedposttags = array(
  		'address' => array(),
  		'a' => array(
! 			'class' => true,
! 			'href' => true,
! 			'id' => true,
! 			'title' => true,
! 			'rel' => true,
! 			'rev' => true,
! 			'name' => true,
! 			'target' => true,
! 		),
  		'abbr' => array(
! 			'class' => true,
! 			'title' => true,
! 		),
  		'acronym' => array(
! 			'title' => true,
! 		),
  		'article' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'aside' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'b' => array(),
  		'big' => array(),
  		'blockquote' => array(
! 			'id' => true,
! 			'cite' => true,
! 			'class' => true,
! 			'lang' => true,
! 			'xml:lang' => true,
! 		),
  		'br' => array (
! 			'class' => true,
! 		),
  		'button' => array(
! 			'disabled' => true,
! 			'name' => true,
! 			'type' => true,
! 			'value' => true,
! 		),
  		'caption' => array(
! 			'align' => true,
! 			'class' => true,
! 		),
  		'cite' => array (
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'title' => true,
! 		),
  		'code' => array (
! 			'style' => true,
! 		),
  		'col' => array(
! 			'align' => true,
! 			'char' => true,
! 			'charoff' => true,
! 			'span' => true,
! 			'dir' => true,
! 			'style' => true,
! 			'valign' => true,
! 			'width' => true,
! 		),
  		'del' => array(
! 			'datetime' => true,
! 		),
  		'dd' => array(),
  		'details' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'open' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'div' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
! 		),
  		'dl' => array(),
  		'dt' => array(),
  		'em' => array(),
  		'fieldset' => array(),
  		'figure' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'figcaption' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'font' => array(
! 			'color' => true,
! 			'face' => true,
! 			'size' => true,
! 		),
  		'footer' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'form' => array(
! 			'action' => true,
! 			'accept' => true,
! 			'accept-charset' => true,
! 			'enctype' => true,
! 			'method' => true,
! 			'name' => true,
! 			'target' => true,
! 		),
  		'h1' => array(
! 			'align' => true,
! 			'class' => true,
! 			'id'    => true,
! 			'style' => true,
! 		),
  		'h2' => array (
! 			'align' => true,
! 			'class' => true,
! 			'id'    => true,
! 			'style' => true,
! 		),
  		'h3' => array (
! 			'align' => true,
! 			'class' => true,
! 			'id'    => true,
! 			'style' => true,
! 		),
  		'h4' => array (
! 			'align' => true,
! 			'class' => true,
! 			'id'    => true,
! 			'style' => true,
! 		),
  		'h5' => array (
! 			'align' => true,
! 			'class' => true,
! 			'id'    => true,
! 			'style' => true,
! 		),
  		'h6' => array (
! 			'align' => true,
! 			'class' => true,
! 			'id'    => true,
! 			'style' => true,
! 		),
  		'header' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'hgroup' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'hr' => array (
! 			'align' => true,
! 			'class' => true,
! 			'noshade' => true,
! 			'size' => true,
! 			'width' => true,
! 		),
  		'i' => array(),
  		'img' => array(
! 			'alt' => true,
! 			'align' => true,
! 			'border' => true,
! 			'class' => true,
! 			'height' => true,
! 			'hspace' => true,
! 			'longdesc' => true,
! 			'vspace' => true,
! 			'src' => true,
! 			'style' => true,
! 			'width' => true,
! 		),
  		'ins' => array(
! 			'datetime' => true,
! 			'cite' => true,
! 		),
  		'kbd' => array(),
  		'label' => array(
! 			'for' => true,
! 		),
  		'legend' => array(
! 			'align' => true,
! 		),
  		'li' => array (
! 			'align' => true,
! 			'class' => true,
! 		),
  		'menu' => array (
! 			'class' => true,
! 			'style' => true,
! 			'type' => true,
! 		),
  		'nav' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'p' => array(
! 			'class' => true,
! 			'align' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
! 		),
  		'pre' => array(
! 			'style' => true,
! 			'width' => true,
! 		),
  		'q' => array(
! 			'cite' => true,
! 		),
  		's' => array(),
  		'span' => array (
! 			'class' => true,
! 			'dir' => true,
! 			'align' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'title' => true,
! 			'xml:lang' => true,
! 		),
  		'section' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'strike' => array(),
  		'strong' => array(),
  		'sub' => array(),
  		'summary' => array(
! 			'align' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'lang' => true,
! 			'style' => true,
! 			'xml:lang' => true,
  		),
  		'sup' => array(),
  		'table' => array(
! 			'align' => true,
! 			'bgcolor' => true,
! 			'border' => true,
! 			'cellpadding' => true,
! 			'cellspacing' => true,
! 			'class' => true,
! 			'dir' => true,
! 			'id' => true,
! 			'rules' => true,
! 			'style' => true,
! 			'summary' => true,
! 			'width' => true,
! 		),
  		'tbody' => array(
! 			'align' => true,
! 			'char' => true,
! 			'charoff' => true,
! 			'valign' => true,
! 		),
  		'td' => array(
! 			'abbr' => true,
! 			'align' => true,
! 			'axis' => true,
! 			'bgcolor' => true,
! 			'char' => true,
! 			'charoff' => true,
! 			'class' => true,
! 			'colspan' => true,
! 			'dir' => true,
! 			'headers' => true,
! 			'height' => true,
! 			'nowrap' => true,
! 			'rowspan' => true,
! 			'scope' => true,
! 			'style' => true,
! 			'valign' => true,
! 			'width' => true,
! 		),
  		'textarea' => array(
! 			'cols' => true,
! 			'rows' => true,
! 			'disabled' => true,
! 			'name' => true,
! 			'readonly' => true,
! 		),
  		'tfoot' => array(
! 			'align' => true,
! 			'char' => true,
! 			'class' => true,
! 			'charoff' => true,
! 			'valign' => true,
! 		),
  		'th' => array(
! 			'abbr' => true,
! 			'align' => true,
! 			'axis' => true,
! 			'bgcolor' => true,
! 			'char' => true,
! 			'charoff' => true,
! 			'class' => true,
! 			'colspan' => true,
! 			'headers' => true,
! 			'height' => true,
! 			'nowrap' => true,
! 			'rowspan' => true,
! 			'scope' => true,
! 			'valign' => true,
! 			'width' => true,
! 		),
  		'thead' => array(
! 			'align' => true,
! 			'char' => true,
! 			'charoff' => true,
! 			'class' => true,
! 			'valign' => true,
! 		),
  		'title' => array(),
  		'tr' => array(
! 			'align' => true,
! 			'bgcolor' => true,
! 			'char' => true,
! 			'charoff' => true,
! 			'class' => true,
! 			'style' => true,
! 			'valign' => true,
! 		),
  		'tt' => array(),
  		'u' => array(),
  		'ul' => array (
! 			'class' => true,
! 			'style' => true,
! 			'type' => true,
! 		),
  		'ol' => array (
! 			'class' => true,
! 			'start' => true,
! 			'style' => true,
! 			'type' => true,
! 		),
! 		'var' => array(),
! 	);
  
  	/**
  	 * Kses allowed HTML elements.
***************
*** 402,421 ****
  	 */
  	$allowedtags = array(
  		'a' => array(
! 			'href' => array (),
! 			'title' => array ()),
  		'abbr' => array(
! 			'title' => array ()),
  		'acronym' => array(
! 			'title' => array ()),
  		'b' => array(),
  		'blockquote' => array(
! 			'cite' => array ()),
  		//	'br' => array(),
! 		'cite' => array (),
  		'code' => array(),
  		'del' => array(
! 			'datetime' => array ()),
  		//	'dd' => array(),
  		//	'dl' => array(),
  		//	'dt' => array(),
--- 444,468 ----
  	 */
  	$allowedtags = array(
  		'a' => array(
! 			'href' => true,
! 			'title' => true,
! 		),
  		'abbr' => array(
! 			'title' => true,
! 		),
  		'acronym' => array(
! 			'title' => true,
! 		),
  		'b' => array(),
  		'blockquote' => array(
! 			'cite' => true,
! 		),
  		//	'br' => array(),
! 		'cite' => array(),
  		'code' => array(),
  		'del' => array(
! 			'datetime' => true,
! 		),
  		//	'dd' => array(),
  		//	'dl' => array(),
  		//	'dt' => array(),
***************
*** 425,431 ****
  		//	'ol' => array(),
  		//	'p' => array(),
  		'q' => array(
! 			'cite' => array ()),
  		'strike' => array(),
  		'strong' => array(),
  		//	'sub' => array(),
--- 472,479 ----
  		//	'ol' => array(),
  		//	'p' => array(),
  		'q' => array(
! 			'cite' => true,
! 		),
  		'strike' => array(),
  		'strong' => array(),
  		//	'sub' => array(),
***************
*** 674,679 ****
--- 722,738 ----
  		if ( $current == '' )
  			continue; # the attribute is not allowed
  
+ 		if ( strtolower( $arreach['name'] ) == 'style' ) {
+ 			$orig_value = $arreach['value'];
+ 			$value = safecss_filter_attr( $orig_value );
+ 
+ 			if ( empty( $value ) )
+ 				continue;
+ 
+ 			$arreach['value'] = $value;
+ 			$arreach['whole'] = str_replace( $orig_value, $value, $arreach['whole'] );
+ 		}
+ 
  		if ( ! is_array($current) ) {
  			$attr2 .= ' '.$arreach['whole'];
  		# there are no checks
***************
*** 688,705 ****
  				}
  			}
  
! 			if ( strtolower($arreach['name']) == 'style' ) {
! 				$orig_value = $arreach['value'];
! 				$value = safecss_filter_attr($orig_value);
! 
! 				if ( empty($value) )
! 					continue;
! 
! 				$arreach['value'] = $value;
! 				$arreach['whole'] = str_replace($orig_value, $value, $arreach['whole']);
! 			}
! 
! 			if ($ok)
  				$attr2 .= ' '.$arreach['whole']; # it passed them
  		} # if !is_array($current)
  	} # foreach
--- 747,753 ----
  				}
  			}
  
! 			if ( $ok )
  				$attr2 .= ' '.$arreach['whole']; # it passed them
  		} # if !is_array($current)
  	} # foreach
***************
*** 718,724 ****
   * input. It will add quotes around attribute values that don't have any quotes
   * or apostrophes around them, to make it easier to produce HTML code that will
   * conform to W3C's HTML specification. It will also remove bad URL protocols
!  * from attribute values.  It also reduces duplicate attributes by using the
   * attribute defined first (foo='bar' foo='baz' will result in foo='bar').
   *
   * @since 1.0.0
--- 766,772 ----
   * input. It will add quotes around attribute values that don't have any quotes
   * or apostrophes around them, to make it easier to produce HTML code that will
   * conform to W3C's HTML specification. It will also remove bad URL protocols
!  * from attribute values. It also reduces duplicate attributes by using the
   * attribute defined first (foo='bar' foo='baz' will result in foo='bar').
   *
   * @since 1.0.0
***************
*** 763,769 ****
  					{
  					$working = 1;
  					$mode = 0;
! 					if(FALSE === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
  					}
  					$attr = preg_replace('/^\s+/', '', $attr);
--- 811,817 ----
  					{
  					$working = 1;
  					$mode = 0;
! 					if(false === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
  					}
  					$attr = preg_replace('/^\s+/', '', $attr);
***************
*** 780,786 ****
  					if ( in_array(strtolower($attrname), $uris) )
  						$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
  
! 					if(FALSE === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
  					}
  					$working = 1;
--- 828,834 ----
  					if ( in_array(strtolower($attrname), $uris) )
  						$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
  
! 					if(false === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
  					}
  					$working = 1;
***************
*** 796,802 ****
  					if ( in_array(strtolower($attrname), $uris) )
  						$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
  
! 					if(FALSE === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname='$thisval'", 'vless' => 'n');
  					}
  					$working = 1;
--- 844,850 ----
  					if ( in_array(strtolower($attrname), $uris) )
  						$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
  
! 					if(false === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname='$thisval'", 'vless' => 'n');
  					}
  					$working = 1;
***************
*** 812,818 ****
  					if ( in_array(strtolower($attrname), $uris) )
  						$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
  
! 					if(FALSE === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
  					}
  					# We add quotes to conform to W3C's HTML spec.
--- 860,866 ----
  					if ( in_array(strtolower($attrname), $uris) )
  						$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
  
! 					if(false === array_key_exists($attrname, $attrarr)) {
  						$attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
  					}
  					# We add quotes to conform to W3C's HTML spec.
***************
*** 831,837 ****
  		}
  	} # while
  
! 	if ($mode == 1 && FALSE === array_key_exists($attrname, $attrarr))
  		# special case, for when the attribute list ends with a valueless
  		# attribute like "selected"
  		$attrarr[$attrname] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
--- 879,885 ----
  		}
  	} # while
  
! 	if ($mode == 1 && false === array_key_exists($attrname, $attrarr))
  		# special case, for when the attribute list ends with a valueless
  		# attribute like "selected"
  		$attrarr[$attrname] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
***************
*** 941,947 ****
  }
  
  /**
!  * Removes any NULL characters in $string.
   *
   * @since 1.0.0
   *
--- 989,995 ----
  }
  
  /**
!  * Removes any null characters in $string.
   *
   * @since 1.0.0
   *
***************
*** 1315,1324 ****
   * @uses add_filter() See description for what functions are added to what hooks.
   */
  function kses_init_filters() {
! 	// Normal filtering.
! 	add_filter('pre_comment_content', 'wp_filter_kses');
  	add_filter('title_save_pre', 'wp_filter_kses');
  
  	// Post filtering
  	add_filter('content_save_pre', 'wp_filter_post_kses');
  	add_filter('excerpt_save_pre', 'wp_filter_post_kses');
--- 1363,1377 ----
   * @uses add_filter() See description for what functions are added to what hooks.
   */
  function kses_init_filters() {
! 	// Normal filtering
  	add_filter('title_save_pre', 'wp_filter_kses');
  
+ 	// Comment filtering
+ 	if ( current_user_can( 'unfiltered_html' ) )
+ 		add_filter( 'pre_comment_content', 'wp_filter_post_kses' );
+ 	else
+ 		add_filter( 'pre_comment_content', 'wp_filter_kses' );
+ 
  	// Post filtering
  	add_filter('content_save_pre', 'wp_filter_post_kses');
  	add_filter('excerpt_save_pre', 'wp_filter_post_kses');
***************
*** 1338,1347 ****
   * @since 2.0.6
   */
  function kses_remove_filters() {
! 	// Normal filtering.
! 	remove_filter('pre_comment_content', 'wp_filter_kses');
  	remove_filter('title_save_pre', 'wp_filter_kses');
  
  	// Post filtering
  	remove_filter('content_save_pre', 'wp_filter_post_kses');
  	remove_filter('excerpt_save_pre', 'wp_filter_post_kses');
--- 1391,1403 ----
   * @since 2.0.6
   */
  function kses_remove_filters() {
! 	// Normal filtering
  	remove_filter('title_save_pre', 'wp_filter_kses');
  
+ 	// Comment filtering
+ 	remove_filter( 'pre_comment_content', 'wp_filter_post_kses' );
+ 	remove_filter( 'pre_comment_content', 'wp_filter_kses' );
+ 
  	// Post filtering
  	remove_filter('content_save_pre', 'wp_filter_post_kses');
  	remove_filter('excerpt_save_pre', 'wp_filter_post_kses');
***************
*** 1414,1420 ****
  		if ( strpos( $css_item, ':' ) === false ) {
  			$found = true;
  		} else {
! 			$parts = split( ':', $css_item );
  			if ( in_array( trim( $parts[0] ), $allowed_attr ) )
  				$found = true;
  		}
--- 1470,1476 ----
  		if ( strpos( $css_item, ':' ) === false ) {
  			$found = true;
  		} else {
! 			$parts = explode( ':', $css_item );
  			if ( in_array( trim( $parts[0] ), $allowed_attr ) )
  				$found = true;
  		}
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/l10n.php ./wordpress-3.4/wp-includes/l10n.php
*** ./wordpress-3.3.2/wp-includes/l10n.php	2011-10-25 00:09:03.000000000 -0500
--- ./wordpress-3.4/wp-includes/l10n.php	2012-05-14 12:58:06.000000000 -0500
***************
*** 272,281 ****
   * @since 2.5
   * @param string $singular Single form to be i18ned
   * @param string $plural Plural form to be i18ned
   * @return array array($singular, $plural)
   */
! function _n_noop( $singular, $plural ) {
! 	return array( 0 => $singular, 1 => $plural, 'singular' => $singular, 'plural' => $plural, 'context' => null );
  }
  
  /**
--- 272,282 ----
   * @since 2.5
   * @param string $singular Single form to be i18ned
   * @param string $plural Plural form to be i18ned
+  * @param string $domain Optional. The domain identifier the text will be retrieved in
   * @return array array($singular, $plural)
   */
! function _n_noop( $singular, $plural, $domain = null ) {
! 	return array( 0 => $singular, 1 => $plural, 'singular' => $singular, 'plural' => $plural, 'context' => null, 'domain' => $domain );
  }
  
  /**
***************
*** 283,290 ****
   *
   * @see _n_noop()
   */
! function _nx_noop( $singular, $plural, $context ) {
! 	return array( 0 => $singular, 1 => $plural, 2 => $context, 'singular' => $singular, 'plural' => $plural, 'context' => $context );
  }
  
  /**
--- 284,291 ----
   *
   * @see _n_noop()
   */
! function _nx_noop( $singular, $plural, $context, $domain = null ) {
! 	return array( 0 => $singular, 1 => $plural, 2 => $context, 'singular' => $singular, 'plural' => $plural, 'context' => $context, 'domain' => $domain );
  }
  
  /**
***************
*** 293,301 ****
   * @since 3.1
   * @param array $nooped_plural Array with singular, plural and context keys, usually the result of _n_noop() or _nx_noop()
   * @param int $count Number of objects
!  * @param string $domain Optional. The domain identifier the text should be retrieved in
   */
  function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' ) {
  	if ( $nooped_plural['context'] )
  		return _nx( $nooped_plural['singular'], $nooped_plural['plural'], $count, $nooped_plural['context'], $domain );
  	else
--- 294,306 ----
   * @since 3.1
   * @param array $nooped_plural Array with singular, plural and context keys, usually the result of _n_noop() or _nx_noop()
   * @param int $count Number of objects
!  * @param string $domain Optional. The domain identifier the text should be retrieved in. If $nooped_plural contains
!  * 	a domain passed to _n_noop() or _nx_noop(), it will override this value.
   */
  function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' ) {
+ 	if ( $nooped_plural['domain'] )
+ 		$domain = $nooped_plural['domain'];
+ 
  	if ( $nooped_plural['context'] )
  		return _nx( $nooped_plural['singular'], $nooped_plural['plural'], $count, $nooped_plural['context'], $domain );
  	else
***************
*** 382,390 ****
  
  	load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" );
  
! 	if ( is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) {
  		load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" );
  	}
  }
  
  /**
--- 387,403 ----
  
  	load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" );
  
! 	if ( ( is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) && ! file_exists(  WP_LANG_DIR . "/admin-$locale.mo" ) ) {
  		load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" );
+ 		return;
  	}
+ 
+ 	if ( is_admin()  )
+ 		load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo" );
+ 
+ 	if ( is_network_admin() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) )
+ 		load_textdomain( 'default', WP_LANG_DIR . "/admin-network-$locale.mo" );
+ 
  }
  
  /**
***************
*** 527,533 ****
  
  	foreach( (array)glob( ( is_null( $dir) ? WP_LANG_DIR : $dir ) . '/*.mo' ) as $lang_file ) {
  		$lang_file = basename($lang_file, '.mo');
! 		if ( 0 !== strpos( $lang_file, 'continents-cities' ) && 0 !== strpos( $lang_file, 'ms-' ) )
  			$languages[] = $lang_file;
  	}
  
--- 540,547 ----
  
  	foreach( (array)glob( ( is_null( $dir) ? WP_LANG_DIR : $dir ) . '/*.mo' ) as $lang_file ) {
  		$lang_file = basename($lang_file, '.mo');
! 		if ( 0 !== strpos( $lang_file, 'continents-cities' ) && 0 !== strpos( $lang_file, 'ms-' ) &&
! 			0 !== strpos( $lang_file, 'admin-' ))
  			$languages[] = $lang_file;
  	}
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/link-template.php ./wordpress-3.4/wp-includes/link-template.php
*** ./wordpress-3.3.2/wp-includes/link-template.php	2011-10-24 14:13:23.000000000 -0500
--- ./wordpress-3.4/wp-includes/link-template.php	2012-05-27 11:25:43.000000000 -0500
***************
*** 507,513 ****
   * @since 2.5.0
   *
   * @param string $link_text Descriptive text.
!  * @param int $post_id Optional post ID.  Default to current post.
   * @param string $feed Optional. Feed format.
   * @return string Link to the comment feed for the current post.
  */
--- 507,513 ----
   * @since 2.5.0
   *
   * @param string $link_text Descriptive text.
!  * @param int $post_id Optional post ID. Default to current post.
   * @param string $feed Optional. Feed format.
   * @return string Link to the comment feed for the current post.
  */
***************
*** 589,596 ****
   * @return string Link to the feed for the term specified by $term_id and $taxonomy.
  */
  function get_term_feed_link( $term_id, $taxonomy = 'category', $feed = '' ) {
- 	global $wp_rewrite;
- 
  	$term_id = ( int ) $term_id;
  
  	$term = get_term( $term_id, $taxonomy  );
--- 589,594 ----
***************
*** 1375,1383 ****
   * @since 1.5.0
   *
   * @param int $pagenum Optional. Page ID.
   * @return string
   */
! function get_pagenum_link($pagenum = 1) {
  	global $wp_rewrite;
  
  	$pagenum = (int) $pagenum;
--- 1372,1382 ----
   * @since 1.5.0
   *
   * @param int $pagenum Optional. Page ID.
+  * @param bool $escape Optional. Whether to escape the URL for display, with esc_url(). Defaults to true.
+ * 	Otherwise, prepares the URL with esc_url_raw().
   * @return string
   */
! function get_pagenum_link($pagenum = 1, $escape = true ) {
  	global $wp_rewrite;
  
  	$pagenum = (int) $pagenum;
***************
*** 1428,1434 ****
  
  	$result = apply_filters('get_pagenum_link', $result);
  
! 	return $result;
  }
  
  /**
--- 1427,1436 ----
  
  	$result = apply_filters('get_pagenum_link', $result);
  
! 	if ( $escape )
! 		return esc_url( $result );
! 	else
! 		return esc_url_raw( $result );
  }
  
  /**
***************
*** 1566,1572 ****
  
  	if ( !is_single() && $paged > 1 ) {
  		$attr = apply_filters( 'previous_posts_link_attributes', '' );
! 		return '<a href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label ) .'</a>';
  	}
  }
  
--- 1568,1574 ----
  
  	if ( !is_single() && $paged > 1 ) {
  		$attr = apply_filters( 'previous_posts_link_attributes', '' );
! 		return '<a href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/i', '&#038;$1', $label ) .'</a>';
  	}
  }
  
***************
*** 1793,1799 ****
  }
  
  /**
!  * Retrieve shortcut link.
   *
   * Use this in 'a' element 'href' attribute.
   *
--- 1795,1801 ----
  }
  
  /**
!  * Retrieve the Press This bookmarklet link.
   *
   * Use this in 'a' element 'href' attribute.
   *
***************
*** 1802,1807 ****
--- 1804,1810 ----
   * @return string
   */
  function get_shortcut_link() {
+ 	// In case of breaking changes, version this. #WP20071
  	$link = "javascript:
  			var d=document,
  			w=window,
***************
*** 1835,1841 ****
   * @uses get_home_url()
   *
   * @param  string $path   (optional) Path relative to the home url.
!  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https'.
   * @return string Home url link with optional path appended.
  */
  function home_url( $path = '', $scheme = null ) {
--- 1838,1844 ----
   * @uses get_home_url()
   *
   * @param  string $path   (optional) Path relative to the home url.
!  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'.
   * @return string Home url link with optional path appended.
  */
  function home_url( $path = '', $scheme = null ) {
***************
*** 1854,1866 ****
   *
   * @param  int $blog_id   (optional) Blog ID. Defaults to current blog.
   * @param  string $path   (optional) Path relative to the home url.
!  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https'.
   * @return string Home url link with optional path appended.
  */
  function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
  	$orig_scheme = $scheme;
  
! 	if ( !in_array( $scheme, array( 'http', 'https' ) ) )
  		$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
  
  	if ( empty( $blog_id ) || !is_multisite() )
--- 1857,1869 ----
   *
   * @param  int $blog_id   (optional) Blog ID. Defaults to current blog.
   * @param  string $path   (optional) Path relative to the home url.
!  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'.
   * @return string Home url link with optional path appended.
  */
  function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
  	$orig_scheme = $scheme;
  
! 	if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
  		$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
  
  	if ( empty( $blog_id ) || !is_multisite() )
***************
*** 1868,1874 ****
  	else
  		$url = get_blog_option( $blog_id, 'home' );
  
! 	if ( 'http' != $scheme )
  		$url = str_replace( 'http://', "$scheme://", $url );
  
  	if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
--- 1871,1879 ----
  	else
  		$url = get_blog_option( $blog_id, 'home' );
  
! 	if ( 'relative' == $scheme )
! 		$url = preg_replace( '#^.+://[^/]*#', '', $url );
! 	elseif ( 'http' != $scheme )
  		$url = str_replace( 'http://', "$scheme://", $url );
  
  	if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
***************
*** 1890,1896 ****
   * @uses get_site_url()
   *
   * @param string $path Optional. Path relative to the site url.
!  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', or 'admin'.
   * @return string Site url link with optional path appended.
  */
  function site_url( $path = '', $scheme = null ) {
--- 1895,1901 ----
   * @uses get_site_url()
   *
   * @param string $path Optional. Path relative to the site url.
!  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
   * @return string Site url link with optional path appended.
  */
  function site_url( $path = '', $scheme = null ) {
***************
*** 1909,1921 ****
   *
   * @param int $blog_id (optional) Blog ID. Defaults to current blog.
   * @param string $path Optional. Path relative to the site url.
!  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', or 'admin'.
   * @return string Site url link with optional path appended.
  */
  function get_site_url( $blog_id = null, $path = '', $scheme = null ) {
  	// should the list of allowed schemes be maintained elsewhere?
  	$orig_scheme = $scheme;
! 	if ( !in_array( $scheme, array( 'http', 'https' ) ) ) {
  		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
  			$scheme = 'https';
  		elseif ( ( 'login' == $scheme ) && force_ssl_admin() )
--- 1914,1926 ----
   *
   * @param int $blog_id (optional) Blog ID. Defaults to current blog.
   * @param string $path Optional. Path relative to the site url.
!  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
   * @return string Site url link with optional path appended.
  */
  function get_site_url( $blog_id = null, $path = '', $scheme = null ) {
  	// should the list of allowed schemes be maintained elsewhere?
  	$orig_scheme = $scheme;
! 	if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
  		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
  			$scheme = 'https';
  		elseif ( ( 'login' == $scheme ) && force_ssl_admin() )
***************
*** 1931,1937 ****
  	else
  		$url = get_blog_option( $blog_id, 'siteurl' );
  
! 	if ( 'http' != $scheme )
  		$url = str_replace( 'http://', "{$scheme}://", $url );
  
  	if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
--- 1936,1944 ----
  	else
  		$url = get_blog_option( $blog_id, 'siteurl' );
  
! 	if ( 'relative' == $scheme )
! 		$url = preg_replace( '#^.+://[^/]*#', '', $url );
! 	elseif ( 'http' != $scheme )
  		$url = str_replace( 'http://', "{$scheme}://", $url );
  
  	if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
***************
*** 2062,2068 ****
   * @since 3.0.0
   *
   * @param string $path Optional. Path relative to the site url.
!  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', or 'admin'.
   * @return string Site url link with optional path appended.
  */
  function network_site_url( $path = '', $scheme = null ) {
--- 2069,2075 ----
   * @since 3.0.0
   *
   * @param string $path Optional. Path relative to the site url.
!  * @param string $scheme Optional. Scheme to give the site url context. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
   * @return string Site url link with optional path appended.
  */
  function network_site_url( $path = '', $scheme = null ) {
***************
*** 2072,2078 ****
  		return site_url($path, $scheme);
  
  	$orig_scheme = $scheme;
! 	if ( !in_array($scheme, array('http', 'https')) ) {
  		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
  			$scheme = 'https';
  		elseif ( ('login' == $scheme) && ( force_ssl_admin() ) )
--- 2079,2085 ----
  		return site_url($path, $scheme);
  
  	$orig_scheme = $scheme;
! 	if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
  		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
  			$scheme = 'https';
  		elseif ( ('login' == $scheme) && ( force_ssl_admin() ) )
***************
*** 2083,2089 ****
  			$scheme = ( is_ssl() ? 'https' : 'http' );
  	}
  
! 	$url = $scheme . '://' . $current_site->domain . $current_site->path;
  
  	if ( !empty($path) && is_string($path) && strpos($path, '..') === false )
  		$url .= ltrim($path, '/');
--- 2090,2099 ----
  			$scheme = ( is_ssl() ? 'https' : 'http' );
  	}
  
! 	if ( 'relative' == $scheme )
! 		$url = $current_site->path;
! 	else
! 		$url = $scheme . '://' . $current_site->domain . $current_site->path;
  
  	if ( !empty($path) && is_string($path) && strpos($path, '..') === false )
  		$url .= ltrim($path, '/');
***************
*** 2102,2108 ****
   * @since 3.0.0
   *
   * @param  string $path   (optional) Path relative to the home url.
!  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https'.
   * @return string Home url link with optional path appended.
  */
  function network_home_url( $path = '', $scheme = null ) {
--- 2112,2118 ----
   * @since 3.0.0
   *
   * @param  string $path   (optional) Path relative to the home url.
!  * @param  string $scheme (optional) Scheme to give the home url context. Currently 'http', 'https', or 'relative'.
   * @return string Home url link with optional path appended.
  */
  function network_home_url( $path = '', $scheme = null ) {
***************
*** 2113,2122 ****
  
  	$orig_scheme = $scheme;
  
! 	if ( !in_array($scheme, array('http', 'https')) )
  		$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
  
! 	$url = $scheme . '://' . $current_site->domain . $current_site->path;
  
  	if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
  		$url .= ltrim( $path, '/' );
--- 2123,2135 ----
  
  	$orig_scheme = $scheme;
  
! 	if ( !in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
  		$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
  
! 	if ( 'relative' == $scheme )
! 		$url = $current_site->path;
! 	else
! 		$url = $scheme . '://' . $current_site->domain . $current_site->path;
  
  	if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
  		$url .= ltrim( $path, '/' );
***************
*** 2185,2193 ****
  }
  
  /**
   * Get the URL to the user's dashboard.
   *
!  * If a user does not belong to any site, the global user dashboard is used.  If the user belongs to the current site,
   * the dashboard for the current site is returned. If the user cannot edit the current site, the dashboard to the user's
   * primary blog is returned.
   *
--- 2198,2236 ----
  }
  
  /**
+  * Set the scheme for a URL
+  *
+  * @since 3.4.0
+  *
+  * @param string $url Absolute url that includes a scheme
+  * @param string $scheme Optional. Scheme to give $url. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
+  * @return string $url URL with chosen scheme.
+  */
+ function set_url_scheme( $url, $scheme = null ) {
+ 	$orig_scheme = $scheme;
+ 	if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
+ 		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
+ 			$scheme = 'https';
+ 		elseif ( ( 'login' == $scheme ) && force_ssl_admin() )
+ 			$scheme = 'https';
+ 		elseif ( ( 'admin' == $scheme ) && force_ssl_admin() )
+ 			$scheme = 'https';
+ 		else
+ 			$scheme = ( is_ssl() ? 'https' : 'http' );
+ 	}
+ 
+ 	if ( 'relative' == $scheme )
+ 		$url = preg_replace( '#^.+://[^/]*#', '', $url );
+ 	else
+ 		$url = preg_replace( '#^.+://#', $scheme . '://', $url );
+ 
+ 	return apply_filters( 'set_url_scheme', $url, $scheme, $orig_scheme );
+ }
+ 
+ /**
   * Get the URL to the user's dashboard.
   *
!  * If a user does not belong to any site, the global user dashboard is used. If the user belongs to the current site,
   * the dashboard for the current site is returned. If the user cannot edit the current site, the dashboard to the user's
   * primary blog is returned.
   *
***************
*** 2364,2370 ****
  		$text = __('This is the short link.');
  
  	if ( empty( $title ) )
! 		$title = the_title_attribute( array( 'echo' => FALSE ) );
  
  	$shortlink = wp_get_shortlink( $post->ID );
  
--- 2407,2413 ----
  		$text = __('This is the short link.');
  
  	if ( empty( $title ) )
! 		$title = the_title_attribute( array( 'echo' => false ) );
  
  	$shortlink = wp_get_shortlink( $post->ID );
  
***************
*** 2374,2378 ****
  		echo $before, $link, $after;
  	}
  }
- 
- ?>
--- 2417,2419 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/load.php ./wordpress-3.4/wp-includes/load.php
*** ./wordpress-3.3.2/wp-includes/load.php	2011-09-29 17:57:43.000000000 -0500
--- ./wordpress-3.4/wp-includes/load.php	2012-02-08 00:05:35.000000000 -0600
***************
*** 19,25 ****
  		return;
  
  	if ( isset( $_REQUEST['GLOBALS'] ) )
! 		die( /*WP_I18N_GLOBALS_OVERWRITE*/'GLOBALS overwrite attempt detected'/*/WP_I18N_GLOBALS_OVERWRITE*/ );
  
  	// Variables that shouldn't be unset
  	$no_unset = array( 'GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix' );
--- 19,25 ----
  		return;
  
  	if ( isset( $_REQUEST['GLOBALS'] ) )
! 		die( 'GLOBALS overwrite attempt detected' );
  
  	// Variables that shouldn't be unset
  	$no_unset = array( 'GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix' );
***************
*** 97,118 ****
   *
   * Dies if requirements are not met.
   *
-  * This function must be able to work without a complete environment set up. In wp-load.php, for
-  * example, WP_CONTENT_DIR is defined and version.php is included before this function is called.
-  *
   * @access private
   * @since 3.0.0
   */
  function wp_check_php_mysql_versions() {
- 	// we can probably extend this function to check if wp_die() exists then use translated strings, and then use it in install.php etc.
- 
  	global $required_php_version, $wp_version;
  	$php_version = phpversion();
! 	if ( version_compare( $required_php_version, $php_version, '>' ) )
! 		die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.'/*/WP_I18N_OLD_PHP*/, $php_version, $wp_version, $required_php_version ) );
  
! 	if ( !extension_loaded( 'mysql' ) && !file_exists( WP_CONTENT_DIR . '/db.php' ) )
! 		die( /*WP_I18N_OLD_MYSQL*/'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.'/*/WP_I18N_OLD_MYSQL*/ );
  }
  
  /**
--- 97,117 ----
   *
   * Dies if requirements are not met.
   *
   * @access private
   * @since 3.0.0
   */
  function wp_check_php_mysql_versions() {
  	global $required_php_version, $wp_version;
  	$php_version = phpversion();
! 	if ( version_compare( $required_php_version, $php_version, '>' ) ) {
! 		wp_load_translations_early();
! 		wp_die( sprintf( __( 'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.' ), $php_version, $wp_version, $required_php_version ) );
! 	}
  
! 	if ( ! extension_loaded( 'mysql' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
! 		wp_load_translations_early();
! 		wp_die( __( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ) );
! 	}
  }
  
  /**
***************
*** 159,164 ****
--- 158,165 ----
  		die();
  	}
  
+ 	wp_load_translations_early();
+ 
  	$protocol = $_SERVER["SERVER_PROTOCOL"];
  	if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
  		$protocol = 'HTTP/1.0';
***************
*** 167,180 ****
  	header( 'Retry-After: 600' );
  ?>
  	<!DOCTYPE html>
! 	<html xmlns="http://www.w3.org/1999/xhtml">
  	<head>
  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! 		<title><?php echo /*WP_I18N_MAINTENANCE*/'Maintenance'/*/WP_I18N_MAINTENANCE*/; ?></title>
  
  	</head>
  	<body>
! 		<h1><?php echo /*WP_I18N_MAINT_MSG*/'Briefly unavailable for scheduled maintenance. Check back in a minute.'/*/WP_I18N_MAINT_MSG*/; ?></h1>
  	</body>
  	</html>
  <?php
--- 168,181 ----
  	header( 'Retry-After: 600' );
  ?>
  	<!DOCTYPE html>
! 	<html xmlns="http://www.w3.org/1999/xhtml"<?php if ( is_rtl() ) echo ' dir="rtl"'; ?>>
  	<head>
  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
! 		<title><?php _e( 'Maintenance' ); ?></title>
  
  	</head>
  	<body>
! 		<h1><?php _e( 'Briefly unavailable for scheduled maintenance. Check back in a minute.' ); ?></h1>
  	</body>
  	</html>
  <?php
***************
*** 182,198 ****
  }
  
  /**
!  * PHP 4 standard microtime start capture.
   *
   * @access private
   * @since 0.71
!  * @global int $timestart Seconds and microseconds added together from when function is called.
   * @return bool Always returns true.
   */
  function timer_start() {
  	global $timestart;
! 	$mtime = explode( ' ', microtime() );
! 	$timestart = $mtime[1] + $mtime[0];
  	return true;
  }
  
--- 183,198 ----
  }
  
  /**
!  * PHP 5 standard microtime start capture.
   *
   * @access private
   * @since 0.71
!  * @global float $timestart Seconds from when function is called.
   * @return bool Always returns true.
   */
  function timer_start() {
  	global $timestart;
! 	$timestart = microtime( true );
  	return true;
  }
  
***************
*** 213,220 ****
   * in most cases, you only need to echo it.
   *
   * @since 0.71
!  * @global int $timestart Seconds and microseconds added together from when timer_start() is called
!  * @global int $timeend Seconds and microseconds added together from when function is called
   *
   * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
   * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
--- 213,220 ----
   * in most cases, you only need to echo it.
   *
   * @since 0.71
!  * @global float $timestart Seconds from when timer_start() is called
!  * @global float $timeend Seconds from when function is called
   *
   * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
   * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
***************
*** 222,230 ****
   */
  function timer_stop( $display = 0, $precision = 3 ) { // if called like timer_stop(1), will echo $timetotal
  	global $timestart, $timeend;
! 	$mtime = microtime();
! 	$mtime = explode( ' ', $mtime );
! 	$timeend = $mtime[1] + $mtime[0];
  	$timetotal = $timeend - $timestart;
  	$r = ( function_exists( 'number_format_i18n' ) ) ? number_format_i18n( $timetotal, $precision ) : number_format( $timetotal, $precision );
  	if ( $display )
--- 222,228 ----
   */
  function timer_stop( $display = 0, $precision = 3 ) { // if called like timer_stop(1), will echo $timetotal
  	global $timestart, $timeend;
! 	$timeend = microtime( true );
  	$timetotal = $timeend - $timestart;
  	$r = ( function_exists( 'number_format_i18n' ) ) ? number_format_i18n( $timetotal, $precision ) : number_format( $timetotal, $precision );
  	if ( $display )
***************
*** 367,374 ****
  
  	$prefix = $wpdb->set_prefix( $table_prefix );
  
! 	if ( is_wp_error( $prefix ) )
! 		wp_die( /*WP_I18N_BAD_PREFIX*/'<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.'/*/WP_I18N_BAD_PREFIX*/ );
  }
  
  /**
--- 365,374 ----
  
  	$prefix = $wpdb->set_prefix( $table_prefix );
  
! 	if ( is_wp_error( $prefix ) ) {
! 		wp_load_translations_early();
! 		wp_die( __( '<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.' ) );
! 	}
  }
  
  /**
***************
*** 568,574 ****
   */
  
  function wp_clone( $object ) {
! 	// Use parens for clone to accommodate PHP 4.  See #17880
  	return clone( $object );
  }
  
--- 568,574 ----
   */
  
  function wp_clone( $object ) {
! 	// Use parens for clone to accommodate PHP 4. See #17880
  	return clone( $object );
  }
  
***************
*** 653,656 ****
  	return false;
  }
  
! ?>
--- 653,738 ----
  	return false;
  }
  
! /**
!  * Attempts an early load of translations.
!  *
!  * Used for errors encountered during the initial loading process, before the locale has been
!  * properly detected and loaded.
!  *
!  * Designed for unusual load sequences (like setup-config.php) or for when the script will then
!  * terminate with an error, otherwise there is a risk that a file can be double-included.
!  *
!  * @since 3.4.0
!  * @access private
!  */
! function wp_load_translations_early() {
! 	global $text_direction, $wp_locale;
! 
! 	static $loaded = false;
! 	if ( $loaded )
! 		return;
! 	$loaded = true;
! 
! 	if ( function_exists( 'did_action' ) && did_action( 'init' ) )
! 		return;
! 
! 	// We need $wp_local_package
! 	require ABSPATH . WPINC . '/version.php';
! 
! 	// Translation and localization
! 	require_once ABSPATH . WPINC . '/pomo/mo.php';
! 	require_once ABSPATH . WPINC . '/l10n.php';
! 	require_once ABSPATH . WPINC . '/locale.php';
! 
! 	// General libraries
! 	require_once ABSPATH . WPINC . '/functions.php';
! 	require_once ABSPATH . WPINC . '/plugin.php';
! 
! 	$locales = $locations = array();
! 
! 	while ( true ) {
! 		if ( defined( 'WPLANG' ) ) {
! 			if ( '' == WPLANG )
! 				break;
! 			$locales[] = WPLANG;
! 		}
! 
! 		if ( isset( $wp_local_package ) )
! 			$locales[] = $wp_local_package;
! 
! 		if ( ! $locales )
! 			break;
! 
! 		if ( defined( 'WP_LANG_DIR' ) && @is_dir( WP_LANG_DIR ) )
! 			$locations[] = WP_LANG_DIR;
! 
! 		if ( defined( 'WP_CONTENT_DIR' ) && @is_dir( WP_CONTENT_DIR . '/languages' ) )
! 			$locations[] = WP_CONTENT_DIR . '/languages';
! 
! 		if ( @is_dir( ABSPATH . 'wp-content/languages' ) )
! 			$locations[] = ABSPATH . 'wp-content/languages';
! 
! 		if ( @is_dir( ABSPATH . WPINC . '/languages' ) )
! 			$locations[] = ABSPATH . WPINC . '/languages';
! 
! 		if ( ! $locations )
! 			break;
! 
! 		$locations = array_unique( $locations );
! 
! 		foreach ( $locales as $locale ) {
! 			foreach ( $locations as $location ) {
! 				if ( file_exists( $location . '/' . $locale . '.mo' ) ) {
! 					load_textdomain( 'default', $location . '/' . $locale . '.mo' );
! 					if ( defined( 'WP_SETUP_CONFIG' ) && file_exists( $location . '/admin-' . $locale . '.mo' ) )
! 						load_textdomain( 'default', $location . '/admin-' . $locale . '.mo' );
! 					break 2;
! 				}
! 			}
! 		}
! 
! 		break;
! 	}
! 
! 	$wp_locale = new WP_Locale();
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/locale.php ./wordpress-3.4/wp-includes/locale.php
*** ./wordpress-3.3.2/wp-includes/locale.php	2011-09-29 17:57:43.000000000 -0500
--- ./wordpress-3.4/wp-includes/locale.php	2012-02-06 13:43:26.000000000 -0600
***************
*** 85,99 ****
  	var $text_direction = 'ltr';
  
  	/**
- 	 * Imports the global version to the class property.
- 	 *
- 	 * @since 2.1.0
- 	 * @var array
- 	 * @access private
- 	 */
- 	var $locale_vars = array('text_direction');
- 
- 	/**
  	 * Sets up the translated strings and object properties.
  	 *
  	 * The method creates the translatable strings for various
--- 85,90 ----
***************
*** 113,119 ****
  		$this->weekday[5] = /* translators: weekday */ __('Friday');
  		$this->weekday[6] = /* translators: weekday */ __('Saturday');
  
! 		// The first letter of each day.  The _%day%_initial suffix is a hack to make
  		// sure the day initials are unique.
  		$this->weekday_initial[__('Sunday')]    = /* translators: one-letter abbreviation of the weekday */ __('S_Sunday_initial');
  		$this->weekday_initial[__('Monday')]    = /* translators: one-letter abbreviation of the weekday */ __('M_Monday_initial');
--- 104,110 ----
  		$this->weekday[5] = /* translators: weekday */ __('Friday');
  		$this->weekday[6] = /* translators: weekday */ __('Saturday');
  
! 		// The first letter of each day. The _%day%_initial suffix is a hack to make
  		// sure the day initials are unique.
  		$this->weekday_initial[__('Sunday')]    = /* translators: one-letter abbreviation of the weekday */ __('S_Sunday_initial');
  		$this->weekday_initial[__('Monday')]    = /* translators: one-letter abbreviation of the weekday */ __('M_Monday_initial');
***************
*** 186,197 ****
  		$trans = __('number_format_decimal_point');
  		$this->number_format['decimal_point'] = ('number_format_decimal_point' == $trans) ? '.' : $trans;
  
! 		// Import global locale vars set during inclusion of $locale.php.
! 		foreach ( (array) $this->locale_vars as $var ) {
! 			if ( isset($GLOBALS[$var]) )
! 				$this->$var = $GLOBALS[$var];
! 		}
! 
  	}
  
  	/**
--- 177,188 ----
  		$trans = __('number_format_decimal_point');
  		$this->number_format['decimal_point'] = ('number_format_decimal_point' == $trans) ? '.' : $trans;
  
! 		// Set text direction.
! 		if ( isset( $GLOBALS['text_direction'] ) )
! 			$this->text_direction = $GLOBALS['text_direction'];
! 		/* translators: 'rtl' or 'ltr'. This sets the text direction for WordPress. */
! 		elseif ( 'rtl' == _x( 'ltr', 'text direction' ) )
! 			$this->text_direction = 'rtl';
  	}
  
  	/**
***************
*** 332,340 ****
  	 * @since 3.0.0
  	 * @return bool Whether locale is RTL.
  	 */
! 	 function is_rtl() {
! 	 	return 'rtl' == $this->text_direction;
! 	 }
  }
  
  /**
--- 324,332 ----
  	 * @since 3.0.0
  	 * @return bool Whether locale is RTL.
  	 */
! 	function is_rtl() {
! 		return 'rtl' == $this->text_direction;
! 	}
  }
  
  /**
***************
*** 347,351 ****
  	global $wp_locale;
  	return $wp_locale->is_rtl();
  }
- 
- ?>
--- 339,341 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/media.php ./wordpress-3.4/wp-includes/media.php
*** ./wordpress-3.3.2/wp-includes/media.php	2011-09-29 17:57:43.000000000 -0500
--- ./wordpress-3.4/wp-includes/media.php	2012-06-06 16:45:17.000000000 -0500
***************
*** 53,61 ****
  		// if no width is set, default to the theme content width if available
  	}
  	elseif ( $size == 'large' ) {
! 		// we're inserting a large size image into the editor.  if it's a really
  		// big image we'll scale it down to fit reasonably within the editor
! 		// itself, and within the theme's content width if it's known.  the user
  		// can resize it in the editor if they wish.
  		$max_width = intval(get_option('large_size_w'));
  		$max_height = intval(get_option('large_size_h'));
--- 53,61 ----
  		// if no width is set, default to the theme content width if available
  	}
  	elseif ( $size == 'large' ) {
! 		// We're inserting a large size image into the editor. If it's a really
  		// big image we'll scale it down to fit reasonably within the editor
! 		// itself, and within the theme's content width if it's known. The user
  		// can resize it in the editor if they wish.
  		$max_width = intval(get_option('large_size_w'));
  		$max_height = intval(get_option('large_size_h'));
***************
*** 327,332 ****
--- 327,334 ----
   * portion of the image will be cropped out and resized to the required size.
   *
   * @since 2.5.0
+  * @uses apply_filters() Calls 'image_resize_dimensions' on $orig_w, $orig_h, $dest_w, $dest_h and
+  *		$crop to provide custom resize dimensions.
   *
   * @param int $orig_w Original width.
   * @param int $orig_h Original height.
***************
*** 343,348 ****
--- 345,355 ----
  	if ($dest_w <= 0 && $dest_h <= 0)
  		return false;
  
+ 	// plugins can use this to provide custom resize dimensions
+ 	$output = apply_filters( 'image_resize_dimensions', null, $orig_w, $orig_h, $dest_w, $dest_h, $crop );
+ 	if ( null !== $output )
+ 		return $output;
+ 
  	if ( $crop ) {
  		// crop the largest possible portion of the original image that we can size to $dest_w x $dest_h
  		$aspect_ratio = $orig_w / $orig_h;
***************
*** 455,461 ****
  			return new WP_Error('resize_path_invalid', __( 'Resize path invalid' ));
  	} else {
  		// all other formats are converted to jpg
! 		$destfilename = "{$dir}/{$name}-{$suffix}.jpg";
  		if ( !imagejpeg( $newimage, $destfilename, apply_filters( 'jpeg_quality', $jpeg_quality, 'image_resize' ) ) )
  			return new WP_Error('resize_path_invalid', __( 'Resize path invalid' ));
  	}
--- 462,469 ----
  			return new WP_Error('resize_path_invalid', __( 'Resize path invalid' ));
  	} else {
  		// all other formats are converted to jpg
! 		if ( 'jpg' != $ext && 'jpeg' != $ext )
! 			$destfilename = "{$dir}/{$name}-{$suffix}.jpg";
  		if ( !imagejpeg( $newimage, $destfilename, apply_filters( 'jpeg_quality', $jpeg_quality, 'image_resize' ) ) )
  			return new WP_Error('resize_path_invalid', __( 'Resize path invalid' ));
  	}
***************
*** 724,729 ****
--- 732,744 ----
   * @return string
   */
  function img_caption_shortcode($attr, $content = null) {
+ 	// New-style shortcode with the caption inside the shortcode with the link and image tags.
+ 	if ( ! isset( $attr['caption'] ) ) {
+ 		if ( preg_match( '#((?:<a [^>]+>\s*)?<img [^>]+>(?:\s*</a>)?)(.*)#is', $content, $matches ) ) {
+ 			$content = $matches[1];
+ 			$attr['caption'] = trim( $matches[2] );
+ 		}
+ 	}
  
  	// Allow plugins/themes to override the default caption template.
  	$output = apply_filters('img_caption_shortcode', '', $attr, $content);
***************
*** 1096,1102 ****
  <script type="text/javascript">
  /* <![CDATA[ */
  	jQuery(document).ready(function($){
! 		$.get("<?php echo admin_url( 'admin-ajax.php?action=oembed-cache&post=' . $post_ID ); ?>");
  	});
  /* ]]> */
  </script>
--- 1111,1117 ----
  <script type="text/javascript">
  /* <![CDATA[ */
  	jQuery(document).ready(function($){
! 		$.get("<?php echo admin_url( 'admin-ajax.php?action=oembed-cache&post=' . $post_ID, 'relative' ); ?>");
  	});
  /* ]]> */
  </script>
***************
*** 1378,1384 ****
   *
   * @param string $url The URL that should be embedded.
   * @param array $args Additional arguments and parameters.
!  * @return string The original URL on failure or the embed HTML on success.
   */
  function wp_oembed_get( $url, $args = '' ) {
  	require_once( ABSPATH . WPINC . '/class-oembed.php' );
--- 1393,1399 ----
   *
   * @param string $url The URL that should be embedded.
   * @param array $args Additional arguments and parameters.
!  * @return bool|string False on failure or the embed HTML on success.
   */
  function wp_oembed_get( $url, $args = '' ) {
  	require_once( ABSPATH . WPINC . '/class-oembed.php' );
***************
*** 1442,1445 ****
  	return apply_filters( 'embed_googlevideo', '<embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=' . esc_attr($matches[2]) . '&amp;hl=en&amp;fs=true" style="width:' . esc_attr($width) . 'px;height:' . esc_attr($height) . 'px" allowFullScreen="true" allowScriptAccess="always" />', $matches, $attr, $url, $rawattr );
  }
  
! ?>
\ No newline at end of file
--- 1457,1509 ----
  	return apply_filters( 'embed_googlevideo', '<embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=' . esc_attr($matches[2]) . '&amp;hl=en&amp;fs=true" style="width:' . esc_attr($width) . 'px;height:' . esc_attr($height) . 'px" allowFullScreen="true" allowScriptAccess="always" />', $matches, $attr, $url, $rawattr );
  }
  
! /**
!  * Prints default plupload arguments.
!  *
!  * @since 3.4.0
!  */
! function wp_plupload_default_settings() {
! 	global $wp_scripts;
! 
! 	$max_upload_size = wp_max_upload_size();
! 
! 	$defaults = array(
! 		'runtimes'            => 'html5,silverlight,flash,html4',
! 		'file_data_name'      => 'async-upload', // key passed to $_FILE.
! 		'multiple_queues'     => true,
! 		'max_file_size'       => $max_upload_size . 'b',
! 		'url'                 => admin_url( 'admin-ajax.php', 'relative' ),
! 		'flash_swf_url'       => includes_url( 'js/plupload/plupload.flash.swf' ),
! 		'silverlight_xap_url' => includes_url( 'js/plupload/plupload.silverlight.xap' ),
! 		'filters'             => array( array( 'title' => __( 'Allowed Files' ), 'extensions' => '*') ),
! 		'multipart'           => true,
! 		'urlstream_upload'    => true,
! 	);
! 
! 	$defaults = apply_filters( 'plupload_default_settings', $defaults );
! 
! 	$params = array(
! 		'action' => 'upload-attachment',
! 	);
! 
! 	$params = apply_filters( 'plupload_default_params', $params );
! 	$params['_wpnonce'] = wp_create_nonce( 'media-form' );
! 	$defaults['multipart_params'] = $params;
! 
! 	$settings = array(
! 		'defaults' => $defaults,
! 		'browser'  => array(
! 			'mobile'    => wp_is_mobile(),
! 			'supported' => _device_can_upload(),
! 		),
! 	);
! 
! 	$script = 'var _wpPluploadSettings = ' . json_encode( $settings ) . ';';
! 
! 	$data = $wp_scripts->get_data( 'wp-plupload', 'data' );
! 	if ( $data )
! 		$script = "$data\n$script";
! 
! 	$wp_scripts->add_data( 'wp-plupload', 'data', $script );
! }
! add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings' );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/meta.php ./wordpress-3.4/wp-includes/meta.php
*** ./wordpress-3.3.2/wp-includes/meta.php	2011-10-24 14:13:23.000000000 -0500
--- ./wordpress-3.4/wp-includes/meta.php	2012-04-11 15:02:39.000000000 -0500
***************
*** 2,9 ****
  /**
   * Metadata API
   *
!  * Functions for retrieving and manipulating metadata of various WordPress object types.  Metadata
!  * for an object is a represented by a simple key-value pair.  Objects may contain multiple
   * metadata entries that share the same key and differ only in their value.
   *
   * @package WordPress
--- 2,9 ----
  /**
   * Metadata API
   *
!  * Functions for retrieving and manipulating metadata of various WordPress object types. Metadata
!  * for an object is a represented by a simple key-value pair. Objects may contain multiple
   * metadata entries that share the same key and differ only in their value.
   *
   * @package WordPress
***************
*** 23,30 ****
   * @param int $object_id ID of the object metadata is for
   * @param string $meta_key Metadata key
   * @param string $meta_value Metadata value
!  * @param bool $unique Optional, default is false.  Whether the specified metadata key should be
!  * 		unique for the object.  If true, and the object already has a value for the specified
   * 		metadata key, no change will be made
   * @return bool The meta ID on successful update, false on failure.
   */
--- 23,30 ----
   * @param int $object_id ID of the object metadata is for
   * @param string $meta_key Metadata key
   * @param string $meta_value Metadata value
!  * @param bool $unique Optional, default is false. Whether the specified metadata key should be
!  * 		unique for the object. If true, and the object already has a value for the specified
   * 		metadata key, no change will be made
   * @return bool The meta ID on successful update, false on failure.
   */
***************
*** 80,86 ****
  }
  
  /**
!  * Update metadata for the specified object.  If no value already exists for the specified object
   * ID and metadata key, the metadata will be added.
   *
   * @since 2.9.0
--- 80,86 ----
  }
  
  /**
!  * Update metadata for the specified object. If no value already exists for the specified object
   * ID and metadata key, the metadata will be added.
   *
   * @since 2.9.0
***************
*** 94,101 ****
   * @param int $object_id ID of the object metadata is for
   * @param string $meta_key Metadata key
   * @param string $meta_value Metadata value
!  * @param string $prev_value Optional.  If specified, only update existing metadata entries with
!  * 		the specified value.  Otherwise, update all entries.
   * @return bool True on successful update, false on failure.
   */
  function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_value = '') {
--- 94,101 ----
   * @param int $object_id ID of the object metadata is for
   * @param string $meta_key Metadata key
   * @param string $meta_value Metadata value
!  * @param string $prev_value Optional. If specified, only update existing metadata entries with
!  * 		the specified value. Otherwise, update all entries.
   * @return bool True on successful update, false on failure.
   */
  function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_value = '') {
***************
*** 174,183 ****
   * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
   * @param int $object_id ID of the object metadata is for
   * @param string $meta_key Metadata key
!  * @param string $meta_value Optional. Metadata value.  If specified, only delete metadata entries
!  * 		with this value.  Otherwise, delete all entries with the specified meta_key.
!  * @param bool $delete_all Optional, default is false.  If true, delete matching metadata entries
!  * 		for all objects, ignoring the specified object_id.  Otherwise, only delete matching
   * 		metadata entries for the specified object_id.
   * @return bool True on successful delete, false on failure.
   */
--- 174,183 ----
   * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
   * @param int $object_id ID of the object metadata is for
   * @param string $meta_key Metadata key
!  * @param string $meta_value Optional. Metadata value. If specified, only delete metadata entries
!  * 		with this value. Otherwise, delete all entries with the specified meta_key.
!  * @param bool $delete_all Optional, default is false. If true, delete matching metadata entries
!  * 		for all objects, ignoring the specified object_id. Otherwise, only delete matching
   * 		metadata entries for the specified object_id.
   * @return bool True on successful delete, false on failure.
   */
***************
*** 223,228 ****
--- 223,229 ----
  
  	do_action( "delete_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
  
+ 	// Old-style action.
  	if ( 'post' == $meta_type )
  		do_action( 'delete_postmeta', $meta_ids );
  
***************
*** 243,248 ****
--- 244,250 ----
  
  	do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
  
+ 	// Old-style action.
  	if ( 'post' == $meta_type )
  		do_action( 'deleted_postmeta', $meta_ids );
  
***************
*** 256,265 ****
   *
   * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
   * @param int $object_id ID of the object metadata is for
!  * @param string $meta_key Optional.  Metadata key.  If not specified, retrieve all metadata for
   * 		the specified object.
!  * @param bool $single Optional, default is false.  If true, return only the first value of the
!  * 		specified meta_key.  This parameter has no effect if meta_key is not specified.
   * @return string|array Single metadata value, or array of values
   */
  function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
--- 258,267 ----
   *
   * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
   * @param int $object_id ID of the object metadata is for
!  * @param string $meta_key Optional. Metadata key. If not specified, retrieve all metadata for
   * 		the specified object.
!  * @param bool $single Optional, default is false. If true, return only the first value of the
!  * 		specified meta_key. This parameter has no effect if meta_key is not specified.
   * @return string|array Single metadata value, or array of values
   */
  function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
***************
*** 485,503 ****
  
  		do_action( "delete_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
  
! 		if ( 'post' == $meta_type )
! 			do_action( 'delete_postmeta', $meta_id );
  
  		// Run the query, will return true if deleted, false otherwise
! 		$result = (bool) $wpdb->query( $wpdb->prepare( "DELETE FROM $table WHERE $id_column = %d LIMIT 1;", $meta_id ) );
  
  		// Clear the caches.
  		wp_cache_delete($object_id, $meta_type . '_meta');
  
  		do_action( "deleted_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
  
! 		if ( 'post' == $meta_type )
! 			do_action( 'deleted_postmeta', $meta_id );
  
  		return $result;
  
--- 487,507 ----
  
  		do_action( "delete_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
  
! 		// Old-style action.
! 		if ( 'post' == $meta_type || 'comment' == $meta_type )
! 			do_action( "delete_{$meta_type}meta", $meta_id );
  
  		// Run the query, will return true if deleted, false otherwise
! 		$result = (bool) $wpdb->delete( $table, array( $id_column => $meta_id ) );
  
  		// Clear the caches.
  		wp_cache_delete($object_id, $meta_type . '_meta');
  
  		do_action( "deleted_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
  
! 		// Old-style action.
! 		if ( 'post' == $meta_type || 'comment' == $meta_type )
! 			do_action( "deleted_{$meta_type}meta", $meta_id );
  
  		return $result;
  
***************
*** 861,865 ****
  	if ( is_callable( $auth_callback ) )
  		add_filter( "auth_{$meta_type}_meta_{$meta_key}", $auth_callback, 10, 6 );
  }
- 
- ?>
--- 865,867 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-blogs.php ./wordpress-3.4/wp-includes/ms-blogs.php
*** ./wordpress-3.3.2/wp-includes/ms-blogs.php	2011-11-03 12:06:45.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-blogs.php	2012-04-13 12:30:37.000000000 -0500
***************
*** 252,257 ****
--- 252,259 ----
  	wp_cache_delete( md5( $details->domain . $details->path )  , 'blog-lookup' );
  	wp_cache_delete( 'current_blog_' . $details->domain, 'site-options' );
  	wp_cache_delete( 'current_blog_' . $details->domain . $details->path, 'site-options' );
+ 
+ 	do_action( 'refresh_blog_details', $blog_id );
  }
  
  /**
***************
*** 709,712 ****
  	wpmu_update_blogs_date();
  }
  
! ?>
--- 711,733 ----
  	wpmu_update_blogs_date();
  }
  
! /**
!  * Handler for updating the blog date when a published post is deleted.
!  *
!  * @since 3.4.0
!  *
!  * @param int $post_id Post ID
!  */
! function _update_blog_date_on_post_delete( $post_id ) {
! 	$post = get_post( $post_id );
! 
! 	$post_type_obj = get_post_type_object( $post->post_type );
! 	if ( ! $post_type_obj->public )
! 		return;
! 
! 	if ( 'publish' != $post->post_status )
! 		return;
! 
! 	wpmu_update_blogs_date();
! }
! 
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-default-constants.php ./wordpress-3.4/wp-includes/ms-default-constants.php
*** ./wordpress-3.3.2/wp-includes/ms-default-constants.php	2010-05-25 21:42:15.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-default-constants.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 136,140 ****
  	}
  }
  add_action( 'init', 'ms_subdomain_constants' );
- 
- ?>
--- 136,138 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-default-filters.php ./wordpress-3.4/wp-includes/ms-default-filters.php
*** ./wordpress-3.3.2/wp-includes/ms-default-filters.php	2011-11-03 12:06:45.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-default-filters.php	2012-04-13 12:30:37.000000000 -0500
***************
*** 35,41 ****
  // Administration
  add_filter( 'term_id_filter', 'global_terms', 10, 2 );
  add_action( 'publish_post', 'update_posts_count' );
! add_action( 'delete_post', 'wpmu_update_blogs_date' );
  add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 );
  add_action( 'admin_init', 'wp_schedule_update_network_counts');
  add_action( 'update_network_counts', 'wp_update_network_counts');
--- 35,41 ----
  // Administration
  add_filter( 'term_id_filter', 'global_terms', 10, 2 );
  add_action( 'publish_post', 'update_posts_count' );
! add_action( 'delete_post', '_update_blog_date_on_post_delete' );
  add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 );
  add_action( 'admin_init', 'wp_schedule_update_network_counts');
  add_action( 'update_network_counts', 'wp_update_network_counts');
***************
*** 60,64 ****
  // WP_HOME and WP_SITEURL should not have any effect in MS
  remove_filter( 'option_siteurl', '_config_wp_siteurl' );
  remove_filter( 'option_home',    '_config_wp_home'    );
- 
- ?>
--- 60,62 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-deprecated.php ./wordpress-3.4/wp-includes/ms-deprecated.php
*** ./wordpress-3.3.2/wp-includes/ms-deprecated.php	2011-09-30 10:13:13.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-deprecated.php	2012-04-06 14:18:45.000000000 -0500
***************
*** 49,55 ****
  			return false;
  	} else {
  		$user = get_user_by( 'login', $user_login );
! 		if ( empty( $user->ID ) )
  			return false;
  		$user_id = $user->ID;
  	}
--- 49,55 ----
  			return false;
  	} else {
  		$user = get_user_by( 'login', $user_login );
! 		if ( ! $user->exists() )
  			return false;
  		$user_id = $user->ID;
  	}
***************
*** 270,274 ****
  	}
  	return $url;
  }
- 
- ?>
\ No newline at end of file
--- 270,272 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-files.php ./wordpress-3.4/wp-includes/ms-files.php
*** ./wordpress-3.3.2/wp-includes/ms-files.php	2011-09-06 10:41:57.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-files.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 80,83 ****
  
  // If we made it this far, just serve the file
  readfile( $file );
- ?>
--- 80,82 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-functions.php ./wordpress-3.4/wp-includes/ms-functions.php
*** ./wordpress-3.3.2/wp-includes/ms-functions.php	2012-04-19 18:00:36.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-functions.php	2012-05-02 15:31:37.000000000 -0500
***************
*** 185,191 ****
  
  	$user = new WP_User($user_id);
  
! 	if ( empty( $user->ID ) ) {
  		restore_current_blog();
  		return new WP_Error('user_does_not_exist', __('That user does not exist.'));
  	}
--- 185,191 ----
  
  	$user = new WP_User($user_id);
  
! 	if ( ! $user->exists() ) {
  		restore_current_blog();
  		return new WP_Error('user_does_not_exist', __('That user does not exist.'));
  	}
***************
*** 247,253 ****
  
  	// wp_revoke_user($user_id);
  	$user = new WP_User($user_id);
! 	if ( empty( $user->ID ) ) {
  		restore_current_blog();
  		return new WP_Error('user_does_not_exist', __('That user does not exist.'));
  	}
--- 247,253 ----
  
  	// wp_revoke_user($user_id);
  	$user = new WP_User($user_id);
! 	if ( ! $user->exists() ) {
  		restore_current_blog();
  		return new WP_Error('user_does_not_exist', __('That user does not exist.'));
  	}
***************
*** 279,286 ****
   *
   * @param string $domain The new blog's domain.
   * @param string $path The new blog's path.
!  * @param string $string The new blog's title.
!  * @param int $site Optional. Defaults to 1.
   * @return int The ID of the newly created blog
   */
  function create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) {
--- 279,286 ----
   *
   * @param string $domain The new blog's domain.
   * @param string $path The new blog's path.
!  * @param string $weblog_title The new blog's title.
!  * @param int $site_id Optional. Defaults to 1.
   * @return int The ID of the newly created blog
   */
  function create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) {
***************
*** 436,445 ****
  
  	$orig_username = $user_name;
  	$user_name = preg_replace( '/\s+/', '', sanitize_user( $user_name, true ) );
- 	$maybe = array();
- 	preg_match( '/[a-z0-9]+/', $user_name, $maybe );
  
! 	if ( $user_name != $orig_username || $user_name != $maybe[0] ) {
  		$errors->add( 'user_name', __( 'Only lowercase letters (a-z) and numbers are allowed.' ) );
  		$user_name = $orig_username;
  	}
--- 436,443 ----
  
  	$orig_username = $user_name;
  	$user_name = preg_replace( '/\s+/', '', sanitize_user( $user_name, true ) );
  
! 	if ( $user_name != $orig_username || preg_match( '/[^a-z0-9]/', $user_name ) ) {
  		$errors->add( 'user_name', __( 'Only lowercase letters (a-z) and numbers are allowed.' ) );
  		$user_name = $orig_username;
  	}
***************
*** 447,453 ****
  	$user_email = sanitize_email( $user_email );
  
  	if ( empty( $user_name ) )
! 	   	$errors->add('user_name', __('Please enter a username'));
  
  	$illegal_names = get_site_option( 'illegal_names' );
  	if ( is_array( $illegal_names ) == false ) {
--- 445,451 ----
  	$user_email = sanitize_email( $user_email );
  
  	if ( empty( $user_name ) )
! 	   	$errors->add('user_name', __( 'Please enter a username.' ) );
  
  	$illegal_names = get_site_option( 'illegal_names' );
  	if ( is_array( $illegal_names ) == false ) {
***************
*** 455,467 ****
  		add_site_option( 'illegal_names', $illegal_names );
  	}
  	if ( in_array( $user_name, $illegal_names ) == true )
! 		$errors->add('user_name',  __('That username is not allowed'));
  
  	if ( is_email_address_unsafe( $user_email ) )
  		$errors->add('user_email',  __('You cannot use that email address to signup. We are having problems with them blocking some of our email. Please use another email provider.'));
  
  	if ( strlen( $user_name ) < 4 )
! 		$errors->add('user_name',  __('Username must be at least 4 characters'));
  
  	if ( strpos( ' ' . $user_name, '_' ) != false )
  		$errors->add( 'user_name', __( 'Sorry, usernames may not contain the character &#8220;_&#8221;!' ) );
--- 453,465 ----
  		add_site_option( 'illegal_names', $illegal_names );
  	}
  	if ( in_array( $user_name, $illegal_names ) == true )
! 		$errors->add('user_name',  __( 'That username is not allowed.' ) );
  
  	if ( is_email_address_unsafe( $user_email ) )
  		$errors->add('user_email',  __('You cannot use that email address to signup. We are having problems with them blocking some of our email. Please use another email provider.'));
  
  	if ( strlen( $user_name ) < 4 )
! 		$errors->add('user_name',  __( 'Username must be at least 4 characters.' ) );
  
  	if ( strpos( ' ' . $user_name, '_' ) != false )
  		$errors->add( 'user_name', __( 'Sorry, usernames may not contain the character &#8220;_&#8221;!' ) );
***************
*** 473,479 ****
  		$errors->add('user_name', __('Sorry, usernames must have letters too!'));
  
  	if ( !is_email( $user_email ) )
! 		$errors->add('user_email', __('Please enter a correct email address'));
  
  	$limited_email_domains = get_site_option( 'limited_email_domains' );
  	if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
--- 471,477 ----
  		$errors->add('user_name', __('Sorry, usernames must have letters too!'));
  
  	if ( !is_email( $user_email ) )
! 		$errors->add('user_email', __( 'Please enter a correct email address.' ) );
  
  	$limited_email_domains = get_site_option( 'limited_email_domains' );
  	if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
***************
*** 498,504 ****
  		$diff = $now - $registered_at;
  		// If registered more than two days ago, cancel registration and let this signup go through.
  		if ( $diff > 172800 )
! 			$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->signups WHERE user_login = %s", $user_name) );
  		else
  			$errors->add('user_name', __('That username is currently reserved but may be available in a couple of days.'));
  
--- 496,502 ----
  		$diff = $now - $registered_at;
  		// If registered more than two days ago, cancel registration and let this signup go through.
  		if ( $diff > 172800 )
! 			$wpdb->delete( $wpdb->signups, array( 'user_login' => $user_name ) );
  		else
  			$errors->add('user_name', __('That username is currently reserved but may be available in a couple of days.'));
  
***************
*** 511,517 ****
  		$diff = current_time( 'timestamp', true ) - mysql2date('U', $signup->registered);
  		// If registered more than two days ago, cancel registration and let this signup go through.
  		if ( $diff > 172800 )
! 			$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->signups WHERE user_email = %s", $user_email) );
  		else
  			$errors->add('user_email', __('That email address has already been used. Please check your inbox for an activation email. It will become available in a couple of days if you do nothing.'));
  	}
--- 509,515 ----
  		$diff = current_time( 'timestamp', true ) - mysql2date('U', $signup->registered);
  		// If registered more than two days ago, cancel registration and let this signup go through.
  		if ( $diff > 172800 )
! 			$wpdb->delete( $wpdb->signups, array( 'user_email' => $user_email ) );
  		else
  			$errors->add('user_email', __('That email address has already been used. Please check your inbox for an activation email. It will become available in a couple of days if you do nothing.'));
  	}
***************
*** 561,576 ****
  		$illegal_names = array_merge($illegal_names, apply_filters( 'subdirectory_reserved_names', array( 'page', 'comments', 'blog', 'files', 'feed' ) ) );
  
  	if ( empty( $blogname ) )
! 		$errors->add('blogname', __('Please enter a site name'));
  
  	if ( preg_match( '/[^a-z0-9]+/', $blogname ) )
! 		$errors->add('blogname', __('Only lowercase letters and numbers allowed'));
  
  	if ( in_array( $blogname, $illegal_names ) == true )
! 		$errors->add('blogname',  __('That name is not allowed'));
  
  	if ( strlen( $blogname ) < 4 && !is_super_admin() )
! 		$errors->add('blogname',  __('Site name must be at least 4 characters'));
  
  	if ( strpos( ' ' . $blogname, '_' ) != false )
  		$errors->add( 'blogname', __( 'Sorry, site names may not contain the character &#8220;_&#8221;!' ) );
--- 559,574 ----
  		$illegal_names = array_merge($illegal_names, apply_filters( 'subdirectory_reserved_names', array( 'page', 'comments', 'blog', 'files', 'feed' ) ) );
  
  	if ( empty( $blogname ) )
! 		$errors->add('blogname', __( 'Please enter a site name.' ) );
  
  	if ( preg_match( '/[^a-z0-9]+/', $blogname ) )
! 		$errors->add('blogname', __( 'Only lowercase letters and numbers allowed.' ) );
  
  	if ( in_array( $blogname, $illegal_names ) == true )
! 		$errors->add('blogname',  __( 'That name is not allowed.' ) );
  
  	if ( strlen( $blogname ) < 4 && !is_super_admin() )
! 		$errors->add('blogname',  __( 'Site name must be at least 4 characters.' ) );
  
  	if ( strpos( ' ' . $blogname, '_' ) != false )
  		$errors->add( 'blogname', __( 'Sorry, site names may not contain the character &#8220;_&#8221;!' ) );
***************
*** 590,596 ****
  	$blog_title = stripslashes(  $blog_title );
  
  	if ( empty( $blog_title ) )
! 		$errors->add('blog_title', __('Please enter a site title'));
  
  	// Check if the domain/path has been used already.
  	if ( is_subdomain_install() ) {
--- 588,594 ----
  	$blog_title = stripslashes(  $blog_title );
  
  	if ( empty( $blog_title ) )
! 		$errors->add('blog_title', __( 'Please enter a site title.' ) );
  
  	// Check if the domain/path has been used already.
  	if ( is_subdomain_install() ) {
***************
*** 614,620 ****
  		$diff = current_time( 'timestamp', true ) - mysql2date('U', $signup->registered);
  		// If registered more than two days ago, cancel registration and let this signup go through.
  		if ( $diff > 172800 )
! 			$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->signups WHERE domain = %s AND path = %s", $mydomain, $path) );
  		else
  			$errors->add('blogname', __('That site is currently reserved but may be available in a couple days.'));
  	}
--- 612,618 ----
  		$diff = current_time( 'timestamp', true ) - mysql2date('U', $signup->registered);
  		// If registered more than two days ago, cancel registration and let this signup go through.
  		if ( $diff > 172800 )
! 			$wpdb->delete( $wpdb->signups, array( 'domain' => $mydomain , 'path' => $path ) );
  		else
  			$errors->add('blogname', __('That site is currently reserved but may be available in a couple days.'));
  	}
***************
*** 845,851 ****
  			return new WP_Error( 'already_active', __( 'The site is already active.' ), $signup );
  	}
  
! 	$meta = unserialize($signup->meta);
  	$user_login = $wpdb->escape($signup->user_login);
  	$user_email = $wpdb->escape($signup->user_email);
  	$password = wp_generate_password( 12, false );
--- 843,849 ----
  			return new WP_Error( 'already_active', __( 'The site is already active.' ), $signup );
  	}
  
! 	$meta = maybe_unserialize($signup->meta);
  	$user_login = $wpdb->escape($signup->user_login);
  	$user_email = $wpdb->escape($signup->user_email);
  	$password = wp_generate_password( 12, false );
***************
*** 880,886 ****
  	// TODO: What to do if we create a user but cannot create a blog?
  	if ( is_wp_error($blog_id) ) {
  		// If blog is taken, that means a previous attempt to activate this blog failed in between creating the blog and
! 		// setting the activation flag.  Let's just set the active flag and instruct the user to reset their password.
  		if ( 'blog_taken' == $blog_id->get_error_code() ) {
  			$blog_id->add_data( $signup );
  			$wpdb->update( $wpdb->signups, array( 'active' => 1, 'activated' => $now ), array( 'activation_key' => $key ) );
--- 878,884 ----
  	// TODO: What to do if we create a user but cannot create a blog?
  	if ( is_wp_error($blog_id) ) {
  		// If blog is taken, that means a previous attempt to activate this blog failed in between creating the blog and
! 		// setting the activation flag. Let's just set the active flag and instruct the user to reset their password.
  		if ( 'blog_taken' == $blog_id->get_error_code() ) {
  			$blog_id->add_data( $signup );
  			$wpdb->update( $wpdb->signups, array( 'active' => 1, 'activated' => $now ), array( 'activation_key' => $key ) );
***************
*** 1044,1049 ****
--- 1042,1048 ----
   * the notification email.
   *
   * @since MU
+  * @uses apply_filters() Filter newuser_notify_siteadmin to change the content of the email message
   *
   * @param int $user_id The new user's ID.
   * @return bool
***************
*** 1065,1071 ****
  
  Disable these notifications: %3s'), $user->user_login, $_SERVER['REMOTE_ADDR'], $options_site_url);
  
! 	$msg = apply_filters( 'newuser_notify_siteadmin', $msg );
  	wp_mail( $email, sprintf(__('New User Registration: %s'), $user->user_login), $msg );
  	return true;
  }
--- 1064,1070 ----
  
  Disable these notifications: %3s'), $user->user_login, $_SERVER['REMOTE_ADDR'], $options_site_url);
  
! 	$msg = apply_filters( 'newuser_notify_siteadmin', $msg, $user );
  	wp_mail( $email, sprintf(__('New User Registration: %s'), $user->user_login), $msg );
  	return true;
  }
***************
*** 1161,1168 ****
  	$wpdb->update( $wpdb->options, array('option_value' => ''), array('option_name' => 'admin_email') );
  
  	// remove all perms
! 	$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE meta_key = %s", $table_prefix.'user_level') );
! 	$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE meta_key = %s", $table_prefix.'capabilities') );
  
  	$wpdb->suppress_errors( false );
  }
--- 1160,1168 ----
  	$wpdb->update( $wpdb->options, array('option_value' => ''), array('option_name' => 'admin_email') );
  
  	// remove all perms
! 	$wpdb->delete( $wpdb->usermeta, array( 'meta_key' => $table_prefix.'user_level' ) );
! 
! 	$wpdb->delete( $wpdb->usermeta, array( 'meta_key' => $table_prefix.'capabilities' ) );
  
  	$wpdb->suppress_errors( false );
  }
***************
*** 1368,1374 ****
  	// Walk through each blog and get the most recent post
  	// published by $user_id
  	foreach ( (array) $user_blogs as $blog ) {
! 		$recent_post = $wpdb->get_row( $wpdb->prepare("SELECT ID, post_date_gmt FROM {$wpdb->base_prefix}{$blog->userblog_id}_posts WHERE post_author = %d AND post_type = 'post' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1", $user_id ), ARRAY_A);
  
  		// Make sure we found a post
  		if ( isset($recent_post['ID']) ) {
--- 1368,1375 ----
  	// Walk through each blog and get the most recent post
  	// published by $user_id
  	foreach ( (array) $user_blogs as $blog ) {
! 		$prefix = $wpdb->get_blog_prefix( $blog->userblog_id );
! 		$recent_post = $wpdb->get_row( $wpdb->prepare("SELECT ID, post_date_gmt FROM {$prefix}posts WHERE post_author = %d AND post_type = 'post' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1", $user_id ), ARRAY_A);
  
  		// Make sure we found a post
  		if ( isset($recent_post['ID']) ) {
***************
*** 1459,1467 ****
  /**
   * Check whether a blog has used its allotted upload space.
   *
-  * Used by get_dirsize() to get a directory's size when it contains
-  * other directories.
-  *
   * @since MU
   * @uses get_dirsize()
   *
--- 1460,1465 ----
***************
*** 1734,1742 ****
  		delete_option( 'new_user_' . $key );
  
  	if ( empty( $details ) || is_wp_error( add_existing_user_to_blog( $details ) ) )
! 		wp_die( sprintf(__('An error occurred adding you to this site. Back to the <a href="%s">homepage</a>.'), site_url() ) );
  
! 	wp_die( sprintf(__('You have been added to this site. Please visit the <a href="%s">homepage</a> or <a href="%s">log in</a> using your username and password.'), site_url(), admin_url() ), __('Success') );
  }
  
  /**
--- 1732,1740 ----
  		delete_option( 'new_user_' . $key );
  
  	if ( empty( $details ) || is_wp_error( add_existing_user_to_blog( $details ) ) )
! 		wp_die( sprintf(__('An error occurred adding you to this site. Back to the <a href="%s">homepage</a>.'), home_url() ) );
  
! 	wp_die( sprintf(__('You have been added to this site. Please visit the <a href="%s">homepage</a> or <a href="%s">log in</a> using your username and password.'), home_url(), admin_url() ), __('Success') );
  }
  
  /**
***************
*** 1862,1868 ****
  	if ( $blog_id == 0 )
  		$blog_id = $wpdb->blogid;
  
! 	$local_key = $wpdb->base_prefix . $blog_id . '_' . $key;
  
  	if ( isset( $current_user->$local_key ) )
  		return true;
--- 1860,1866 ----
  	if ( $blog_id == 0 )
  		$blog_id = $wpdb->blogid;
  
! 	$local_key = $wpdb->get_blog_prefix( $blog_id ) . $key;
  
  	if ( isset( $current_user->$local_key ) )
  		return true;
***************
*** 1948,1954 ****
  	$arrURL = parse_url( $url );
  
  	if ( force_ssl_content() && is_ssl() ) {
! 		if ( 'http' === $arrURL['scheme'] && 'https' !== $arrURL['scheme'] )
  			$url = str_replace( $arrURL['scheme'], 'https', $url );
  	}
  
--- 1946,1952 ----
  	$arrURL = parse_url( $url );
  
  	if ( force_ssl_content() && is_ssl() ) {
! 		if ( 'http' === $arrURL['scheme'] )
  			$url = str_replace( $arrURL['scheme'], 'https', $url );
  	}
  
***************
*** 1982,1986 ****
  	$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(ID) as c FROM $wpdb->users WHERE spam = '0' AND deleted = '0'") );
  	update_site_option( 'user_count', $count );
  }
- 
- ?>
\ No newline at end of file
--- 1980,1982 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-load.php ./wordpress-3.4/wp-includes/ms-load.php
*** ./wordpress-3.3.2/wp-includes/ms-load.php	2011-11-22 04:22:45.000000000 -0600
--- ./wordpress-3.4/wp-includes/ms-load.php	2012-01-26 14:34:27.000000000 -0600
***************
*** 211,220 ****
  	}
  
  	// Still no dice.
  	if ( 1 == count( $sites ) )
! 		wp_die( sprintf( /*WP_I18N_BLOG_DOESNT_EXIST*/'That site does not exist. Please try <a href="%s">%s</a>.'/*/WP_I18N_BLOG_DOESNT_EXIST*/, $sites[0]->domain . $sites[0]->path ) );
  	else
! 		wp_die( /*WP_I18N_NO_SITE_DEFINED*/'No site defined on this host. If you are the owner of this site, please check <a href="http://codex.wordpress.org/Debugging_a_WordPress_Network">Debugging a WordPress Network</a> for help.'/*/WP_I18N_NO_SITE_DEFINED*/ );
  }
  
  /**
--- 211,222 ----
  	}
  
  	// Still no dice.
+ 	wp_load_translations_early();
+ 
  	if ( 1 == count( $sites ) )
! 		wp_die( sprintf( __( 'That site does not exist. Please try <a href="%s">%s</a>.' ), 'http://' . $sites[0]->domain . $sites[0]->path ) );
  	else
! 		wp_die( __( 'No site defined on this host. If you are the owner of this site, please check <a href="http://codex.wordpress.org/Debugging_a_WordPress_Network">Debugging a WordPress Network</a> for help.' ) );
  }
  
  /**
***************
*** 228,246 ****
  function ms_not_installed() {
  	global $wpdb, $domain, $path;
  
! 	$title = /*WP_I18N_FATAL_ERROR*/'Error establishing database connection'/*/WP_I18N_FATAL_ERROR*/;
  	$msg  = '<h1>' . $title . '</h1>';
  	if ( ! is_admin() )
  		die( $msg );
! 	$msg .= '<p>' . /*WP_I18N_CONTACT_OWNER*/'If your site does not display, please contact the owner of this network.'/*/WP_I18N_CONTACT_OWNER*/ . '';
! 	$msg .= ' ' . /*WP_I18N_CHECK_MYSQL*/'If you are the owner of this network please check that MySQL is running properly and all tables are error free.'/*/WP_I18N_CHECK_MYSQL*/ . '</p>';
  	if ( false && !$wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) )
! 		$msg .= '<p>' . sprintf( /*WP_I18N_TABLES_MISSING_LONG*/'<strong>Database tables are missing.</strong> This means that MySQL is not running, WordPress was not installed properly, or someone deleted <code>%s</code>. You really should look at your database now.'/*/WP_I18N_TABLES_MISSING_LONG*/, $wpdb->site ) . '</p>';
  	else
! 		$msg .= '<p>' . sprintf( /*WP_I18N_NO_SITE_FOUND*/'<strong>Could not find site <code>%1$s</code>.</strong> Searched for table <code>%2$s</code> in database <code>%3$s</code>. Is that right?'/*/WP_I18N_NO_SITE_FOUND*/, rtrim( $domain . $path, '/' ), $wpdb->blogs, DB_NAME ) . '</p>';
! 	$msg .= '<p><strong>' . /*WP_I18N_WHAT_DO_I_DO*/'What do I do now?'/*/WP_I18N_WHAT_DO_I_DO*/ . '</strong> ';
! 	$msg .= /*WP_I18N_RTFM*/'Read the <a target="_blank" href="http://codex.wordpress.org/Debugging_a_WordPress_Network">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.'/*/WP_I18N_RTFM*/;
! 	$msg .= ' ' . /*WP_I18N_STUCK*/'If you&#8217;re still stuck with this message, then check that your database contains the following tables:'/*/WP_I18N_STUCK*/ . '</p><ul>';
  	foreach ( $wpdb->tables('global') as $t => $table ) {
  		if ( 'sitecategories' == $t )
  			continue;
--- 230,250 ----
  function ms_not_installed() {
  	global $wpdb, $domain, $path;
  
! 	wp_load_translations_early();
! 
! 	$title = __( 'Error establishing database connection' );
  	$msg  = '<h1>' . $title . '</h1>';
  	if ( ! is_admin() )
  		die( $msg );
! 	$msg .= '<p>' . __( 'If your site does not display, please contact the owner of this network.' ) . '';
! 	$msg .= ' ' . __( 'If you are the owner of this network please check that MySQL is running properly and all tables are error free.' ) . '</p>';
  	if ( false && !$wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) )
! 		$msg .= '<p>' . sprintf( __( '<strong>Database tables are missing.</strong> This means that MySQL is not running, WordPress was not installed properly, or someone deleted <code>%s</code>. You really should look at your database now.' ), $wpdb->site ) . '</p>';
  	else
! 		$msg .= '<p>' . sprintf( __( '<strong>Could not find site <code>%1$s</code>.</strong> Searched for table <code>%2$s</code> in database <code>%3$s</code>. Is that right?' ), rtrim( $domain . $path, '/' ), $wpdb->blogs, DB_NAME ) . '</p>';
! 	$msg .= '<p><strong>' . __( 'What do I do now?' ) . '</strong> ';
! 	$msg .= __( 'Read the <a target="_blank" href="http://codex.wordpress.org/Debugging_a_WordPress_Network">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.' );
! 	$msg .= ' ' . __( 'If you&#8217;re still stuck with this message, then check that your database contains the following tables:' ) . '</p><ul>';
  	foreach ( $wpdb->tables('global') as $t => $table ) {
  		if ( 'sitecategories' == $t )
  			continue;
***************
*** 250,254 ****
  
  	wp_die( $msg, $title );
  }
- 
- ?>
\ No newline at end of file
--- 254,256 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/ms-settings.php ./wordpress-3.4/wp-includes/ms-settings.php
*** ./wordpress-3.3.2/wp-includes/ms-settings.php	2011-08-18 17:27:30.000000000 -0500
--- ./wordpress-3.4/wp-includes/ms-settings.php	2012-01-26 14:34:27.000000000 -0600
***************
*** 31,37 ****
  			$domain = substr( $domain, 0, -4 );
  			$_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -4 );
  		} else {
! 			wp_die( /*WP_I18N_NO_PORT_NUMBER*/'Multisite only works without the port number in the URL.'/*/WP_I18N_NO_PORT_NUMBER*/ );
  		}
  	}
  
--- 31,38 ----
  			$domain = substr( $domain, 0, -4 );
  			$_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -4 );
  		} else {
! 			wp_load_translations_early();
! 			wp_die( __( 'Multisite only works without the port number in the URL.' ) );
  		}
  	}
  
***************
*** 116,123 ****
  		if ( defined( 'WP_INSTALLING' ) ) {
  			$current_blog->blog_id = $blog_id = 1;
  		} else {
! 			$msg = ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) ? ' ' . /*WP_I18N_TABLES_MISSING*/'Database tables are missing.'/*/WP_I18N_TABLES_MISSING*/ : '';
! 			wp_die( /*WP_I18N_NO_BLOG*/'No site by that name on this system.'/*/WP_I18N_NO_BLOG*/ . $msg );
  		}
  	}
  }
--- 117,125 ----
  		if ( defined( 'WP_INSTALLING' ) ) {
  			$current_blog->blog_id = $blog_id = 1;
  		} else {
! 			wp_load_translations_early();
! 			$msg = ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) ? ' ' . __( 'Database tables are missing.' ) : '';
! 			wp_die( __( 'No site by that name on this system.' ) . $msg );
  		}
  	}
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/nav-menu.php ./wordpress-3.4/wp-includes/nav-menu.php
*** ./wordpress-3.3.2/wp-includes/nav-menu.php	2011-09-20 17:57:47.000000000 -0500
--- ./wordpress-3.4/wp-includes/nav-menu.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 554,560 ****
   * - object:		The type of object originally represented, such as "category," "post", or "attachment."
   * - type_label:	The singular label used to describe this type of menu item.
   * - post_parent:	The DB ID of the original object's parent object, if any (0 otherwise).
!  * - menu_item_parent: 	The DB ID of the nav_menu_item that is this item's menu parent, if any.  0 otherwise.
   * - url:		The URL to which this menu item points.
   * - title:		The title of this menu item.
   * - target: 		The target attribute of the link element for this menu item.
--- 554,560 ----
   * - object:		The type of object originally represented, such as "category," "post", or "attachment."
   * - type_label:	The singular label used to describe this type of menu item.
   * - post_parent:	The DB ID of the original object's parent object, if any (0 otherwise).
!  * - menu_item_parent: 	The DB ID of the nav_menu_item that is this item's menu parent, if any. 0 otherwise.
   * - url:		The URL to which this menu item points.
   * - title:		The title of this menu item.
   * - target: 		The target attribute of the link element for this menu item.
***************
*** 782,786 ****
  		wp_update_nav_menu_item( $menu_id, 0, $args );
  	}
  }
- 
- ?>
--- 782,784 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/nav-menu-template.php ./wordpress-3.4/wp-includes/nav-menu-template.php
*** ./wordpress-3.3.2/wp-includes/nav-menu-template.php	2012-01-03 12:27:59.000000000 -0600
--- ./wordpress-3.4/wp-includes/nav-menu-template.php	2012-04-18 14:06:22.000000000 -0500
***************
*** 37,43 ****
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function start_lvl(&$output, $depth) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "\n$indent<ul class=\"sub-menu\">\n";
  	}
--- 37,43 ----
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function start_lvl( &$output, $depth = 0, $args = array() ) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "\n$indent<ul class=\"sub-menu\">\n";
  	}
***************
*** 49,55 ****
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function end_lvl(&$output, $depth) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent</ul>\n";
  	}
--- 49,55 ----
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function end_lvl( &$output, $depth = 0, $args = array() ) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent</ul>\n";
  	}
***************
*** 64,70 ****
  	 * @param int $current_page Menu item ID.
  	 * @param object $args
  	 */
! 	function start_el(&$output, $item, $depth, $args) {
  		global $wp_query;
  		$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
  
--- 64,70 ----
  	 * @param int $current_page Menu item ID.
  	 * @param object $args
  	 */
! 	function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
  		global $wp_query;
  		$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
  
***************
*** 74,83 ****
  		$classes[] = 'menu-item-' . $item->ID;
  
  		$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
! 		$class_names = ' class="' . esc_attr( $class_names ) . '"';
  
  		$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
! 		$id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
  
  		$output .= $indent . '<li' . $id . $value . $class_names .'>';
  
--- 74,83 ----
  		$classes[] = 'menu-item-' . $item->ID;
  
  		$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
! 		$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
  
  		$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
! 		$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
  
  		$output .= $indent . '<li' . $id . $value . $class_names .'>';
  
***************
*** 103,109 ****
  	 * @param object $item Page data object. Not used.
  	 * @param int $depth Depth of page. Not Used.
  	 */
! 	function end_el(&$output, $item, $depth) {
  		$output .= "</li>\n";
  	}
  }
--- 103,109 ----
  	 * @param object $item Page data object. Not used.
  	 * @param int $depth Depth of page. Not Used.
  	 */
! 	function end_el( &$output, $item, $depth = 0, $args = array() ) {
  		$output .= "</li>\n";
  	}
  }
***************
*** 113,119 ****
   *
   * Optional $args contents:
   *
!  * menu - The menu that is desired.  Accepts (matching in order) id, slug, name. Defaults to blank.
   * menu_class - CSS class to use for the ul element which forms the menu. Defaults to 'menu'.
   * menu_id - The ID that is applied to the ul element which forms the menu. Defaults to the menu slug, incremented.
   * container - Whether to wrap the ul, and what to wrap it with. Defaults to 'div'.
--- 113,119 ----
   *
   * Optional $args contents:
   *
!  * menu - The menu that is desired. Accepts (matching in order) id, slug, name. Defaults to blank.
   * menu_class - CSS class to use for the ul element which forms the menu. Defaults to 'menu'.
   * menu_id - The ID that is applied to the ul element which forms the menu. Defaults to the menu slug, incremented.
   * container - Whether to wrap the ul, and what to wrap it with. Defaults to 'div'.
***************
*** 125,133 ****
   * link_before - Text before the link.
   * link_after - Text after the link.
   * echo - Whether to echo the menu or return it. Defaults to echo.
!  * depth - how many levels of the hierarchy are to be included.  0 means all.  Defaults to 0.
   * walker - allows a custom walker to be specified.
!  * theme_location - the location in the theme to be used.  Must be registered with register_nav_menu() in order to be selectable by the user.
   * items_wrap - How the list items should be wrapped. Defaults to a ul with an id and class. Uses printf() format with numbered placeholders.
   *
   * @since 3.0.0
--- 125,133 ----
   * link_before - Text before the link.
   * link_after - Text after the link.
   * echo - Whether to echo the menu or return it. Defaults to echo.
!  * depth - how many levels of the hierarchy are to be included. 0 means all. Defaults to 0.
   * walker - allows a custom walker to be specified.
!  * theme_location - the location in the theme to be used. Must be registered with register_nav_menu() in order to be selectable by the user.
   * items_wrap - How the list items should be wrapped. Defaults to a ul with an id and class. Uses printf() format with numbered placeholders.
   *
   * @since 3.0.0
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/option.php ./wordpress-3.4/wp-includes/option.php
*** ./wordpress-3.3.2/wp-includes/option.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/option.php	2012-05-14 12:00:13.000000000 -0500
***************
*** 0 ****
--- 1,1046 ----
+ <?php
+ /**
+  * Option API
+  *
+  * @package WordPress
+  */
+ 
+ /**
+  * Retrieve option value based on name of option.
+  *
+  * If the option does not exist or does not have a value, then the return value
+  * will be false. This is useful to check whether you need to install an option
+  * and is commonly used during installation of plugin options and to test
+  * whether upgrading is required.
+  *
+  * If the option was serialized then it will be unserialized when it is returned.
+  *
+  * @since 1.5.0
+  * @package WordPress
+  * @subpackage Option
+  * @uses apply_filters() Calls 'pre_option_$option' before checking the option.
+  * 	Any value other than false will "short-circuit" the retrieval of the option
+  *	and return the returned value. You should not try to override special options,
+  * 	but you will not be prevented from doing so.
+  * @uses apply_filters() Calls 'option_$option', after checking the option, with
+  * 	the option value.
+  *
+  * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
+  * @param mixed $default Optional. Default value to return if the option does not exist.
+  * @return mixed Value set for the option.
+  */
+ function get_option( $option, $default = false ) {
+ 	global $wpdb;
+ 
+ 	// Allow plugins to short-circuit options.
+ 	$pre = apply_filters( 'pre_option_' . $option, false );
+ 	if ( false !== $pre )
+ 		return $pre;
+ 
+ 	$option = trim($option);
+ 	if ( empty($option) )
+ 		return false;
+ 
+ 	if ( defined( 'WP_SETUP_CONFIG' ) )
+ 		return false;
+ 
+ 	if ( ! defined( 'WP_INSTALLING' ) ) {
+ 		// prevent non-existent options from triggering multiple queries
+ 		$notoptions = wp_cache_get( 'notoptions', 'options' );
+ 		if ( isset( $notoptions[$option] ) )
+ 			return apply_filters( 'default_option_' . $option, $default );
+ 
+ 		$alloptions = wp_load_alloptions();
+ 
+ 		if ( isset( $alloptions[$option] ) ) {
+ 			$value = $alloptions[$option];
+ 		} else {
+ 			$value = wp_cache_get( $option, 'options' );
+ 
+ 			if ( false === $value ) {
+ 				$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
+ 
+ 				// Has to be get_row instead of get_var because of funkiness with 0, false, null values
+ 				if ( is_object( $row ) ) {
+ 					$value = $row->option_value;
+ 					wp_cache_add( $option, $value, 'options' );
+ 				} else { // option does not exist, so we must cache its non-existence
+ 					$notoptions[$option] = true;
+ 					wp_cache_set( 'notoptions', $notoptions, 'options' );
+ 					return apply_filters( 'default_option_' . $option, $default );
+ 				}
+ 			}
+ 		}
+ 	} else {
+ 		$suppress = $wpdb->suppress_errors();
+ 		$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
+ 		$wpdb->suppress_errors( $suppress );
+ 		if ( is_object( $row ) )
+ 			$value = $row->option_value;
+ 		else
+ 			return apply_filters( 'default_option_' . $option, $default );
+ 	}
+ 
+ 	// If home is not set use siteurl.
+ 	if ( 'home' == $option && '' == $value )
+ 		return get_option( 'siteurl' );
+ 
+ 	if ( in_array( $option, array('siteurl', 'home', 'category_base', 'tag_base') ) )
+ 		$value = untrailingslashit( $value );
+ 
+ 	return apply_filters( 'option_' . $option, maybe_unserialize( $value ) );
+ }
+ 
+ /**
+  * Protect WordPress special option from being modified.
+  *
+  * Will die if $option is in protected list. Protected options are 'alloptions'
+  * and 'notoptions' options.
+  *
+  * @since 2.2.0
+  * @package WordPress
+  * @subpackage Option
+  *
+  * @param string $option Option name.
+  */
+ function wp_protect_special_option( $option ) {
+ 	$protected = array( 'alloptions', 'notoptions' );
+ 	if ( in_array( $option, $protected ) )
+ 		wp_die( sprintf( __( '%s is a protected WP option and may not be modified' ), esc_html( $option ) ) );
+ }
+ 
+ /**
+  * Print option value after sanitizing for forms.
+  *
+  * @uses attr Sanitizes value.
+  * @since 1.5.0
+  * @package WordPress
+  * @subpackage Option
+  *
+  * @param string $option Option name.
+  */
+ function form_option( $option ) {
+ 	echo esc_attr( get_option( $option ) );
+ }
+ 
+ /**
+  * Loads and caches all autoloaded options, if available or all options.
+  *
+  * @since 2.2.0
+  * @package WordPress
+  * @subpackage Option
+  *
+  * @return array List of all options.
+  */
+ function wp_load_alloptions() {
+ 	global $wpdb;
+ 
+ 	if ( !defined( 'WP_INSTALLING' ) || !is_multisite() )
+ 		$alloptions = wp_cache_get( 'alloptions', 'options' );
+ 	else
+ 		$alloptions = false;
+ 
+ 	if ( !$alloptions ) {
+ 		$suppress = $wpdb->suppress_errors();
+ 		if ( !$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" ) )
+ 			$alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" );
+ 		$wpdb->suppress_errors($suppress);
+ 		$alloptions = array();
+ 		foreach ( (array) $alloptions_db as $o ) {
+ 			$alloptions[$o->option_name] = $o->option_value;
+ 		}
+ 		if ( !defined( 'WP_INSTALLING' ) || !is_multisite() )
+ 			wp_cache_add( 'alloptions', $alloptions, 'options' );
+ 	}
+ 
+ 	return $alloptions;
+ }
+ 
+ /**
+  * Loads and caches certain often requested site options if is_multisite() and a persistent cache is not being used.
+  *
+  * @since 3.0.0
+  * @package WordPress
+  * @subpackage Option
+  *
+  * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
+  */
+ function wp_load_core_site_options( $site_id = null ) {
+ 	global $wpdb, $_wp_using_ext_object_cache;
+ 
+ 	if ( !is_multisite() || $_wp_using_ext_object_cache || defined( 'WP_INSTALLING' ) )
+ 		return;
+ 
+ 	if ( empty($site_id) )
+ 		$site_id = $wpdb->siteid;
+ 
+ 	$core_options = array('site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled' );
+ 
+ 	$core_options_in = "'" . implode("', '", $core_options) . "'";
+ 	$options = $wpdb->get_results( $wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key IN ($core_options_in) AND site_id = %d", $site_id) );
+ 
+ 	foreach ( $options as $option ) {
+ 		$key = $option->meta_key;
+ 		$cache_key = "{$site_id}:$key";
+ 		$option->meta_value = maybe_unserialize( $option->meta_value );
+ 
+ 		wp_cache_set( $cache_key, $option->meta_value, 'site-options' );
+ 	}
+ }
+ 
+ /**
+  * Update the value of an option that was already added.
+  *
+  * You do not need to serialize values. If the value needs to be serialized, then
+  * it will be serialized before it is inserted into the database. Remember,
+  * resources can not be serialized or added as an option.
+  *
+  * If the option does not exist, then the option will be added with the option
+  * value, but you will not be able to set whether it is autoloaded. If you want
+  * to set whether an option is autoloaded, then you need to use the add_option().
+  *
+  * @since 1.0.0
+  * @package WordPress
+  * @subpackage Option
+  *
+  * @uses apply_filters() Calls 'pre_update_option_$option' hook to allow overwriting the
+  * 	option value to be stored.
+  * @uses do_action() Calls 'update_option' hook before updating the option.
+  * @uses do_action() Calls 'update_option_$option' and 'updated_option' hooks on success.
+  *
+  * @param string $option Option name. Expected to not be SQL-escaped.
+  * @param mixed $newvalue Option value. Expected to not be SQL-escaped.
+  * @return bool False if value was not updated and true if value was updated.
+  */
+ function update_option( $option, $newvalue ) {
+ 	global $wpdb;
+ 
+ 	$option = trim($option);
+ 	if ( empty($option) )
+ 		return false;
+ 
+ 	wp_protect_special_option( $option );
+ 
+ 	if ( is_object($newvalue) )
+ 		$newvalue = clone $newvalue;
+ 
+ 	$newvalue = sanitize_option( $option, $newvalue );
+ 	$oldvalue = get_option( $option );
+ 	$newvalue = apply_filters( 'pre_update_option_' . $option, $newvalue, $oldvalue );
+ 
+ 	// If the new and old values are the same, no need to update.
+ 	if ( $newvalue === $oldvalue )
+ 		return false;
+ 
+ 	if ( false === $oldvalue )
+ 		return add_option( $option, $newvalue );
+ 
+ 	$notoptions = wp_cache_get( 'notoptions', 'options' );
+ 	if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
+ 		unset( $notoptions[$option] );
+ 		wp_cache_set( 'notoptions', $notoptions, 'options' );
+ 	}
+ 
+ 	$_newvalue = $newvalue;
+ 	$newvalue = maybe_serialize( $newvalue );
+ 
+ 	do_action( 'update_option', $option, $oldvalue, $_newvalue );
+ 	if ( ! defined( 'WP_INSTALLING' ) ) {
+ 		$alloptions = wp_load_alloptions();
+ 		if ( isset( $alloptions[$option] ) ) {
+ 			$alloptions[$option] = $_newvalue;
+ 			wp_cache_set( 'alloptions', $alloptions, 'options' );
+ 		} else {
+ 			wp_cache_set( $option, $_newvalue, 'options' );
+ 		}
+ 	}
+ 
+ 	$result = $wpdb->update( $wpdb->options, array( 'option_value' => $newvalue ), array( 'option_name' => $option ) );
+ 
+ 	if ( $result ) {
+ 		do_action( "update_option_{$option}", $oldvalue, $_newvalue );
+ 		do_action( 'updated_option', $option, $oldvalue, $_newvalue );
+ 		return true;
+ 	}
+ 	return false;
+ }
+ 
+ /**
+  * Add a new option.
+  *
+  * You do not need to serialize values. If the value needs to be serialized, then
+  * it will be serialized before it is inserted into the database. Remember,
+  * resources can not be serialized or added as an option.
+  *
+  * You can create options without values and then update the values later.
+  * Existing options will not be updated and checks are performed to ensure that you
+  * aren't adding a protected WordPress option. Care should be taken to not name
+  * options the same as the ones which are protected.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 1.0.0
+  *
+  * @uses do_action() Calls 'add_option' hook before adding the option.
+  * @uses do_action() Calls 'add_option_$option' and 'added_option' hooks on success.
+  *
+  * @param string $option Name of option to add. Expected to not be SQL-escaped.
+  * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
+  * @param mixed $deprecated Optional. Description. Not used anymore.
+  * @param bool $autoload Optional. Default is enabled. Whether to load the option when WordPress starts up.
+  * @return bool False if option was not added and true if option was added.
+  */
+ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) {
+ 	global $wpdb;
+ 
+ 	if ( !empty( $deprecated ) )
+ 		_deprecated_argument( __FUNCTION__, '2.3' );
+ 
+ 	$option = trim($option);
+ 	if ( empty($option) )
+ 		return false;
+ 
+ 	wp_protect_special_option( $option );
+ 
+ 	if ( is_object($value) )
+ 		$value = clone $value;
+ 
+ 	$value = sanitize_option( $option, $value );
+ 
+ 	// Make sure the option doesn't already exist. We can check the 'notoptions' cache before we ask for a db query
+ 	$notoptions = wp_cache_get( 'notoptions', 'options' );
+ 	if ( !is_array( $notoptions ) || !isset( $notoptions[$option] ) )
+ 		if ( false !== get_option( $option ) )
+ 			return false;
+ 
+ 	$_value = $value;
+ 	$value = maybe_serialize( $value );
+ 	$autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
+ 	do_action( 'add_option', $option, $_value );
+ 	if ( ! defined( 'WP_INSTALLING' ) ) {
+ 		if ( 'yes' == $autoload ) {
+ 			$alloptions = wp_load_alloptions();
+ 			$alloptions[$option] = $value;
+ 			wp_cache_set( 'alloptions', $alloptions, 'options' );
+ 		} else {
+ 			wp_cache_set( $option, $value, 'options' );
+ 		}
+ 	}
+ 
+ 	// This option exists now
+ 	$notoptions = wp_cache_get( 'notoptions', 'options' ); // yes, again... we need it to be fresh
+ 	if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
+ 		unset( $notoptions[$option] );
+ 		wp_cache_set( 'notoptions', $notoptions, 'options' );
+ 	}
+ 
+ 	$result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload ) );
+ 
+ 	if ( $result ) {
+ 		do_action( "add_option_{$option}", $option, $_value );
+ 		do_action( 'added_option', $option, $_value );
+ 		return true;
+ 	}
+ 	return false;
+ }
+ 
+ /**
+  * Removes option by name. Prevents removal of protected WordPress options.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 1.2.0
+  *
+  * @uses do_action() Calls 'delete_option' hook before option is deleted.
+  * @uses do_action() Calls 'deleted_option' and 'delete_option_$option' hooks on success.
+  *
+  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
+  * @return bool True, if option is successfully deleted. False on failure.
+  */
+ function delete_option( $option ) {
+ 	global $wpdb;
+ 
+ 	wp_protect_special_option( $option );
+ 
+ 	// Get the ID, if no ID then return
+ 	$row = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) );
+ 	if ( is_null( $row ) )
+ 		return false;
+ 	do_action( 'delete_option', $option );
+ 	$result = $wpdb->delete( $wpdb->options, array( 'option_name' => $option ) );
+ 	if ( ! defined( 'WP_INSTALLING' ) ) {
+ 		if ( 'yes' == $row->autoload ) {
+ 			$alloptions = wp_load_alloptions();
+ 			if ( is_array( $alloptions ) && isset( $alloptions[$option] ) ) {
+ 				unset( $alloptions[$option] );
+ 				wp_cache_set( 'alloptions', $alloptions, 'options' );
+ 			}
+ 		} else {
+ 			wp_cache_delete( $option, 'options' );
+ 		}
+ 	}
+ 	if ( $result ) {
+ 		do_action( "delete_option_$option", $option );
+ 		do_action( 'deleted_option', $option );
+ 		return true;
+ 	}
+ 	return false;
+ }
+ 
+ /**
+  * Delete a transient.
+  *
+  * @since 2.8.0
+  * @package WordPress
+  * @subpackage Transient
+  *
+  * @uses do_action() Calls 'delete_transient_$transient' hook before transient is deleted.
+  * @uses do_action() Calls 'deleted_transient' hook on success.
+  *
+  * @param string $transient Transient name. Expected to not be SQL-escaped.
+  * @return bool true if successful, false otherwise
+  */
+ function delete_transient( $transient ) {
+ 	global $_wp_using_ext_object_cache;
+ 
+ 	do_action( 'delete_transient_' . $transient, $transient );
+ 
+ 	if ( $_wp_using_ext_object_cache ) {
+ 		$result = wp_cache_delete( $transient, 'transient' );
+ 	} else {
+ 		$option_timeout = '_transient_timeout_' . $transient;
+ 		$option = '_transient_' . $transient;
+ 		$result = delete_option( $option );
+ 		if ( $result )
+ 			delete_option( $option_timeout );
+ 	}
+ 
+ 	if ( $result )
+ 		do_action( 'deleted_transient', $transient );
+ 	return $result;
+ }
+ 
+ /**
+  * Get the value of a transient.
+  *
+  * If the transient does not exist or does not have a value, then the return value
+  * will be false.
+  *
+  * @uses apply_filters() Calls 'pre_transient_$transient' hook before checking the transient.
+  * 	Any value other than false will "short-circuit" the retrieval of the transient
+  *	and return the returned value.
+  * @uses apply_filters() Calls 'transient_$option' hook, after checking the transient, with
+  * 	the transient value.
+  *
+  * @since 2.8.0
+  * @package WordPress
+  * @subpackage Transient
+  *
+  * @param string $transient Transient name. Expected to not be SQL-escaped
+  * @return mixed Value of transient
+  */
+ function get_transient( $transient ) {
+ 	global $_wp_using_ext_object_cache;
+ 
+ 	$pre = apply_filters( 'pre_transient_' . $transient, false );
+ 	if ( false !== $pre )
+ 		return $pre;
+ 
+ 	if ( $_wp_using_ext_object_cache ) {
+ 		$value = wp_cache_get( $transient, 'transient' );
+ 	} else {
+ 		$transient_option = '_transient_' . $transient;
+ 		if ( ! defined( 'WP_INSTALLING' ) ) {
+ 			// If option is not in alloptions, it is not autoloaded and thus has a timeout
+ 			$alloptions = wp_load_alloptions();
+ 			if ( !isset( $alloptions[$transient_option] ) ) {
+ 				$transient_timeout = '_transient_timeout_' . $transient;
+ 				if ( get_option( $transient_timeout ) < time() ) {
+ 					delete_option( $transient_option  );
+ 					delete_option( $transient_timeout );
+ 					return false;
+ 				}
+ 			}
+ 		}
+ 
+ 		$value = get_option( $transient_option );
+ 	}
+ 
+ 	return apply_filters( 'transient_' . $transient, $value );
+ }
+ 
+ /**
+  * Set/update the value of a transient.
+  *
+  * You do not need to serialize values. If the value needs to be serialized, then
+  * it will be serialized before it is set.
+  *
+  * @since 2.8.0
+  * @package WordPress
+  * @subpackage Transient
+  *
+  * @uses apply_filters() Calls 'pre_set_transient_$transient' hook to allow overwriting the
+  * 	transient value to be stored.
+  * @uses do_action() Calls 'set_transient_$transient' and 'setted_transient' hooks on success.
+  *
+  * @param string $transient Transient name. Expected to not be SQL-escaped.
+  * @param mixed $value Transient value. Expected to not be SQL-escaped.
+  * @param int $expiration Time until expiration in seconds, default 0
+  * @return bool False if value was not set and true if value was set.
+  */
+ function set_transient( $transient, $value, $expiration = 0 ) {
+ 	global $_wp_using_ext_object_cache;
+ 
+ 	$value = apply_filters( 'pre_set_transient_' . $transient, $value );
+ 
+ 	if ( $_wp_using_ext_object_cache ) {
+ 		$result = wp_cache_set( $transient, $value, 'transient', $expiration );
+ 	} else {
+ 		$transient_timeout = '_transient_timeout_' . $transient;
+ 		$transient = '_transient_' . $transient;
+ 		if ( false === get_option( $transient ) ) {
+ 			$autoload = 'yes';
+ 			if ( $expiration ) {
+ 				$autoload = 'no';
+ 				add_option( $transient_timeout, time() + $expiration, '', 'no' );
+ 			}
+ 			$result = add_option( $transient, $value, '', $autoload );
+ 		} else {
+ 			if ( $expiration )
+ 				update_option( $transient_timeout, time() + $expiration );
+ 			$result = update_option( $transient, $value );
+ 		}
+ 	}
+ 	if ( $result ) {
+ 		do_action( 'set_transient_' . $transient );
+ 		do_action( 'setted_transient', $transient );
+ 	}
+ 	return $result;
+ }
+ 
+ /**
+  * Saves and restores user interface settings stored in a cookie.
+  *
+  * Checks if the current user-settings cookie is updated and stores it. When no
+  * cookie exists (different browser used), adds the last saved cookie restoring
+  * the settings.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.7.0
+  */
+ function wp_user_settings() {
+ 
+ 	if ( ! is_admin() )
+ 		return;
+ 
+ 	if ( defined('DOING_AJAX') )
+ 		return;
+ 
+ 	if ( ! $user = wp_get_current_user() )
+ 		return;
+ 
+ 	$settings = get_user_option( 'user-settings', $user->ID );
+ 
+ 	if ( isset( $_COOKIE['wp-settings-' . $user->ID] ) ) {
+ 		$cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
+ 
+ 		if ( ! empty( $cookie ) && strpos( $cookie, '=' ) ) {
+ 			if ( $cookie == $settings )
+ 				return;
+ 
+ 			$last_time = (int) get_user_option( 'user-settings-time', $user->ID );
+ 			$saved = isset( $_COOKIE['wp-settings-time-' . $user->ID]) ? preg_replace( '/[^0-9]/', '', $_COOKIE['wp-settings-time-' . $user->ID] ) : 0;
+ 
+ 			if ( $saved > $last_time ) {
+ 				update_user_option( $user->ID, 'user-settings', $cookie, false );
+ 				update_user_option( $user->ID, 'user-settings-time', time() - 5, false );
+ 				return;
+ 			}
+ 		}
+ 	}
+ 
+ 	setcookie( 'wp-settings-' . $user->ID, $settings, time() + 31536000, SITECOOKIEPATH );
+ 	setcookie( 'wp-settings-time-' . $user->ID, time(), time() + 31536000, SITECOOKIEPATH );
+ 	$_COOKIE['wp-settings-' . $user->ID] = $settings;
+ }
+ 
+ /**
+  * Retrieve user interface setting value based on setting name.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.7.0
+  *
+  * @param string $name The name of the setting.
+  * @param string $default Optional default value to return when $name is not set.
+  * @return mixed the last saved user setting or the default value/false if it doesn't exist.
+  */
+ function get_user_setting( $name, $default = false ) {
+ 
+ 	$all = get_all_user_settings();
+ 
+ 	return isset($all[$name]) ? $all[$name] : $default;
+ }
+ 
+ /**
+  * Add or update user interface setting.
+  *
+  * Both $name and $value can contain only ASCII letters, numbers and underscores.
+  * This function has to be used before any output has started as it calls setcookie().
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.8.0
+  *
+  * @param string $name The name of the setting.
+  * @param string $value The value for the setting.
+  * @return bool true if set successfully/false if not.
+  */
+ function set_user_setting( $name, $value ) {
+ 
+ 	if ( headers_sent() )
+ 		return false;
+ 
+ 	$all = get_all_user_settings();
+ 	$name = preg_replace( '/[^A-Za-z0-9_]+/', '', $name );
+ 
+ 	if ( empty($name) )
+ 		return false;
+ 
+ 	$all[$name] = $value;
+ 
+ 	return wp_set_all_user_settings($all);
+ }
+ 
+ /**
+  * Delete user interface settings.
+  *
+  * Deleting settings would reset them to the defaults.
+  * This function has to be used before any output has started as it calls setcookie().
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.7.0
+  *
+  * @param mixed $names The name or array of names of the setting to be deleted.
+  * @return bool true if deleted successfully/false if not.
+  */
+ function delete_user_setting( $names ) {
+ 
+ 	if ( headers_sent() )
+ 		return false;
+ 
+ 	$all = get_all_user_settings();
+ 	$names = (array) $names;
+ 
+ 	foreach ( $names as $name ) {
+ 		if ( isset($all[$name]) ) {
+ 			unset($all[$name]);
+ 			$deleted = true;
+ 		}
+ 	}
+ 
+ 	if ( isset($deleted) )
+ 		return wp_set_all_user_settings($all);
+ 
+ 	return false;
+ }
+ 
+ /**
+  * Retrieve all user interface settings.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.7.0
+  *
+  * @return array the last saved user settings or empty array.
+  */
+ function get_all_user_settings() {
+ 	global $_updated_user_settings;
+ 
+ 	if ( ! $user = wp_get_current_user() )
+ 		return array();
+ 
+ 	if ( isset($_updated_user_settings) && is_array($_updated_user_settings) )
+ 		return $_updated_user_settings;
+ 
+ 	$all = array();
+ 	if ( isset($_COOKIE['wp-settings-' . $user->ID]) ) {
+ 		$cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
+ 
+ 		if ( $cookie && strpos($cookie, '=') ) // the '=' cannot be 1st char
+ 			parse_str($cookie, $all);
+ 
+ 	} else {
+ 		$option = get_user_option('user-settings', $user->ID);
+ 		if ( $option && is_string($option) )
+ 			parse_str( $option, $all );
+ 	}
+ 
+ 	return $all;
+ }
+ 
+ /**
+  * Private. Set all user interface settings.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.8.0
+  *
+  * @param unknown $all
+  * @return bool
+  */
+ function wp_set_all_user_settings($all) {
+ 	global $_updated_user_settings;
+ 
+ 	if ( ! $user = wp_get_current_user() )
+ 		return false;
+ 
+ 	$_updated_user_settings = $all;
+ 	$settings = '';
+ 	foreach ( $all as $k => $v ) {
+ 		$v = preg_replace( '/[^A-Za-z0-9_]+/', '', $v );
+ 		$settings .= $k . '=' . $v . '&';
+ 	}
+ 
+ 	$settings = rtrim($settings, '&');
+ 
+ 	update_user_option( $user->ID, 'user-settings', $settings, false );
+ 	update_user_option( $user->ID, 'user-settings-time', time(), false );
+ 
+ 	return true;
+ }
+ 
+ /**
+  * Delete the user settings of the current user.
+  *
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.7.0
+  */
+ function delete_all_user_settings() {
+ 	if ( ! $user = wp_get_current_user() )
+ 		return;
+ 
+ 	update_user_option( $user->ID, 'user-settings', '', false );
+ 	setcookie('wp-settings-' . $user->ID, ' ', time() - 31536000, SITECOOKIEPATH);
+ }
+ 
+ /**
+  * Retrieve site option value based on name of option.
+  *
+  * @see get_option()
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.8.0
+  *
+  * @uses apply_filters() Calls 'pre_site_option_$option' before checking the option.
+  * 	Any value other than false will "short-circuit" the retrieval of the option
+  *	and return the returned value.
+  * @uses apply_filters() Calls 'site_option_$option', after checking the  option, with
+  * 	the option value.
+  *
+  * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
+  * @param mixed $default Optional value to return if option doesn't exist. Default false.
+  * @param bool $use_cache Whether to use cache. Multisite only. Default true.
+  * @return mixed Value set for the option.
+  */
+ function get_site_option( $option, $default = false, $use_cache = true ) {
+ 	global $wpdb;
+ 
+ 	// Allow plugins to short-circuit site options.
+  	$pre = apply_filters( 'pre_site_option_' . $option, false );
+  	if ( false !== $pre )
+  		return $pre;
+ 
+ 	if ( ! is_multisite() ) {
+ 		$default = apply_filters( 'default_site_option_' . $option, $default );
+ 		$value = get_option($option, $default);
+ 	} else {
+ 		$cache_key = "{$wpdb->siteid}:$option";
+ 		if ( $use_cache )
+ 			$value = wp_cache_get($cache_key, 'site-options');
+ 
+ 		if ( !isset($value) || (false === $value) ) {
+ 			$row = $wpdb->get_row( $wpdb->prepare("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
+ 
+ 			// Has to be get_row instead of get_var because of funkiness with 0, false, null values
+ 			if ( is_object( $row ) ) {
+ 				$value = $row->meta_value;
+ 				$value = maybe_unserialize( $value );
+ 				wp_cache_set( $cache_key, $value, 'site-options' );
+ 			} else {
+ 				$value = apply_filters( 'default_site_option_' . $option, $default );
+ 			}
+ 		}
+ 	}
+ 
+  	return apply_filters( 'site_option_' . $option, $value );
+ }
+ 
+ /**
+  * Add a new site option.
+  *
+  * Existing options will not be updated. Note that prior to 3.3 this wasn't the case.
+  *
+  * @see add_option()
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.8.0
+  *
+  * @uses apply_filters() Calls 'pre_add_site_option_$option' hook to allow overwriting the
+  * 	option value to be stored.
+  * @uses do_action() Calls 'add_site_option_$option' and 'add_site_option' hooks on success.
+  *
+  * @param string $option Name of option to add. Expected to not be SQL-escaped.
+  * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
+  * @return bool False if option was not added and true if option was added.
+  */
+ function add_site_option( $option, $value ) {
+ 	global $wpdb;
+ 
+ 	$value = apply_filters( 'pre_add_site_option_' . $option, $value );
+ 
+ 	if ( !is_multisite() ) {
+ 		$result = add_option( $option, $value );
+ 	} else {
+ 		$cache_key = "{$wpdb->siteid}:$option";
+ 
+ 		if ( false !== get_site_option( $option ) )
+ 			return false;
+ 
+ 		$value = sanitize_option( $option, $value );
+ 		wp_cache_set( $cache_key, $value, 'site-options' );
+ 
+ 		$_value = $value;
+ 		$value = maybe_serialize( $value );
+ 		$result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $value ) );
+ 		$value = $_value;
+ 	}
+ 
+ 	if ( $result ) {
+ 		do_action( "add_site_option_{$option}", $option, $value );
+ 		do_action( "add_site_option", $option, $value );
+ 		return true;
+ 	}
+ 	return false;
+ }
+ 
+ /**
+  * Removes site option by name.
+  *
+  * @see delete_option()
+  * @package WordPress
+  * @subpackage Option
+  * @since 2.8.0
+  *
+  * @uses do_action() Calls 'pre_delete_site_option_$option' hook before option is deleted.
+  * @uses do_action() Calls 'delete_site_option' and 'delete_site_option_$option'
+  * 	hooks on success.
+  *
+  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
+  * @return bool True, if succeed. False, if failure.
+  */
+ function delete_site_option( $option ) {
+ 	global $wpdb;
+ 
+ 	// ms_protect_special_option( $option ); @todo
+ 
+ 	do_action( 'pre_delete_site_option_' . $option );
+ 
+ 	if ( !is_multisite() ) {
+ 		$result = delete_option( $option );
+ 	} else {
+ 		$row = $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM {$wpdb->sitemeta} WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
+ 		if ( is_null( $row ) || !$row->meta_id )
+ 			return false;
+ 		$cache_key = "{$wpdb->siteid}:$option";
+ 		wp_cache_delete( $cache_key, 'site-options' );
+ 
+ 		$result = $wpdb->delete( $wpdb->sitemeta, array( 'meta_key' => $option, 'site_id' => $wpdb->siteid ) );
+ 	}
+ 
+ 	if ( $result ) {
+ 		do_action( "delete_site_option_{$option}", $option );
+ 		do_action( "delete_site_option", $option );
+ 		return true;
+ 	}
+ 	return false;
+ }
+ 
+ /**
+  * Update the value of a site option that was already added.
+  *
+  * @see update_option()
+  * @since 2.8.0
+  * @package WordPress
+  * @subpackage Option
+  *
+  * @uses apply_filters() Calls 'pre_update_site_option_$option' hook to allow overwriting the
+  * 	option value to be stored.
+  * @uses do_action() Calls 'update_site_option_$option' and 'update_site_option' hooks on success.
+  *
+  * @param string $option Name of option. Expected to not be SQL-escaped.
+  * @param mixed $value Option value. Expected to not be SQL-escaped.
+  * @return bool False if value was not updated and true if value was updated.
+  */
+ function update_site_option( $option, $value ) {
+ 	global $wpdb;
+ 
+ 	$oldvalue = get_site_option( $option );
+ 	$value = apply_filters( 'pre_update_site_option_' . $option, $value, $oldvalue );
+ 
+ 	if ( $value === $oldvalue )
+ 		return false;
+ 
+ 	if ( false === $oldvalue )
+ 		return add_site_option( $option, $value );
+ 
+ 	if ( !is_multisite() ) {
+ 		$result = update_option( $option, $value );
+ 	} else {
+ 		$value = sanitize_option( $option, $value );
+ 		$cache_key = "{$wpdb->siteid}:$option";
+ 		wp_cache_set( $cache_key, $value, 'site-options' );
+ 
+ 		$_value = $value;
+ 		$value = maybe_serialize( $value );
+ 		$result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => $value ), array( 'site_id' => $wpdb->siteid, 'meta_key' => $option ) );
+ 		$value = $_value;
+ 	}
+ 
+ 	if ( $result ) {
+ 		do_action( "update_site_option_{$option}", $option, $value, $oldvalue );
+ 		do_action( "update_site_option", $option, $value, $oldvalue );
+ 		return true;
+ 	}
+ 	return false;
+ }
+ 
+ /**
+  * Delete a site transient.
+  *
+  * @since 2.9.0
+  * @package WordPress
+  * @subpackage Transient
+  *
+  * @uses do_action() Calls 'delete_site_transient_$transient' hook before transient is deleted.
+  * @uses do_action() Calls 'deleted_site_transient' hook on success.
+  *
+  * @param string $transient Transient name. Expected to not be SQL-escaped.
+  * @return bool True if successful, false otherwise
+  */
+ function delete_site_transient( $transient ) {
+ 	global $_wp_using_ext_object_cache;
+ 
+ 	do_action( 'delete_site_transient_' . $transient, $transient );
+ 	if ( $_wp_using_ext_object_cache ) {
+ 		$result = wp_cache_delete( $transient, 'site-transient' );
+ 	} else {
+ 		$option_timeout = '_site_transient_timeout_' . $transient;
+ 		$option = '_site_transient_' . $transient;
+ 		$result = delete_site_option( $option );
+ 		if ( $result )
+ 			delete_site_option( $option_timeout );
+ 	}
+ 	if ( $result )
+ 		do_action( 'deleted_site_transient', $transient );
+ 	return $result;
+ }
+ 
+ /**
+  * Get the value of a site transient.
+  *
+  * If the transient does not exist or does not have a value, then the return value
+  * will be false.
+  *
+  * @see get_transient()
+  * @since 2.9.0
+  * @package WordPress
+  * @subpackage Transient
+  *
+  * @uses apply_filters() Calls 'pre_site_transient_$transient' hook before checking the transient.
+  * 	Any value other than false will "short-circuit" the retrieval of the transient
+  *	and return the returned value.
+  * @uses apply_filters() Calls 'site_transient_$option' hook, after checking the transient, with
+  * 	the transient value.
+  *
+  * @param string $transient Transient name. Expected to not be SQL-escaped.
+  * @return mixed Value of transient
+  */
+ function get_site_transient( $transient ) {
+ 	global $_wp_using_ext_object_cache;
+ 
+ 	$pre = apply_filters( 'pre_site_transient_' . $transient, false );
+ 	if ( false !== $pre )
+ 		return $pre;
+ 
+ 	if ( $_wp_using_ext_object_cache ) {
+ 		$value = wp_cache_get( $transient, 'site-transient' );
+ 	} else {
+ 		// Core transients that do not have a timeout. Listed here so querying timeouts can be avoided.
+ 		$no_timeout = array('update_core', 'update_plugins', 'update_themes');
+ 		$transient_option = '_site_transient_' . $transient;
+ 		if ( ! in_array( $transient, $no_timeout ) ) {
+ 			$transient_timeout = '_site_transient_timeout_' . $transient;
+ 			$timeout = get_site_option( $transient_timeout );
+ 			if ( false !== $timeout && $timeout < time() ) {
+ 				delete_site_option( $transient_option  );
+ 				delete_site_option( $transient_timeout );
+ 				return false;
+ 			}
+ 		}
+ 
+ 		$value = get_site_option( $transient_option );
+ 	}
+ 
+ 	return apply_filters( 'site_transient_' . $transient, $value );
+ }
+ 
+ /**
+  * Set/update the value of a site transient.
+  *
+  * You do not need to serialize values, if the value needs to be serialize, then
+  * it will be serialized before it is set.
+  *
+  * @see set_transient()
+  * @since 2.9.0
+  * @package WordPress
+  * @subpackage Transient
+  *
+  * @uses apply_filters() Calls 'pre_set_site_transient_$transient' hook to allow overwriting the
+  * 	transient value to be stored.
+  * @uses do_action() Calls 'set_site_transient_$transient' and 'setted_site_transient' hooks on success.
+  *
+  * @param string $transient Transient name. Expected to not be SQL-escaped.
+  * @param mixed $value Transient value. Expected to not be SQL-escaped.
+  * @param int $expiration Time until expiration in seconds, default 0
+  * @return bool False if value was not set and true if value was set.
+  */
+ function set_site_transient( $transient, $value, $expiration = 0 ) {
+ 	global $_wp_using_ext_object_cache;
+ 
+ 	$value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
+ 
+ 	if ( $_wp_using_ext_object_cache ) {
+ 		$result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
+ 	} else {
+ 		$transient_timeout = '_site_transient_timeout_' . $transient;
+ 		$transient = '_site_transient_' . $transient;
+ 		if ( false === get_site_option( $transient ) ) {
+ 			if ( $expiration )
+ 				add_site_option( $transient_timeout, time() + $expiration );
+ 			$result = add_site_option( $transient, $value );
+ 		} else {
+ 			if ( $expiration )
+ 				update_site_option( $transient_timeout, time() + $expiration );
+ 			$result = update_site_option( $transient, $value );
+ 		}
+ 	}
+ 	if ( $result ) {
+ 		do_action( 'set_site_transient_' . $transient );
+ 		do_action( 'setted_site_transient', $transient );
+ 	}
+ 	return $result;
+ }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/pluggable.php ./wordpress-3.4/wp-includes/pluggable.php
*** ./wordpress-3.3.2/wp-includes/pluggable.php	2011-10-20 10:53:57.000000000 -0500
--- ./wordpress-3.4/wp-includes/pluggable.php	2012-05-02 14:29:39.000000000 -0500
***************
*** 27,38 ****
  function wp_set_current_user($id, $name = '') {
  	global $current_user;
  
! 	if ( isset($current_user) && ($id == $current_user->ID) )
  		return $current_user;
  
! 	$current_user = new WP_User($id, $name);
  
! 	setup_userdata($current_user->ID);
  
  	do_action('set_current_user');
  
--- 27,38 ----
  function wp_set_current_user($id, $name = '') {
  	global $current_user;
  
! 	if ( isset( $current_user ) && ( $current_user instanceof WP_User ) && ( $id == $current_user->ID ) )
  		return $current_user;
  
! 	$current_user = new WP_User( $id, $name );
  
! 	setup_userdata( $current_user->ID );
  
  	do_action('set_current_user');
  
***************
*** 74,93 ****
  function get_currentuserinfo() {
  	global $current_user;
  
! 	if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
  		return false;
  
! 	if ( ! empty($current_user) )
! 		return;
  
  	if ( ! $user = wp_validate_auth_cookie() ) {
! 		 if ( is_blog_admin() || is_network_admin() || empty($_COOKIE[LOGGED_IN_COOKIE]) || !$user = wp_validate_auth_cookie($_COOKIE[LOGGED_IN_COOKIE], 'logged_in') ) {
! 		 	wp_set_current_user(0);
  		 	return false;
  		 }
  	}
  
! 	wp_set_current_user($user);
  }
  endif;
  
--- 74,110 ----
  function get_currentuserinfo() {
  	global $current_user;
  
! 	if ( ! empty( $current_user ) ) {
! 		if ( $current_user instanceof WP_User )
! 			return;
! 
! 		// Upgrade stdClass to WP_User
! 		if ( is_object( $current_user ) && isset( $current_user->ID ) ) {
! 			$cur_id = $current_user->ID;
! 			$current_user = null;
! 			wp_set_current_user( $cur_id );
! 			return;
! 		}
! 
! 		// $current_user has a junk value. Force to WP_User with ID 0.
! 		$current_user = null;
! 		wp_set_current_user( 0 );
  		return false;
+ 	}
  
! 	if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST ) {
! 		wp_set_current_user( 0 );
! 		return false;
! 	}
  
  	if ( ! $user = wp_validate_auth_cookie() ) {
! 		 if ( is_blog_admin() || is_network_admin() || empty( $_COOKIE[LOGGED_IN_COOKIE] ) || !$user = wp_validate_auth_cookie( $_COOKIE[LOGGED_IN_COOKIE], 'logged_in' ) ) {
! 		 	wp_set_current_user( 0 );
  		 	return false;
  		 }
  	}
  
! 	wp_set_current_user( $user );
  }
  endif;
  
***************
*** 111,118 ****
   *
   * @since 2.8.0
   *
!  * @param string $field The field to retrieve the user with.  id | slug | email | login
!  * @param int|string $value A value for $field.  A user ID, slug, email address, or login name.
   * @return bool|object False on failure, WP_User object on success
   */
  function get_user_by( $field, $value ) {
--- 128,135 ----
   *
   * @since 2.8.0
   *
!  * @param string $field The field to retrieve the user with. id | slug | email | login
!  * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
   * @return bool|object False on failure, WP_User object on success
   */
  function get_user_by( $field, $value ) {
***************
*** 139,151 ****
  function cache_users( $user_ids ) {
  	global $wpdb;
  
! 	$clean = array();
! 	foreach ( $user_ids as $id ) {
! 		$id = (int) $id;
! 		if ( !wp_cache_get( $id, 'users' ) ) {
! 			$clean[] = $id;
! 		}
! 	}
  
  	if ( empty( $clean ) )
  		return;
--- 156,162 ----
  function cache_users( $user_ids ) {
  	global $wpdb;
  
! 	$clean = _get_non_cached_ids( $user_ids, 'users' );
  
  	if ( empty( $clean ) )
  		return;
***************
*** 715,721 ****
  function is_user_logged_in() {
  	$user = wp_get_current_user();
  
! 	if ( empty( $user->ID ) )
  		return false;
  
  	return true;
--- 726,732 ----
  function is_user_logged_in() {
  	$user = wp_get_current_user();
  
! 	if ( ! $user->exists() )
  		return false;
  
  	return true;
***************
*** 829,836 ****
  
  	$result = wp_verify_nonce( $nonce, $action );
  
! 	if ( $die && false == $result )
! 		die('-1');
  
  	do_action('check_ajax_referer', $action, $result);
  
--- 840,851 ----
  
  	$result = wp_verify_nonce( $nonce, $action );
  
! 	if ( $die && false == $result ) {
! 		if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
! 			wp_die( -1 );
! 		else
! 			die( '-1' );
! 	}
  
  	do_action('check_ajax_referer', $action, $result);
  
***************
*** 929,935 ****
   *		WordPress host string and $location host string.
   *
   * @param string $location The redirect to validate
!  * @param string $default The value to return is $location is not allowed
   * @return string redirect-sanitized URL
   **/
  function wp_validate_redirect($location, $default = '') {
--- 944,950 ----
   *		WordPress host string and $location host string.
   *
   * @param string $location The redirect to validate
!  * @param string $default The value to return if $location is not allowed
   * @return string redirect-sanitized URL
   **/
  function wp_validate_redirect($location, $default = '') {
***************
*** 1276,1383 ****
  
  if ( !function_exists('wp_salt') ) :
  /**
!  * Get salt to add to hashes to help prevent attacks.
   *
!  * The secret key is located in two places: the database in case the secret key
!  * isn't defined in the second place, which is in the wp-config.php file. If you
!  * are going to set the secret key, then you must do so in the wp-config.php
!  * file.
!  *
!  * The secret key in the database is randomly generated and will be appended to
!  * the secret key that is in wp-config.php file in some instances. It is
!  * important to have the secret key defined or changed in wp-config.php.
!  *
!  * If you have installed WordPress 2.5 or later, then you will have the
!  * SECRET_KEY defined in the wp-config.php already. You will want to change the
!  * value in it because hackers will know what it is. If you have upgraded to
!  * WordPress 2.5 or later version from a version before WordPress 2.5, then you
!  * should add the constant to your wp-config.php file.
!  *
!  * Below is an example of how the SECRET_KEY constant is defined with a value.
!  * You must not copy the below example and paste into your wp-config.php. If you
!  * need an example, then you can have a
!  * {@link https://api.wordpress.org/secret-key/1.1/ secret key created} for you.
   *
   * <code>
!  * define('SECRET_KEY', 'mAry1HadA15|\/|b17w55w1t3asSn09w');
   * </code>
   *
   * Salting passwords helps against tools which has stored hashed values of
!  * common dictionary strings. The added values makes it harder to crack if given
!  * salt string is not weak.
   *
   * @since 2.5
-  * @link https://api.wordpress.org/secret-key/1.1/ Create a Secret Key for wp-config.php
   *
!  * @param string $scheme Authentication scheme
   * @return string Salt value
   */
! function wp_salt($scheme = 'auth') {
! 	global $wp_default_secret_key;
! 	$secret_key = '';
! 	if ( defined('SECRET_KEY') && ('' != SECRET_KEY) && ( $wp_default_secret_key != SECRET_KEY) )
! 		$secret_key = SECRET_KEY;
! 
! 	if ( 'auth' == $scheme ) {
! 		if ( defined('AUTH_KEY') && ('' != AUTH_KEY) && ( $wp_default_secret_key != AUTH_KEY) )
! 			$secret_key = AUTH_KEY;
! 
! 		if ( defined('AUTH_SALT') && ('' != AUTH_SALT) && ( $wp_default_secret_key != AUTH_SALT) ) {
! 			$salt = AUTH_SALT;
! 		} elseif ( defined('SECRET_SALT') && ('' != SECRET_SALT) && ( $wp_default_secret_key != SECRET_SALT) ) {
! 			$salt = SECRET_SALT;
! 		} else {
! 			$salt = get_site_option('auth_salt');
! 			if ( empty($salt) ) {
! 				$salt = wp_generate_password( 64, true, true );
! 				update_site_option('auth_salt', $salt);
! 			}
! 		}
! 	} elseif ( 'secure_auth' == $scheme ) {
! 		if ( defined('SECURE_AUTH_KEY') && ('' != SECURE_AUTH_KEY) && ( $wp_default_secret_key != SECURE_AUTH_KEY) )
! 			$secret_key = SECURE_AUTH_KEY;
! 
! 		if ( defined('SECURE_AUTH_SALT') && ('' != SECURE_AUTH_SALT) && ( $wp_default_secret_key != SECURE_AUTH_SALT) ) {
! 			$salt = SECURE_AUTH_SALT;
! 		} else {
! 			$salt = get_site_option('secure_auth_salt');
! 			if ( empty($salt) ) {
! 				$salt = wp_generate_password( 64, true, true );
! 				update_site_option('secure_auth_salt', $salt);
  			}
  		}
! 	} elseif ( 'logged_in' == $scheme ) {
! 		if ( defined('LOGGED_IN_KEY') && ('' != LOGGED_IN_KEY) && ( $wp_default_secret_key != LOGGED_IN_KEY) )
! 			$secret_key = LOGGED_IN_KEY;
  
! 		if ( defined('LOGGED_IN_SALT') && ('' != LOGGED_IN_SALT) && ( $wp_default_secret_key != LOGGED_IN_SALT) ) {
! 			$salt = LOGGED_IN_SALT;
! 		} else {
! 			$salt = get_site_option('logged_in_salt');
! 			if ( empty($salt) ) {
! 				$salt = wp_generate_password( 64, true, true );
! 				update_site_option('logged_in_salt', $salt);
  			}
  		}
! 	} elseif ( 'nonce' == $scheme ) {
! 		if ( defined('NONCE_KEY') && ('' != NONCE_KEY) && ( $wp_default_secret_key != NONCE_KEY) )
! 			$secret_key = NONCE_KEY;
! 
! 		if ( defined('NONCE_SALT') && ('' != NONCE_SALT) && ( $wp_default_secret_key != NONCE_SALT) ) {
! 			$salt = NONCE_SALT;
! 		} else {
! 			$salt = get_site_option('nonce_salt');
! 			if ( empty($salt) ) {
! 				$salt = wp_generate_password( 64, true, true );
! 				update_site_option('nonce_salt', $salt);
  			}
  		}
! 	} else {
! 		// ensure each auth scheme has its own unique salt
! 		$salt = hash_hmac('md5', $scheme, $secret_key);
  	}
  
! 	return apply_filters('salt', $secret_key . $salt, $scheme);
  }
  endif;
  
--- 1291,1379 ----
  
  if ( !function_exists('wp_salt') ) :
  /**
!  * Get salt to add to hashes.
   *
!  * Salts are created using secret keys. Secret keys are located in two places:
!  * in the database and in the wp-config.php file. The secret key in the database
!  * is randomly generated and will be appended to the secret keys in wp-config.php.
!  *
!  * The secret keys in wp-config.php should be updated to strong, random keys to maximize
!  * security. Below is an example of how the secret key constants are defined.
!  * Do not paste this example directly into wp-config.php. Instead, have a
!  * {@link https://api.wordpress.org/secret-key/1.1/salt/ secret key created} just
!  * for you.
   *
   * <code>
!  * define('AUTH_KEY',         ' Xakm<o xQy rw4EMsLKM-?!T+,PFF})H4lzcW57AF0U@N@< >M%G4Yt>f`z]MON');
!  * define('SECURE_AUTH_KEY',  'LzJ}op]mr|6+![P}Ak:uNdJCJZd>(Hx.-Mh#Tz)pCIU#uGEnfFz|f ;;eU%/U^O~');
!  * define('LOGGED_IN_KEY',    '|i|Ux`9<p-h$aFf(qnT:sDO:D1P^wZ$$/Ra@miTJi9G;ddp_<q}6H1)o|a +&JCM');
!  * define('NONCE_KEY',        '%:R{[P|,s.KuMltH5}cI;/k<Gx~j!f0I)m_sIyu+&NJZ)-iO>z7X>QYR0Z_XnZ@|');
!  * define('AUTH_SALT',        'eZyT)-Naw]F8CwA*VaW#q*|.)g@o}||wf~@C-YSt}(dh_r6EbI#A,y|nU2{B#JBW');
!  * define('SECURE_AUTH_SALT', '!=oLUTXh,QW=H `}`L|9/^4-3 STz},T(w}W<I`.JjPi)<Bmf1v,HpGe}T1:Xt7n');
!  * define('LOGGED_IN_SALT',   '+XSqHc;@Q*K_b|Z?NC[3H!!EONbh.n<+=uKR:>*c(u`g~EJBf#8u#R{mUEZrozmm');
!  * define('NONCE_SALT',       'h`GXHhD>SLWVfg1(1(N{;.V!MoE(SfbA_ksP@&`+AycHcAV$+?@3q+rxV{%^VyKT');
   * </code>
   *
   * Salting passwords helps against tools which has stored hashed values of
!  * common dictionary strings. The added values makes it harder to crack.
   *
   * @since 2.5
   *
!  * @link https://api.wordpress.org/secret-key/1.1/salt/ Create secrets for wp-config.php
!  *
!  * @param string $scheme Authentication scheme (auth, secure_auth, logged_in, nonce)
   * @return string Salt value
   */
! function wp_salt( $scheme = 'auth' ) {
! 	static $cached_salts = array();
! 	if ( isset( $cached_salts[ $scheme ] ) )
! 		return apply_filters( 'salt', $cached_salts[ $scheme ], $scheme );
! 
! 	static $duplicated_keys;
! 	if ( null === $duplicated_keys ) {
! 		$duplicated_keys = array( 'put your unique phrase here' => true );
! 		foreach ( array( 'AUTH', 'SECURE_AUTH', 'LOGGED_IN', 'NONCE', 'SECRET' ) as $first ) {
! 			foreach ( array( 'KEY', 'SALT' ) as $second ) {
! 				if ( ! defined( "{$first}_{$second}" ) )
! 					continue;
! 				$value = constant( "{$first}_{$second}" );
! 				$duplicated_keys[ $value ] = isset( $duplicated_keys[ $value ] );
  			}
  		}
! 	}
  
! 	$key = $salt = '';
! 	if ( defined( 'SECRET_KEY' ) && SECRET_KEY && empty( $duplicated_keys[ SECRET_KEY ] ) )
! 		$key = SECRET_KEY;
! 	if ( 'auth' == $scheme && defined( 'SECRET_SALT' ) && SECRET_SALT && empty( $duplicated_keys[ SECRET_SALT ] ) )
! 		$salt = SECRET_SALT;
! 
! 	if ( in_array( $scheme, array( 'auth', 'secure_auth', 'logged_in', 'nonce' ) ) ) {
! 		foreach ( array( 'key', 'salt' ) as $type ) {
! 			$const = strtoupper( "{$scheme}_{$type}" );
! 			if ( defined( $const ) && constant( $const ) && empty( $duplicated_keys[ constant( $const ) ] ) ) {
! 				$$type = constant( $const );
! 			} elseif ( ! $$type ) {
! 				$$type = get_site_option( "{$scheme}_{$type}" );
! 				if ( ! $$type ) {
! 					$$type = wp_generate_password( 64, true, true );
! 					update_site_option( "{$scheme}_{$type}", $$type );
! 				}
  			}
  		}
! 	} else {
! 		if ( ! $key ) {
! 			$key = get_site_option( 'secret_key' );
! 			if ( ! $key ) {
! 				$key = wp_generate_password( 64, true, true );
! 				update_site_option( 'secret_key', $key );
  			}
  		}
! 		$salt = hash_hmac( 'md5', $scheme, $key );
  	}
  
! 	$cached_salts[ $scheme ] = $key . $salt;
! 	return apply_filters( 'salt', $cached_salts[ $scheme ], $scheme );
  }
  endif;
  
***************
*** 1418,1424 ****
  	if ( empty($wp_hasher) ) {
  		require_once( ABSPATH . 'wp-includes/class-phpass.php');
  		// By default, use the portable hash from phpass
! 		$wp_hasher = new PasswordHash(8, TRUE);
  	}
  
  	return $wp_hasher->HashPassword($password);
--- 1414,1420 ----
  	if ( empty($wp_hasher) ) {
  		require_once( ABSPATH . 'wp-includes/class-phpass.php');
  		// By default, use the portable hash from phpass
! 		$wp_hasher = new PasswordHash(8, true);
  	}
  
  	return $wp_hasher->HashPassword($password);
***************
*** 1466,1472 ****
  	if ( empty($wp_hasher) ) {
  		require_once( ABSPATH . 'wp-includes/class-phpass.php');
  		// By default, use the portable hash from phpass
! 		$wp_hasher = new PasswordHash(8, TRUE);
  	}
  
  	$check = $wp_hasher->CheckPassword($password, $hash);
--- 1462,1468 ----
  	if ( empty($wp_hasher) ) {
  		require_once( ABSPATH . 'wp-includes/class-phpass.php');
  		// By default, use the portable hash from phpass
! 		$wp_hasher = new PasswordHash(8, true);
  	}
  
  	$check = $wp_hasher->CheckPassword($password, $hash);
***************
*** 1629,1635 ****
  	}
  
  	if ( !empty($email) )
! 		$email_hash = md5( strtolower( $email ) );
  
  	if ( is_ssl() ) {
  		$host = 'https://secure.gravatar.com';
--- 1625,1631 ----
  	}
  
  	if ( !empty($email) )
! 		$email_hash = md5( strtolower( trim( $email ) ) );
  
  	if ( is_ssl() ) {
  		$host = 'https://secure.gravatar.com';
***************
*** 1647,1653 ****
  	elseif ( !empty($email) && 'gravatar_default' == $default )
  		$default = '';
  	elseif ( 'gravatar_default' == $default )
! 		$default = "$host/avatar/s={$size}";
  	elseif ( empty($email) )
  		$default = "$host/avatar/?d=$default&amp;s={$size}";
  	elseif ( strpos($default, 'http://') === 0 )
--- 1643,1649 ----
  	elseif ( !empty($email) && 'gravatar_default' == $default )
  		$default = '';
  	elseif ( 'gravatar_default' == $default )
! 		$default = "$host/avatar/?s={$size}";
  	elseif ( empty($email) )
  		$default = "$host/avatar/?d=$default&amp;s={$size}";
  	elseif ( strpos($default, 'http://') === 0 )
***************
*** 1709,1716 ****
  	$left_string  = normalize_whitespace($left_string);
  	$right_string = normalize_whitespace($right_string);
  
! 	$left_lines  = split("\n", $left_string);
! 	$right_lines = split("\n", $right_string);
  
  	$text_diff = new Text_Diff($left_lines, $right_lines);
  	$renderer  = new WP_Text_Diff_Renderer_Table();
--- 1705,1712 ----
  	$left_string  = normalize_whitespace($left_string);
  	$right_string = normalize_whitespace($right_string);
  
! 	$left_lines  = explode("\n", $left_string);
! 	$right_lines = explode("\n", $right_string);
  
  	$text_diff = new Text_Diff($left_lines, $right_lines);
  	$renderer  = new WP_Text_Diff_Renderer_Table();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/plugin.php ./wordpress-3.4/wp-includes/plugin.php
*** ./wordpress-3.3.2/wp-includes/plugin.php	2011-11-21 09:43:57.000000000 -0600
--- ./wordpress-3.4/wp-includes/plugin.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 80,86 ****
   * @global array $wp_filter Stores all of the filters
   *
   * @param string $tag The name of the filter hook.
!  * @param callback $function_to_check optional.  If specified, return the priority of that function on this hook or false if not attached.
   * @return int|boolean Optionally returns the priority on that hook for the specified function.
   */
  function has_filter($tag, $function_to_check = false) {
--- 80,86 ----
   * @global array $wp_filter Stores all of the filters
   *
   * @param string $tag The name of the filter hook.
!  * @param callback $function_to_check optional. If specified, return the priority of that function on this hook or false if not attached.
   * @return int|boolean Optionally returns the priority on that hook for the specified function.
   */
  function has_filter($tag, $function_to_check = false) {
***************
*** 499,505 ****
   * @see has_filter() has_action() is an alias of has_filter().
   *
   * @param string $tag The name of the action hook.
!  * @param callback $function_to_check optional.  If specified, return the priority of that function on this hook or false if not attached.
   * @return int|boolean Optionally returns the priority on that hook for the specified function.
   */
  function has_action($tag, $function_to_check = false) {
--- 497,503 ----
   * @see has_filter() has_action() is an alias of has_filter().
   *
   * @param string $tag The name of the action hook.
!  * @param callback $function_to_check optional. If specified, return the priority of that function on this hook or false if not attached.
   * @return int|boolean Optionally returns the priority on that hook for the specified function.
   */
  function has_action($tag, $function_to_check = false) {
***************
*** 744,750 ****
   * @global array $wp_filter Storage for all of the filters and actions
   * @param string $tag Used in counting how many hooks were applied
   * @param callback $function Used for creating unique id
!  * @param int|bool $priority Used in counting how many hooks were applied.  If === false and $function is an object reference, we return the unique id only if it already has one, false otherwise.
   * @return string|bool Unique ID for usage as array key or false if $priority === false and $function is an object reference, and it does not already have a unique id.
   */
  function _wp_filter_build_unique_id($tag, $function, $priority) {
--- 742,748 ----
   * @global array $wp_filter Storage for all of the filters and actions
   * @param string $tag Used in counting how many hooks were applied
   * @param callback $function Used for creating unique id
!  * @param int|bool $priority Used in counting how many hooks were applied. If === false and $function is an object reference, we return the unique id only if it already has one, false otherwise.
   * @return string|bool Unique ID for usage as array key or false if $priority === false and $function is an object reference, and it does not already have a unique id.
   */
  function _wp_filter_build_unique_id($tag, $function, $priority) {
***************
*** 784,788 ****
  		return $function[0].$function[1];
  	}
  }
- 
- ?>
--- 782,784 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/post.php ./wordpress-3.4/wp-includes/post.php
*** ./wordpress-3.3.2/wp-includes/post.php	2011-11-23 18:20:21.000000000 -0600
--- ./wordpress-3.4/wp-includes/post.php	2012-05-13 02:41:47.000000000 -0500
***************
*** 29,34 ****
--- 29,35 ----
  		'hierarchical' => false,
  		'rewrite' => false,
  		'query_var' => false,
+ 		'delete_with_user' => true,
  		'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
  	) );
  
***************
*** 45,50 ****
--- 46,52 ----
  		'hierarchical' => true,
  		'rewrite' => false,
  		'query_var' => false,
+ 		'delete_with_user' => true,
  		'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes', 'custom-fields', 'comments', 'revisions' ),
  	) );
  
***************
*** 63,69 ****
  		'rewrite' => false,
  		'query_var' => false,
  		'show_in_nav_menus' => false,
! 		'supports' => array( 'comments' ),
  	) );
  
  	register_post_type( 'revision', array(
--- 65,72 ----
  		'rewrite' => false,
  		'query_var' => false,
  		'show_in_nav_menus' => false,
! 		'delete_with_user' => true,
! 		'supports' => array( 'comments', 'author' ),
  	) );
  
  	register_post_type( 'revision', array(
***************
*** 80,85 ****
--- 83,90 ----
  		'rewrite' => false,
  		'query_var' => false,
  		'can_export' => false,
+ 		'delete_with_user' => true,
+ 		'supports' => array( 'author' ),
  	) );
  
  	register_post_type( 'nav_menu_item', array(
***************
*** 91,96 ****
--- 96,102 ----
  		'_builtin' => true, /* internal use only. don't use this when registering your own post type. */
  		'hierarchical' => false,
  		'rewrite' => false,
+ 		'delete_with_user' => false,
  		'query_var' => false,
  	) );
  
***************
*** 168,179 ****
   *
   * @param int $attachment_id Attachment ID.
   * @param bool $unfiltered Whether to apply filters.
!  * @return string The file path to the attached file.
   */
  function get_attached_file( $attachment_id, $unfiltered = false ) {
  	$file = get_post_meta( $attachment_id, '_wp_attached_file', true );
  	// If the file is relative, prepend upload dir
! 	if ( 0 !== strpos($file, '/') && !preg_match('|^.:\\\|', $file) && ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) )
  		$file = $uploads['basedir'] . "/$file";
  	if ( $unfiltered )
  		return $file;
--- 174,185 ----
   *
   * @param int $attachment_id Attachment ID.
   * @param bool $unfiltered Whether to apply filters.
!  * @return string|bool The file path to the attached file, or false if the attachment does not exist.
   */
  function get_attached_file( $attachment_id, $unfiltered = false ) {
  	$file = get_post_meta( $attachment_id, '_wp_attached_file', true );
  	// If the file is relative, prepend upload dir
! 	if ( $file && 0 !== strpos($file, '/') && !preg_match('|^.:\\\|', $file) && ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) )
  		$file = $uploads['basedir'] . "/$file";
  	if ( $unfiltered )
  		return $file;
***************
*** 328,356 ****
   * 'more'. There can be text or space(s) after the word 'more', but won't be
   * referenced.
   *
!  * The returned array has 'main' and 'extended' keys. Main has the text before
   * the <code><!--more--></code>. The 'extended' key has the content after the
!  * <code><!--more--></code> comment.
   *
   * @since 1.0.0
   *
   * @param string $post Post content.
!  * @return array Post before ('main') and after ('extended').
   */
  function get_extended($post) {
  	//Match the new style more links
  	if ( preg_match('/<!--more(.*?)?-->/', $post, $matches) ) {
  		list($main, $extended) = explode($matches[0], $post, 2);
  	} else {
  		$main = $post;
  		$extended = '';
  	}
  
  	// Strip leading and trailing whitespace
  	$main = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $main);
  	$extended = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $extended);
  
! 	return array('main' => $main, 'extended' => $extended);
  }
  
  /**
--- 334,365 ----
   * 'more'. There can be text or space(s) after the word 'more', but won't be
   * referenced.
   *
!  * The returned array has 'main', 'extended', and 'more_text' keys. Main has the text before
   * the <code><!--more--></code>. The 'extended' key has the content after the
!  * <code><!--more--></code> comment. The 'more_text' key has the custom "Read More" text.
   *
   * @since 1.0.0
   *
   * @param string $post Post content.
!  * @return array Post before ('main'), after ('extended'), and custom readmore ('more_text').
   */
  function get_extended($post) {
  	//Match the new style more links
  	if ( preg_match('/<!--more(.*?)?-->/', $post, $matches) ) {
  		list($main, $extended) = explode($matches[0], $post, 2);
+ 		$more_text = $matches[1];
  	} else {
  		$main = $post;
  		$extended = '';
+ 		$more_text = '';
  	}
  
  	// Strip leading and trailing whitespace
  	$main = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $main);
  	$extended = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $extended);
+ 	$more_text = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $more_text);
  
! 	return array( 'main' => $main, 'extended' => $extended, 'more_text' => $more_text );
  }
  
  /**
***************
*** 427,433 ****
  function get_post_ancestors($post) {
  	$post = get_post($post);
  
! 	if ( !empty($post->ancestors) )
  		return $post->ancestors;
  
  	return array();
--- 436,445 ----
  function get_post_ancestors($post) {
  	$post = get_post($post);
  
! 	if ( ! isset( $post->ancestors ) )
! 		_get_post_ancestors( $post );
! 
! 	if ( ! empty( $post->ancestors ) )
  		return $post->ancestors;
  
  	return array();
***************
*** 493,499 ****
   *
   * @param int|object $post A post
   *
!  * @return mixed The format if successful. False if no format is set.  WP_Error if errors.
   */
  function get_post_format( $post = null ) {
  	$post = get_post($post);
--- 505,511 ----
   *
   * @param int|object $post A post
   *
!  * @return mixed The format if successful. False if no format is set. WP_Error if errors.
   */
  function get_post_format( $post = null ) {
  	$post = get_post($post);
***************
*** 531,537 ****
   * @since 3.1.0
   *
   * @param int|object $post The post for which to assign a format
!  * @param string $format  A format to assign.  Use an empty string or array to remove all formats from the post.
   * @return mixed WP_Error on error. Array of affected term IDs on success.
   */
  function set_post_format( $post, $format ) {
--- 543,549 ----
   * @since 3.1.0
   *
   * @param int|object $post The post for which to assign a format
!  * @param string $format  A format to assign. Use an empty string or array to remove all formats from the post.
   * @return mixed WP_Error on error. Array of affected term IDs on success.
   */
  function set_post_format( $post, $format ) {
***************
*** 626,632 ****
  }
  
  /**
!  * Register a post type. Do not use before init.
   *
   * A simple function for creating or modifying a post status based on the
   * parameters given. The function will accept an array (second optional
--- 638,644 ----
  }
  
  /**
!  * Register a post status. Do not use before init.
   *
   * A simple function for creating or modifying a post status based on the
   * parameters given. The function will accept an array (second optional
***************
*** 743,749 ****
   * @param string $output The type of output to return, either post status 'names' or 'objects'. 'names' is the default.
   * @param string $operator The logical operation to perform. 'or' means only one element
   *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
!  * @return array A list of post type names or objects
   */
  function get_post_stati( $args = array(), $output = 'names', $operator = 'and' ) {
  	global $wp_post_statuses;
--- 755,761 ----
   * @param string $output The type of output to return, either post status 'names' or 'objects'. 'names' is the default.
   * @param string $operator The logical operation to perform. 'or' means only one element
   *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
!  * @return array A list of post status names or objects
   */
  function get_post_stati( $args = array(), $output = 'names', $operator = 'and' ) {
  	global $wp_post_statuses;
***************
*** 864,916 ****
   * Optional $args contents:
   *
   * - label - Name of the post type shown in the menu. Usually plural. If not set, labels['name'] will be used.
   * - description - A short descriptive summary of what the post type is. Defaults to blank.
!  * - public - Whether posts of this type should be shown in the admin UI. Defaults to false.
!  * - exclude_from_search - Whether to exclude posts with this post type from search results.
!  *     Defaults to true if the type is not public, false if the type is public.
!  * - publicly_queryable - Whether post_type queries can be performed from the front page.
!  *     Defaults to whatever public is set as.
!  * - show_ui - Whether to generate a default UI for managing this post type. Defaults to true
!  *     if the type is public, false if the type is not public.
!  * - show_in_menu - Where to show the post type in the admin menu. True for a top level menu,
!  *     false for no menu, or can be a top level page like 'tools.php' or 'edit.php?post_type=page'.
!  *     show_ui must be true.
!  * - menu_position - The position in the menu order the post type should appear. Defaults to the bottom.
   * - menu_icon - The url to the icon to be used for this menu. Defaults to use the posts icon.
   * - capability_type - The string to use to build the read, edit, and delete capabilities. Defaults to 'post'.
!  *   May be passed as an array to allow for alternative plurals when using this argument as a base to construct the
!  *   capabilities, e.g. array('story', 'stories').
!  * - capabilities - Array of capabilities for this post type. By default the capability_type is used
!  *      as a base to construct capabilities. You can see accepted values in {@link get_post_type_capabilities()}.
   * - map_meta_cap - Whether to use the internal default meta capability handling. Defaults to false.
!  * - hierarchical - Whether the post type is hierarchical. Defaults to false.
!  * - supports - An alias for calling add_post_type_support() directly. See {@link add_post_type_support()}
!  *     for documentation. Defaults to none.
   * - register_meta_box_cb - Provide a callback function that will be called when setting up the
!  *     meta boxes for the edit form.  Do remove_meta_box() and add_meta_box() calls in the callback.
   * - taxonomies - An array of taxonomy identifiers that will be registered for the post type.
!  *     Default is no taxonomies. Taxonomies can be registered later with register_taxonomy() or
!  *     register_taxonomy_for_object_type().
!  * - labels - An array of labels for this post type. By default post labels are used for non-hierarchical
!  *     types and page labels for hierarchical ones. You can see accepted values in {@link get_post_type_labels()}.
!  * - permalink_epmask - The default rewrite endpoint bitmasks.
!  * - has_archive - True to enable post type archives. Will generate the proper rewrite rules if rewrite is enabled.
!  * - rewrite - false to prevent rewrite. Defaults to true. Use array('slug'=>$slug) to customize permastruct;
!  *     default will use $post_type as slug. Other options include 'with_front', 'feeds', and 'pages'.
!  * - query_var - false to prevent queries, or string to value of the query var to use for this post type
!  * - can_export - true allows this post type to be exported.
!  * - show_in_nav_menus - true makes this post type available for selection in navigation menus.
   * - _builtin - true if this post type is a native or "built-in" post_type. THIS IS FOR INTERNAL USE ONLY!
   * - _edit_link - URL segement to use for edit link of this post type. THIS IS FOR INTERNAL USE ONLY!
   *
   * @since 2.9.0
   * @uses $wp_post_types Inserts new post type object into the list
   *
!  * @param string $post_type Name of the post type.
!  * @param array|string $args See above description.
   * @return object|WP_Error the registered post type object, or an error object
   */
! function register_post_type($post_type, $args = array()) {
  	global $wp_post_types, $wp_rewrite, $wp;
  
  	if ( !is_array($wp_post_types) )
--- 876,959 ----
   * Optional $args contents:
   *
   * - label - Name of the post type shown in the menu. Usually plural. If not set, labels['name'] will be used.
+  * - labels - An array of labels for this post type.
+  *     * If not set, post labels are inherited for non-hierarchical types and page labels for hierarchical ones.
+  *     * You can see accepted values in {@link get_post_type_labels()}.
   * - description - A short descriptive summary of what the post type is. Defaults to blank.
!  * - public - Whether a post type is intended for use publicly either via the admin interface or by front-end users.
!  *     * Defaults to false.
!  *     * While the default settings of exclude_from_search, publicly_queryable, show_ui, and show_in_nav_menus are
!  *       inherited from public, each does not rely on this relationship and controls a very specific intention.
!  * - exclude_from_search - Whether to exclude posts with this post type from front end search results.
!  *     * If not set, the the opposite of public's current value is used.
!  * - publicly_queryable - Whether queries can be performed on the front end for the post type as part of parse_request().
!  *     * ?post_type={post_type_key}
!  *     * ?{post_type_key}={single_post_slug}
!  *     * ?{post_type_query_var}={single_post_slug}
!  *     * If not set, the default is inherited from public.
!  * - show_ui - Whether to generate a default UI for managing this post type in the admin.
!  *     * If not set, the default is inherited from public.
!  * - show_in_nav_menus - Makes this post type available for selection in navigation menus.
!  *     * If not set, the default is inherited from public.
!  * - show_in_menu - Where to show the post type in the admin menu.
!  *     * If true, the post type is shown in its own top level menu.
!  *     * If false, no menu is shown
!  *     * If a string of an existing top level menu (eg. 'tools.php' or 'edit.php?post_type=page'), the post type will
!  *       be placed as a sub menu of that.
!  *     * show_ui must be true.
!  *     * If not set, the default is inherited from show_ui
!  * - show_in_admin_bar - Makes this post type available via the admin bar.
!  *     * If not set, the default is inherited from show_in_menu
!  * - menu_position - The position in the menu order the post type should appear.
!  *     * show_in_menu must be true
!  *     * Defaults to null, which places it at the bottom of its area.
   * - menu_icon - The url to the icon to be used for this menu. Defaults to use the posts icon.
   * - capability_type - The string to use to build the read, edit, and delete capabilities. Defaults to 'post'.
!  *     * May be passed as an array to allow for alternative plurals when using this argument as a base to construct the
!  *       capabilities, e.g. array('story', 'stories').
!  * - capabilities - Array of capabilities for this post type.
!  *     * By default the capability_type is used as a base to construct capabilities.
!  *     * You can see accepted values in {@link get_post_type_capabilities()}.
   * - map_meta_cap - Whether to use the internal default meta capability handling. Defaults to false.
!  * - hierarchical - Whether the post type is hierarchical (e.g. page). Defaults to false.
!  * - supports - An alias for calling add_post_type_support() directly. Defaults to title and editor.
!  *     * See {@link add_post_type_support()} for documentation.
   * - register_meta_box_cb - Provide a callback function that will be called when setting up the
!  *     meta boxes for the edit form. Do remove_meta_box() and add_meta_box() calls in the callback.
   * - taxonomies - An array of taxonomy identifiers that will be registered for the post type.
!  *     * Default is no taxonomies.
!  *     * Taxonomies can be registered later with register_taxonomy() or register_taxonomy_for_object_type().
!  * - has_archive - True to enable post type archives. Default is false.
!  *     * Will generate the proper rewrite rules if rewrite is enabled.
!  * - rewrite - Triggers the handling of rewrites for this post type. Defaults to true, using $post_type as slug.
!  *     * To prevent rewrite, set to false.
!  *     * To specify rewrite rules, an array can be passed with any of these keys
!  *         * 'slug' => string Customize the permastruct slug. Defaults to $post_type key
!  *         * 'with_front' => bool Should the permastruct be prepended with WP_Rewrite::$front. Defaults to true.
!  *         * 'feeds' => bool Should a feed permastruct be built for this post type. Inherits default from has_archive.
!  *         * 'pages' => bool Should the permastruct provide for pagination. Defaults to true.
!  *         * 'ep_mask' => const Assign an endpoint mask.
!  *             * If not specified and permalink_epmask is set, inherits from permalink_epmask.
!  *             * If not specified and permalink_epmask is not set, defaults to EP_PERMALINK
!  * - query_var - Sets the query_var key for this post type. Defaults to $post_type key
!  *     * If false, a post type cannot be loaded at ?{query_var}={post_slug}
!  *     * If specified as a string, the query ?{query_var_string}={post_slug} will be valid.
!  * - can_export - Allows this post type to be exported. Defaults to true.
!  * - delete_with_user - Whether to delete posts of this type when deleting a user.
!  *     * If true, posts of this type belonging to the user will be moved to trash when then user is deleted.
!  *     * If false, posts of this type belonging to the user will *not* be trashed or deleted.
!  *     * If not set (the default), posts are trashed if post_type_supports('author'). Otherwise posts are not trashed or deleted.
   * - _builtin - true if this post type is a native or "built-in" post_type. THIS IS FOR INTERNAL USE ONLY!
   * - _edit_link - URL segement to use for edit link of this post type. THIS IS FOR INTERNAL USE ONLY!
   *
   * @since 2.9.0
   * @uses $wp_post_types Inserts new post type object into the list
   *
!  * @param string $post_type Post type key, must not exceed 20 characters
!  * @param array|string $args See optional args description above.
   * @return object|WP_Error the registered post type object, or an error object
   */
! function register_post_type( $post_type, $args = array() ) {
  	global $wp_post_types, $wp_rewrite, $wp;
  
  	if ( !is_array($wp_post_types) )
***************
*** 924,931 ****
  		'public' => false, 'rewrite' => true, 'has_archive' => false, 'query_var' => true,
  		'supports' => array(), 'register_meta_box_cb' => null,
  		'taxonomies' => array(), 'show_ui' => null, 'menu_position' => null, 'menu_icon' => null,
! 		'permalink_epmask' => EP_PERMALINK, 'can_export' => true,
  		'show_in_nav_menus' => null, 'show_in_menu' => null, 'show_in_admin_bar' => null,
  	);
  	$args = wp_parse_args($args, $defaults);
  	$args = (object) $args;
--- 967,975 ----
  		'public' => false, 'rewrite' => true, 'has_archive' => false, 'query_var' => true,
  		'supports' => array(), 'register_meta_box_cb' => null,
  		'taxonomies' => array(), 'show_ui' => null, 'menu_position' => null, 'menu_icon' => null,
! 		'can_export' => true,
  		'show_in_nav_menus' => null, 'show_in_menu' => null, 'show_in_admin_bar' => null,
+ 		'delete_with_user' => null,
  	);
  	$args = wp_parse_args($args, $defaults);
  	$args = (object) $args;
***************
*** 952,958 ****
  	if ( null === $args->show_in_admin_bar )
  		$args->show_in_admin_bar = true === $args->show_in_menu;
  
! 	// Whether to show this type in nav-menus.php.  Defaults to the setting for public.
  	if ( null === $args->show_in_nav_menus )
  		$args->show_in_nav_menus = $args->public;
  
--- 996,1002 ----
  	if ( null === $args->show_in_admin_bar )
  		$args->show_in_admin_bar = true === $args->show_in_menu;
  
! 	// Whether to show this type in nav-menus.php. Defaults to the setting for public.
  	if ( null === $args->show_in_nav_menus )
  		$args->show_in_nav_menus = $args->public;
  
***************
*** 999,1009 ****
  			$args->rewrite['pages'] = true;
  		if ( ! isset( $args->rewrite['feeds'] ) || ! $args->has_archive )
  			$args->rewrite['feeds'] = (bool) $args->has_archive;
  
  		if ( $args->hierarchical )
! 			$wp_rewrite->add_rewrite_tag("%$post_type%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=");
  		else
! 			$wp_rewrite->add_rewrite_tag("%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=");
  
  		if ( $args->has_archive ) {
  			$archive_slug = $args->has_archive === true ? $args->rewrite['slug'] : $args->has_archive;
--- 1043,1059 ----
  			$args->rewrite['pages'] = true;
  		if ( ! isset( $args->rewrite['feeds'] ) || ! $args->has_archive )
  			$args->rewrite['feeds'] = (bool) $args->has_archive;
+ 		if ( ! isset( $args->rewrite['ep_mask'] ) ) {
+ 			if ( isset( $args->permalink_epmask ) )
+ 				$args->rewrite['ep_mask'] = $args->permalink_epmask;
+ 			else
+ 				$args->rewrite['ep_mask'] = EP_PERMALINK;
+ 		}
  
  		if ( $args->hierarchical )
! 			add_rewrite_tag("%$post_type%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=");
  		else
! 			add_rewrite_tag("%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=");
  
  		if ( $args->has_archive ) {
  			$archive_slug = $args->has_archive === true ? $args->rewrite['slug'] : $args->has_archive;
***************
*** 1012,1028 ****
  			else
  				$archive_slug = $wp_rewrite->root . $archive_slug;
  
! 			$wp_rewrite->add_rule( "{$archive_slug}/?$", "index.php?post_type=$post_type", 'top' );
  			if ( $args->rewrite['feeds'] && $wp_rewrite->feeds ) {
  				$feeds = '(' . trim( implode( '|', $wp_rewrite->feeds ) ) . ')';
! 				$wp_rewrite->add_rule( "{$archive_slug}/feed/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' );
! 				$wp_rewrite->add_rule( "{$archive_slug}/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' );
  			}
  			if ( $args->rewrite['pages'] )
! 				$wp_rewrite->add_rule( "{$archive_slug}/{$wp_rewrite->pagination_base}/([0-9]{1,})/?$", "index.php?post_type=$post_type" . '&paged=$matches[1]', 'top' );
  		}
  
! 		$wp_rewrite->add_permastruct($post_type, "{$args->rewrite['slug']}/%$post_type%", $args->rewrite['with_front'], $args->permalink_epmask);
  	}
  
  	if ( $args->register_meta_box_cb )
--- 1062,1078 ----
  			else
  				$archive_slug = $wp_rewrite->root . $archive_slug;
  
! 			add_rewrite_rule( "{$archive_slug}/?$", "index.php?post_type=$post_type", 'top' );
  			if ( $args->rewrite['feeds'] && $wp_rewrite->feeds ) {
  				$feeds = '(' . trim( implode( '|', $wp_rewrite->feeds ) ) . ')';
! 				add_rewrite_rule( "{$archive_slug}/feed/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' );
! 				add_rewrite_rule( "{$archive_slug}/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' );
  			}
  			if ( $args->rewrite['pages'] )
! 				add_rewrite_rule( "{$archive_slug}/{$wp_rewrite->pagination_base}/([0-9]{1,})/?$", "index.php?post_type=$post_type" . '&paged=$matches[1]', 'top' );
  		}
  
! 		add_permastruct( $post_type, "{$args->rewrite['slug']}/%$post_type%", $args->rewrite );
  	}
  
  	if ( $args->register_meta_box_cb )
***************
*** 1070,1076 ****
   *   behave like edit_posts.
   * - publish_posts - Controls publishing objects of this post type.
   * - read_private_posts - Controls whether private objects can be read.
! 
   * These four primitive capabilities are checked in core in various locations.
   * There are also seven other primitive capabilities which are not referenced
   * directly in core, except in map_meta_cap(), which takes the three aforementioned
--- 1120,1126 ----
   *   behave like edit_posts.
   * - publish_posts - Controls publishing objects of this post type.
   * - read_private_posts - Controls whether private objects can be read.
!  *
   * These four primitive capabilities are checked in core in various locations.
   * There are also seven other primitive capabilities which are not referenced
   * directly in core, except in map_meta_cap(), which takes the three aforementioned
***************
*** 1289,1294 ****
--- 1339,1361 ----
  }
  
  /**
+  * Get all the post type features
+  *
+  * @since 3.4.0
+  * @param string $post_type The post type
+  * @return array
+  */
+ 
+ function get_all_post_type_supports( $post_type ) {
+ 	global $_wp_post_type_features;
+ 
+ 	if ( isset( $_wp_post_type_features[$post_type] ) )
+ 		return $_wp_post_type_features[$post_type];
+ 
+ 	return array();
+ }
+ 
+ /**
   * Checks a post type's support for a given feature
   *
   * @since 3.0.0
***************
*** 1331,1342 ****
  	global $wpdb;
  
  	$post_type = sanitize_post_field('post_type', $post_type, $post_id, 'db');
! 	$return = $wpdb->update($wpdb->posts, array('post_type' => $post_type), array('ID' => $post_id) );
  
! 	if ( 'page' == $post_type )
! 		clean_page_cache($post_id);
! 	else
! 		clean_post_cache($post_id);
  
  	return $return;
  }
--- 1398,1406 ----
  	global $wpdb;
  
  	$post_type = sanitize_post_field('post_type', $post_type, $post_id, 'db');
! 	$return = $wpdb->update( $wpdb->posts, array('post_type' => $post_type), array('ID' => $post_id) );
  
! 	clean_post_cache( $post_id );
  
  	return $return;
  }
***************
*** 1457,1468 ****
   * @link http://codex.wordpress.org/Function_Reference/get_post_meta
   *
   * @param int $post_id Post ID.
!  * @param string $key The meta key to retrieve.
   * @param bool $single Whether to return a single value.
   * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
   *  is true.
   */
! function get_post_meta($post_id, $key, $single = false) {
  	return get_metadata('post', $post_id, $key, $single);
  }
  
--- 1521,1532 ----
   * @link http://codex.wordpress.org/Function_Reference/get_post_meta
   *
   * @param int $post_id Post ID.
!  * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
   * @param bool $single Whether to return a single value.
   * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
   *  is true.
   */
! function get_post_meta($post_id, $key = '', $single = false) {
  	return get_metadata('post', $post_id, $key, $single);
  }
  
***************
*** 1508,1523 ****
  /**
   * Retrieve post meta fields, based on post ID.
   *
!  * The post meta fields are retrieved from the cache, so the function is
!  * optimized to be called more than once. It also applies to the functions, that
!  * use this function.
   *
   * @since 1.2.0
   * @link http://codex.wordpress.org/Function_Reference/get_post_custom
   *
!  * @uses $id Current Loop Post ID
!  *
!  * @param int $post_id post ID
   * @return array
   */
  function get_post_custom( $post_id = 0 ) {
--- 1572,1584 ----
  /**
   * Retrieve post meta fields, based on post ID.
   *
!  * The post meta fields are retrieved from the cache where possible,
!  * so the function is optimized to be called more than once.
   *
   * @since 1.2.0
   * @link http://codex.wordpress.org/Function_Reference/get_post_custom
   *
!  * @param int $post_id Post ID.
   * @return array
   */
  function get_post_custom( $post_id = 0 ) {
***************
*** 1526,1535 ****
  	if ( ! $post_id )
  		$post_id = get_the_ID();
  
! 	if ( ! wp_cache_get( $post_id, 'post_meta' ) )
! 		update_postmeta_cache( $post_id );
! 
! 	return wp_cache_get( $post_id, 'post_meta' );
  }
  
  /**
--- 1586,1592 ----
  	if ( ! $post_id )
  		$post_id = get_the_ID();
  
! 	return get_post_meta( $post_id );
  }
  
  /**
***************
*** 1964,1970 ****
   * @return mixed False on failure
   */
  function wp_delete_post( $postid = 0, $force_delete = false ) {
! 	global $wpdb, $wp_rewrite;
  
  	if ( !$post = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->posts WHERE ID = %d", $postid)) )
  		return $post;
--- 2020,2026 ----
   * @return mixed False on failure
   */
  function wp_delete_post( $postid = 0, $force_delete = false ) {
! 	global $wpdb;
  
  	if ( !$post = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->posts WHERE ID = %d", $postid)) )
  		return $post;
***************
*** 1985,1990 ****
--- 2041,2054 ----
  	$parent_data = array( 'post_parent' => $post->post_parent );
  	$parent_where = array( 'post_parent' => $postid );
  
+ 	if ( is_post_type_hierarchical( $post->post_type ) ) {
+ 		// Point children of this page to its parent, also clean the cache of affected children
+ 		$children_query = $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE post_parent = %d AND post_type = %s", $postid, $post->post_type );
+ 		$children = $wpdb->get_results( $children_query );
+ 
+ 		$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => $post->post_type ) );
+ 	}
+ 
  	if ( 'page' == $post->post_type) {
  	 	// if the page is defined in option page_on_front or post_for_posts,
  		// adjust the corresponding options
***************
*** 1995,2013 ****
  		if ( get_option('page_for_posts') == $postid ) {
  			delete_option('page_for_posts');
  		}
- 
- 		// Point children of this page to its parent, also clean the cache of affected children
- 		$children_query = $wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_parent = %d AND post_type='page'", $postid);
- 		$children = $wpdb->get_results($children_query);
- 
- 		$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => 'page' ) );
  	} else {
  		unstick_post($postid);
  	}
  
! 	// Do raw query.  wp_get_post_revisions() is filtered
  	$revision_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'revision'", $postid ) );
! 	// Use wp_delete_post (via wp_delete_post_revision) again.  Ensures any meta/misplaced data gets cleaned up.
  	foreach ( $revision_ids as $revision_id )
  		wp_delete_post_revision( $revision_id );
  
--- 2059,2071 ----
  		if ( get_option('page_for_posts') == $postid ) {
  			delete_option('page_for_posts');
  		}
  	} else {
  		unstick_post($postid);
  	}
  
! 	// Do raw query. wp_get_post_revisions() is filtered
  	$revision_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'revision'", $postid ) );
! 	// Use wp_delete_post (via wp_delete_post_revision) again. Ensures any meta/misplaced data gets cleaned up.
  	foreach ( $revision_ids as $revision_id )
  		wp_delete_post_revision( $revision_id );
  
***************
*** 2015,2048 ****
  	$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => 'attachment' ) );
  
  	$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $postid ));
! 	if ( ! empty($comment_ids) ) {
! 		do_action( 'delete_comment', $comment_ids );
! 		foreach ( $comment_ids as $comment_id )
! 			wp_delete_comment( $comment_id, true );
! 		do_action( 'deleted_comment', $comment_ids );
! 	}
  
  	$post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $postid ));
! 	if ( !empty($post_meta_ids) ) {
! 		do_action( 'delete_postmeta', $post_meta_ids );
! 		$in_post_meta_ids = "'" . implode("', '", $post_meta_ids) . "'";
! 		$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_id IN($in_post_meta_ids)" );
! 		do_action( 'deleted_postmeta', $post_meta_ids );
! 	}
  
  	do_action( 'delete_post', $postid );
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->posts WHERE ID = %d", $postid ));
  	do_action( 'deleted_post', $postid );
  
! 	if ( 'page' == $post->post_type ) {
! 		clean_page_cache($postid);
  
  		foreach ( (array) $children as $child )
! 			clean_page_cache($child->ID);
! 
! 		$wp_rewrite->flush_rules(false);
! 	} else {
! 		clean_post_cache($postid);
  	}
  
  	wp_clear_scheduled_hook('publish_future_post', array( $postid ) );
--- 2073,2094 ----
  	$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => 'attachment' ) );
  
  	$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $postid ));
! 	foreach ( $comment_ids as $comment_id )
! 		wp_delete_comment( $comment_id, true );
  
  	$post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $postid ));
! 	foreach ( $post_meta_ids as $mid )
! 		delete_metadata_by_mid( 'post', $mid );
  
  	do_action( 'delete_post', $postid );
! 	$wpdb->delete( $wpdb->posts, array( 'ID' => $postid ) );
  	do_action( 'deleted_post', $postid );
  
! 	clean_post_cache( $post );
  
+ 	if ( is_post_type_hierarchical( $post->post_type ) ) {
  		foreach ( (array) $children as $child )
! 			clean_post_cache( $child );
  	}
  
  	wp_clear_scheduled_hook('publish_future_post', array( $postid ) );
***************
*** 2400,2406 ****
   *
   * @since 1.0.0
   * @uses $wpdb
-  * @uses $wp_rewrite
   * @uses $user_ID
   * @uses do_action() Calls 'pre_post_update' on post ID if this is an update.
   * @uses do_action() Calls 'edit_post' action on post ID and post data if this is an update.
--- 2446,2451 ----
***************
*** 2413,2419 ****
   * @return int|WP_Error The value 0 or WP_Error on failure. The post ID on success.
   */
  function wp_insert_post($postarr, $wp_error = false) {
! 	global $wpdb, $wp_rewrite, $user_ID;
  
  	$defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID,
  		'ping_status' => get_option('default_ping_status'), 'post_parent' => 0,
--- 2458,2464 ----
   * @return int|WP_Error The value 0 or WP_Error on failure. The post ID on success.
   */
  function wp_insert_post($postarr, $wp_error = false) {
! 	global $wpdb, $user_ID;
  
  	$defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID,
  		'ping_status' => get_option('default_ping_status'), 'post_parent' => 0,
***************
*** 2482,2488 ****
  	if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) )
  		$post_name = '';
  
! 	// Create a valid post name.  Drafts and pending posts are allowed to have an empty
  	// post name.
  	if ( empty($post_name) ) {
  		if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) )
--- 2527,2533 ----
  	if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) )
  		$post_name = '';
  
! 	// Create a valid post name. Drafts and pending posts are allowed to have an empty
  	// post name.
  	if ( empty($post_name) ) {
  		if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) )
***************
*** 2537,2543 ****
  		$ping_status = get_option('default_ping_status');
  
  	if ( isset($to_ping) )
! 		$to_ping = preg_replace('|\s+|', "\n", $to_ping);
  	else
  		$to_ping = '';
  
--- 2582,2588 ----
  		$ping_status = get_option('default_ping_status');
  
  	if ( isset($to_ping) )
! 		$to_ping = sanitize_trackback_urls( $to_ping );
  	else
  		$to_ping = '';
  
***************
*** 2622,2631 ****
  
  	$current_guid = get_post_field( 'guid', $post_ID );
  
! 	if ( 'page' == $data['post_type'] )
! 		clean_page_cache($post_ID);
! 	else
! 		clean_post_cache($post_ID);
  
  	// Set GUID
  	if ( !$update && '' == $current_guid )
--- 2667,2673 ----
  
  	$current_guid = get_post_field( 'guid', $post_ID );
  
! 	clean_post_cache( $post_ID );
  
  	// Set GUID
  	if ( !$update && '' == $current_guid )
***************
*** 2890,2895 ****
--- 2930,2936 ----
   *
   * @param int $post_id Post ID.
   * @param string $tags The tags to set for the post, separated by commas.
+  * @param string $taxonomy Taxonomy name. Defaults to 'post_tag'.
   * @param bool $append If true, don't delete existing tags, just add on. If false, replace the tags with the new tags.
   * @return mixed Array of affected term IDs. WP_Error or false on failure.
   */
***************
*** 2902,2908 ****
  	if ( empty($tags) )
  		$tags = array();
  
! 	$tags = is_array($tags) ? $tags : explode( ',', trim($tags, " \n\t\r\0\x0B,") );
  
  	// Hierarchical taxonomies must always pass IDs rather than names so that children with the same
  	// names but different parents aren't confused.
--- 2943,2954 ----
  	if ( empty($tags) )
  		$tags = array();
  
! 	if ( ! is_array( $tags ) ) {
! 		$comma = _x( ',', 'tag delimiter' );
! 		if ( ',' !== $comma )
! 			$tags = str_replace( $comma, ',', $tags );
! 		$tags = explode( ',', trim( $tags, " \n\t\r\0\x0B," ) );
! 	}
  
  	// Hierarchical taxonomies must always pass IDs rather than names so that children with the same
  	// names but different parents aren't confused.
***************
*** 3026,3032 ****
  		if ( 'enclosure' != $key || !is_array( $val ) )
  			continue;
  		foreach( $val as $enc ) {
! 			$enclosure = split( "\n", $enc );
  			$pung[] = trim( $enclosure[ 0 ] );
  		}
  	}
--- 3072,3078 ----
  		if ( 'enclosure' != $key || !is_array( $val ) )
  			continue;
  		foreach( $val as $enc ) {
! 			$enclosure = explode( "\n", $enc );
  			$pung[] = trim( $enclosure[ 0 ] );
  		}
  	}
***************
*** 3064,3070 ****
  function get_to_ping($post_id) {
  	global $wpdb;
  	$to_ping = $wpdb->get_var( $wpdb->prepare( "SELECT to_ping FROM $wpdb->posts WHERE ID = %d", $post_id ));
! 	$to_ping = trim($to_ping);
  	$to_ping = preg_split('/\s/', $to_ping, -1, PREG_SPLIT_NO_EMPTY);
  	$to_ping = apply_filters('get_to_ping',  $to_ping);
  	return $to_ping;
--- 3110,3116 ----
  function get_to_ping($post_id) {
  	global $wpdb;
  	$to_ping = $wpdb->get_var( $wpdb->prepare( "SELECT to_ping FROM $wpdb->posts WHERE ID = %d", $post_id ));
! 	$to_ping = sanitize_trackback_urls( $to_ping );
  	$to_ping = preg_split('/\s/', $to_ping, -1, PREG_SPLIT_NO_EMPTY);
  	$to_ping = apply_filters('get_to_ping',  $to_ping);
  	return $to_ping;
***************
*** 3116,3122 ****
  function get_all_page_ids() {
  	global $wpdb;
  
! 	if ( ! $page_ids = wp_cache_get('all_page_ids', 'posts') ) {
  		$page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = 'page'");
  		wp_cache_add('all_page_ids', $page_ids, 'posts');
  	}
--- 3162,3169 ----
  function get_all_page_ids() {
  	global $wpdb;
  
! 	$page_ids = wp_cache_get('all_page_ids', 'posts');
! 	if ( ! is_array( $page_ids ) ) {
  		$page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = 'page'");
  		wp_cache_add('all_page_ids', $page_ids, 'posts');
  	}
***************
*** 3509,3515 ****
  	}
  
  	// Update cache.
! 	update_page_cache($pages);
  
  	if ( $child_of || $hierarchical )
  		$pages = & get_page_children($child_of, $pages);
--- 3556,3562 ----
  	}
  
  	// Update cache.
! 	update_post_cache( $pages );
  
  	if ( $child_of || $hierarchical )
  		$pages = & get_page_children($child_of, $pages);
***************
*** 3725,3731 ****
  	if ( $file )
  		update_attached_file( $post_ID, $file );
  
! 	clean_post_cache($post_ID);
  
  	if ( ! empty( $context ) )
  		add_post_meta( $post_ID, '_wp_attachment_context', $context, true );
--- 3772,3778 ----
  	if ( $file )
  		update_attached_file( $post_ID, $file );
  
! 	clean_post_cache( $post_ID );
  
  	if ( ! empty( $context ) )
  		add_post_meta( $post_ID, '_wp_attachment_context', $context, true );
***************
*** 3776,3781 ****
--- 3823,3834 ----
  	$backup_sizes = get_post_meta( $post->ID, '_wp_attachment_backup_sizes', true );
  	$file = get_attached_file( $post_id );
  
+ 	$intermediate_sizes = array();
+ 	foreach ( get_intermediate_image_sizes() as $size ) {
+ 		if ( $intermediate = image_get_intermediate_size( $post_id, $size ) )
+ 			$intermediate_sizes[] = $intermediate;
+ 	}
+ 
  	if ( is_multisite() )
  		delete_transient( 'dirsize_cache' );
  
***************
*** 3784,3809 ****
  	wp_delete_object_term_relationships($post_id, array('category', 'post_tag'));
  	wp_delete_object_term_relationships($post_id, get_object_taxonomies($post->post_type));
  
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND meta_value = %d", $post_id ));
  
  	$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id ));
! 	if ( ! empty( $comment_ids ) ) {
! 		do_action( 'delete_comment', $comment_ids );
! 		foreach ( $comment_ids as $comment_id )
! 			wp_delete_comment( $comment_id, true );
! 		do_action( 'deleted_comment', $comment_ids );
! 	}
  
  	$post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $post_id ));
! 	if ( !empty($post_meta_ids) ) {
! 		do_action( 'delete_postmeta', $post_meta_ids );
! 		$in_post_meta_ids = "'" . implode("', '", $post_meta_ids) . "'";
! 		$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_id IN($in_post_meta_ids)" );
! 		do_action( 'deleted_postmeta', $post_meta_ids );
! 	}
  
  	do_action( 'delete_post', $post_id );
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->posts WHERE ID = %d", $post_id ));
  	do_action( 'deleted_post', $post_id );
  
  	$uploadpath = wp_upload_dir();
--- 3837,3854 ----
  	wp_delete_object_term_relationships($post_id, array('category', 'post_tag'));
  	wp_delete_object_term_relationships($post_id, get_object_taxonomies($post->post_type));
  
! 	delete_metadata( 'post', null, '_thumbnail_id', $post_id, true ); // delete all for any posts.
  
  	$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id ));
! 	foreach ( $comment_ids as $comment_id )
! 		wp_delete_comment( $comment_id, true );
  
  	$post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $post_id ));
! 	foreach ( $post_meta_ids as $mid )
! 		delete_metadata_by_mid( 'post', $mid );
  
  	do_action( 'delete_post', $post_id );
! 	$wpdb->delete( $wpdb->posts, array( 'ID' => $post_id ) );
  	do_action( 'deleted_post', $post_id );
  
  	$uploadpath = wp_upload_dir();
***************
*** 3818,3828 ****
  	}
  
  	// remove intermediate and backup images if there are any
! 	foreach ( get_intermediate_image_sizes() as $size ) {
! 		if ( $intermediate = image_get_intermediate_size($post_id, $size) ) {
! 			$intermediate_file = apply_filters('wp_delete_file', $intermediate['path']);
! 			@ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
! 		}
  	}
  
  	if ( is_array($backup_sizes) ) {
--- 3863,3871 ----
  	}
  
  	// remove intermediate and backup images if there are any
! 	foreach ( $intermediate_sizes as $intermediate ) {
! 		$intermediate_file = apply_filters( 'wp_delete_file', $intermediate['path'] );
! 		@ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
  	}
  
  	if ( is_array($backup_sizes) ) {
***************
*** 3838,3844 ****
  	if ( ! empty($file) )
  		@ unlink($file);
  
! 	clean_post_cache($post_id);
  
  	return $post;
  }
--- 3881,3887 ----
  	if ( ! empty($file) )
  		@ unlink($file);
  
! 	clean_post_cache( $post );
  
  	return $post;
  }
***************
*** 4002,4008 ****
   *
   * @since 2.1.0
   *
!  * @param string $mime MIME type
   * @return string|bool
   */
  function wp_mime_type_icon( $mime = 0 ) {
--- 4045,4051 ----
   *
   * @since 2.1.0
   *
!  * @param string|int $mime MIME type or attachment ID.
   * @return string|bool
   */
  function wp_mime_type_icon( $mime = 0 ) {
***************
*** 4150,4157 ****
   *
   * @since 3.0.0
   * @param string $post_type Post type.
!  * @param bool $full Optional.  Returns a full WHERE statement instead of just an 'andalso' term.
!  * @param int $post_author Optional.  Query posts having a single author ID.
   * @return string SQL WHERE code that can be added to a query.
   */
  function get_posts_by_author_sql( $post_type, $full = true, $post_author = null ) {
--- 4193,4200 ----
   *
   * @since 3.0.0
   * @param string $post_type Post type.
!  * @param bool $full Optional. Returns a full WHERE statement instead of just an 'andalso' term.
!  * @param int $post_author Optional. Query posts having a single author ID.
   * @return string SQL WHERE code that can be added to a query.
   */
  function get_posts_by_author_sql( $post_type, $full = true, $post_author = null ) {
***************
*** 4288,4307 ****
  /**
   * Updates posts in cache.
   *
-  * @usedby update_page_cache() Aliased by this function.
-  *
   * @package WordPress
   * @subpackage Cache
   * @since 1.5.1
   *
   * @param array $posts Array of post objects
   */
! function update_post_cache(&$posts) {
! 	if ( !$posts )
  		return;
  
  	foreach ( $posts as $post )
! 		wp_cache_add($post->ID, $post, 'posts');
  }
  
  /**
--- 4331,4348 ----
  /**
   * Updates posts in cache.
   *
   * @package WordPress
   * @subpackage Cache
   * @since 1.5.1
   *
   * @param array $posts Array of post objects
   */
! function update_post_cache( &$posts ) {
! 	if ( ! $posts )
  		return;
  
  	foreach ( $posts as $post )
! 		wp_cache_add( $post->ID, $post, 'posts' );
  }
  
  /**
***************
*** 4321,4397 ****
   *
   * @uses do_action() Calls 'clean_post_cache' on $id before adding children (if any).
   *
!  * @param int $id The Post ID in the cache to clean
   */
! function clean_post_cache($id) {
  	global $_wp_suspend_cache_invalidation, $wpdb;
  
! 	if ( !empty($_wp_suspend_cache_invalidation) )
  		return;
  
! 	$id = (int) $id;
! 
! 	if ( 0 === $id )
  		return;
  
! 	wp_cache_delete($id, 'posts');
! 	wp_cache_delete($id, 'post_meta');
  
! 	clean_object_term_cache($id, 'post');
  
  	wp_cache_delete( 'wp_get_archives', 'general' );
  
! 	do_action('clean_post_cache', $id);
  
! 	if ( $children = $wpdb->get_col( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_parent = %d", $id) ) ) {
! 		foreach ( $children as $cid ) {
  			// Loop detection
! 			if ( $cid == $id )
  				continue;
! 			clean_post_cache( $cid );
  		}
  	}
  
  	if ( is_multisite() )
! 		wp_cache_delete( $wpdb->blogid . '-' . $id, 'global-posts' );
! }
! 
! /**
!  * Alias of update_post_cache().
!  *
!  * @see update_post_cache() Posts and pages are the same, alias is intentional
!  *
!  * @package WordPress
!  * @subpackage Cache
!  * @since 1.5.1
!  *
!  * @param array $pages list of page objects
!  */
! function update_page_cache(&$pages) {
! 	update_post_cache($pages);
! }
! 
! /**
!  * Will clean the page in the cache.
!  *
!  * Clean (read: delete) page from cache that matches $id. Will also clean cache
!  * associated with 'all_page_ids' and 'get_pages'.
!  *
!  * @package WordPress
!  * @subpackage Cache
!  * @since 2.0.0
!  *
!  * @uses do_action() Will call the 'clean_page_cache' hook action.
!  *
!  * @param int $id Page ID to clean
!  */
! function clean_page_cache($id) {
! 	clean_post_cache($id);
! 
! 	wp_cache_delete( 'all_page_ids', 'posts' );
! 	wp_cache_delete( 'get_pages', 'posts' );
! 
! 	do_action('clean_page_cache', $id);
  }
  
  /**
--- 4362,4405 ----
   *
   * @uses do_action() Calls 'clean_post_cache' on $id before adding children (if any).
   *
!  * @param object|int $post The post object or ID to remove from the cache
   */
! function clean_post_cache( $post ) {
  	global $_wp_suspend_cache_invalidation, $wpdb;
  
! 	if ( ! empty( $_wp_suspend_cache_invalidation ) )
  		return;
  
! 	$post = get_post( $post );
! 	if ( empty( $post ) )
  		return;
  
! 	wp_cache_delete( $post->ID, 'posts' );
! 	wp_cache_delete( $post->ID, 'post_meta' );
  
! 	clean_object_term_cache( $post->ID, $post->post_type );
  
  	wp_cache_delete( 'wp_get_archives', 'general' );
  
! 	do_action( 'clean_post_cache', $post->ID, $post );
! 
! 	if ( 'page' == $post->post_type ) {
! 		wp_cache_delete( 'all_page_ids', 'posts' );
! 		wp_cache_delete( 'get_pages', 'posts' );
! 		do_action( 'clean_page_cache', $post->ID );
! 	}
  
! 	if ( $children = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_type FROM $wpdb->posts WHERE post_parent = %d", $post->ID) ) ) {
! 		foreach ( $children as $child ) {
  			// Loop detection
! 			if ( $child->ID == $post->ID )
  				continue;
! 			clean_post_cache( $child );
  		}
  	}
  
  	if ( is_multisite() )
! 		wp_cache_delete( $wpdb->blogid . '-' . $post->ID, 'global-posts' );
  }
  
  /**
***************
*** 4580,4626 ****
  	if ( defined('WP_IMPORTING') )
  		return;
  
! 	$data = array( 'post_id' => $post_id, 'meta_value' => '1' );
! 	if ( get_option('default_pingback_flag') ) {
! 		$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_pingme' ) );
! 		do_action( 'added_postmeta', $wpdb->insert_id, $post_id, '_pingme', 1 );
! 	}
! 	$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_encloseme' ) );
! 	do_action( 'added_postmeta', $wpdb->insert_id, $post_id, '_encloseme', 1 );
  
  	wp_schedule_single_event(time(), 'do_pings');
  }
  
  /**
!  * Hook used to prevent page/post cache and rewrite rules from staying dirty.
!  *
!  * Does two things. If the post is a page and has a template then it will
!  * update/add that template to the meta. For both pages and posts, it will clean
!  * the post cache to make sure that the cache updates to the changes done
!  * recently. For pages, the rewrite rules of WordPress are flushed to allow for
!  * any changes.
!  *
!  * The $post parameter, only uses 'post_type' property and 'page_template'
!  * property.
   *
   * @since 2.3.0
   * @access private
-  * @uses $wp_rewrite Flushes Rewrite Rules.
   *
   * @param int $post_id The ID in the database table for the $post
   * @param object $post Object type containing the post information
   */
! function _save_post_hook($post_id, $post) {
! 	if ( $post->post_type == 'page' ) {
! 		clean_page_cache($post_id);
! 		// Avoid flushing rules for every post during import.
! 		if ( !defined('WP_IMPORTING') ) {
! 			global $wp_rewrite;
! 			$wp_rewrite->flush_rules(false);
! 		}
! 	} else {
! 		clean_post_cache($post_id);
! 	}
  }
  
  /**
--- 4588,4611 ----
  	if ( defined('WP_IMPORTING') )
  		return;
  
! 	if ( get_option('default_pingback_flag') )
! 		add_post_meta( $post_id, '_pingme', '1' );
! 	add_post_meta( $post_id, '_encloseme', '1' );
  
  	wp_schedule_single_event(time(), 'do_pings');
  }
  
  /**
!  * Hook used to prevent page/post cache from staying dirty when a post is saved.
   *
   * @since 2.3.0
   * @access private
   *
   * @param int $post_id The ID in the database table for the $post
   * @param object $post Object type containing the post information
   */
! function _save_post_hook( $post_id, $post ) {
! 	clean_post_cache( $post );
  }
  
  /**
***************
*** 4653,4664 ****
  	if ( empty($_post->post_parent) || $_post->ID == $_post->post_parent )
  		return;
  
! 	$id = $_post->ancestors[] = $_post->post_parent;
  	while ( $ancestor = $wpdb->get_var( $wpdb->prepare("SELECT `post_parent` FROM $wpdb->posts WHERE ID = %d LIMIT 1", $id) ) ) {
  		// Loop detection: If the ancestor has been seen before, break.
  		if ( ( $ancestor == $_post->ID ) || in_array($ancestor,  $_post->ancestors) )
  			break;
! 		$id = $_post->ancestors[] = $ancestor;
  	}
  }
  
--- 4638,4649 ----
  	if ( empty($_post->post_parent) || $_post->ID == $_post->post_parent )
  		return;
  
! 	$id = $_post->ancestors[] = (int) $_post->post_parent;
  	while ( $ancestor = $wpdb->get_var( $wpdb->prepare("SELECT `post_parent` FROM $wpdb->posts WHERE ID = %d LIMIT 1", $id) ) ) {
  		// Loop detection: If the ancestor has been seen before, break.
  		if ( ( $ancestor == $_post->ID ) || in_array($ancestor,  $_post->ancestors) )
  			break;
! 		$id = $_post->ancestors[] = (int) $ancestor;
  	}
  }
  
***************
*** 4902,4908 ****
   *
   * @param int|object $post Post ID or post object
   * @param string $output Optional. OBJECT, ARRAY_A, or ARRAY_N.
!  * @param string $filter Optional sanitation filter.  @see sanitize_post()
   * @return mixed Null if error or post object if success
   */
  function &wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
--- 4887,4893 ----
   *
   * @param int|object $post Post ID or post object
   * @param string $output Optional. OBJECT, ARRAY_A, or ARRAY_N.
!  * @param string $filter Optional sanitation filter. @see sanitize_post()
   * @return mixed Null if error or post object if success
   */
  function &wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
***************
*** 5084,5090 ****
   * @uses wp_find_hierarchy_loop()
   *
   * @param int $post_parent ID of the parent for the post we're checking.
!  * @parem int $post_ID ID of the post we're checking.
   *
   * @return int The new post_parent for the post.
   */
--- 5069,5075 ----
   * @uses wp_find_hierarchy_loop()
   *
   * @param int $post_parent ID of the parent for the post we're checking.
!  * @param int $post_ID ID of the post we're checking.
   *
   * @return int The new post_parent for the post.
   */
***************
*** 5110,5116 ****
  	if ( isset( $loop[$post_ID] ) )
  		return 0;
  
! 	// There's a loop, but it doesn't contain $post_ID.  Break the loop.
  	foreach ( array_keys( $loop ) as $loop_member )
  		wp_update_post( array( 'ID' => $loop_member, 'post_parent' => 0 ) );
  
--- 5095,5101 ----
  	if ( isset( $loop[$post_ID] ) )
  		return 0;
  
! 	// There's a loop, but it doesn't contain $post_ID. Break the loop.
  	foreach ( array_keys( $loop ) as $loop_member )
  		wp_update_post( array( 'ID' => $loop_member, 'post_parent' => 0 ) );
  
***************
*** 5183,5190 ****
  	if ( $post && $thumbnail_id && get_post( $thumbnail_id ) ) {
  		$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'thumbnail' );
  		if ( ! empty( $thumbnail_html ) ) {
! 			update_post_meta( $post->ID, '_thumbnail_id', $thumbnail_id );
! 			return true;
  		}
  	}
  	return false;
--- 5168,5174 ----
  	if ( $post && $thumbnail_id && get_post( $thumbnail_id ) ) {
  		$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'thumbnail' );
  		if ( ! empty( $thumbnail_html ) ) {
! 			return update_post_meta( $post->ID, '_thumbnail_id', $thumbnail_id );
  		}
  	}
  	return false;
***************
*** 5221,5226 ****
--- 5205,5224 ----
  }
  
  /**
+  * Deletes auto-drafts for new posts that are > 7 days old
+  *
+  * @since 3.4.0
+  */
+ function wp_delete_auto_drafts() {
+ 	global $wpdb;
+ 
+ 	// Cleanup old auto-drafts more than 7 days old
+ 	$old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" );
+ 	foreach ( (array) $old_posts as $delete )
+ 		wp_delete_post( $delete, true ); // Force delete
+ }
+ 
+ /**
   * Filters the request to allow for the format prefix.
   *
   * @access private
***************
*** 5328,5331 ****
  		wp_update_term_count( $tt_ids, $taxonomy );
  	}
  }
! ?>
--- 5326,5350 ----
  		wp_update_term_count( $tt_ids, $taxonomy );
  	}
  }
! 
! /**
!  * Adds any posts from the given ids to the cache that do not already exist in cache
!  *
!  * @since 3.4.0
!  *
!  * @access private
!  *
!  * @param array $post_ids ID list
!  * @param bool $update_term_cache Whether to update the term cache. Default is true.
!  * @param bool $update_meta_cache Whether to update the meta cache. Default is true.
!  */
! function _prime_post_caches( $ids, $update_term_cache = true, $update_meta_cache = true ) {
! 	global $wpdb;
! 
! 	$non_cached_ids = _get_non_cached_ids( $ids, 'posts' );
! 	if ( !empty( $non_cached_ids ) ) {
! 		$fresh_posts = $wpdb->get_results( sprintf( "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE ID IN (%s)", join( ",", $non_cached_ids ) ) );
! 
! 		update_post_caches( $fresh_posts, 'any', $update_term_cache, $update_meta_cache );
! 	}
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/post-template.php ./wordpress-3.4/wp-includes/post-template.php
*** ./wordpress-3.3.2/wp-includes/post-template.php	2011-11-10 12:35:25.000000000 -0600
--- ./wordpress-3.4/wp-includes/post-template.php	2012-06-11 16:25:05.000000000 -0500
***************
*** 188,197 ****
  	$hasTeaser = false;
  
  	// If post password required and it doesn't match the cookie.
! 	if ( post_password_required($post) ) {
! 		$output = get_the_password_form();
! 		return $output;
! 	}
  
  	if ( $page > count($pages) ) // if the requested page doesn't exist
  		$page = count($pages); // give them the highest numbered page that DOES exist
--- 187,194 ----
  	$hasTeaser = false;
  
  	// If post password required and it doesn't match the cookie.
! 	if ( post_password_required($post) )
! 		return get_the_password_form();
  
  	if ( $page > count($pages) ) // if the requested page doesn't exist
  		$page = count($pages); // give them the highest numbered page that DOES exist
***************
*** 414,421 ****
  		$classes[] = 'archive';
  	if ( is_date() )
  		$classes[] = 'date';
! 	if ( is_search() )
  		$classes[] = 'search';
  	if ( is_paged() )
  		$classes[] = 'paged';
  	if ( is_attachment() )
--- 411,420 ----
  		$classes[] = 'archive';
  	if ( is_date() )
  		$classes[] = 'date';
! 	if ( is_search() ) {
  		$classes[] = 'search';
+ 		$classes[] = $wp_query->posts ? 'search-results' : 'search-no-results';
+ 	}
  	if ( is_paged() )
  		$classes[] = 'paged';
  	if ( is_attachment() )
***************
*** 490,504 ****
  		}
  		if ( is_page_template() ) {
  			$classes[] = 'page-template';
! 			$classes[] = 'page-template-' . sanitize_html_class( str_replace( '.', '-', get_post_meta( $page_id, '_wp_page_template', true ) ), '' );
  		} else {
  			$classes[] = 'page-template-default';
  		}
- 	} elseif ( is_search() ) {
- 		if ( !empty( $wp_query->posts ) )
- 			$classes[] = 'search-results';
- 		else
- 			$classes[] = 'search-no-results';
  	}
  
  	if ( is_user_logged_in() )
--- 489,498 ----
  		}
  		if ( is_page_template() ) {
  			$classes[] = 'page-template';
! 			$classes[] = 'page-template-' . sanitize_html_class( str_replace( '.', '-', get_page_template_slug( $page_id ) ) );
  		} else {
  			$classes[] = 'page-template-default';
  		}
  	}
  
  	if ( is_user_logged_in() )
***************
*** 507,513 ****
  	if ( is_admin_bar_showing() )
  		$classes[] = 'admin-bar';
  
! 	if ( get_background_image() || get_background_color() )
  		$classes[] = 'custom-background';
  
  	$page = $wp_query->get( 'page' );
--- 501,507 ----
  	if ( is_admin_bar_showing() )
  		$classes[] = 'admin-bar';
  
! 	if ( get_theme_mod( 'background_color' ) || get_background_image() )
  		$classes[] = 'custom-background';
  
  	$page = $wp_query->get( 'page' );
***************
*** 555,576 ****
   *
   * @since 2.7.0
   *
!  * @param int|object $post An optional post.  Global $post used if not provided.
   * @return bool false if a password is not required or the correct password cookie is present, true otherwise.
   */
  function post_password_required( $post = null ) {
  	$post = get_post($post);
  
! 	if ( empty($post->post_password) )
  		return false;
  
! 	if ( !isset($_COOKIE['wp-postpass_' . COOKIEHASH]) )
  		return true;
  
! 	if ( stripslashes( $_COOKIE['wp-postpass_' . COOKIEHASH] ) != $post->post_password )
! 		return true;
  
! 	return false;
  }
  
  /**
--- 549,577 ----
   *
   * @since 2.7.0
   *
!  * @param int|object $post An optional post. Global $post used if not provided.
   * @return bool false if a password is not required or the correct password cookie is present, true otherwise.
   */
  function post_password_required( $post = null ) {
+ 	global $wp_hasher;
+ 
  	$post = get_post($post);
  
! 	if ( empty( $post->post_password ) )
  		return false;
  
! 	if ( ! isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) )
  		return true;
  
! 	if ( empty( $wp_hasher ) ) {
! 		require_once( ABSPATH . 'wp-includes/class-phpass.php');
! 		// By default, use the portable hash from phpass
! 		$wp_hasher = new PasswordHash(8, true);
! 	}
  
! 	$hash = stripslashes( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
! 
! 	return ! $wp_hasher->CheckPassword( $post->post_password, $hash );
  }
  
  /**
***************
*** 994,1000 ****
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function start_lvl(&$output, $depth) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "\n$indent<ul class='children'>\n";
  	}
--- 995,1001 ----
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function start_lvl( &$output, $depth = 0, $args = array() ) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "\n$indent<ul class='children'>\n";
  	}
***************
*** 1006,1012 ****
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function end_lvl(&$output, $depth) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent</ul>\n";
  	}
--- 1007,1013 ----
  	 * @param string $output Passed by reference. Used to append additional content.
  	 * @param int $depth Depth of page. Used for padding.
  	 */
! 	function end_lvl( &$output, $depth = 0, $args = array() ) {
  		$indent = str_repeat("\t", $depth);
  		$output .= "$indent</ul>\n";
  	}
***************
*** 1021,1027 ****
  	 * @param int $current_page Page ID.
  	 * @param array $args
  	 */
! 	function start_el(&$output, $page, $depth, $args, $current_page) {
  		if ( $depth )
  			$indent = str_repeat("\t", $depth);
  		else
--- 1022,1028 ----
  	 * @param int $current_page Page ID.
  	 * @param array $args
  	 */
! 	function start_el( &$output, $page, $depth, $args, $current_page = 0 ) {
  		if ( $depth )
  			$indent = str_repeat("\t", $depth);
  		else
***************
*** 1064,1070 ****
  	 * @param object $page Page data object. Not used.
  	 * @param int $depth Depth of page. Not Used.
  	 */
! 	function end_el(&$output, $page, $depth) {
  		$output .= "</li>\n";
  	}
  
--- 1065,1071 ----
  	 * @param object $page Page data object. Not used.
  	 * @param int $depth Depth of page. Not Used.
  	 */
! 	function end_el( &$output, $page, $depth = 0, $args = array() ) {
  		$output .= "</li>\n";
  	}
  
***************
*** 1102,1108 ****
  	 * @param int $depth Depth of page in reference to parent pages. Used for padding.
  	 * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element.
  	 */
! 	function start_el(&$output, $page, $depth, $args) {
  		$pad = str_repeat('&nbsp;', $depth * 3);
  
  		$output .= "\t<option class=\"level-$depth\" value=\"$page->ID\"";
--- 1103,1109 ----
  	 * @param int $depth Depth of page in reference to parent pages. Used for padding.
  	 * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element.
  	 */
! 	function start_el(&$output, $page, $depth, $args, $id = 0) {
  		$pad = str_repeat('&nbsp;', $depth * 3);
  
  		$output .= "\t<option class=\"level-$depth\" value=\"$page->ID\"";
***************
*** 1165,1171 ****
  	$post_title = esc_attr( $_post->post_title );
  
  	if ( $text )
! 		$link_text = esc_attr( $text );
  	elseif ( $size && 'none' != $size )
  		$link_text = wp_get_attachment_image( $id, $size, $icon );
  	else
--- 1166,1172 ----
  	$post_title = esc_attr( $_post->post_title );
  
  	if ( $text )
! 		$link_text = $text;
  	elseif ( $size && 'none' != $size )
  		$link_text = wp_get_attachment_image( $id, $size, $icon );
  	else
***************
*** 1215,1222 ****
   */
  function get_the_password_form() {
  	global $post;
! 	$label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID);
! 	$output = '<form action="' . get_option('siteurl') . '/wp-pass.php" method="post">
  	<p>' . __("This post is password protected. To view it please enter your password below:") . '</p>
  	<p><label for="' . $label . '">' . __("Password:") . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__("Submit") . '" /></p>
  	</form>
--- 1216,1223 ----
   */
  function get_the_password_form() {
  	global $post;
! 	$label = 'pwbox-' . ( empty($post->ID) ? rand() : $post->ID );
! 	$output = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">
  	<p>' . __("This post is password protected. To view it please enter your password below:") . '</p>
  	<p><label for="' . $label . '">' . __("Password:") . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__("Submit") . '" /></p>
  	</form>
***************
*** 1237,1266 ****
   * @param string $template The specific template name if specific matching is required.
   * @return bool False on failure, true if success.
   */
! function is_page_template($template = '') {
! 	if (!is_page()) {
  		return false;
- 	}
  
! 	global $wp_query;
  
! 	$page = $wp_query->get_queried_object();
! 	$custom_fields = get_post_custom_values('_wp_page_template',$page->ID);
! 	$page_template = $custom_fields[0];
! 
! 	// We have no argument passed so just see if a page_template has been specified
! 	if ( empty( $template ) ) {
! 		if ( !empty( $page_template ) and ( 'default' != $page_template ) ) {
! 			return true;
! 		}
! 	} elseif ( $template == $page_template) {
  		return true;
- 	}
  
  	return false;
  }
  
  /**
   * Retrieve formatted date timestamp of a revision (linked to that revisions's page).
   *
   * @package WordPress
--- 1238,1281 ----
   * @param string $template The specific template name if specific matching is required.
   * @return bool False on failure, true if success.
   */
! function is_page_template( $template = '' ) {
! 	if ( ! is_page() )
  		return false;
  
! 	$page_template = get_page_template_slug( get_queried_object_id() );
  
! 	if ( empty( $template ) )
! 		return (bool) $page_template;
! 
! 	if ( $template == $page_template )
! 		return true;
! 
! 	if ( 'default' == $template && ! $page_template )
  		return true;
  
  	return false;
  }
  
  /**
+  * Get the specific template name for a page.
+  *
+  * @since 3.4.0
+  *
+  * @param int $id The page ID to check. Defaults to the current post, when used in the loop.
+  * @return string|bool Page template filename. Returns an empty string when the default page template
+  * 	is in use. Returns false if the post is not a page.
+  */
+ function get_page_template_slug( $post_id = null ) {
+ 	$post = get_post( $post_id );
+ 	if ( 'page' != $post->post_type )
+ 		return false;
+ 	$template = get_post_meta( $post->ID, '_wp_page_template', true );
+ 	if ( ! $template || 'default' == $template )
+ 		return '';
+ 	return $template;
+ }
+ 
+ /**
   * Retrieve formatted date timestamp of a revision (linked to that revisions's page).
   *
   * @package WordPress
***************
*** 1307,1313 ****
   *
   * Second argument controls parameters:
   *   (bool)   parent : include the parent (the "Current Revision") in the list.
!  *   (string) format : 'list' or 'form-table'.  'list' outputs UL, 'form-table'
   *                     outputs TABLE with UI.
   *   (int)    right  : what revision is currently being viewed - used in
   *                     form-table format.
--- 1322,1328 ----
   *
   * Second argument controls parameters:
   *   (bool)   parent : include the parent (the "Current Revision") in the list.
!  *   (string) format : 'list' or 'form-table'. 'list' outputs UL, 'form-table'
   *                     outputs TABLE with UI.
   *   (int)    right  : what revision is currently being viewed - used in
   *                     form-table format.
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/post-thumbnail-template.php ./wordpress-3.4/wp-includes/post-thumbnail-template.php
*** ./wordpress-3.3.2/wp-includes/post-thumbnail-template.php	2011-10-20 10:11:49.000000000 -0500
--- ./wordpress-3.4/wp-includes/post-thumbnail-template.php	2012-04-30 10:55:57.000000000 -0500
***************
*** 39,45 ****
   *
   * @since 2.9.0
   *
!  * @param int $size Optional. Image size.  Defaults to 'post-thumbnail', which theme sets using set_post_thumbnail_size( $width, $height, $crop_flag );.
   * @param string|array $attr Optional. Query string or array of attributes.
   */
  function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
--- 39,45 ----
   *
   * @since 2.9.0
   *
!  * @param int $size Optional. Image size. Defaults to 'post-thumbnail', which theme sets using set_post_thumbnail_size( $width, $height, $crop_flag );.
   * @param string|array $attr Optional. Query string or array of attributes.
   */
  function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
***************
*** 50,58 ****
   * Update cache for thumbnails in the current loop
   *
   * @since 3.2
   */
! function update_post_thumbnail_cache() {
! 	global $wp_query;
  
  	if ( $wp_query->thumbnails_cached )
  		return;
--- 50,61 ----
   * Update cache for thumbnails in the current loop
   *
   * @since 3.2
+  *
+  * @param object $wp_query Optional. A WP_Query instance. Defaults to the $wp_query global.
   */
! function update_post_thumbnail_cache( $wp_query = null ) {
! 	if ( ! $wp_query )
! 		$wp_query = $GLOBALS['wp_query'];
  
  	if ( $wp_query->thumbnails_cached )
  		return;
***************
*** 64,76 ****
  	}
  
  	if ( ! empty ( $thumb_ids ) ) {
! 		get_posts( array(
! 				'update_post_term_cache' => false,
! 				'include' => $thumb_ids,
! 				'post_type' => 'attachment',
! 				'post_status' => 'inherit',
! 				'nopaging' => true
! 		) );
  	}
  
  	$wp_query->thumbnails_cached = true;
--- 67,73 ----
  	}
  
  	if ( ! empty ( $thumb_ids ) ) {
! 		_prime_post_caches( $thumb_ids, false, true );
  	}
  
  	$wp_query->thumbnails_cached = true;
***************
*** 82,88 ****
   * @since 2.9.0
   *
   * @param int $post_id Optional. Post ID.
!  * @param string $size Optional. Image size.  Defaults to 'thumbnail'.
   * @param string|array $attr Optional. Query string or array of attributes.
   */
  function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) {
--- 79,85 ----
   * @since 2.9.0
   *
   * @param int $post_id Optional. Post ID.
!  * @param string $size Optional. Image size. Defaults to 'post-thumbnail'.
   * @param string|array $attr Optional. Query string or array of attributes.
   */
  function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) {
***************
*** 100,104 ****
  	}
  	return apply_filters( 'post_thumbnail_html', $html, $post_id, $post_thumbnail_id, $size, $attr );
  }
- 
- ?>
--- 97,99 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/query.php ./wordpress-3.4/wp-includes/query.php
*** ./wordpress-3.3.2/wp-includes/query.php	2011-11-23 18:20:21.000000000 -0600
--- ./wordpress-3.4/wp-includes/query.php	2012-06-12 18:09:27.000000000 -0500
***************
*** 27,35 ****
  	return $wp_query->get($var);
  }
  
- 
  /**
!  * Retrieve the currently-queried object.  Wrapper for $wp_query->get_queried_object()
   *
   * @uses WP_Query::get_queried_object
   *
--- 27,34 ----
  	return $wp_query->get($var);
  }
  
  /**
!  * Retrieve the currently-queried object. Wrapper for $wp_query->get_queried_object()
   *
   * @uses WP_Query::get_queried_object
   *
***************
*** 728,734 ****
  }
  
  /*
!  * The Loop.  Post loop control.
   */
  
  /**
--- 727,733 ----
  }
  
  /*
!  * The Loop. Post loop control.
   */
  
  /**
***************
*** 1261,1267 ****
  	var $query_vars_hash = false;
  
  	/**
! 	 * Whether query vars have changed since the initial parse_query() call.  Used to catch modifications to query vars made
  	 * via pre_get_posts hooks.
  	 *
  	 * @since 3.1.1
--- 1260,1266 ----
  	var $query_vars_hash = false;
  
  	/**
! 	 * Whether query vars have changed since the initial parse_query() call. Used to catch modifications to query vars made
  	 * via pre_get_posts hooks.
  	 *
  	 * @since 3.1.1
***************
*** 1454,1460 ****
  		if ( '' !== $qv['minute'] ) $qv['minute'] = absint($qv['minute']);
  		if ( '' !== $qv['second'] ) $qv['second'] = absint($qv['second']);
  
! 		// Compat.  Map subpost to attachment.
  		if ( '' != $qv['subpost'] )
  			$qv['attachment'] = $qv['subpost'];
  		if ( '' != $qv['subpost_id'] )
--- 1453,1459 ----
  		if ( '' !== $qv['minute'] ) $qv['minute'] = absint($qv['minute']);
  		if ( '' !== $qv['second'] ) $qv['second'] = absint($qv['second']);
  
! 		// Compat. Map subpost to attachment.
  		if ( '' != $qv['subpost'] )
  			$qv['attachment'] = $qv['subpost'];
  		if ( '' != $qv['subpost_id'] )
***************
*** 1477,1483 ****
  			$this->is_page = true;
  			$this->is_single = false;
  		} else {
! 		// Look for archive queries.  Dates, categories, authors, search, post type archives.
  
  			if ( !empty($qv['s']) ) {
  				$this->is_search = true;
--- 1476,1482 ----
  			$this->is_page = true;
  			$this->is_single = false;
  		} else {
! 		// Look for archive queries. Dates, categories, authors, search, post type archives.
  
  			if ( !empty($qv['s']) ) {
  				$this->is_search = true;
***************
*** 1625,1631 ****
  		}
  
  		if ( '' != $qv['pagename'] ) {
! 			$this->queried_object =& get_page_by_path($qv['pagename']);
  			if ( !empty($this->queried_object) )
  				$this->queried_object_id = (int) $this->queried_object->ID;
  			else
--- 1624,1630 ----
  		}
  
  		if ( '' != $qv['pagename'] ) {
! 			$this->queried_object = get_page_by_path($qv['pagename']);
  			if ( !empty($this->queried_object) )
  				$this->queried_object_id = (int) $this->queried_object->ID;
  			else
***************
*** 2181,2187 ****
  			if ( !empty($q['sentence']) ) {
  				$q['search_terms'] = array($q['s']);
  			} else {
! 				preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $q['s'], $matches);
  				$q['search_terms'] = array_map('_search_terms_tidy', $matches[0]);
  			}
  			$n = !empty($q['exact']) ? '' : '%';
--- 2180,2186 ----
  			if ( !empty($q['sentence']) ) {
  				$q['search_terms'] = array($q['s']);
  			} else {
! 				preg_match_all('/".*?("|$)|((?<=[\r\n\t ",+])|^)[^\r\n\t ",+]+/', $q['s'], $matches);
  				$q['search_terms'] = array_map('_search_terms_tidy', $matches[0]);
  			}
  			$n = !empty($q['exact']) ? '' : '%';
***************
*** 2312,2321 ****
  
  		// MIME-Type stuff for attachment browsing
  
! 		if ( isset($q['post_mime_type']) && '' != $q['post_mime_type'] ) {
! 			$table_alias = $post_status_join ? $wpdb->posts : '';
! 			$whichmimetype = wp_post_mime_type_where($q['post_mime_type'], $table_alias);
! 		}
  
  		$where .= $search . $whichauthor . $whichmimetype;
  
--- 2311,2318 ----
  
  		// MIME-Type stuff for attachment browsing
  
! 		if ( isset( $q['post_mime_type'] ) && '' != $q['post_mime_type'] )
! 			$whichmimetype = wp_post_mime_type_where( $q['post_mime_type'], $wpdb->posts );
  
  		$where .= $search . $whichauthor . $whichmimetype;
  
***************
*** 2346,2351 ****
--- 2343,2349 ----
  
  				switch ( $orderby ) {
  					case 'menu_order':
+ 						$orderby = "$wpdb->posts.menu_order";
  						break;
  					case 'ID':
  						$orderby = "$wpdb->posts.ID";
***************
*** 2449,2461 ****
  			}
  			if ( !empty($r_status) ) {
  				if ( !empty($q['perm'] ) && 'editable' == $q['perm'] && !current_user_can($edit_others_cap) )
! 					$statuswheres[] = "($wpdb->posts.post_author = $user_ID " .  "AND (" . join( ' OR ', $r_status ) . "))";
  				else
  					$statuswheres[] = "(" . join( ' OR ', $r_status ) . ")";
  			}
  			if ( !empty($p_status) ) {
  				if ( !empty($q['perm'] ) && 'readable' == $q['perm'] && !current_user_can($read_private_cap) )
! 					$statuswheres[] = "($wpdb->posts.post_author = $user_ID " .  "AND (" . join( ' OR ', $p_status ) . "))";
  				else
  					$statuswheres[] = "(" . join( ' OR ', $p_status ) . ")";
  			}
--- 2447,2459 ----
  			}
  			if ( !empty($r_status) ) {
  				if ( !empty($q['perm'] ) && 'editable' == $q['perm'] && !current_user_can($edit_others_cap) )
! 					$statuswheres[] = "($wpdb->posts.post_author = $user_ID " . "AND (" . join( ' OR ', $r_status ) . "))";
  				else
  					$statuswheres[] = "(" . join( ' OR ', $r_status ) . ")";
  			}
  			if ( !empty($p_status) ) {
  				if ( !empty($q['perm'] ) && 'readable' == $q['perm'] && !current_user_can($read_private_cap) )
! 					$statuswheres[] = "($wpdb->posts.post_author = $user_ID " . "AND (" . join( ' OR ', $p_status ) . "))";
  				else
  					$statuswheres[] = "(" . join( ' OR ', $p_status ) . ")";
  			}
***************
*** 2477,2483 ****
  				$where .= " OR $wpdb->posts.post_status = '$state'";
  			}
  
! 			if ( is_admin() ) {
  				// Add protected states that should show in the admin all list.
  				$admin_all_states = get_post_stati( array('protected' => true, 'show_in_admin_all_list' => true) );
  				foreach ( (array) $admin_all_states as $state )
--- 2475,2481 ----
  				$where .= " OR $wpdb->posts.post_status = '$state'";
  			}
  
! 			if ( $this->is_admin ) {
  				// Add protected states that should show in the admin all list.
  				$admin_all_states = get_post_stati( array('protected' => true, 'show_in_admin_all_list' => true) );
  				foreach ( (array) $admin_all_states as $state )
***************
*** 2510,2527 ****
  		// Paging
  		if ( empty($q['nopaging']) && !$this->is_singular ) {
  			$page = absint($q['paged']);
! 			if ( empty($page) )
  				$page = 1;
  
  			if ( empty($q['offset']) ) {
- 				$pgstrt = '';
  				$pgstrt = ($page - 1) * $q['posts_per_page'] . ', ';
- 				$limits = 'LIMIT ' . $pgstrt . $q['posts_per_page'];
  			} else { // we're ignoring $page and using 'offset'
  				$q['offset'] = absint($q['offset']);
  				$pgstrt = $q['offset'] . ', ';
- 				$limits = 'LIMIT ' . $pgstrt . $q['posts_per_page'];
  			}
  		}
  
  		// Comments feeds
--- 2508,2523 ----
  		// Paging
  		if ( empty($q['nopaging']) && !$this->is_singular ) {
  			$page = absint($q['paged']);
! 			if ( !$page )
  				$page = 1;
  
  			if ( empty($q['offset']) ) {
  				$pgstrt = ($page - 1) * $q['posts_per_page'] . ', ';
  			} else { // we're ignoring $page and using 'offset'
  				$q['offset'] = absint($q['offset']);
  				$pgstrt = $q['offset'] . ', ';
  			}
+ 			$limits = 'LIMIT ' . $pgstrt . $q['posts_per_page'];
  		}
  
  		// Comments feeds
***************
*** 2564,2570 ****
  
  		$pieces = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' );
  
! 		// Apply post-paging filters on where and join.  Only plugins that
  		// manipulate paging queries should use these hooks.
  		if ( !$q['suppress_filters'] ) {
  			$where		= apply_filters_ref_array( 'posts_where_paged',	array( $where, &$this ) );
--- 2560,2566 ----
  
  		$pieces = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' );
  
! 		// Apply post-paging filters on where and join. Only plugins that
  		// manipulate paging queries should use these hooks.
  		if ( !$q['suppress_filters'] ) {
  			$where		= apply_filters_ref_array( 'posts_where_paged',	array( $where, &$this ) );
***************
*** 2581,2590 ****
  				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
  		}
  
! 		// Announce current selection parameters.  For use by caching plugins.
  		do_action( 'posts_selection', $where . $groupby . $orderby . $limits . $join );
  
! 		// Filter again for the benefit of caching plugins.  Regular plugins should use the hooks above.
  		if ( !$q['suppress_filters'] ) {
  			$where		= apply_filters_ref_array( 'posts_where_request',		array( $where, &$this ) );
  			$groupby	= apply_filters_ref_array( 'posts_groupby_request',		array( $groupby, &$this ) );
--- 2577,2586 ----
  				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
  		}
  
! 		// Announce current selection parameters. For use by caching plugins.
  		do_action( 'posts_selection', $where . $groupby . $orderby . $limits . $join );
  
! 		// Filter again for the benefit of caching plugins. Regular plugins should use the hooks above.
  		if ( !$q['suppress_filters'] ) {
  			$where		= apply_filters_ref_array( 'posts_where_request',		array( $where, &$this ) );
  			$groupby	= apply_filters_ref_array( 'posts_groupby_request',		array( $groupby, &$this ) );
***************
*** 2609,2617 ****
  		if ( !$q['no_found_rows'] && !empty($limits) )
  			$found_rows = 'SQL_CALC_FOUND_ROWS';
  
! 		$this->request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
! 		if ( !$q['suppress_filters'] )
! 			$this->request = apply_filters_ref_array('posts_request', array( $this->request, &$this ) );
  
  		if ( 'ids' == $q['fields'] ) {
  			$this->posts = $wpdb->get_col($this->request);
--- 2605,2615 ----
  		if ( !$q['no_found_rows'] && !empty($limits) )
  			$found_rows = 'SQL_CALC_FOUND_ROWS';
  
! 		$this->request = $old_request = "SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
! 
! 		if ( !$q['suppress_filters'] ) {
! 			$this->request = apply_filters_ref_array( 'posts_request', array( $this->request, &$this ) );
! 		}
  
  		if ( 'ids' == $q['fields'] ) {
  			$this->posts = $wpdb->get_col($this->request);
***************
*** 2629,2637 ****
  			return $r;
  		}
  
! 		$this->posts = $wpdb->get_results($this->request);
  
! 		// Raw results filter.  Prior to status checks.
  		if ( !$q['suppress_filters'] )
  			$this->posts = apply_filters_ref_array('posts_results', array( $this->posts, &$this ) );
  
--- 2627,2660 ----
  			return $r;
  		}
  
! 		$split_the_query = ( $old_request == $this->request && "$wpdb->posts.*" == $fields && !empty( $limits ) && $q['posts_per_page'] < 500 );
! 		$split_the_query = apply_filters( 'split_the_query', $split_the_query, $this );
! 
! 		if ( $split_the_query ) {
! 			// First get the IDs and then fill in the objects
  
! 			$this->request = "SELECT $found_rows $distinct $wpdb->posts.ID FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
! 
! 			$this->request = apply_filters( 'posts_request_ids', $this->request, $this );
! 
! 			$ids = $wpdb->get_col( $this->request );
! 
! 			if ( $ids ) {
! 				$this->set_found_posts( $q, $limits );
! 
! 				_prime_post_caches( $ids, $q['update_post_term_cache'], $q['update_post_meta_cache'] );
! 
! 				$this->posts = array_map( 'get_post', $ids );
! 			} else {
! 				$this->found_posts = $this->max_num_pages = 0;
! 				$this->posts = array();
! 			}
! 		} else {
! 			$this->posts = $wpdb->get_results( $this->request );
! 			$this->set_found_posts( $q, $limits );
! 		}
! 
! 		// Raw results filter. Prior to status checks.
  		if ( !$q['suppress_filters'] )
  			$this->posts = apply_filters_ref_array('posts_results', array( $this->posts, &$this ) );
  
***************
*** 2648,2660 ****
  			$this->comment_count = count($this->comments);
  		}
  
- 		if ( !$q['no_found_rows'] && !empty($limits) ) {
- 			$found_posts_query = apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) );
- 			$this->found_posts = $wpdb->get_var( $found_posts_query );
- 			$this->found_posts = apply_filters_ref_array( 'found_posts', array( $this->found_posts, &$this ) );
- 			$this->max_num_pages = ceil($this->found_posts / $q['posts_per_page']);
- 		}
- 
  		// Check post status to determine if post should be displayed.
  		if ( !empty($this->posts) && ($this->is_single || $this->is_page) ) {
  			$status = get_post_status($this->posts[0]);
--- 2671,2676 ----
***************
*** 2683,2689 ****
  				}
  			}
  
! 			if ( $this->is_preview && current_user_can( $edit_cap, $this->posts[0]->ID ) )
  				$this->posts[0] = apply_filters_ref_array('the_preview', array( $this->posts[0], &$this ));
  		}
  
--- 2699,2705 ----
  				}
  			}
  
! 			if ( $this->is_preview && $this->posts && current_user_can( $edit_cap, $this->posts[0]->ID ) )
  				$this->posts[0] = apply_filters_ref_array('the_preview', array( $this->posts[0], &$this ));
  		}
  
***************
*** 2700,2706 ****
  					array_splice($this->posts, $i, 1);
  					// Move to front, after other stickies
  					array_splice($this->posts, $sticky_offset, 0, array($sticky_post));
! 					// Increment the sticky offset.  The next sticky will be placed at this offset.
  					$sticky_offset++;
  					// Remove post from sticky posts array
  					$offset = array_search($sticky_post->ID, $sticky_posts);
--- 2716,2722 ----
  					array_splice($this->posts, $i, 1);
  					// Move to front, after other stickies
  					array_splice($this->posts, $sticky_offset, 0, array($sticky_post));
! 					// Increment the sticky offset. The next sticky will be placed at this offset.
  					$sticky_offset++;
  					// Remove post from sticky posts array
  					$offset = array_search($sticky_post->ID, $sticky_posts);
***************
*** 2757,2762 ****
--- 2773,2790 ----
  		return $this->posts;
  	}
  
+ 	function set_found_posts( $q, $limits ) {
+ 		global $wpdb;
+ 
+ 		if ( $q['no_found_rows'] || empty( $limits ) )
+ 			return;
+ 
+ 		$this->found_posts = $wpdb->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
+ 		$this->found_posts = apply_filters_ref_array( 'found_posts', array( $this->found_posts, &$this ) );
+ 
+ 		$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
+ 	}
+ 
  	/**
  	 * Set up the next post and iterate current post index.
  	 *
***************
*** 2929,2935 ****
  		if ( isset($this->queried_object) )
  			return $this->queried_object;
  
! 		$this->queried_object = NULL;
  		$this->queried_object_id = 0;
  
  		if ( $this->is_category || $this->is_tag || $this->is_tax ) {
--- 2957,2963 ----
  		if ( isset($this->queried_object) )
  			return $this->queried_object;
  
! 		$this->queried_object = null;
  		$this->queried_object_id = 0;
  
  		if ( $this->is_category || $this->is_tag || $this->is_tax ) {
***************
*** 2953,2959 ****
  			$this->queried_object = get_post_type_object( $this->get('post_type') );
  		} elseif ( $this->is_posts_page ) {
  			$page_for_posts = get_option('page_for_posts');
! 			$this->queried_object = & get_page( $page_for_posts );
  			$this->queried_object_id = (int) $this->queried_object->ID;
  		} elseif ( $this->is_singular && !is_null($this->post) ) {
  			$this->queried_object = $this->post;
--- 2981,2987 ----
  			$this->queried_object = get_post_type_object( $this->get('post_type') );
  		} elseif ( $this->is_posts_page ) {
  			$page_for_posts = get_option('page_for_posts');
! 			$this->queried_object = get_page( $page_for_posts );
  			$this->queried_object_id = (int) $this->queried_object->ID;
  		} elseif ( $this->is_singular && !is_null($this->post) ) {
  			$this->queried_object = $this->post;
***************
*** 3593,3596 ****
  
  	return true;
  }
- ?>
--- 3620,3622 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/registration-functions.php ./wordpress-3.4/wp-includes/registration-functions.php
*** ./wordpress-3.3.2/wp-includes/registration-functions.php	2010-10-27 05:46:24.000000000 -0500
--- ./wordpress-3.4/wp-includes/registration-functions.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 5,8 ****
   * @package WordPress
   */
  _deprecated_file( basename(__FILE__), '2.1', null, __( 'This file no longer needs to be included.' ) );
- ?>
\ No newline at end of file
--- 5,7 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/registration.php ./wordpress-3.4/wp-includes/registration.php
*** ./wordpress-3.3.2/wp-includes/registration.php	2010-10-27 05:46:24.000000000 -0500
--- ./wordpress-3.4/wp-includes/registration.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 5,8 ****
   * @package WordPress
   */
  _deprecated_file( basename(__FILE__), '3.1', null, __( 'This file no longer needs to be included.' ) );
- ?>
\ No newline at end of file
--- 5,7 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/rewrite.php ./wordpress-3.4/wp-includes/rewrite.php
*** ./wordpress-3.3.2/wp-includes/rewrite.php	2011-11-17 12:43:33.000000000 -0600
--- ./wordpress-3.4/wp-includes/rewrite.php	2012-04-25 15:49:57.000000000 -0500
***************
*** 22,47 ****
  }
  
  /**
!  * Add a new tag (like %postname%).
   *
!  * Warning: you must call this on init or earlier, otherwise the query var
!  * addition stuff won't work.
   *
   * @since 2.1.0
   *
!  * @param string $tagname
!  * @param string $regex
!  */
! function add_rewrite_tag($tagname, $regex) {
! 	//validation
! 	if ( strlen($tagname) < 3 || $tagname[0] != '%' || $tagname[strlen($tagname)-1] != '%' )
  		return;
  
- 	$qv = trim($tagname, '%');
- 
  	global $wp_rewrite, $wp;
! 	$wp->add_query_var($qv);
! 	$wp_rewrite->add_rewrite_tag($tagname, $regex, $qv . '=');
  }
  
  /**
--- 22,54 ----
  }
  
  /**
!  * Add a new rewrite tag (like %postname%).
   *
!  * The $query parameter is optional. If it is omitted you must ensure that
!  * you call this on, or before, the 'init' hook. This is because $query defaults
!  * to "$tag=", and for this to work a new query var has to be added.
   *
+  * @see WP_Rewrite::add_rewrite_tag()
   * @since 2.1.0
   *
!  * @param string $tag Name of the new rewrite tag.
!  * @param string $regex Regular expression to substitute the tag for in rewrite rules.
!  * @param string $query String to append to the rewritten query. Must end in '='. Optional.
!  */
! function add_rewrite_tag( $tag, $regex, $query = '' ) {
! 	// validate the tag's name
! 	if ( strlen( $tag ) < 3 || $tag[0] != '%' || $tag[ strlen($tag) - 1 ] != '%' )
  		return;
  
  	global $wp_rewrite, $wp;
! 
! 	if ( empty( $query ) ) {
! 		$qv = trim( $tag, '%' );
! 		$wp->add_query_var( $qv );
! 		$query = $qv . '=';
! 	}
! 
! 	$wp_rewrite->add_rewrite_tag( $tag, $regex, $query );
  }
  
  /**
***************
*** 52,62 ****
   *
   * @param string $name Name for permalink structure.
   * @param string $struct Permalink structure.
!  * @param bool $with_front Prepend front base to permalink structure.
   */
! function add_permastruct( $name, $struct, $with_front = true, $ep_mask = EP_NONE ) {
  	global $wp_rewrite;
! 	return $wp_rewrite->add_permastruct( $name, $struct, $with_front, $ep_mask );
  }
  
  /**
--- 59,77 ----
   *
   * @param string $name Name for permalink structure.
   * @param string $struct Permalink structure.
!  * @param array $args Optional configuration for building the rules from the permalink structure,
!  *     see {@link WP_Rewrite::add_permastruct()} for full details.
   */
! function add_permastruct( $name, $struct, $args = array() ) {
  	global $wp_rewrite;
! 
! 	// backwards compatibility for the old parameters: $with_front and $ep_mask
! 	if ( ! is_array( $args ) )
! 		$args = array( 'with_front' => $args );
! 	if ( func_num_args() == 4 )
! 		$args['ep_mask'] = func_get_arg( 3 );
! 
! 	return $wp_rewrite->add_permastruct( $name, $struct, $args );
  }
  
  /**
***************
*** 93,99 ****
  	$wp_rewrite->flush_rules( $hard );
  }
  
- //pseudo-places
  /**
   * Endpoint Mask for default, which is nothing.
   *
--- 108,113 ----
***************
*** 202,223 ****
  /**
   * Add an endpoint, like /trackback/.
   *
!  * The endpoints are added to the end of the request. So a request matching
!  * "/2008/10/14/my_post/myep/", the endpoint will be "/myep/".
   *
!  * Be sure to flush the rewrite rules (wp_rewrite->flush_rules()) when your plugin gets
!  * activated (register_activation_hook()) and deactivated (register_deactivation_hook())
   *
   * @since 2.1.0
!  * @see WP_Rewrite::add_endpoint() Parameters and more description.
!  * @uses $wp_rewrite
   *
!  * @param unknown_type $name
!  * @param unknown_type $places
   */
! function add_rewrite_endpoint($name, $places) {
  	global $wp_rewrite;
! 	$wp_rewrite->add_endpoint($name, $places);
  }
  
  /**
--- 216,252 ----
  /**
   * Add an endpoint, like /trackback/.
   *
!  * Adding an endpoint creates extra rewrite rules for each of the matching
!  * places specified by the provided bitmask. For example:
   *
!  * <code>
!  * add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );
!  * </code>
!  *
!  * will add a new rewrite rule ending with "json(/(.*))?/?$" for every permastruct
!  * that describes a permalink (post) or page. This is rewritten to "json=$match"
!  * where $match is the part of the URL matched by the endpoint regex (e.g. "foo" in
!  * "<permalink>/json/foo/").
!  *
!  * A new query var with the same name as the endpoint will also be created.
!  *
!  * When specifying $places ensure that you are using the EP_* constants (or a
!  * combination of them using the bitwise OR operator) as their values are not
!  * guaranteed to remain static (especially EP_ALL).
!  *
!  * Be sure to flush the rewrite rules - flush_rewrite_rules() - when your plugin gets
!  * activated and deactivated.
   *
   * @since 2.1.0
!  * @see WP_Rewrite::add_endpoint()
!  * @global object $wp_rewrite
   *
!  * @param string $name Name of the endpoint.
!  * @param int $places Endpoint mask describing the places the endpoint should be added.
   */
! function add_rewrite_endpoint( $name, $places ) {
  	global $wp_rewrite;
! 	$wp_rewrite->add_endpoint( $name, $places );
  }
  
  /**
***************
*** 364,370 ****
   */
  class WP_Rewrite {
  	/**
! 	 * Default permalink structure for WordPress.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 393,399 ----
   */
  class WP_Rewrite {
  	/**
! 	 * Permalink structure for posts.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 382,388 ****
  	var $use_trailing_slashes;
  
  	/**
! 	 * Permalink author request base ( example.com/author/authorname ).
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 411,417 ----
  	var $use_trailing_slashes;
  
  	/**
! 	 * Base for the author permalink structure (example.com/$author_base/authorname).
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 391,397 ****
  	var $author_base = 'author';
  
  	/**
! 	 * Permalink request structure for author pages.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 420,426 ----
  	var $author_base = 'author';
  
  	/**
! 	 * Permalink structure for author archives.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 400,406 ****
  	var $author_structure;
  
  	/**
! 	 * Permalink request structure for dates.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 429,435 ----
  	var $author_structure;
  
  	/**
! 	 * Permalink structure for date archives.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 409,415 ****
  	var $date_structure;
  
  	/**
! 	 * Permalink request structure for pages.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 438,444 ----
  	var $date_structure;
  
  	/**
! 	 * Permalink structure for pages.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 418,424 ****
  	var $page_structure;
  
  	/**
! 	 * Search permalink base ( example.com/search/query ).
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 447,453 ----
  	var $page_structure;
  
  	/**
! 	 * Base of the search permalink structure (example.com/$search_base/query).
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 427,433 ****
  	var $search_base = 'search';
  
  	/**
! 	 * Permalink request structure for searches.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 456,462 ----
  	var $search_base = 'search';
  
  	/**
! 	 * Permalink structure for searches.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 463,469 ****
  	var $feed_base = 'feed';
  
  	/**
! 	 * Comments feed request structure permalink.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 492,498 ----
  	var $feed_base = 'feed';
  
  	/**
! 	 * Comments feed permalink structure.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 472,478 ****
  	var $comments_feed_structure;
  
  	/**
! 	 * Feed request structure permalink.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 501,507 ----
  	var $comments_feed_structure;
  
  	/**
! 	 * Feed request permalink structure.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 481,493 ****
  	var $feed_structure;
  
  	/**
! 	 * Front URL path.
  	 *
! 	 * The difference between the root property is that WordPress might be
! 	 * located at example/WordPress/index.php, if permalinks are turned off. The
! 	 * WordPress/index.php will be the front portion. If permalinks are turned
! 	 * on, this will most likely be empty or not set.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var string
--- 510,522 ----
  	var $feed_structure;
  
  	/**
! 	 * The static portion of the post permalink structure.
  	 *
! 	 * If the permalink structure is "/archive/%post_id%" then the front
! 	 * is "/archive/". If the permalink structure is "/%year%/%postname%/"
! 	 * then the front is "/".
  	 *
+ 	 * @see WP_Rewrite::init()
  	 * @since 1.5.0
  	 * @access private
  	 * @var string
***************
*** 495,505 ****
  	var $front;
  
  	/**
! 	 * Root URL path to WordPress (without domain).
  	 *
! 	 * The difference between front property is that WordPress might be located
! 	 * at example.com/WordPress/. The root is the 'WordPress/' portion.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var string
--- 524,537 ----
  	var $front;
  
  	/**
! 	 * The prefix for all permalink structures.
  	 *
! 	 * If PATHINFO/index permalinks are in use then the root is the value of
! 	 * {@link WP_Rewrite::$index} with a trailing slash appended. Otherwise
! 	 * the root will be empty.
  	 *
+ 	 * @see WP_Rewrite::init()
+ 	 * @see WP_Rewrite::using_index_permalinks()
  	 * @since 1.5.0
  	 * @access private
  	 * @var string
***************
*** 507,513 ****
  	var $root = '';
  
  	/**
! 	 * Permalink to the home page.
  	 *
  	 * @since 1.5.0
  	 * @access public
--- 539,545 ----
  	var $root = '';
  
  	/**
! 	 * The name of the index file which is the entry point to all requests.
  	 *
  	 * @since 1.5.0
  	 * @access public
***************
*** 516,522 ****
  	var $index = 'index.php';
  
  	/**
! 	 * Request match string.
  	 *
  	 * @since 1.5.0
  	 * @access private
--- 548,554 ----
  	var $index = 'index.php';
  
  	/**
! 	 * Variable name to use for regex matches in the rewritten query.
  	 *
  	 * @since 1.5.0
  	 * @access private
***************
*** 542,548 ****
  	 * @access private
  	 * @var array
  	 */
! 	var $extra_rules = array(); //
  
  	/**
  	 * Additional rules that belong at the beginning to match first.
--- 574,580 ----
  	 * @access private
  	 * @var array
  	 */
! 	var $extra_rules = array();
  
  	/**
  	 * Additional rules that belong at the beginning to match first.
***************
*** 553,573 ****
  	 * @access private
  	 * @var array
  	 */
! 	var $extra_rules_top = array(); //
  
  	/**
! 	 * Rules that don't redirect to WP's index.php.
  	 *
! 	 * These rules are written to the mod_rewrite portion of the .htaccess.
  	 *
  	 * @since 2.1.0
  	 * @access private
  	 * @var array
  	 */
! 	var $non_wp_rules = array(); //
  
  	/**
! 	 * Extra permalink structures.
  	 *
  	 * @since 2.1.0
  	 * @access private
--- 585,606 ----
  	 * @access private
  	 * @var array
  	 */
! 	var $extra_rules_top = array();
  
  	/**
! 	 * Rules that don't redirect to WordPress' index.php.
  	 *
! 	 * These rules are written to the mod_rewrite portion of the .htaccess,
! 	 * and are added by {@link add_external_rule()}.
  	 *
  	 * @since 2.1.0
  	 * @access private
  	 * @var array
  	 */
! 	var $non_wp_rules = array();
  
  	/**
! 	 * Extra permalink structures, e.g. categories, added by {@link add_permastruct()}.
  	 *
  	 * @since 2.1.0
  	 * @access private
***************
*** 576,582 ****
  	var $extra_permastructs = array();
  
  	/**
! 	 * Endpoints permalinks
  	 *
  	 * @since 2.1.0
  	 * @access private
--- 609,615 ----
  	var $extra_permastructs = array();
  
  	/**
! 	 * Endpoints (like /trackback/) added by {@link add_rewrite_endpoint()}.
  	 *
  	 * @since 2.1.0
  	 * @access private
***************
*** 585,595 ****
  	var $endpoints;
  
  	/**
! 	 * Whether to write every mod_rewrite rule for WordPress.
  	 *
  	 * This is off by default, turning it on might print a lot of rewrite rules
  	 * to the .htaccess file.
  	 *
  	 * @since 2.0.0
  	 * @access public
  	 * @var bool
--- 618,629 ----
  	var $endpoints;
  
  	/**
! 	 * Whether to write every mod_rewrite rule for WordPress into the .htaccess file.
  	 *
  	 * This is off by default, turning it on might print a lot of rewrite rules
  	 * to the .htaccess file.
  	 *
+ 	 * @see WP_Rewrite::mod_rewrite_rules()
  	 * @since 2.0.0
  	 * @access public
  	 * @var bool
***************
*** 597,604 ****
  	var $use_verbose_rules = false;
  
  	/**
! 	 * Whether to write every mod_rewrite rule for WordPress pages.
  	 *
  	 * @since 2.5.0
  	 * @access public
  	 * @var bool
--- 631,647 ----
  	var $use_verbose_rules = false;
  
  	/**
! 	 * Could post permalinks be confused with those of pages?
! 	 *
! 	 * If the first rewrite tag in the post permalink structure is one that could
! 	 * also match a page name (e.g. %postname% or %author%) then this flag is
! 	 * set to true. Prior to WordPress 3.3 this flag indicated that every page
! 	 * would have a set of rules added to the top of the rewrite rules array.
! 	 * Now it tells {@link WP::parse_request()} to check if a URL matching the
! 	 * page permastruct is actually a page before accepting it.
  	 *
+ 	 * @link http://core.trac.wordpress.org/ticket/16687
+ 	 * @see WP_Rewrite::init()
  	 * @since 2.5.0
  	 * @access public
  	 * @var bool
***************
*** 606,675 ****
  	var $use_verbose_page_rules = true;
  
  	/**
! 	 * Permalink structure search for preg_replace.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var array
  	 */
! 	var $rewritecode =
! 		array(
! 					'%year%',
! 					'%monthnum%',
! 					'%day%',
! 					'%hour%',
! 					'%minute%',
! 					'%second%',
! 					'%postname%',
! 					'%post_id%',
! 					'%author%',
! 					'%pagename%',
! 					'%search%'
! 					);
  
  	/**
! 	 * Preg_replace values for the search, see {@link WP_Rewrite::$rewritecode}.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var array
  	 */
! 	var $rewritereplace =
! 		array(
! 					'([0-9]{4})',
! 					'([0-9]{1,2})',
! 					'([0-9]{1,2})',
! 					'([0-9]{1,2})',
! 					'([0-9]{1,2})',
! 					'([0-9]{1,2})',
! 					'([^/]+)',
! 					'([0-9]+)',
! 					'([^/]+)',
! 					'([^/]+?)',
! 					'(.+)'
! 					);
  
  	/**
! 	 * Search for the query to look for replacing.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var array
  	 */
! 	var $queryreplace =
! 		array (
! 					'year=',
! 					'monthnum=',
! 					'day=',
! 					'hour=',
! 					'minute=',
! 					'second=',
! 					'name=',
! 					'p=',
! 					'author_name=',
! 					'pagename=',
! 					's='
! 					);
  
  	/**
  	 * Supported default feeds.
--- 649,722 ----
  	var $use_verbose_page_rules = true;
  
  	/**
! 	 * Rewrite tags that can be used in permalink structures.
! 	 *
! 	 * These are translated into the regular expressions stored in
! 	 * {@link WP_Rewrite::$rewritereplace} and are rewritten to the
! 	 * query variables listed in {@link WP_Rewrite::$queryreplace}.
! 	 *
! 	 * Additional tags can be added with {@link add_rewrite_tag()}.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var array
  	 */
! 	var $rewritecode = array(
! 		'%year%',
! 		'%monthnum%',
! 		'%day%',
! 		'%hour%',
! 		'%minute%',
! 		'%second%',
! 		'%postname%',
! 		'%post_id%',
! 		'%author%',
! 		'%pagename%',
! 		'%search%'
! 	);
  
  	/**
! 	 * Regular expressions to be substituted into rewrite rules in place
! 	 * of rewrite tags, see {@link WP_Rewrite::$rewritecode}.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var array
  	 */
! 	var $rewritereplace = array(
! 		'([0-9]{4})',
! 		'([0-9]{1,2})',
! 		'([0-9]{1,2})',
! 		'([0-9]{1,2})',
! 		'([0-9]{1,2})',
! 		'([0-9]{1,2})',
! 		'([^/]+)',
! 		'([0-9]+)',
! 		'([^/]+)',
! 		'([^/]+?)',
! 		'(.+)'
! 	);
  
  	/**
! 	 * Query variables that rewrite tags map to, see {@link WP_Rewrite::$rewritecode}.
  	 *
  	 * @since 1.5.0
  	 * @access private
  	 * @var array
  	 */
! 	var $queryreplace = array(
! 		'year=',
! 		'monthnum=',
! 		'day=',
! 		'hour=',
! 		'minute=',
! 		'second=',
! 		'name=',
! 		'p=',
! 		'author_name=',
! 		'pagename=',
! 		's='
! 	);
  
  	/**
  	 * Supported default feeds.
***************
*** 678,684 ****
  	 * @access private
  	 * @var array
  	 */
! 	var $feeds = array ( 'feed', 'rdf', 'rss', 'rss2', 'atom' );
  
  	/**
  	 * Whether permalinks are being used.
--- 725,731 ----
  	 * @access private
  	 * @var array
  	 */
! 	var $feeds = array( 'feed', 'rdf', 'rss', 'rss2', 'atom' );
  
  	/**
  	 * Whether permalinks are being used.
***************
*** 807,830 ****
  	/**
  	 * Retrieve all of the rewrite rules for pages.
  	 *
- 	 * If the 'use_verbose_page_rules' property is false, then there will only
- 	 * be a single rewrite rule for pages for those matching '%pagename%'. With
- 	 * the property set to true, the attachments and the pages will be added for
- 	 * each individual attachment URI and page URI, respectively.
- 	 *
  	 * @since 1.5.0
  	 * @access public
  	 *
  	 * @return array
  	 */
  	function page_rewrite_rules() {
- 		$rewrite_rules = array();
- 		$page_structure = $this->get_page_permastruct();
- 
  		// the extra .? at the beginning prevents clashes with other regular expressions in the rules array
! 		$this->add_rewrite_tag('%pagename%', "(.?.+?)", 'pagename=');
! 		$rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
! 		return $rewrite_rules;
  	}
  
  	/**
--- 854,869 ----
  	/**
  	 * Retrieve all of the rewrite rules for pages.
  	 *
  	 * @since 1.5.0
  	 * @access public
  	 *
  	 * @return array
  	 */
  	function page_rewrite_rules() {
  		// the extra .? at the beginning prevents clashes with other regular expressions in the rules array
! 		$this->add_rewrite_tag( '%pagename%', '(.?.+?)', 'pagename=' );
! 
! 		return $this->generate_rewrite_rules( $this->get_page_permastruct(), EP_PAGES, true, true, false, false );
  	}
  
  	/**
***************
*** 902,908 ****
  	 * @return bool|string False on failure. Year structure on success.
  	 */
  	function get_year_permastruct() {
! 		$structure = $this->get_date_permastruct($this->permalink_structure);
  
  		if ( empty($structure) )
  			return false;
--- 941,947 ----
  	 * @return bool|string False on failure. Year structure on success.
  	 */
  	function get_year_permastruct() {
! 		$structure = $this->get_date_permastruct();
  
  		if ( empty($structure) )
  			return false;
***************
*** 927,933 ****
  	 * @return bool|string False on failure. Year/Month structure on success.
  	 */
  	function get_month_permastruct() {
! 		$structure = $this->get_date_permastruct($this->permalink_structure);
  
  		if ( empty($structure) )
  			return false;
--- 966,972 ----
  	 * @return bool|string False on failure. Year/Month structure on success.
  	 */
  	function get_month_permastruct() {
! 		$structure = $this->get_date_permastruct();
  
  		if ( empty($structure) )
  			return false;
***************
*** 950,956 ****
  	 * @return bool|string False on failure. Year/Month/Day structure on success.
  	 */
  	function get_day_permastruct() {
! 		return $this->get_date_permastruct($this->permalink_structure);
  	}
  
  	/**
--- 989,995 ----
  	 * @return bool|string False on failure. Year/Month/Day structure on success.
  	 */
  	function get_day_permastruct() {
! 		return $this->get_date_permastruct();
  	}
  
  	/**
***************
*** 1001,1007 ****
  			return false;
  
  		if ( isset($this->extra_permastructs[$name]) )
! 			return $this->extra_permastructs[$name][0];
  
  		return false;
  	}
--- 1040,1046 ----
  			return false;
  
  		if ( isset($this->extra_permastructs[$name]) )
! 			return $this->extra_permastructs[$name]['struct'];
  
  		return false;
  	}
***************
*** 1137,1172 ****
  	}
  
  	/**
! 	 * Append or update tag, pattern, and query for replacement.
  	 *
  	 * If the tag already exists, replace the existing pattern and query for
! 	 * that tag, otherwise add the new tag, pattern, and query to the end of the
! 	 * arrays.
! 	 *
! 	 * @internal What is the purpose of this function again? Need to finish long
! 	 *           description.
  	 *
  	 * @since 1.5.0
  	 * @access public
  	 *
! 	 * @param string $tag Append tag to rewritecode property array.
! 	 * @param string $pattern Append pattern to rewritereplace property array.
! 	 * @param string $query Append query to queryreplace property array.
  	 */
! 	function add_rewrite_tag($tag, $pattern, $query) {
! 		$position = array_search($tag, $this->rewritecode);
  		if ( false !== $position && null !== $position ) {
! 			$this->rewritereplace[$position] = $pattern;
! 			$this->queryreplace[$position] = $query;
  		} else {
  			$this->rewritecode[] = $tag;
! 			$this->rewritereplace[] = $pattern;
  			$this->queryreplace[] = $query;
  		}
  	}
  
  	/**
! 	 * Generate the rules from permalink structure.
  	 *
  	 * The main WP_Rewrite function for building the rewrite rule list. The
  	 * contents of the function is a mix of black magic and regular expressions,
--- 1176,1210 ----
  	}
  
  	/**
! 	 * Add or update existing rewrite tags (e.g. %postname%).
  	 *
  	 * If the tag already exists, replace the existing pattern and query for
! 	 * that tag, otherwise add the new tag.
  	 *
+ 	 * @see WP_Rewrite::$rewritecode
+ 	 * @see WP_Rewrite::$rewritereplace
+ 	 * @see WP_Rewrite::$queryreplace
  	 * @since 1.5.0
  	 * @access public
  	 *
! 	 * @param string $tag Name of the rewrite tag to add or update.
! 	 * @param string $regex Regular expression to substitute the tag for in rewrite rules.
! 	 * @param string $query String to append to the rewritten query. Must end in '='.
  	 */
! 	function add_rewrite_tag( $tag, $regex, $query ) {
! 		$position = array_search( $tag, $this->rewritecode );
  		if ( false !== $position && null !== $position ) {
! 			$this->rewritereplace[ $position ] = $regex;
! 			$this->queryreplace[ $position ] = $query;
  		} else {
  			$this->rewritecode[] = $tag;
! 			$this->rewritereplace[] = $regex;
  			$this->queryreplace[] = $query;
  		}
  	}
  
  	/**
! 	 * Generate rewrite rules from a permalink structure.
  	 *
  	 * The main WP_Rewrite function for building the rewrite rule list. The
  	 * contents of the function is a mix of black magic and regular expressions,
***************
*** 1176,1187 ****
  	 * @access public
  	 *
  	 * @param string $permalink_structure The permalink structure.
! 	 * @param int $ep_mask Optional, default is EP_NONE. Endpoint constant, see EP_* constants.
! 	 * @param bool $paged Optional, default is true. Whether permalink request is paged.
! 	 * @param bool $feed Optional, default is true. Whether for feed.
! 	 * @param bool $forcomments Optional, default is false. Whether for comments.
! 	 * @param bool $walk_dirs Optional, default is true. Whether to create list of directories to walk over.
! 	 * @param bool $endpoints Optional, default is true. Whether endpoints are enabled.
  	 * @return array Rewrite rule list.
  	 */
  	function generate_rewrite_rules($permalink_structure, $ep_mask = EP_NONE, $paged = true, $feed = true, $forcomments = false, $walk_dirs = true, $endpoints = true) {
--- 1214,1226 ----
  	 * @access public
  	 *
  	 * @param string $permalink_structure The permalink structure.
! 	 * @param int $ep_mask Endpoint mask defining what endpoints are added to the structure. Default is EP_NONE.
! 	 * @param bool $paged Should archive pagination rules be added for the structure? Default is true.
! 	 * @param bool $feed Should feed rewrite rules be added for the structure? Default is true.
! 	 * @param bool $forcomments Should the feed rules be a query for a comments feed? Default is false.
! 	 * @param bool $walk_dirs Should the 'directories' making up the structure be walked over and rewrite rules
! 	 *                        built for each in turn? Default is true.
! 	 * @param bool $endpoints Should endpoints be applied to the generated rewrite rules? Default is true.
  	 * @return array Rewrite rule list.
  	 */
  	function generate_rewrite_rules($permalink_structure, $ep_mask = EP_NONE, $paged = true, $feed = true, $forcomments = false, $walk_dirs = true, $endpoints = true) {
***************
*** 1189,1199 ****
  		$feedregex2 = '';
  		foreach ( (array) $this->feeds as $feed_name)
  			$feedregex2 .= $feed_name . '|';
! 		$feedregex2 = '(' . trim($feedregex2, '|') .  ')/?$';
  
  		//$feedregex is identical but with /feed/ added on as well, so URLs like <permalink>/feed/atom
  		//and <permalink>/atom are both possible
! 		$feedregex = $this->feed_base  . '/' . $feedregex2;
  
  		//build a regex to match the trackback and page/xx parts of URLs
  		$trackbackregex = 'trackback/?$';
--- 1228,1238 ----
  		$feedregex2 = '';
  		foreach ( (array) $this->feeds as $feed_name)
  			$feedregex2 .= $feed_name . '|';
! 		$feedregex2 = '(' . trim($feedregex2, '|') . ')/?$';
  
  		//$feedregex is identical but with /feed/ added on as well, so URLs like <permalink>/feed/atom
  		//and <permalink>/atom are both possible
! 		$feedregex = $this->feed_base . '/' . $feedregex2;
  
  		//build a regex to match the trackback and page/xx parts of URLs
  		$trackbackregex = 'trackback/?$';
***************
*** 1240,1247 ****
  			$structure = str_replace($front, '', $structure);
  
  		//create a list of dirs to walk over, making rewrite rules for each level
! 		//so for example, a $structure of /%year%/%month%/%postname% would create
! 		//rewrite rules for /%year%/, /%year%/%month%/ and /%year%/%month%/%postname%
  		$structure = trim($structure, '/');
  		$dirs = $walk_dirs ? explode('/', $structure) : array( $structure );
  		$num_dirs = count($dirs);
--- 1279,1286 ----
  			$structure = str_replace($front, '', $structure);
  
  		//create a list of dirs to walk over, making rewrite rules for each level
! 		//so for example, a $structure of /%year%/%monthnum%/%postname% would create
! 		//rewrite rules for /%year%/, /%year%/%monthnum%/ and /%year%/%monthnum%/%postname%
  		$structure = trim($structure, '/');
  		$dirs = $walk_dirs ? explode('/', $structure) : array( $structure );
  		$num_dirs = count($dirs);
***************
*** 1377,1384 ****
  					$sub1feed = $sub1 . $feedregex; //and <permalink>/feed/(atom|...)
  					$sub1feed2 = $sub1 . $feedregex2; //and <permalink>/(feed|atom...)
  					$sub1comment = $sub1 . $commentregex; //and <permalink>/comment-page-xx
- 					//add an ? as we don't have to match that last slash, and finally a $ so we
- 					//match to the end of the URL
  
  					//add another rule to match attachments in the explicit form:
  					//<permalink>/attachment/some-text
--- 1416,1421 ----
***************
*** 1405,1414 ****
  					}
  
  					//now we've finished with endpoints, finish off the $sub1 and $sub2 matches
  					$sub1 .= '?$';
  					$sub2 .= '?$';
  
! 					//allow URLs like <permalink>/2 for <permalink>/page/2
  					$match = $match . '(/[0-9]+)?/?$';
  					$query = $index . '?' . $query . '&page=' . $this->preg_index($num_toks + 1);
  				} else { //not matching a permalink so this is a lot simpler
--- 1442,1453 ----
  					}
  
  					//now we've finished with endpoints, finish off the $sub1 and $sub2 matches
+ 					//add a ? as we don't have to match that last slash, and finally a $ so we
+ 					//match to the end of the URL
  					$sub1 .= '?$';
  					$sub2 .= '?$';
  
! 					//post pagination, e.g. <permalink>/2/
  					$match = $match . '(/[0-9]+)?/?$';
  					$query = $index . '?' . $query . '&page=' . $this->preg_index($num_toks + 1);
  				} else { //not matching a permalink so this is a lot simpler
***************
*** 1495,1503 ****
  			$registration_pages['.*wp-signup.php$'] = $this->index . '?signup=true';
  			$registration_pages['.*wp-activate.php$'] = $this->index . '?activate=true';
  		}
  
  		// Post
! 		$post_rewrite = $this->generate_rewrite_rules($this->permalink_structure, EP_PERMALINK);
  		$post_rewrite = apply_filters('post_rewrite_rules', $post_rewrite);
  
  		// Date
--- 1534,1543 ----
  			$registration_pages['.*wp-signup.php$'] = $this->index . '?signup=true';
  			$registration_pages['.*wp-activate.php$'] = $this->index . '?activate=true';
  		}
+ 		$registration_pages['.*wp-register.php$'] = $this->index . '?register=true'; // Deprecated
  
  		// Post
! 		$post_rewrite = $this->generate_rewrite_rules( $this->permalink_structure, EP_PERMALINK, false, true, false, false );
  		$post_rewrite = apply_filters('post_rewrite_rules', $post_rewrite);
  
  		// Date
***************
*** 1526,1536 ****
  		$page_rewrite = apply_filters('page_rewrite_rules', $page_rewrite);
  
  		// Extra permastructs
! 		foreach ( $this->extra_permastructs as $permastructname => $permastruct ) {
! 			if ( is_array($permastruct) )
! 				$rules = $this->generate_rewrite_rules($permastruct[0], $permastruct[1]);
! 			else
! 				$rules = $this->generate_rewrite_rules($permastruct, EP_NONE);
  
  			$rules = apply_filters($permastructname . '_rewrite_rules', $rules);
  			if ( 'post_tag' == $permastructname )
--- 1566,1580 ----
  		$page_rewrite = apply_filters('page_rewrite_rules', $page_rewrite);
  
  		// Extra permastructs
! 		foreach ( $this->extra_permastructs as $permastructname => $struct ) {
! 			if ( is_array( $struct ) ) {
! 				if ( count( $struct ) == 2 )
! 					$rules = $this->generate_rewrite_rules( $struct[0], $struct[1] );
! 				else
! 					$rules = $this->generate_rewrite_rules( $struct['struct'], $struct['ep_mask'], $struct['paged'], $struct['feed'], $struct['forcomments'], $struct['walk_dirs'], $struct['endpoints'] );
! 			} else {
! 				$rules = $this->generate_rewrite_rules( $struct );
! 			}
  
  			$rules = apply_filters($permastructname . '_rewrite_rules', $rules);
  			if ( 'post_tag' == $permastructname )
***************
*** 1582,1588 ****
  	 * Does not actually write to the .htaccess file, but creates the rules for
  	 * the process that will.
  	 *
! 	 * Will add  the non_wp_rules property rules to the .htaccess file before
  	 * the WordPress rewrite rules one.
  	 *
  	 * @since 1.5.0
--- 1626,1632 ----
  	 * Does not actually write to the .htaccess file, but creates the rules for
  	 * the process that will.
  	 *
! 	 * Will add the non_wp_rules property rules to the .htaccess file before
  	 * the WordPress rewrite rules one.
  	 *
  	 * @since 1.5.0
***************
*** 1810,1822 ****
  	/**
  	 * Add an endpoint, like /trackback/.
  	 *
! 	 * To be inserted after certain URL types (specified in $places).
  	 *
  	 * @since 2.1.0
  	 * @access public
  	 *
! 	 * @param string $name Name of endpoint.
! 	 * @param array $places URL types that endpoint can be used.
  	 */
  	function add_endpoint($name, $places) {
  		global $wp;
--- 1854,1868 ----
  	/**
  	 * Add an endpoint, like /trackback/.
  	 *
! 	 * See {@link add_rewrite_endpoint()} for full documentation.
  	 *
+ 	 * @see add_rewrite_endpoint()
  	 * @since 2.1.0
  	 * @access public
+ 	 * @uses WP::add_query_var()
  	 *
! 	 * @param string $name Name of the endpoint.
! 	 * @param int $places Endpoint mask describing the places the endpoint should be added.
  	 */
  	function add_endpoint($name, $places) {
  		global $wp;
***************
*** 1825,1848 ****
  	}
  
  	/**
! 	 * Add permalink structure.
  	 *
! 	 * These are added along with the extra rewrite rules that are merged to the
! 	 * top.
  	 *
  	 * @since 2.5.0
  	 * @access public
  	 *
  	 * @param string $name Name for permalink structure.
! 	 * @param string $struct Permalink structure.
! 	 * @param bool $with_front Prepend front base to permalink structure.
! 	 */
! 	function add_permastruct($name, $struct, $with_front = true, $ep_mask = EP_NONE) {
! 		if ( $with_front )
  			$struct = $this->front . $struct;
  		else
  			$struct = $this->root . $struct;
! 		$this->extra_permastructs[$name] = array($struct, $ep_mask);
  	}
  
  	/**
--- 1871,1929 ----
  	}
  
  	/**
! 	 * Add a new permalink structure.
! 	 *
! 	 * A permalink structure (permastruct) is an abstract definition of a set of rewrite rules; it
! 	 * is an easy way of expressing a set of regular expressions that rewrite to a set of query strings.
! 	 * The new permastruct is added to the {@link WP_Rewrite::$extra_permastructs} array. When the
! 	 * rewrite rules are built by {@link WP_Rewrite::rewrite_rules()} all of these extra permastructs
! 	 * are passed to {@link WP_Rewrite::generate_rewrite_rules()} which transforms them into the
! 	 * regular expressions that many love to hate.
  	 *
! 	 * The $args parameter gives you control over how {@link WP_Rewrite::generate_rewrite_rules()}
! 	 * works on the new permastruct.
  	 *
  	 * @since 2.5.0
  	 * @access public
  	 *
  	 * @param string $name Name for permalink structure.
! 	 * @param string $struct Permalink structure (e.g. category/%category%)
! 	 * @param array $args Optional configuration for building the rules from the permalink structure:
! 	 *     - with_front (bool) - Should the structure be prepended with WP_Rewrite::$front? Default is true.
! 	 *     - ep_mask (int) - Endpoint mask defining what endpoints are added to the structure. Default is EP_NONE.
! 	 *     - paged (bool) - Should archive pagination rules be added for the structure? Default is true.
! 	 *     - feed (bool) - Should feed rewrite rules be added for the structure? Default is true.
! 	 *     - forcomments (bool) - Should the feed rules be a query for a comments feed? Default is false.
! 	 *     - walk_dirs (bool) - Should the 'directories' making up the structure be walked over and rewrite
! 	 *                          rules built for each in turn? Default is true.
! 	 *     - endpoints (bool) - Should endpoints be applied to the generated rewrite rules? Default is true.
! 	 */
! 	function add_permastruct( $name, $struct, $args = array() ) {
! 		// backwards compatibility for the old parameters: $with_front and $ep_mask
! 		if ( ! is_array( $args ) )
! 			$args = array( 'with_front' => $args );
! 		if ( func_num_args() == 4 )
! 			$args['ep_mask'] = func_get_arg( 3 );
! 
! 		$defaults = array(
! 			'with_front' => true,
! 			'ep_mask' => EP_NONE,
! 			'paged' => true,
! 			'feed' => true,
! 			'forcomments' => false,
! 			'walk_dirs' => true,
! 			'endpoints' => true,
! 		);
! 		$args = array_intersect_key( $args, $defaults );
! 		$args = wp_parse_args( $args, $defaults );
! 
! 		if ( $args['with_front'] )
  			$struct = $this->front . $struct;
  		else
  			$struct = $this->root . $struct;
! 		$args['struct'] = $struct;
! 
! 		$this->extra_permastructs[ $name ] = $args;
  	}
  
  	/**
***************
*** 1970,1974 ****
  		$this->init();
  	}
  }
- 
- ?>
--- 2051,2053 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/rss-functions.php ./wordpress-3.4/wp-includes/rss-functions.php
*** ./wordpress-3.3.2/wp-includes/rss-functions.php	2009-12-24 04:53:34.000000000 -0600
--- ./wordpress-3.4/wp-includes/rss-functions.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 1,10 ****
  <?php
  /**
!  * Deprecated.  Use rss.php instead.
   *
   * @package WordPress
   */
  
  _deprecated_file( basename(__FILE__), '2.1', WPINC . '/rss.php' );
  require_once (ABSPATH . WPINC . '/rss.php');
- ?>
--- 1,9 ----
  <?php
  /**
!  * Deprecated. Use rss.php instead.
   *
   * @package WordPress
   */
  
  _deprecated_file( basename(__FILE__), '2.1', WPINC . '/rss.php' );
  require_once (ABSPATH . WPINC . '/rss.php');
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/rss.php ./wordpress-3.4/wp-includes/rss.php
*** ./wordpress-3.3.2/wp-includes/rss.php	2011-05-14 14:45:07.000000000 -0500
--- ./wordpress-3.4/wp-includes/rss.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 935,939 ****
  	}
  }
  endif;
- 
- ?>
--- 930,932 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/script-loader.php ./wordpress-3.4/wp-includes/script-loader.php
*** ./wordpress-3.3.2/wp-includes/script-loader.php	2012-04-17 18:13:20.000000000 -0500
--- ./wordpress-3.4/wp-includes/script-loader.php	2012-06-08 14:22:11.000000000 -0500
***************
*** 59,74 ****
  
  	$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : '';
  
! 	$scripts->add( 'utils', "/wp-admin/js/utils$suffix.js", false, '20101110' );
  
! 	$scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), '20120102', 1 );
  	$scripts->localize( 'common', 'commonL10n', array(
  		'warnDelete' => __("You are about to permanently delete the selected items.\n  'Cancel' to stop, 'OK' to delete.")
  	) );
  
! 	$scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", false, '1.6.1', 1 );
  
! 	$scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", false, '20111114', 1 );
  	$scripts->localize( 'quicktags', 'quicktagsL10n', array(
  		'wordLookup' => __('Enter a word to look up:'),
  		'dictionaryLookup' => esc_attr(__('Dictionary lookup')),
--- 59,74 ----
  
  	$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : '';
  
! 	$scripts->add( 'utils', "/wp-admin/js/utils$suffix.js" );
  
! 	$scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), false, 1 );
  	$scripts->localize( 'common', 'commonL10n', array(
  		'warnDelete' => __("You are about to permanently delete the selected items.\n  'Cancel' to stop, 'OK' to delete.")
  	) );
  
! 	$scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", array(), '1.6.1', 1 );
  
! 	$scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", array(), false, 1 );
  	$scripts->localize( 'quicktags', 'quicktagsL10n', array(
  		'wordLookup' => __('Enter a word to look up:'),
  		'dictionaryLookup' => esc_attr(__('Dictionary lookup')),
***************
*** 79,96 ****
  		'enterImageURL' => __('Enter the URL of the image'),
  		'enterImageDescription' => __('Enter a description of the image'),
  		'fullscreen' => __('fullscreen'),
! 		'toggleFullscreen' => esc_attr( __('Toggle fullscreen mode') )
  	) );
  
  	$scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array('prototype'), '3517m' );
  
! 	$scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), '20111117', 1 );
  
! 	$scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), '20111116', 1 );
  
! 	$scripts->add( 'prototype', '/wp-includes/js/prototype.js', false, '1.6.1');
  
! 	$scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array('jquery'), '20091119', 1 );
  	$scripts->localize( 'wp-ajax-response', 'wpAjax', array(
  		'noPerm' => __('You do not have permission to do that.'),
  		'broken' => __('An unidentified error has occurred.')
--- 79,98 ----
  		'enterImageURL' => __('Enter the URL of the image'),
  		'enterImageDescription' => __('Enter a description of the image'),
  		'fullscreen' => __('fullscreen'),
! 		'toggleFullscreen' => esc_attr( __('Toggle fullscreen mode') ),
! 		'textdirection' => esc_attr( __('text direction') ),
! 		'toggleTextdirection' => esc_attr( __('Toggle Editor Text Direction') )
  	) );
  
  	$scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array('prototype'), '3517m' );
  
! 	$scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), false, 1 );
  
! 	$scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), false, 1 );
  
! 	$scripts->add( 'prototype', '/wp-includes/js/prototype.js', array(), '1.6.1');
  
! 	$scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array('jquery'), false, 1 );
  	$scripts->localize( 'wp-ajax-response', 'wpAjax', array(
  		'noPerm' => __('You do not have permission to do that.'),
  		'broken' => __('An unidentified error has occurred.')
***************
*** 101,109 ****
  		'dismiss' => __('Dismiss'),
  	) );
  
! 	$scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array('schedule', 'wp-ajax-response'), '20111129', 1 );
  
! 	$scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array('wp-ajax-response'), '20110521', 1 );
  
  	$scripts->add( 'scriptaculous-root', '/wp-includes/js/scriptaculous/wp-scriptaculous.js', array('prototype'), '1.8.3');
  	$scripts->add( 'scriptaculous-builder', '/wp-includes/js/scriptaculous/builder.js', array('scriptaculous-root'), '1.8.3');
--- 103,111 ----
  		'dismiss' => __('Dismiss'),
  	) );
  
! 	$scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array('schedule', 'wp-ajax-response'), false, 1 );
  
! 	$scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array('wp-ajax-response'), false, 1 );
  
  	$scripts->add( 'scriptaculous-root', '/wp-includes/js/scriptaculous/wp-scriptaculous.js', array('prototype'), '1.8.3');
  	$scripts->add( 'scriptaculous-builder', '/wp-includes/js/scriptaculous/builder.js', array('scriptaculous-root'), '1.8.3');
***************
*** 115,169 ****
  	$scripts->add( 'scriptaculous', '', array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls'), '1.8.3');
  
  	// not used in core, replaced by Jcrop.js
! 	$scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop'), '20070118');
  
! 	$scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.7.1' );
  
  	// full jQuery UI
! 	$scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui/jquery.ui.core.min.js', array('jquery'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-core', '/wp-includes/js/jquery/ui/jquery.effects.core.min.js', array('jquery'), '1.8.16', 1 );
  
! 	$scripts->add( 'jquery-effects-blind', '/wp-includes/js/jquery/ui/jquery.effects.blind.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-bounce', '/wp-includes/js/jquery/ui/jquery.effects.bounce.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-clip', '/wp-includes/js/jquery/ui/jquery.effects.clip.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-drop', '/wp-includes/js/jquery/ui/jquery.effects.drop.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-explode', '/wp-includes/js/jquery/ui/jquery.effects.explode.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-fade', '/wp-includes/js/jquery/ui/jquery.effects.fade.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-fold', '/wp-includes/js/jquery/ui/jquery.effects.fold.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-highlight', '/wp-includes/js/jquery/ui/jquery.effects.highlight.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-pulsate', '/wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-scale', '/wp-includes/js/jquery/ui/jquery.effects.scale.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-shake', '/wp-includes/js/jquery/ui/jquery.effects.shake.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-slide', '/wp-includes/js/jquery/ui/jquery.effects.slide.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-effects-transfer', '/wp-includes/js/jquery/ui/jquery.effects.transfer.min.js', array('jquery-effects-core'), '1.8.16', 1 );
! 
! 	$scripts->add( 'jquery-ui-accordion', '/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-autocomplete', '/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js', array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-button', '/wp-includes/js/jquery/ui/jquery.ui.button.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-datepicker', '/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js', array('jquery-ui-core'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js', array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-droppable', '/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js', array('jquery-ui-draggable'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-mouse', '/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js', array('jquery-ui-widget'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-position', '/wp-includes/js/jquery/ui/jquery.ui.position.min.js', array('jquery'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-progressbar', '/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js', array('jquery-ui-widget'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-selectable', '/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-slider', '/wp-includes/js/jquery/ui/jquery.ui.slider.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.16', 1 );
! 	$scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui/jquery.ui.widget.min.js', array('jquery'), '1.8.16', 1 );
  
  	// deprecated, not used in core, most functionality is included in jQuery 1.3
  	$scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '2.73', 1 );
  
  	$scripts->add( 'jquery-color', "/wp-includes/js/jquery/jquery.color$suffix.js", array('jquery'), '2.0-4561m', 1 );
  	$scripts->add( 'suggest', "/wp-includes/js/jquery/suggest$suffix.js", array('jquery'), '1.1-20110113', 1 );
  	$scripts->add( 'schedule', '/wp-includes/js/jquery/jquery.schedule.js', array('jquery'), '20m', 1 );
  	$scripts->add( 'jquery-query', "/wp-includes/js/jquery/jquery.query.js", array('jquery'), '2.1.7', 1 );
  	$scripts->add( 'jquery-serialize-object', "/wp-includes/js/jquery/jquery.serialize-object.js", array('jquery'), '0.2', 1 );
  	$scripts->add( 'jquery-hotkeys', "/wp-includes/js/jquery/jquery.hotkeys$suffix.js", array('jquery'), '0.0.2m', 1 );
! 	$scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), '20090102', 1 );
  
  	$scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20111117', 1 );
  	$scripts->localize( 'thickbox', 'thickboxL10n', array(
--- 117,173 ----
  	$scripts->add( 'scriptaculous', '', array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls'), '1.8.3');
  
  	// not used in core, replaced by Jcrop.js
! 	$scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop') );
  
! 	$scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', array(), '1.7.2' );
  
  	// full jQuery UI
! 	$scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui/jquery.ui.core.min.js', array('jquery'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-core', '/wp-includes/js/jquery/ui/jquery.effects.core.min.js', array('jquery'), '1.8.20', 1 );
  
! 	$scripts->add( 'jquery-effects-blind', '/wp-includes/js/jquery/ui/jquery.effects.blind.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-bounce', '/wp-includes/js/jquery/ui/jquery.effects.bounce.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-clip', '/wp-includes/js/jquery/ui/jquery.effects.clip.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-drop', '/wp-includes/js/jquery/ui/jquery.effects.drop.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-explode', '/wp-includes/js/jquery/ui/jquery.effects.explode.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-fade', '/wp-includes/js/jquery/ui/jquery.effects.fade.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-fold', '/wp-includes/js/jquery/ui/jquery.effects.fold.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-highlight', '/wp-includes/js/jquery/ui/jquery.effects.highlight.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-pulsate', '/wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-scale', '/wp-includes/js/jquery/ui/jquery.effects.scale.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-shake', '/wp-includes/js/jquery/ui/jquery.effects.shake.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-slide', '/wp-includes/js/jquery/ui/jquery.effects.slide.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-effects-transfer', '/wp-includes/js/jquery/ui/jquery.effects.transfer.min.js', array('jquery-effects-core'), '1.8.20', 1 );
! 
! 	$scripts->add( 'jquery-ui-accordion', '/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-autocomplete', '/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js', array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-button', '/wp-includes/js/jquery/ui/jquery.ui.button.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-datepicker', '/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js', array('jquery-ui-core'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js', array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-droppable', '/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js', array('jquery-ui-draggable'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-mouse', '/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js', array('jquery-ui-widget'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-position', '/wp-includes/js/jquery/ui/jquery.ui.position.min.js', array('jquery'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-progressbar', '/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js', array('jquery-ui-widget'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-selectable', '/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-slider', '/wp-includes/js/jquery/ui/jquery.ui.slider.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.20', 1 );
! 	$scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui/jquery.ui.widget.min.js', array('jquery'), '1.8.20', 1 );
  
  	// deprecated, not used in core, most functionality is included in jQuery 1.3
  	$scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '2.73', 1 );
  
+ 	// jQuery plugins
  	$scripts->add( 'jquery-color', "/wp-includes/js/jquery/jquery.color$suffix.js", array('jquery'), '2.0-4561m', 1 );
  	$scripts->add( 'suggest', "/wp-includes/js/jquery/suggest$suffix.js", array('jquery'), '1.1-20110113', 1 );
  	$scripts->add( 'schedule', '/wp-includes/js/jquery/jquery.schedule.js', array('jquery'), '20m', 1 );
  	$scripts->add( 'jquery-query', "/wp-includes/js/jquery/jquery.query.js", array('jquery'), '2.1.7', 1 );
  	$scripts->add( 'jquery-serialize-object', "/wp-includes/js/jquery/jquery.serialize-object.js", array('jquery'), '0.2', 1 );
  	$scripts->add( 'jquery-hotkeys', "/wp-includes/js/jquery/jquery.hotkeys$suffix.js", array('jquery'), '0.0.2m', 1 );
! 	$scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), false, 1 );
! 	$scripts->add( 'jquery-touch-punch', "/wp-includes/js/jquery/jquery.ui.touch-punch.js", array('jquery-ui-widget', 'jquery-ui-mouse'), '0.2.2', 1 );
  
  	$scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20111117', 1 );
  	$scripts->localize( 'thickbox', 'thickboxL10n', array(
***************
*** 179,185 ****
  
  	$scripts->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop$suffix.js", array('jquery'), '0.9.8-20110113');
  
! 	$scripts->add( 'swfobject', "/wp-includes/js/swfobject.js", false, '2.2-20120417');
  
  	// common bits for both uploaders
  	$max_upload_size = ( (int) ( $max_up = @ini_get('upload_max_filesize') ) < (int) ( $max_post = @ini_get('post_max_size') ) ) ? $max_up : $max_post;
--- 183,189 ----
  
  	$scripts->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop$suffix.js", array('jquery'), '0.9.8-20110113');
  
! 	$scripts->add( 'swfobject', "/wp-includes/js/swfobject.js", array(), '2.2-20120417');
  
  	// common bits for both uploaders
  	$max_upload_size = ( (int) ( $max_up = @ini_get('upload_max_filesize') ) < (int) ( $max_post = @ini_get('post_max_size') ) ) ? $max_up : $max_post;
***************
*** 213,232 ****
  		'error_uploading' => __('&#8220;%s&#8221; has failed to upload.')
  	);
  
! 	$scripts->add( 'plupload', '/wp-includes/js/plupload/plupload.js', false, '1511-20111112');
! 	$scripts->add( 'plupload-html5', '/wp-includes/js/plupload/plupload.html5.js', array('plupload'), '1511-20111112');
! 	$scripts->add( 'plupload-flash', '/wp-includes/js/plupload/plupload.flash.js', array('plupload'), '1511-20111112');
! 	$scripts->add( 'plupload-silverlight', '/wp-includes/js/plupload/plupload.silverlight.js', array('plupload'), '1511-20111112');
! 	$scripts->add( 'plupload-html4', '/wp-includes/js/plupload/plupload.html4.js', array('plupload'), '1511-20111112');
  
  	// cannot use the plupload.full.js, as it loads browserplus init JS from Yahoo
! 	$scripts->add( 'plupload-all', false, array('plupload', 'plupload-html5', 'plupload-flash', 'plupload-silverlight', 'plupload-html4'), '1511-20111112');
  
! 	$scripts->add( 'plupload-handlers', "/wp-includes/js/plupload/handlers$suffix.js", array('plupload-all', 'jquery'), '20111120');
  	$scripts->localize( 'plupload-handlers', 'pluploadL10n', $uploader_l10n );
  
  	// keep 'swfupload' for back-compat.
! 	$scripts->add( 'swfupload', '/wp-includes/js/swfupload/swfupload.js', false, '2201-20110113');
  	$scripts->add( 'swfupload-swfobject', '/wp-includes/js/swfupload/plugins/swfupload.swfobject.js', array('swfupload', 'swfobject'), '2201a');
  	$scripts->add( 'swfupload-queue', '/wp-includes/js/swfupload/plugins/swfupload.queue.js', array('swfupload'), '2201');
  	$scripts->add( 'swfupload-speed', '/wp-includes/js/swfupload/plugins/swfupload.speed.js', array('swfupload'), '2201');
--- 217,239 ----
  		'error_uploading' => __('&#8220;%s&#8221; has failed to upload.')
  	);
  
! 	$scripts->add( 'plupload', '/wp-includes/js/plupload/plupload.js', '1.5.4' );
! 	$scripts->add( 'plupload-html5', '/wp-includes/js/plupload/plupload.html5.js', array('plupload'), '1.5.4' );
! 	$scripts->add( 'plupload-flash', '/wp-includes/js/plupload/plupload.flash.js', array('plupload'), '1.5.4' );
! 	$scripts->add( 'plupload-silverlight', '/wp-includes/js/plupload/plupload.silverlight.js', array('plupload'), '1.5.4' );
! 	$scripts->add( 'plupload-html4', '/wp-includes/js/plupload/plupload.html4.js', array('plupload'), '1.5.4' );
  
  	// cannot use the plupload.full.js, as it loads browserplus init JS from Yahoo
! 	$scripts->add( 'plupload-all', false, array('plupload', 'plupload-html5', 'plupload-flash', 'plupload-silverlight', 'plupload-html4'), '1.5.4' );
  
! 	$scripts->add( 'plupload-handlers', "/wp-includes/js/plupload/handlers$suffix.js", array('plupload-all', 'jquery') );
  	$scripts->localize( 'plupload-handlers', 'pluploadL10n', $uploader_l10n );
  
+ 	$scripts->add( 'wp-plupload', "/wp-includes/js/plupload/wp-plupload$suffix.js", array('plupload-all', 'jquery', 'json2') );
+ 	$scripts->localize( 'wp-plupload', 'pluploadL10n', $uploader_l10n );
+ 
  	// keep 'swfupload' for back-compat.
! 	$scripts->add( 'swfupload', '/wp-includes/js/swfupload/swfupload.js', array(), '2201-20110113');
  	$scripts->add( 'swfupload-swfobject', '/wp-includes/js/swfupload/plugins/swfupload.swfobject.js', array('swfupload', 'swfobject'), '2201a');
  	$scripts->add( 'swfupload-queue', '/wp-includes/js/swfupload/plugins/swfupload.queue.js', array('swfupload'), '2201');
  	$scripts->add( 'swfupload-speed', '/wp-includes/js/swfupload/plugins/swfupload.speed.js', array('swfupload'), '2201');
***************
*** 241,253 ****
  	$scripts->add( 'swfupload-handlers', "/wp-includes/js/swfupload/handlers$suffix.js", array('swfupload-all', 'jquery'), '2201-20110524');
  	$scripts->localize( 'swfupload-handlers', 'swfuploadL10n', $uploader_l10n );
  
! 	$scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", false, '20090102');
  
! 	$scripts->add( 'json2', "/wp-includes/js/json2$suffix.js", false, '2011-02-23');
  
! 	$scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.6-20110515', 1 );
  
! 	$scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array('jquery'), '20101027', 1 );
  	$scripts->localize( 'password-strength-meter', 'pwsL10n', array(
  		'empty' => __('Strength indicator'),
  		'short' => __('Very weak'),
--- 248,260 ----
  	$scripts->add( 'swfupload-handlers', "/wp-includes/js/swfupload/handlers$suffix.js", array('swfupload-all', 'jquery'), '2201-20110524');
  	$scripts->localize( 'swfupload-handlers', 'swfuploadL10n', $uploader_l10n );
  
! 	$scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js" );
  
! 	$scripts->add( 'json2', "/wp-includes/js/json2$suffix.js", array(), '2011-02-23');
  
! 	$scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.8', 1 );
  
! 	$scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array('jquery'), false, 1 );
  	$scripts->localize( 'password-strength-meter', 'pwsL10n', array(
  		'empty' => __('Strength indicator'),
  		'short' => __('Very weak'),
***************
*** 258,268 ****
  		'mismatch' => __('Mismatch')
  	) );
  
! 	$scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), '20110628', 1 );
  
! 	$scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", false, '20111130', 1 );
  
! 	$scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), '20111128', 1 );
  	$scripts->localize( 'wplink', 'wpLinkL10n', array(
  		'title' => __('Insert/edit link'),
  		'update' => __('Update'),
--- 265,277 ----
  		'mismatch' => __('Mismatch')
  	) );
  
! 	$scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), false, 1 );
! 
! 	$scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
  
! 	$scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
  
! 	$scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
  	$scripts->localize( 'wplink', 'wpLinkL10n', array(
  		'title' => __('Insert/edit link'),
  		'update' => __('Update'),
***************
*** 271,305 ****
  		'noMatchesFound' => __('No matches found.')
  	) );
  
! 	$scripts->add( 'wpdialogs', "/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog$suffix.js", array( 'jquery-ui-dialog' ), '20110528', 1 );
  
! 	$scripts->add( 'wpdialogs-popup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", array( 'wpdialogs' ), '20110421', 1 );
  
! 	$scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), '20110515', 1 );
  
! 	$scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox' ), '20110930', 1 );
  
! 	$scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '20090102', 1 );
  
  	if ( is_admin() ) {
! 		$scripts->add( 'ajaxcat', "/wp-admin/js/cat$suffix.js", array( 'wp-lists' ), '20090102' );
  		$scripts->add_data( 'ajaxcat', 'group', 1 );
  		$scripts->localize( 'ajaxcat', 'catL10n', array(
  			'add' => esc_attr(__('Add')),
  			'how' => __('Separate multiple categories with commas.')
  		) );
  
! 		$scripts->add( 'admin-categories', "/wp-admin/js/categories$suffix.js", array('wp-lists'), '20091201', 1 );
  
! 		$scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), '20110429', 1 );
  		$scripts->localize( 'admin-tags', 'tagsl10n', array(
  			'noPerm' => __('You do not have permission to do that.'),
  			'broken' => __('An unidentified error has occurred.')
  		));
  
! 		$scripts->add( 'admin-custom-fields', "/wp-admin/js/custom-fields$suffix.js", array('wp-lists'), '20110429', 1 );
  
! 		$scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array('wp-lists', 'quicktags', 'jquery-query'), '20111115', 1 );
  		$scripts->localize( 'admin-comments', 'adminCommentsL10n', array(
  			'hotkeys_highlight_first' => isset($_GET['hotkeys_highlight_first']),
  			'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last']),
--- 280,332 ----
  		'noMatchesFound' => __('No matches found.')
  	) );
  
! 	$scripts->add( 'wpdialogs', "/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog$suffix.js", array( 'jquery-ui-dialog' ), false, 1 );
  
! 	$scripts->add( 'wpdialogs-popup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", array( 'wpdialogs' ), false, 1 );
  
! 	$scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), false, 1 );
! 	$scripts->localize( 'word-count', 'wordCountL10n', array(
! 		/* translators: If your word count is based on single characters (East Asian characters),
! 		   enter 'characters'. Otherwise, enter 'words'. Do not translate into your own language. */
! 		'type' => 'characters' == _x( 'words', 'word count: words or characters?' ) ? 'c' : 'w',
! 	) );
  
! 	$scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox' ), false, 1 );
  
! 	$scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), 'r6', 1 );
! 
! 	$scripts->add( 'customize-base',     "/wp-includes/js/customize-base$suffix.js",     array( 'jquery', 'json2' ), false, 1 );
! 	$scripts->add( 'customize-loader',   "/wp-includes/js/customize-loader$suffix.js",   array( 'customize-base' ), false, 1 );
! 	$scripts->add( 'customize-preview',  "/wp-includes/js/customize-preview$suffix.js",  array( 'customize-base' ), false, 1 );
! 	$scripts->add( 'customize-controls', "/wp-admin/js/customize-controls$suffix.js", array( 'customize-base' ), false, 1 );
! 	$scripts->localize( 'customize-controls', '_wpCustomizeControlsL10n', array(
! 		'activate'  => __( 'Save &amp; Activate' ),
! 		'save'      => __( 'Save &amp; Publish' ),
! 		'saved'     => __( 'Saved' ),
! 		'cancel'    => __( 'Cancel' ),
! 		'close'     => __( 'Close' ),
! 		'cheatin'   => __( 'Cheatin&#8217; uh?' ),
! 	) );
  
  	if ( is_admin() ) {
! 		$scripts->add( 'ajaxcat', "/wp-admin/js/cat$suffix.js", array( 'wp-lists' ) );
  		$scripts->add_data( 'ajaxcat', 'group', 1 );
  		$scripts->localize( 'ajaxcat', 'catL10n', array(
  			'add' => esc_attr(__('Add')),
  			'how' => __('Separate multiple categories with commas.')
  		) );
  
! 		$scripts->add( 'admin-categories', "/wp-admin/js/categories$suffix.js", array('wp-lists'), false, 1 );
  
! 		$scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), false, 1 );
  		$scripts->localize( 'admin-tags', 'tagsl10n', array(
  			'noPerm' => __('You do not have permission to do that.'),
  			'broken' => __('An unidentified error has occurred.')
  		));
  
! 		$scripts->add( 'admin-custom-fields', "/wp-admin/js/custom-fields$suffix.js", array('wp-lists'), false, 1 );
  
! 		$scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array('wp-lists', 'quicktags', 'jquery-query'), false, 1 );
  		$scripts->localize( 'admin-comments', 'adminCommentsL10n', array(
  			'hotkeys_highlight_first' => isset($_GET['hotkeys_highlight_first']),
  			'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last']),
***************
*** 307,317 ****
  			'reply' => __( 'Reply' )
  		) );
  
! 		$scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), '20110524', 1 );
  
! 		$scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), '20111009a', 1 );
  
! 		$scripts->add( 'post', "/wp-admin/js/post$suffix.js", array('suggest', 'wp-lists', 'postbox'), '20111124', 1 );
  		$scripts->localize( 'post', 'postL10n', array(
  			'ok' => __('OK'),
  			'cancel' => __('Cancel'),
--- 334,344 ----
  			'reply' => __( 'Reply' )
  		) );
  
! 		$scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), false, 1 );
  
! 		$scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), false, 1 );
  
! 		$scripts->add( 'post', "/wp-admin/js/post$suffix.js", array('suggest', 'wp-lists', 'postbox'), false, 1 );
  		$scripts->localize( 'post', 'postL10n', array(
  			'ok' => __('OK'),
  			'cancel' => __('Cancel'),
***************
*** 330,367 ****
  			'publicSticky' => __('Public, Sticky'),
  			'password' => __('Password Protected'),
  			'privatelyPublished' => __('Privately Published'),
! 			'published' => __('Published')
  		) );
  
! 		$scripts->add( 'link', "/wp-admin/js/link$suffix.js", array('wp-lists', 'postbox'), '20110524', 1 );
  
! 		$scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array('jquery'), '20110429' );
  		$scripts->add_data( 'comment', 'group', 1 );
  		$scripts->localize( 'comment', 'commentL10n', array(
  			'submittedOn' => __('Submitted on:')
  		) );
  
! 		$scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ), '20110930' );
  
! 		$scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20110925', 1 );
  
! 		$scripts->add( 'theme', "/wp-admin/js/theme$suffix.js", array( 'thickbox' ), '20110118', 1 );
  
! 		$scripts->add( 'theme-preview', "/wp-admin/js/theme-preview$suffix.js", array( 'thickbox', 'jquery' ), '20100407', 1 );
  
! 		$scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20111129', 1 );
  		$scripts->localize( 'inline-edit-post', 'inlineEditL10n', array(
  			'error' => __('Error while saving the changes.'),
  			'ntdeltitle' => __('Remove From Bulk Edit'),
! 			'notitle' => __('(no title)')
  		) );
  
! 		$scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), '20110609', 1 );
  		$scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array(
  			'error' => __('Error while saving the changes.')
  		) );
  
! 		$scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'jquery', 'thickbox' ), '20110113', 1 );
  		$scripts->localize( 'plugin-install', 'plugininstallL10n', array(
  			'plugin_information' => __('Plugin Information:'),
  			'ays' => __('Are you sure you want to install this plugin?')
--- 357,397 ----
  			'publicSticky' => __('Public, Sticky'),
  			'password' => __('Password Protected'),
  			'privatelyPublished' => __('Privately Published'),
! 			'published' => __('Published'),
! 			'comma' => _x( ',', 'tag delimiter' ),
  		) );
  
! 		$scripts->add( 'link', "/wp-admin/js/link$suffix.js", array('wp-lists', 'postbox'), false, 1 );
  
! 		$scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array('jquery') );
  		$scripts->add_data( 'comment', 'group', 1 );
  		$scripts->localize( 'comment', 'commentL10n', array(
  			'submittedOn' => __('Submitted on:')
  		) );
  
! 		$scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ) );
  
! 		$scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), false, 1 );
  
! 		$scripts->add( 'theme', "/wp-admin/js/theme$suffix.js", array( 'jquery' ), false, 1 );
  
! 		// @todo: Core no longer uses theme-preview.js. Remove?
! 		$scripts->add( 'theme-preview', "/wp-admin/js/theme-preview$suffix.js", array( 'thickbox', 'jquery' ), false, 1 );
  
! 		$scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), false, 1 );
  		$scripts->localize( 'inline-edit-post', 'inlineEditL10n', array(
  			'error' => __('Error while saving the changes.'),
  			'ntdeltitle' => __('Remove From Bulk Edit'),
! 			'notitle' => __('(no title)'),
! 			'comma' => _x( ',', 'tag delimiter' ),
  		) );
  
! 		$scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), false, 1 );
  		$scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array(
  			'error' => __('Error while saving the changes.')
  		) );
  
! 		$scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'jquery', 'thickbox' ), false, 1 );
  		$scripts->localize( 'plugin-install', 'plugininstallL10n', array(
  			'plugin_information' => __('Plugin Information:'),
  			'ays' => __('Are you sure you want to install this plugin?')
***************
*** 369,386 ****
  
  		$scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
  
! 		$scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), '20111123', 1 );
  
! 		$scripts->add( 'list-revisions', "/wp-includes/js/wp-list-revisions$suffix.js", null, '20091223' );
  
! 		$scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery-ui-draggable' ), '20101022', 1 );
  
! 		$scripts->add( 'image-edit', "/wp-admin/js/image-edit$suffix.js", array('jquery', 'json2', 'imgareaselect'), '20110927', 1 );
  		$scripts->localize( 'image-edit', 'imageEditL10n', array(
  			'error' => __( 'Could not load the preview image. Please reload the page and try again.' )
  		));
  
! 		$scripts->add( 'set-post-thumbnail', "/wp-admin/js/set-post-thumbnail$suffix.js", array( 'jquery' ), '20100518', 1 );
  		$scripts->localize( 'set-post-thumbnail', 'setPostThumbnailL10n', array(
  			'setThumbnail' => __( 'Use as featured image' ),
  			'saving' => __( 'Saving...' ),
--- 399,416 ----
  
  		$scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
  
! 		$scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), false, 1 );
  
! 		$scripts->add( 'list-revisions', "/wp-includes/js/wp-list-revisions$suffix.js" );
  
! 		$scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery-ui-draggable' ), false, 1 );
  
! 		$scripts->add( 'image-edit', "/wp-admin/js/image-edit$suffix.js", array('jquery', 'json2', 'imgareaselect'), false, 1 );
  		$scripts->localize( 'image-edit', 'imageEditL10n', array(
  			'error' => __( 'Could not load the preview image. Please reload the page and try again.' )
  		));
  
! 		$scripts->add( 'set-post-thumbnail', "/wp-admin/js/set-post-thumbnail$suffix.js", array( 'jquery' ), false, 1 );
  		$scripts->localize( 'set-post-thumbnail', 'setPostThumbnailL10n', array(
  			'setThumbnail' => __( 'Use as featured image' ),
  			'saving' => __( 'Saving...' ),
***************
*** 389,402 ****
  		) );
  
  		// Navigation Menus
! 		$scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", array('jquery-ui-sortable'), '20111115' );
  		$scripts->localize( 'nav-menu', 'navMenuL10n', array(
  			'noResultsFound' => _x('No results found.', 'search results'),
  			'warnDeleteMenu' => __( "You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete." ),
  			'saveAlert' => __('The changes you made will be lost if you navigate away from this page.')
  		) );
  
! 		$scripts->add( 'custom-background', "/wp-admin/js/custom-background$suffix.js", array('farbtastic'), '20110511', 1 );
  	}
  }
  
--- 419,433 ----
  		) );
  
  		// Navigation Menus
! 		$scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", array('jquery-ui-sortable') );
  		$scripts->localize( 'nav-menu', 'navMenuL10n', array(
  			'noResultsFound' => _x('No results found.', 'search results'),
  			'warnDeleteMenu' => __( "You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete." ),
  			'saveAlert' => __('The changes you made will be lost if you navigate away from this page.')
  		) );
  
! 		$scripts->add( 'custom-background', "/wp-admin/js/custom-background$suffix.js", array('farbtastic'), false, 1 );
! 		$scripts->add( 'media-gallery', "/wp-admin/js/media-gallery$suffix.js", array('jquery'), false, 1 );
  	}
  }
  
***************
*** 416,423 ****
   * @param object $styles
   */
  function wp_default_styles( &$styles ) {
! 	// This checks to see if site_url() returns something and if it does not
! 	// then it assigns $guess_url to wp_guess_url(). Strange format, but it works.
  	if ( ! $guessurl = site_url() )
  		$guessurl = wp_guess_url();
  
--- 447,453 ----
   * @param object $styles
   */
  function wp_default_styles( &$styles ) {
! 
  	if ( ! $guessurl = site_url() )
  		$guessurl = wp_guess_url();
  
***************
*** 429,463 ****
  
  	$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : '';
  
! 	$rtl_styles = array( 'wp-admin', 'ie', 'media', 'admin-bar', 'wplink' );
  	// Any rtl stylesheets that don't have a .dev version for ltr
  	$no_suffix = array( 'farbtastic' );
  
! 	$styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array(), '20111208' );
  
! 	$styles->add( 'ie', "/wp-admin/css/ie$suffix.css", array(), '20111130' );
  	$styles->add_data( 'ie', 'conditional', 'lte IE 7' );
  
- 	// all colors stylesheets need to have the same query strings (cache manifest compat)
- 	$colors_version = '20111206';
- 
  	// Register "meta" stylesheet for admin colors. All colors-* style sheets should have the same version string.
! 	$styles->add( 'colors', true, array('wp-admin'), $colors_version );
  
  	// do not refer to these directly, the right one is queued by the above "meta" colors handle
! 	$styles->add( 'colors-fresh', "/wp-admin/css/colors-fresh$suffix.css", array('wp-admin'), $colors_version );
! 	$styles->add( 'colors-classic', "/wp-admin/css/colors-classic$suffix.css", array('wp-admin'), $colors_version );
  
! 	$styles->add( 'media', "/wp-admin/css/media$suffix.css", array(), '20111119' );
! 	$styles->add( 'install', "/wp-admin/css/install$suffix.css", array(), '20111117' ); // Readme as well
! 	$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array(), '20111117' );
  	$styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' );
  	$styles->add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.css', array(), '0.9.8' );
! 	$styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.1' );
! 	$styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css", array(), '20111209' );
! 	$styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array(), '20111107' );
! 	$styles->add( 'editor-buttons', "/wp-includes/css/editor-buttons$suffix.css", array(), '20111114' );
! 	$styles->add( 'wp-pointer', "/wp-includes/css/wp-pointer$suffix.css", array(), '20111205' );
  
  	foreach ( $rtl_styles as $rtl_style ) {
  		$styles->add_data( $rtl_style, 'rtl', true );
--- 459,491 ----
  
  	$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : '';
  
! 	$rtl_styles = array( 'wp-admin', 'ie', 'media', 'admin-bar', 'wplink', 'customize-controls' );
  	// Any rtl stylesheets that don't have a .dev version for ltr
  	$no_suffix = array( 'farbtastic' );
  
! 	$styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css" );
  
! 	$styles->add( 'ie', "/wp-admin/css/ie$suffix.css" );
  	$styles->add_data( 'ie', 'conditional', 'lte IE 7' );
  
  	// Register "meta" stylesheet for admin colors. All colors-* style sheets should have the same version string.
! 	$styles->add( 'colors', true, array('wp-admin') );
  
  	// do not refer to these directly, the right one is queued by the above "meta" colors handle
! 	$styles->add( 'colors-fresh', "/wp-admin/css/colors-fresh$suffix.css", array('wp-admin') );
! 	$styles->add( 'colors-classic', "/wp-admin/css/colors-classic$suffix.css", array('wp-admin') );
  
! 	$styles->add( 'media', "/wp-admin/css/media$suffix.css" );
! 	$styles->add( 'install', "/wp-admin/css/install$suffix.css" );
! 	$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css' );
  	$styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' );
  	$styles->add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.css', array(), '0.9.8' );
! 	$styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
! 	$styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css" );
! 	$styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css" );
! 	$styles->add( 'editor-buttons', "/wp-includes/css/editor$suffix.css" );
! 	$styles->add( 'wp-pointer', "/wp-includes/css/wp-pointer$suffix.css" );
! 	$styles->add( 'customize-controls', "/wp-admin/css/customize-controls$suffix.css", array( 'wp-admin', 'colors', 'ie' ) );
  
  	foreach ( $rtl_styles as $rtl_style ) {
  		$styles->add_data( $rtl_style, 'rtl', true );
***************
*** 628,635 ****
  			echo "</script>\n";
  		}
  
! 		$ver = md5("$wp_scripts->concat_version");
! 		$src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . trim($wp_scripts->concat, ', ') . "&ver=$ver";
  		echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n";
  	}
  
--- 656,662 ----
  			echo "</script>\n";
  		}
  
! 		$src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . trim($wp_scripts->concat, ', ') . '&ver=' . $wp_scripts->default_version;
  		echo "<script type='text/javascript' src='" . esc_attr($src) . "'></script>\n";
  	}
  
***************
*** 660,666 ****
  /**
   * Private, for use in *_footer_scripts hooks
   *
!  * @since 3.3
   */
  function _wp_footer_scripts() {
  	print_late_styles();
--- 687,693 ----
  /**
   * Private, for use in *_footer_scripts hooks
   *
!  * @since 3.3.0
   */
  function _wp_footer_scripts() {
  	print_late_styles();
***************
*** 717,723 ****
  /**
   * Prints the styles that were queued too late for the HTML head.
   *
!  * @since 3.3
   */
  function print_late_styles() {
  	global $wp_styles, $concatenate_scripts;
--- 744,750 ----
  /**
   * Prints the styles that were queued too late for the HTML head.
   *
!  * @since 3.3.0
   */
  function print_late_styles() {
  	global $wp_styles, $concatenate_scripts;
***************
*** 747,754 ****
  
  	if ( !empty($wp_styles->concat) ) {
  		$dir = $wp_styles->text_direction;
! 		$ver = md5("$wp_styles->concat_version{$dir}");
! 		$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&load=" . trim($wp_styles->concat, ', ') . "&ver=$ver";
  		echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n";
  
  		if ( !empty($wp_styles->print_code) ) {
--- 774,781 ----
  
  	if ( !empty($wp_styles->concat) ) {
  		$dir = $wp_styles->text_direction;
! 		$ver = $wp_styles->default_version;
! 		$href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&load=" . trim($wp_styles->concat, ', ') . '&ver=' . $ver;
  		echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n";
  
  		if ( !empty($wp_styles->print_code) ) {
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/shortcodes.php ./wordpress-3.4/wp-includes/shortcodes.php
*** ./wordpress-3.3.2/wp-includes/shortcodes.php	2011-10-12 11:50:30.000000000 -0500
--- ./wordpress-3.4/wp-includes/shortcodes.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 235,241 ****
  		return $m[1] . call_user_func( $shortcode_tags[$tag], $attr, $m[5], $tag ) . $m[6];
  	} else {
  		// self-closing tag
! 		return $m[1] . call_user_func( $shortcode_tags[$tag], $attr, NULL,  $tag ) . $m[6];
  	}
  }
  
--- 235,241 ----
  		return $m[1] . call_user_func( $shortcode_tags[$tag], $attr, $m[5], $tag ) . $m[6];
  	} else {
  		// self-closing tag
! 		return $m[1] . call_user_func( $shortcode_tags[$tag], $attr, null,  $tag ) . $m[6];
  	}
  }
  
***************
*** 332,336 ****
  }
  
  add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop()
- 
- ?>
--- 332,334 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/taxonomy.php ./wordpress-3.4/wp-includes/taxonomy.php
*** ./wordpress-3.3.2/wp-includes/taxonomy.php	2011-10-28 14:52:14.000000000 -0500
--- ./wordpress-3.4/wp-includes/taxonomy.php	2012-06-01 14:05:30.000000000 -0500
***************
*** 12,29 ****
  //
  
  /**
!  * Creates the initial taxonomies when 'init' action is fired.
   */
  function create_initial_taxonomies() {
  	global $wp_rewrite;
  
  	register_taxonomy( 'category', 'post', array(
  		'hierarchical' => true,
  		'query_var' => 'category_name',
! 		'rewrite' => did_action( 'init' ) ? array(
! 					'hierarchical' => true,
! 					'slug' => get_option('category_base') ? get_option('category_base') : 'category',
! 					'with_front' => ( get_option('category_base') && ! $wp_rewrite->using_index_permalinks() ) ? false : true ) : false,
  		'public' => true,
  		'show_ui' => true,
  		'_builtin' => true,
--- 12,50 ----
  //
  
  /**
!  * Creates the initial taxonomies.
!  *
!  * This function fires twice: in wp-settings.php before plugins are loaded (for
!  * backwards compatibility reasons), and again on the 'init' action. We must avoid
!  * registering rewrite rules before the 'init' action.
   */
  function create_initial_taxonomies() {
  	global $wp_rewrite;
  
+ 	if ( ! did_action( 'init' ) ) {
+ 		$rewrite = array( 'category' => false, 'post_tag' => false, 'post_format' => false );
+ 	} else {
+ 		$post_format_base = apply_filters( 'post_format_rewrite_base', 'type' );
+ 		$rewrite = array(
+ 			'category' => array(
+ 				'hierarchical' => true,
+ 				'slug' => get_option('category_base') ? get_option('category_base') : 'category',
+ 				'with_front' => ! get_option('category_base') || $wp_rewrite->using_index_permalinks(),
+ 				'ep_mask' => EP_CATEGORIES,
+ 			),
+ 			'post_tag' => array(
+ 				'slug' => get_option('tag_base') ? get_option('tag_base') : 'tag',
+ 				'with_front' => ! get_option('tag_base') || $wp_rewrite->using_index_permalinks(),
+ 				'ep_mask' => EP_TAGS,
+ 			),
+ 			'post_format' => $post_format_base ? array( 'slug' => $post_format_base ) : false,
+ 		);
+ 	}
+ 
  	register_taxonomy( 'category', 'post', array(
  		'hierarchical' => true,
  		'query_var' => 'category_name',
! 		'rewrite' => $rewrite['category'],
  		'public' => true,
  		'show_ui' => true,
  		'_builtin' => true,
***************
*** 32,40 ****
  	register_taxonomy( 'post_tag', 'post', array(
  	 	'hierarchical' => false,
  		'query_var' => 'tag',
! 		'rewrite' => did_action( 'init' ) ? array(
! 					'slug' => get_option('tag_base') ? get_option('tag_base') : 'tag',
! 					'with_front' => ( get_option('tag_base') && ! $wp_rewrite->using_index_permalinks() ) ? false : true ) : false,
  		'public' => true,
  		'show_ui' => true,
  		'_builtin' => true,
--- 53,59 ----
  	register_taxonomy( 'post_tag', 'post', array(
  	 	'hierarchical' => false,
  		'query_var' => 'tag',
! 		'rewrite' => $rewrite['post_tag'],
  		'public' => true,
  		'show_ui' => true,
  		'_builtin' => true,
***************
*** 77,88 ****
  		'_builtin' => true,
  	) );
  
- 	$rewrite = false;
- 	if ( did_action( 'init' ) ) {
- 		$rewrite = apply_filters( 'post_format_rewrite_base', 'type' );
- 		$rewrite = $rewrite ? array( 'slug' => $rewrite ) : false;
- 	}
- 
  	register_taxonomy( 'post_format', 'post', array(
  		'public' => true,
  		'hierarchical' => false,
--- 96,101 ----
***************
*** 91,100 ****
  			'singular_name' => _x( 'Format', 'post format' ),
  		),
  		'query_var' => true,
! 		'rewrite' => $rewrite,
  		'show_ui' => false,
  		'_builtin' => true,
! 		'show_in_nav_menus' => false,
  	) );
  }
  add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority
--- 104,113 ----
  			'singular_name' => _x( 'Format', 'post format' ),
  		),
  		'query_var' => true,
! 		'rewrite' => $rewrite['post_format'],
  		'show_ui' => false,
  		'_builtin' => true,
! 		'show_in_nav_menus' => current_theme_supports( 'post-formats' ),
  	) );
  }
  add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority
***************
*** 284,290 ****
   * @subpackage Taxonomy
   * @since 2.3.0
   * @uses $wp_taxonomies Inserts new taxonomy object into the list
-  * @uses $wp_rewrite Adds rewrite tags and permastructs
   * @uses $wp Adds query vars
   *
   * @param string $taxonomy Name of taxonomy object
--- 296,301 ----
***************
*** 292,298 ****
   * @param array|string $args See above description for the two keys values.
   */
  function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
! 	global $wp_taxonomies, $wp_rewrite, $wp;
  
  	if ( ! is_array($wp_taxonomies) )
  		$wp_taxonomies = array();
--- 303,309 ----
   * @param array|string $args See above description for the two keys values.
   */
  function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
! 	global $wp_taxonomies, $wp;
  
  	if ( ! is_array($wp_taxonomies) )
  		$wp_taxonomies = array();
***************
*** 318,328 ****
  		$wp->add_query_var($args['query_var']);
  	}
  
! 	if ( false !== $args['rewrite'] && '' != get_option('permalink_structure') ) {
  		$args['rewrite'] = wp_parse_args($args['rewrite'], array(
  			'slug' => sanitize_title_with_dashes($taxonomy),
  			'with_front' => true,
! 			'hierarchical' => false
  		));
  
  		if ( $args['hierarchical'] && $args['rewrite']['hierarchical'] )
--- 329,340 ----
  		$wp->add_query_var($args['query_var']);
  	}
  
! 	if ( false !== $args['rewrite'] && ( is_admin() || '' != get_option('permalink_structure') ) ) {
  		$args['rewrite'] = wp_parse_args($args['rewrite'], array(
  			'slug' => sanitize_title_with_dashes($taxonomy),
  			'with_front' => true,
! 			'hierarchical' => false,
! 			'ep_mask' => EP_NONE,
  		));
  
  		if ( $args['hierarchical'] && $args['rewrite']['hierarchical'] )
***************
*** 330,337 ****
  		else
  			$tag = '([^/]+)';
  
! 		$wp_rewrite->add_rewrite_tag("%$taxonomy%", $tag, $args['query_var'] ? "{$args['query_var']}=" : "taxonomy=$taxonomy&term=");
! 		$wp_rewrite->add_permastruct($taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%", $args['rewrite']['with_front']);
  	}
  
  	if ( is_null($args['show_ui']) )
--- 342,349 ----
  		else
  			$tag = '([^/]+)';
  
! 		add_rewrite_tag( "%$taxonomy%", $tag, $args['query_var'] ? "{$args['query_var']}=" : "taxonomy=$taxonomy&term=" );
! 		add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%", $args['rewrite'] );
  	}
  
  	if ( is_null($args['show_ui']) )
***************
*** 379,392 ****
   * - parent_item - This string isn't used on non-hierarchical taxonomies. In hierarchical ones the default is Parent Category
   * - parent_item_colon - The same as <code>parent_item</code>, but with colon <code>:</code> in the end
   * - edit_item - Default is Edit Tag/Edit Category
   * - update_item - Default is Update Tag/Update Category
   * - add_new_item - Default is Add New Tag/Add New Category
   * - new_item_name - Default is New Tag Name/New Category Name
!  * - separate_items_with_commas - This string isn't used on hierarchical taxonomies. Default is "Separate tags with commas," used in the meta box.
!  * - add_or_remove_items - This string isn't used on hierarchical taxonomies. Default is "Add or remove tags," used in the meta box when JavaScript is disabled.
!  * - choose_from_most_used - This string isn't used on hierarchical taxonomies. Default is "Choose from the most used tags," used in the meta box.
   *
!  * Above, the first default value is for non-hierarchical taxonomies (like tags) and the second one is for hierarchical taxonomies (like categories.)
   *
   * @since 3.0.0
   * @param object $tax Taxonomy object
--- 391,405 ----
   * - parent_item - This string isn't used on non-hierarchical taxonomies. In hierarchical ones the default is Parent Category
   * - parent_item_colon - The same as <code>parent_item</code>, but with colon <code>:</code> in the end
   * - edit_item - Default is Edit Tag/Edit Category
+  * - view_item - Default is View Tag/View Category
   * - update_item - Default is Update Tag/Update Category
   * - add_new_item - Default is Add New Tag/Add New Category
   * - new_item_name - Default is New Tag Name/New Category Name
!  * - separate_items_with_commas - This string isn't used on hierarchical taxonomies. Default is "Separate tags with commas", used in the meta box.
!  * - add_or_remove_items - This string isn't used on hierarchical taxonomies. Default is "Add or remove tags", used in the meta box when JavaScript is disabled.
!  * - choose_from_most_used - This string isn't used on hierarchical taxonomies. Default is "Choose from the most used tags", used in the meta box.
   *
!  * Above, the first default value is for non-hierarchical taxonomies (like tags) and the second one is for hierarchical taxonomies (like categories).
   *
   * @since 3.0.0
   * @param object $tax Taxonomy object
***************
*** 428,434 ****
   * @uses $wp_taxonomies Modifies taxonomy object
   *
   * @param string $taxonomy Name of taxonomy object
!  * @param array|string $object_type Name of the object type
   * @return bool True if successful, false if not
   */
  function register_taxonomy_for_object_type( $taxonomy, $object_type) {
--- 441,447 ----
   * @uses $wp_taxonomies Modifies taxonomy object
   *
   * @param string $taxonomy Name of taxonomy object
!  * @param string $object_type Name of the object type
   * @return bool True if successful, false if not
   */
  function register_taxonomy_for_object_type( $taxonomy, $object_type) {
***************
*** 489,495 ****
  
  	foreach ( (array) $taxonomies as $taxonomy ) {
  		if ( ! taxonomy_exists( $taxonomy ) )
! 			return new WP_Error( 'invalid_taxonomy', __( 'Invalid Taxonomy' ) );
  	}
  
  	$defaults = array( 'order' => 'ASC' );
--- 502,508 ----
  
  	foreach ( (array) $taxonomies as $taxonomy ) {
  		if ( ! taxonomy_exists( $taxonomy ) )
! 			return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy' ) );
  	}
  
  	$defaults = array( 'order' => 'ASC' );
***************
*** 842,848 ****
  	}
  
  	if ( ! taxonomy_exists($taxonomy) ) {
! 		$error = new WP_Error('invalid_taxonomy', __('Invalid Taxonomy'));
  		return $error;
  	}
  
--- 855,861 ----
  	}
  
  	if ( ! taxonomy_exists($taxonomy) ) {
! 		$error = new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
  		return $error;
  	}
  
***************
*** 971,977 ****
   */
  function get_term_children( $term_id, $taxonomy ) {
  	if ( ! taxonomy_exists($taxonomy) )
! 		return new WP_Error('invalid_taxonomy', __('Invalid Taxonomy'));
  
  	$term_id = intval( $term_id );
  
--- 984,990 ----
   */
  function get_term_children( $term_id, $taxonomy ) {
  	if ( ! taxonomy_exists($taxonomy) )
! 		return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
  
  	$term_id = intval( $term_id );
  
***************
*** 1083,1101 ****
   * hide_empty - Default is true. Will not return empty terms, which means
   * terms whose count is 0 according to the given taxonomy.
   *
!  * exclude - Default is an empty array.  An array, comma- or space-delimited string
!  * of term ids to exclude from the return array.  If 'include' is non-empty,
   * 'exclude' is ignored.
   *
!  * exclude_tree - Default is an empty array.  An array, comma- or space-delimited
   * string of term ids to exclude from the return array, along with all of their
!  * descendant terms according to the primary taxonomy.  If 'include' is non-empty,
   * 'exclude_tree' is ignored.
   *
!  * include - Default is an empty array.  An array, comma- or space-delimited string
   * of term ids to include in the return array.
   *
!  * number - The maximum number of terms to return.  Default is to return them all.
   *
   * offset - The number by which to offset the terms query.
   *
--- 1096,1114 ----
   * hide_empty - Default is true. Will not return empty terms, which means
   * terms whose count is 0 according to the given taxonomy.
   *
!  * exclude - Default is an empty array. An array, comma- or space-delimited string
!  * of term ids to exclude from the return array. If 'include' is non-empty,
   * 'exclude' is ignored.
   *
!  * exclude_tree - Default is an empty array. An array, comma- or space-delimited
   * string of term ids to exclude from the return array, along with all of their
!  * descendant terms according to the primary taxonomy. If 'include' is non-empty,
   * 'exclude_tree' is ignored.
   *
!  * include - Default is an empty array. An array, comma- or space-delimited string
   * of term ids to include in the return array.
   *
!  * number - The maximum number of terms to return. Default is to return them all.
   *
   * offset - The number by which to offset the terms query.
   *
***************
*** 1109,1115 ****
   * (even if 'hide_empty' is set to true).
   *
   * search - Returned terms' names will contain the value of 'search',
!  * case-insensitive.  Default is an empty string.
   *
   * name__like - Returned terms' names will begin with the value of 'name__like',
   * case-insensitive. Default is empty string.
--- 1122,1128 ----
   * (even if 'hide_empty' is set to true).
   *
   * search - Returned terms' names will contain the value of 'search',
!  * case-insensitive. Default is an empty string.
   *
   * name__like - Returned terms' names will begin with the value of 'name__like',
   * case-insensitive. Default is empty string.
***************
*** 1120,1132 ****
   * The 'get' argument, if set to 'all' instead of its default empty string,
   * returns terms regardless of ancestry or whether the terms are empty.
   *
!  * The 'child_of' argument, when used, should be set to the integer of a term ID.  Its default
!  * is 0.  If set to a non-zero value, all returned terms will be descendants
!  * of that term according to the given taxonomy.  Hence 'child_of' is set to 0
   * if more than one taxonomy is passed in $taxonomies, because multiple taxonomies
   * make term ancestry ambiguous.
   *
!  * The 'parent' argument, when used, should be set to the integer of a term ID.  Its default is
   * the empty string '', which has a different meaning from the integer 0.
   * If set to an integer value, all returned terms will have as an immediate
   * ancestor the term whose ID is specified by that integer according to the given taxonomy.
--- 1133,1145 ----
   * The 'get' argument, if set to 'all' instead of its default empty string,
   * returns terms regardless of ancestry or whether the terms are empty.
   *
!  * The 'child_of' argument, when used, should be set to the integer of a term ID. Its default
!  * is 0. If set to a non-zero value, all returned terms will be descendants
!  * of that term according to the given taxonomy. Hence 'child_of' is set to 0
   * if more than one taxonomy is passed in $taxonomies, because multiple taxonomies
   * make term ancestry ambiguous.
   *
!  * The 'parent' argument, when used, should be set to the integer of a term ID. Its default is
   * the empty string '', which has a different meaning from the integer 0.
   * If set to an integer value, all returned terms will have as an immediate
   * ancestor the term whose ID is specified by that integer according to the given taxonomy.
***************
*** 1161,1167 ****
  
  	foreach ( $taxonomies as $taxonomy ) {
  		if ( ! taxonomy_exists($taxonomy) ) {
! 			$error = new WP_Error('invalid_taxonomy', __('Invalid Taxonomy'));
  			return $error;
  		}
  	}
--- 1174,1180 ----
  
  	foreach ( $taxonomies as $taxonomy ) {
  		if ( ! taxonomy_exists($taxonomy) ) {
! 			$error = new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
  			return $error;
  		}
  	}
***************
*** 1431,1438 ****
  /**
   * Check if Term exists.
   *
-  * Returns the index of a defined term, or 0 (false) if the term doesn't exist.
-  *
   * Formerly is_term(), introduced in 2.3.0.
   *
   * @package WordPress
--- 1444,1449 ----
***************
*** 1444,1450 ****
   * @param int|string $term The term to check
   * @param string $taxonomy The taxonomy name to use
   * @param int $parent ID of parent term under which to confine the exists search.
!  * @return mixed Get the term id or Term Object, if exists.
   */
  function term_exists($term, $taxonomy = '', $parent = 0) {
  	global $wpdb;
--- 1455,1462 ----
   * @param int|string $term The term to check
   * @param string $taxonomy The taxonomy name to use
   * @param int $parent ID of parent term under which to confine the exists search.
!  * @return mixed Returns 0 if the term does not exist. Returns the term ID if no taxonomy is specified
!  * 	and the term ID exists. Returns an array of the term ID and the taxonomy if the pairing exists.
   */
  function term_exists($term, $taxonomy = '', $parent = 0) {
  	global $wpdb;
***************
*** 1496,1501 ****
--- 1508,1539 ----
  }
  
  /**
+  * Check if a term is an ancestor of another term.
+  *
+  * You can use either an id or the term object for both parameters.
+  *
+  * @since 3.4.0
+  *
+  * @param int|object $term1 ID or object to check if this is the parent term.
+  * @param int|object $term2 The child term.
+  * @param string $taxonomy Taxonomy name that $term1 and $term2 belong to.
+  * @return bool Whether $term2 is child of $term1
+  */
+ function term_is_ancestor_of( $term1, $term2, $taxonomy ) {
+ 	if ( ! isset( $term1->term_id ) )
+ 		$term1 = get_term( $term1, $taxonomy );
+ 	if ( ! isset( $term2->parent ) )
+ 		$term2 = get_term( $term2, $taxonomy );
+ 
+ 	if ( empty( $term1->term_id ) || empty( $term2->parent ) )
+ 		return false;
+ 	if ( $term2->parent == $term1->term_id )
+ 		return true;
+ 
+ 	return term_is_ancestor_of( $term1, get_term( $term2->parent, $taxonomy ), $taxonomy );
+ }
+ 
+ /**
   * Sanitize Term all fields.
   *
   * Relies on sanitize_term_field() to sanitize the term. The difference is that
***************
*** 1765,1776 ****
  		clean_object_term_cache( $objects, $object_type );
  
  	do_action( 'delete_term_taxonomy', $tt_id );
! 	$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = %d", $tt_id ) );
  	do_action( 'deleted_term_taxonomy', $tt_id );
  
  	// Delete the term if no taxonomies use it.
  	if ( !$wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_taxonomy WHERE term_id = %d", $term) ) )
! 		$wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->terms WHERE term_id = %d", $term) );
  
  	clean_term_cache($term, $taxonomy);
  
--- 1803,1814 ----
  		clean_object_term_cache( $objects, $object_type );
  
  	do_action( 'delete_term_taxonomy', $tt_id );
! 	$wpdb->delete( $wpdb->term_taxonomy, array( 'term_taxonomy_id' => $tt_id ) );
  	do_action( 'deleted_term_taxonomy', $tt_id );
  
  	// Delete the term if no taxonomies use it.
  	if ( !$wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_taxonomy WHERE term_id = %d", $term) ) )
! 		$wpdb->delete( $wpdb->terms, array( 'term_id' => $term ) );
  
  	clean_term_cache($term, $taxonomy);
  
***************
*** 1824,1840 ****
   * @param int|array $object_ids The ID(s) of the object(s) to retrieve.
   * @param string|array $taxonomies The taxonomies to retrieve terms from.
   * @param array|string $args Change what is returned
!  * @return array|WP_Error The requested term data or empty array if no terms found. WP_Error if $taxonomy does not exist.
   */
  function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
  	global $wpdb;
  
  	if ( !is_array($taxonomies) )
  		$taxonomies = array($taxonomies);
  
  	foreach ( (array) $taxonomies as $taxonomy ) {
  		if ( ! taxonomy_exists($taxonomy) )
! 			return new WP_Error('invalid_taxonomy', __('Invalid Taxonomy'));
  	}
  
  	if ( !is_array($object_ids) )
--- 1862,1881 ----
   * @param int|array $object_ids The ID(s) of the object(s) to retrieve.
   * @param string|array $taxonomies The taxonomies to retrieve terms from.
   * @param array|string $args Change what is returned
!  * @return array|WP_Error The requested term data or empty array if no terms found. WP_Error if any of the $taxonomies don't exist.
   */
  function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
  	global $wpdb;
  
+ 	if ( empty( $object_ids ) || empty( $taxonomies ) )
+ 		return array();
+ 
  	if ( !is_array($taxonomies) )
  		$taxonomies = array($taxonomies);
  
  	foreach ( (array) $taxonomies as $taxonomy ) {
  		if ( ! taxonomy_exists($taxonomy) )
! 			return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
  	}
  
  	if ( !is_array($object_ids) )
***************
*** 2105,2111 ****
  	$object_id = (int) $object_id;
  
  	if ( ! taxonomy_exists($taxonomy) )
! 		return new WP_Error('invalid_taxonomy', __('Invalid Taxonomy'));
  
  	if ( !is_array($terms) )
  		$terms = array($terms);
--- 2146,2152 ----
  	$object_id = (int) $object_id;
  
  	if ( ! taxonomy_exists($taxonomy) )
! 		return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
  
  	if ( !is_array($terms) )
  		$terms = array($terms);
***************
*** 2637,2643 ****
  		$object_terms[$term->object_id][$term->taxonomy][$term->term_id] = $term;
  
  	foreach ( $ids as $id ) {
! 		foreach ( $taxonomies  as $taxonomy ) {
  			if ( ! isset($object_terms[$id][$taxonomy]) ) {
  				if ( !isset($object_terms[$id]) )
  					$object_terms[$id] = array();
--- 2674,2680 ----
  		$object_terms[$term->object_id][$term->taxonomy][$term->term_id] = $term;
  
  	foreach ( $ids as $id ) {
! 		foreach ( $taxonomies as $taxonomy ) {
  			if ( ! isset($object_terms[$id][$taxonomy]) ) {
  				if ( !isset($object_terms[$id]) )
  					$object_terms[$id] = array();
***************
*** 2648,2654 ****
  
  	foreach ( $object_terms as $id => $value ) {
  		foreach ( $value as $taxonomy => $terms ) {
! 			wp_cache_set($id, $terms, "{$taxonomy}_relationships");
  		}
  	}
  }
--- 2685,2691 ----
  
  	foreach ( $object_terms as $id => $value ) {
  		foreach ( $value as $taxonomy => $terms ) {
! 			wp_cache_add( $id, $terms, "{$taxonomy}_relationships" );
  		}
  	}
  }
***************
*** 3094,3100 ****
   *
   * @param int $object_id ID of the object (post ID, link ID, ...)
   * @param string $taxonomy Single taxonomy name
!  * @param int|string|array $terms Optional.  Term term_id, name, slug or array of said
   * @return bool|WP_Error. WP_Error on input error.
   */
  function is_object_in_term( $object_id, $taxonomy, $terms = null ) {
--- 3126,3132 ----
   *
   * @param int $object_id ID of the object (post ID, link ID, ...)
   * @param string $taxonomy Single taxonomy name
!  * @param int|string|array $terms Optional. Term term_id, name, slug or array of said
   * @return bool|WP_Error. WP_Error on input error.
   */
  function is_object_in_term( $object_id, $taxonomy, $terms = null ) {
***************
*** 3240,3246 ****
  	if ( isset( $loop[$term_id] ) )
  		return 0;
  
! 	// There's a loop, but it doesn't contain $term_id.  Break the loop.
  	foreach ( array_keys( $loop ) as $loop_member )
  		wp_update_term( $loop_member, $taxonomy, array( 'parent' => 0 ) );
  
--- 3272,3278 ----
  	if ( isset( $loop[$term_id] ) )
  		return 0;
  
! 	// There's a loop, but it doesn't contain $term_id. Break the loop.
  	foreach ( array_keys( $loop ) as $loop_member )
  		wp_update_term( $loop_member, $taxonomy, array( 'parent' => 0 ) );
  
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/template-loader.php ./wordpress-3.4/wp-includes/template-loader.php
*** ./wordpress-3.3.2/wp-includes/template-loader.php	2010-04-28 02:48:09.000000000 -0500
--- ./wordpress-3.4/wp-includes/template-loader.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 43,47 ****
  		include( $template );
  	return;
  endif;
- 
- ?>
--- 43,45 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/template.php ./wordpress-3.4/wp-includes/template.php
*** ./wordpress-3.3.2/wp-includes/template.php	1969-12-31 18:00:00.000000000 -0600
--- ./wordpress-3.4/wp-includes/template.php	2012-05-24 02:06:13.000000000 -0500
***************
*** 0 ****
--- 1,394 ----
+ <?php
+ /**
+  * Template loading functions.
+  *
+  * @package WordPress
+  * @subpackage Template
+  */
+ 
+ /**
+  * Retrieve path to a template
+  *
+  * Used to quickly retrieve the path of a template without including the file
+  * extension. It will also check the parent theme, if the file exists, with
+  * the use of {@link locate_template()}. Allows for more generic template location
+  * without the use of the other get_*_template() functions.
+  *
+  * @since 1.5.0
+  *
+  * @param string $type Filename without extension.
+  * @param array $templates An optional list of template candidates
+  * @return string Full path to file.
+  */
+ function get_query_template( $type, $templates = array() ) {
+ 	$type = preg_replace( '|[^a-z0-9-]+|', '', $type );
+ 
+ 	if ( empty( $templates ) )
+ 		$templates = array("{$type}.php");
+ 
+ 	return apply_filters( "{$type}_template", locate_template( $templates ) );
+ }
+ 
+ /**
+  * Retrieve path of index template in current or parent template.
+  *
+  * @since 3.0.0
+  *
+  * @return string
+  */
+ function get_index_template() {
+ 	return get_query_template('index');
+ }
+ 
+ /**
+  * Retrieve path of 404 template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_404_template() {
+ 	return get_query_template('404');
+ }
+ 
+ /**
+  * Retrieve path of archive template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_archive_template() {
+ 	$post_type = get_query_var( 'post_type' );
+ 
+ 	$templates = array();
+ 
+ 	if ( $post_type )
+ 		$templates[] = "archive-{$post_type}.php";
+ 	$templates[] = 'archive.php';
+ 
+ 	return get_query_template( 'archive', $templates );
+ }
+ 
+ /**
+  * Retrieve path of author template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_author_template() {
+ 	$author = get_queried_object();
+ 
+ 	$templates = array();
+ 
+ 	$templates[] = "author-{$author->user_nicename}.php";
+ 	$templates[] = "author-{$author->ID}.php";
+ 	$templates[] = 'author.php';
+ 
+ 	return get_query_template( 'author', $templates );
+ }
+ 
+ /**
+  * Retrieve path of category template in current or parent template.
+  *
+  * Works by first retrieving the current slug for example 'category-default.php' and then
+  * trying category ID, for example 'category-1.php' and will finally fallback to category.php
+  * template, if those files don't exist.
+  *
+  * @since 1.5.0
+  * @uses apply_filters() Calls 'category_template' on file path of category template.
+  *
+  * @return string
+  */
+ function get_category_template() {
+ 	$category = get_queried_object();
+ 
+ 	$templates = array();
+ 
+ 	$templates[] = "category-{$category->slug}.php";
+ 	$templates[] = "category-{$category->term_id}.php";
+ 	$templates[] = 'category.php';
+ 
+ 	return get_query_template( 'category', $templates );
+ }
+ 
+ /**
+  * Retrieve path of tag template in current or parent template.
+  *
+  * Works by first retrieving the current tag name, for example 'tag-wordpress.php' and then
+  * trying tag ID, for example 'tag-1.php' and will finally fallback to tag.php
+  * template, if those files don't exist.
+  *
+  * @since 2.3.0
+  * @uses apply_filters() Calls 'tag_template' on file path of tag template.
+  *
+  * @return string
+  */
+ function get_tag_template() {
+ 	$tag = get_queried_object();
+ 
+ 	$templates = array();
+ 
+ 	$templates[] = "tag-{$tag->slug}.php";
+ 	$templates[] = "tag-{$tag->term_id}.php";
+ 	$templates[] = 'tag.php';
+ 
+ 	return get_query_template( 'tag', $templates );
+ }
+ 
+ /**
+  * Retrieve path of taxonomy template in current or parent template.
+  *
+  * Retrieves the taxonomy and term, if term is available. The template is
+  * prepended with 'taxonomy-' and followed by both the taxonomy string and
+  * the taxonomy string followed by a dash and then followed by the term.
+  *
+  * The taxonomy and term template is checked and used first, if it exists.
+  * Second, just the taxonomy template is checked, and then finally, taxonomy.php
+  * template is used. If none of the files exist, then it will fall back on to
+  * index.php.
+  *
+  * @since 2.5.0
+  * @uses apply_filters() Calls 'taxonomy_template' filter on found path.
+  *
+  * @return string
+  */
+ function get_taxonomy_template() {
+ 	$term = get_queried_object();
+ 	$taxonomy = $term->taxonomy;
+ 
+ 	$templates = array();
+ 
+ 	$templates[] = "taxonomy-$taxonomy-{$term->slug}.php";
+ 	$templates[] = "taxonomy-$taxonomy.php";
+ 	$templates[] = 'taxonomy.php';
+ 
+ 	return get_query_template( 'taxonomy', $templates );
+ }
+ 
+ /**
+  * Retrieve path of date template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_date_template() {
+ 	return get_query_template('date');
+ }
+ 
+ /**
+  * Retrieve path of home template in current or parent template.
+  *
+  * This is the template used for the page containing the blog posts
+  *
+  * Attempts to locate 'home.php' first before falling back to 'index.php'.
+  *
+  * @since 1.5.0
+  * @uses apply_filters() Calls 'home_template' on file path of home template.
+  *
+  * @return string
+  */
+ function get_home_template() {
+ 	$templates = array( 'home.php', 'index.php' );
+ 
+ 	return get_query_template( 'home', $templates );
+ }
+ 
+ /**
+  * Retrieve path of front-page template in current or parent template.
+  *
+  * Looks for 'front-page.php'.
+  *
+  * @since 3.0.0
+  * @uses apply_filters() Calls 'front_page_template' on file path of template.
+  *
+  * @return string
+  */
+ function get_front_page_template() {
+ 	$templates = array('front-page.php');
+ 
+ 	return get_query_template( 'front_page', $templates );
+ }
+ 
+ /**
+  * Retrieve path of page template in current or parent template.
+  *
+  * Will first look for the specifically assigned page template
+  * The will search for 'page-{slug}.php' followed by 'page-id.php'
+  * and finally 'page.php'
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_page_template() {
+ 	$id = get_queried_object_id();
+ 	$template = get_page_template_slug();
+ 	$pagename = get_query_var('pagename');
+ 
+ 	if ( ! $pagename && $id ) {
+ 		// If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
+ 		$post = get_queried_object();
+ 		$pagename = $post->post_name;
+ 	}
+ 
+ 	$templates = array();
+ 	if ( $template && 0 === validate_file( $template ) )
+ 		$templates[] = $template;
+ 	if ( $pagename )
+ 		$templates[] = "page-$pagename.php";
+ 	if ( $id )
+ 		$templates[] = "page-$id.php";
+ 	$templates[] = 'page.php';
+ 
+ 	return get_query_template( 'page', $templates );
+ }
+ 
+ /**
+  * Retrieve path of paged template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_paged_template() {
+ 	return get_query_template('paged');
+ }
+ 
+ /**
+  * Retrieve path of search template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_search_template() {
+ 	return get_query_template('search');
+ }
+ 
+ /**
+  * Retrieve path of single template in current or parent template.
+  *
+  * @since 1.5.0
+  *
+  * @return string
+  */
+ function get_single_template() {
+ 	$object = get_queried_object();
+ 
+ 	$templates = array();
+ 
+ 	$templates[] = "single-{$object->post_type}.php";
+ 	$templates[] = "single.php";
+ 
+ 	return get_query_template( 'single', $templates );
+ }
+ 
+ /**
+  * Retrieve path of attachment template in current or parent template.
+  *
+  * The attachment path first checks if the first part of the mime type exists.
+  * The second check is for the second part of the mime type. The last check is
+  * for both types separated by an underscore. If neither are found then the file
+  * 'attachment.php' is checked and returned.
+  *
+  * Some examples for the 'text/plain' mime type are 'text.php', 'plain.php', and
+  * finally 'text_plain.php'.
+  *
+  * @since 2.0.0
+  *
+  * @return string
+  */
+ function get_attachment_template() {
+ 	global $posts;
+ 	$type = explode('/', $posts[0]->post_mime_type);
+ 	if ( $template = get_query_template($type[0]) )
+ 		return $template;
+ 	elseif ( $template = get_query_template($type[1]) )
+ 		return $template;
+ 	elseif ( $template = get_query_template("$type[0]_$type[1]") )
+ 		return $template;
+ 	else
+ 		return get_query_template('attachment');
+ }
+ 
+ /**
+  * Retrieve path of comment popup template in current or parent template.
+  *
+  * Checks for comment popup template in current template, if it exists or in the
+  * parent template.
+  *
+  * @since 1.5.0
+  * @uses apply_filters() Calls 'comments_popup_template' filter on path.
+  *
+  * @return string
+  */
+ function get_comments_popup_template() {
+ 	$template = get_query_template( 'comments_popup', array( 'comments-popup.php' ) );
+ 
+ 	// Backward compat code will be removed in a future release
+ 	if ('' == $template)
+ 		$template = ABSPATH . WPINC . '/theme-compat/comments-popup.php';
+ 
+ 	return $template;
+ }
+ 
+ /**
+  * Retrieve the name of the highest priority template file that exists.
+  *
+  * Searches in the STYLESHEETPATH before TEMPLATEPATH so that themes which
+  * inherit from a parent theme can just overload one file.
+  *
+  * @since 2.7.0
+  *
+  * @param string|array $template_names Template file(s) to search for, in order.
+  * @param bool $load If true the template file will be loaded if it is found.
+  * @param bool $require_once Whether to require_once or require. Default true. Has no effect if $load is false.
+  * @return string The template filename if one is located.
+  */
+ function locate_template($template_names, $load = false, $require_once = true ) {
+ 	$located = '';
+ 	foreach ( (array) $template_names as $template_name ) {
+ 		if ( !$template_name )
+ 			continue;
+ 		if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
+ 			$located = STYLESHEETPATH . '/' . $template_name;
+ 			break;
+ 		} else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
+ 			$located = TEMPLATEPATH . '/' . $template_name;
+ 			break;
+ 		}
+ 	}
+ 
+ 	if ( $load && '' != $located )
+ 		load_template( $located, $require_once );
+ 
+ 	return $located;
+ }
+ 
+ /**
+  * Require the template file with WordPress environment.
+  *
+  * The globals are set up for the template file to ensure that the WordPress
+  * environment is available from within the function. The query variables are
+  * also available.
+  *
+  * @since 1.5.0
+  *
+  * @param string $_template_file Path to template file.
+  * @param bool $require_once Whether to require_once or require. Default true.
+  */
+ function load_template( $_template_file, $require_once = true ) {
+ 	global $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
+ 
+ 	if ( is_array( $wp_query->query_vars ) )
+ 		extract( $wp_query->query_vars, EXTR_SKIP );
+ 
+ 	if ( $require_once )
+ 		require_once( $_template_file );
+ 	else
+ 		require( $_template_file );
+ }
+ 
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/theme.php ./wordpress-3.4/wp-includes/theme.php
*** ./wordpress-3.3.2/wp-includes/theme.php	2011-11-14 17:56:18.000000000 -0600
--- ./wordpress-3.4/wp-includes/theme.php	2012-06-12 10:57:11.000000000 -0500
***************
*** 3,12 ****
   * Theme, template, and stylesheet functions.
   *
   * @package WordPress
!  * @subpackage Template
   */
  
  /**
   * Whether a child theme is in use.
   *
   * @since 3.0.0
--- 3,112 ----
   * Theme, template, and stylesheet functions.
   *
   * @package WordPress
!  * @subpackage Theme
   */
  
  /**
+  * Returns an array of WP_Theme objects based on the arguments.
+  *
+  * Despite advances over get_themes(), this function is quite expensive, and grows
+  * linearly with additional themes. Stick to wp_get_theme() if possible.
+  *
+  * @since 3.4.0
+  *
+  * @param array $args The search arguments. Optional.
+  * - errors      mixed  True to return themes with errors, false to return themes without errors, null
+  *                      to return all themes. Defaults to false.
+  * - allowed     mixed  (Multisite) True to return only allowed themes for a site. False to return only
+  *                      disallowed themes for a site. 'site' to return only site-allowed themes. 'network'
+  *                      to return only network-allowed themes. Null to return all themes. Defaults to null.
+  * - blog_id     int    (Multisite) The blog ID used to calculate which themes are allowed. Defaults to 0,
+  *                      synonymous for the current blog.
+  * @return Array of WP_Theme objects.
+  */
+ function wp_get_themes( $args = array() ) {
+ 	global $wp_theme_directories;
+ 
+ 	$defaults = array( 'errors' => false, 'allowed' => null, 'blog_id' => 0 );
+ 	$args = wp_parse_args( $args, $defaults );
+ 
+ 	$theme_directories = search_theme_directories();
+ 
+ 	if ( count( $wp_theme_directories ) > 1 ) {
+ 		// Make sure the current theme wins out, in case search_theme_directories() picks the wrong
+ 		// one in the case of a conflict. (Normally, last registered theme root wins.)
+ 		$current_theme = get_stylesheet();
+ 		if ( isset( $theme_directories[ $current_theme ] ) ) {
+ 			$root_of_current_theme = get_raw_theme_root( $current_theme );
+ 			if ( ! in_array( $root_of_current_theme, $wp_theme_directories ) )
+ 				$root_of_current_theme = WP_CONTENT_DIR . $root_of_current_theme;
+ 			$theme_directories[ $current_theme ]['theme_root'] = $root_of_current_theme;
+ 		}
+ 	}
+ 
+ 	if ( empty( $theme_directories ) )
+ 		return array();
+ 
+ 	if ( is_multisite() && null !== $args['allowed'] ) {
+ 		$allowed = $args['allowed'];
+ 		if ( 'network' === $allowed )
+ 			$theme_directories = array_intersect_key( $theme_directories, WP_Theme::get_allowed_on_network() );
+ 		elseif ( 'site' === $allowed )
+ 			$theme_directories = array_intersect_key( $theme_directories, WP_Theme::get_allowed_on_site( $args['blog_id'] ) );
+ 		elseif ( $allowed )
+ 			$theme_directories = array_intersect_key( $theme_directories, WP_Theme::get_allowed( $args['blog_id'] ) );
+ 		else
+ 			$theme_directories = array_diff_key( $theme_directories, WP_Theme::get_allowed( $args['blog_id'] ) );
+ 	}
+ 
+ 	$themes = array();
+ 	static $_themes = array();
+ 
+ 	foreach ( $theme_directories as $theme => $theme_root ) {
+ 		if ( isset( $_themes[ $theme_root['theme_root'] . '/' . $theme ] ) )
+ 			$themes[ $theme ] = $_themes[ $theme_root['theme_root'] . '/' . $theme ];
+ 		else
+ 			$themes[ $theme ] = $_themes[ $theme_root['theme_root'] . '/' . $theme ] = new WP_Theme( $theme, $theme_root['theme_root'] );
+ 	}
+ 
+ 	if ( null !== $args['errors'] ) {
+ 		foreach ( $themes as $theme => $wp_theme ) {
+ 			if ( $wp_theme->errors() != $args['errors'] )
+ 				unset( $themes[ $theme ] );
+ 		}
+ 	}
+ 
+ 	return $themes;
+ }
+ 
+ /**
+  * Gets a WP_Theme object for a theme.
+  *
+  * @since 3.4.0
+  *
+  * @param string $stylesheet Directory name for the theme. Optional. Defaults to current theme.
+  * @param string $theme_root Absolute path of the theme root to look in. Optional. If not specified, get_raw_theme_root()
+  * 	is used to calculate the theme root for the $stylesheet provided (or current theme).
+  * @return WP_Theme Theme object. Be sure to check the object's exists() method if you need to confirm the theme's existence.
+  */
+ function wp_get_theme( $stylesheet = null, $theme_root = null ) {
+ 	global $wp_theme_directories;
+ 
+ 	if ( empty( $stylesheet ) )
+ 		$stylesheet = get_stylesheet();
+ 
+ 	if ( empty( $theme_root ) ) {
+ 		$theme_root = get_raw_theme_root( $stylesheet );
+ 		if ( false === $theme_root )
+ 			$theme_root = WP_CONTENT_DIR . '/themes';
+ 		elseif ( ! in_array( $theme_root, (array) $wp_theme_directories ) )
+ 			$theme_root = WP_CONTENT_DIR . $theme_root;
+ 	}
+ 
+ 	return new WP_Theme( $stylesheet, $theme_root );
+ }
+ 
+ /**
   * Whether a child theme is in use.
   *
   * @since 3.0.0
***************
*** 161,470 ****
  }
  
  /**
-  * Retrieve theme data from parsed theme file.
-  *
-  * The description will have the tags filtered with the following HTML elements
-  * whitelisted. The <b>'a'</b> element with the <em>href</em> and <em>title</em>
-  * attributes. The <b>abbr</b> element with the <em>title</em> attribute. The
-  * <b>acronym</b> element with the <em>title</em> attribute allowed. The
-  * <b>code</b>, <b>em</b>, and <b>strong</b> elements also allowed.
-  *
-  * The style.css file must contain theme name, theme URI, and description. The
-  * data can also contain author URI, author, template (parent template),
-  * version, status, and finally tags. Some of these are not used by WordPress
-  * administration panels, but are used by theme directory web sites which list
-  * the theme.
-  *
-  * @since 1.5.0
-  *
-  * @param string $theme_file Theme file path.
-  * @return array Theme data.
-  */
- function get_theme_data( $theme_file ) {
- 	$default_headers = array(
- 		'Name' => 'Theme Name',
- 		'URI' => 'Theme URI',
- 		'Description' => 'Description',
- 		'Author' => 'Author',
- 		'AuthorURI' => 'Author URI',
- 		'Version' => 'Version',
- 		'Template' => 'Template',
- 		'Status' => 'Status',
- 		'Tags' => 'Tags'
- 		);
- 
- 	$themes_allowed_tags = array(
- 		'a' => array(
- 			'href' => array(),'title' => array()
- 			),
- 		'abbr' => array(
- 			'title' => array()
- 			),
- 		'acronym' => array(
- 			'title' => array()
- 			),
- 		'code' => array(),
- 		'em' => array(),
- 		'strong' => array()
- 	);
- 
- 	$theme_data = get_file_data( $theme_file, $default_headers, 'theme' );
- 
- 	$theme_data['Name'] = $theme_data['Title'] = wp_kses( $theme_data['Name'], $themes_allowed_tags );
- 
- 	$theme_data['URI'] = esc_url( $theme_data['URI'] );
- 
- 	$theme_data['Description'] = wptexturize( wp_kses( $theme_data['Description'], $themes_allowed_tags ) );
- 
- 	$theme_data['AuthorURI'] = esc_url( $theme_data['AuthorURI'] );
- 
- 	$theme_data['Template'] = wp_kses( $theme_data['Template'], $themes_allowed_tags );
- 
- 	$theme_data['Version'] = wp_kses( $theme_data['Version'], $themes_allowed_tags );
- 
- 	if ( $theme_data['Status'] == '' )
- 		$theme_data['Status'] = 'publish';
- 	else
- 		$theme_data['Status'] = wp_kses( $theme_data['Status'], $themes_allowed_tags );
- 
- 	if ( $theme_data['Tags'] == '' )
- 		$theme_data['Tags'] = array();
- 	else
- 		$theme_data['Tags'] = array_map( 'trim', explode( ',', wp_kses( $theme_data['Tags'], array() ) ) );
- 
- 	if ( $theme_data['Author'] == '' ) {
- 		$theme_data['Author'] = $theme_data['AuthorName'] = __('Anonymous');
- 	} else {
- 		$theme_data['AuthorName'] = wp_kses( $theme_data['Author'], $themes_allowed_tags );
- 		if ( empty( $theme_data['AuthorURI'] ) ) {
- 			$theme_data['Author'] = $theme_data['AuthorName'];
- 		} else {
- 			$theme_data['Author'] = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>', $theme_data['AuthorURI'], esc_attr__( 'Visit author homepage' ), $theme_data['AuthorName'] );
- 		}
- 	}
- 
- 	return $theme_data;
- }
- 
- /**
-  * Retrieve list of themes with theme data in theme directory.
-  *
-  * The theme is broken, if it doesn't have a parent theme and is missing either
-  * style.css and, or index.php. If the theme has a parent theme then it is
-  * broken, if it is missing style.css; index.php is optional. The broken theme
-  * list is saved in the {@link $wp_broken_themes} global, which is displayed on
-  * the theme list in the administration panels.
-  *
-  * @since 1.5.0
-  * @global array $wp_broken_themes Stores the broken themes.
-  * @global array $wp_themes Stores the working themes.
-  *
-  * @return array Theme list with theme data.
-  */
- function get_themes() {
- 	global $wp_themes, $wp_broken_themes;
- 
- 	if ( isset($wp_themes) )
- 		return $wp_themes;
- 
- 	if ( !$theme_files = search_theme_directories() )
- 		return false;
- 
- 	asort( $theme_files );
- 
- 	$wp_themes = array();
- 
- 	foreach ( (array) $theme_files as $theme_file ) {
- 		$theme_root = $theme_file['theme_root'];
- 		$theme_file = $theme_file['theme_file'];
- 
- 		if ( !is_readable("$theme_root/$theme_file") ) {
- 			$wp_broken_themes[$theme_file] = array('Name' => $theme_file, 'Title' => $theme_file, 'Description' => __('File not readable.'));
- 			continue;
- 		}
- 
- 		$theme_data = get_theme_data("$theme_root/$theme_file");
- 
- 		$name        = $theme_data['Name'];
- 		$title       = $theme_data['Title'];
- 		$description = wptexturize($theme_data['Description']);
- 		$version     = $theme_data['Version'];
- 		$author      = $theme_data['Author'];
- 		$template    = $theme_data['Template'];
- 		$stylesheet  = dirname($theme_file);
- 
- 		$screenshot = false;
- 		foreach ( array('png', 'gif', 'jpg', 'jpeg') as $ext ) {
- 			if (file_exists("$theme_root/$stylesheet/screenshot.$ext")) {
- 				$screenshot = "screenshot.$ext";
- 				break;
- 			}
- 		}
- 
- 		if ( empty($name) ) {
- 			$name = dirname($theme_file);
- 			$title = $name;
- 		}
- 
- 		$parent_template = $template;
- 
- 		if ( empty($template) ) {
- 			if ( file_exists("$theme_root/$stylesheet/index.php") )
- 				$template = $stylesheet;
- 			else
- 				continue;
- 		}
- 
- 		$template = trim( $template );
- 
- 		if ( !file_exists("$theme_root/$template/index.php") ) {
- 			$parent_dir = dirname(dirname($theme_file));
- 			if ( file_exists("$theme_root/$parent_dir/$template/index.php") ) {
- 				$template = "$parent_dir/$template";
- 				$template_directory = "$theme_root/$template";
- 			} else {
- 				/**
- 				 * The parent theme doesn't exist in the current theme's folder or sub folder
- 				 * so lets use the theme root for the parent template.
- 				 */
- 				if ( isset($theme_files[$template]) && file_exists( $theme_files[$template]['theme_root'] . "/$template/index.php" ) ) {
- 					$template_directory = $theme_files[$template]['theme_root'] . "/$template";
- 				} else {
- 					if ( empty( $parent_template) )
- 						$wp_broken_themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => __('Template is missing.'), 'error' => 'no_template');
- 					else
- 						$wp_broken_themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => sprintf( __('The parent theme is missing. Please install the "%s" parent theme.'),  $parent_template ), 'error' => 'no_parent', 'parent' => $parent_template );
- 					continue;
- 				}
- 
- 			}
- 		} else {
- 			$template_directory = trim( $theme_root . '/' . $template );
- 		}
- 
- 		$stylesheet_files = array();
- 		$template_files = array();
- 
- 		$stylesheet_dir = @ dir("$theme_root/$stylesheet");
- 		if ( $stylesheet_dir ) {
- 			while ( ($file = $stylesheet_dir->read()) !== false ) {
- 				if ( !preg_match('|^\.+$|', $file) ) {
- 					if ( preg_match('|\.css$|', $file) )
- 						$stylesheet_files[] = "$theme_root/$stylesheet/$file";
- 					elseif ( preg_match('|\.php$|', $file) )
- 						$template_files[] = "$theme_root/$stylesheet/$file";
- 				}
- 			}
- 			@ $stylesheet_dir->close();
- 		}
- 
- 		$template_dir = @ dir("$template_directory");
- 		if ( $template_dir ) {
- 			while ( ($file = $template_dir->read()) !== false ) {
- 				if ( preg_match('|^\.+$|', $file) )
- 					continue;
- 				if ( preg_match('|\.php$|', $file) ) {
- 					$template_files[] = "$template_directory/$file";
- 				} elseif ( is_dir("$template_directory/$file") ) {
- 					$template_subdir = @ dir("$template_directory/$file");
- 					if ( !$template_subdir )
- 						continue;
- 					while ( ($subfile = $template_subdir->read()) !== false ) {
- 						if ( preg_match('|^\.+$|', $subfile) )
- 							continue;
- 						if ( preg_match('|\.php$|', $subfile) )
- 							$template_files[] = "$template_directory/$file/$subfile";
- 					}
- 					@ $template_subdir->close();
- 				}
- 			}
- 			@ $template_dir->close();
- 		}
- 
- 		//Make unique and remove duplicates when stylesheet and template are the same i.e. most themes
- 		$template_files = array_unique($template_files);
- 		$stylesheet_files = array_unique($stylesheet_files);
- 
- 		$template_dir = $template_directory;
- 		$stylesheet_dir = $theme_root . '/' . $stylesheet;
- 
- 		if ( empty($template_dir) )
- 			$template_dir = '/';
- 		if ( empty($stylesheet_dir) )
- 			$stylesheet_dir = '/';
- 
- 		// Check for theme name collision.  This occurs if a theme is copied to
- 		// a new theme directory and the theme header is not updated.  Whichever
- 		// theme is first keeps the name.  Subsequent themes get a suffix applied.
- 		// The Twenty Eleven, Twenty Ten, Default and Classic themes always trump
- 		// their pretenders.
- 		if ( isset($wp_themes[$name]) ) {
- 			$trump_cards = array(
- 				'classic'      => 'WordPress Classic',
- 				'default'      => 'WordPress Default',
- 				'twentyten'    => 'Twenty Ten',
- 				'twentyeleven' => 'Twenty Eleven',
- 			);
- 			if ( isset( $trump_cards[ $stylesheet ] ) && $name == $trump_cards[ $stylesheet ] ) {
- 				// If another theme has claimed to be one of our default themes, move
- 				// them aside.
- 				$suffix = $wp_themes[$name]['Stylesheet'];
- 				$new_name = "$name/$suffix";
- 				$wp_themes[$new_name] = $wp_themes[$name];
- 				$wp_themes[$new_name]['Name'] = $new_name;
- 			} else {
- 				$name = "$name/$stylesheet";
- 			}
- 		}
- 
- 		$theme_roots[$stylesheet] = str_replace( WP_CONTENT_DIR, '', $theme_root );
- 		$wp_themes[$name] = array(
- 			'Name' => $name,
- 			'Title' => $title,
- 			'Description' => $description,
- 			'Author' => $author,
- 			'Author Name' => $theme_data['AuthorName'],
- 			'Author URI' => $theme_data['AuthorURI'],
- 			'Version' => $version,
- 			'Template' => $template,
- 			'Stylesheet' => $stylesheet,
- 			'Template Files' => $template_files,
- 			'Stylesheet Files' => $stylesheet_files,
- 			'Template Dir' => $template_dir,
- 			'Stylesheet Dir' => $stylesheet_dir,
- 			'Status' => $theme_data['Status'],
- 			'Screenshot' => $screenshot,
- 			'Tags' => $theme_data['Tags'],
- 			'Theme Root' => $theme_root,
- 			'Theme Root URI' => str_replace( WP_CONTENT_DIR, content_url(), $theme_root ),
- 		);
- 	}
- 
- 	unset($theme_files);
- 
- 	/* Store theme roots in the DB */
- 	if ( get_site_transient( 'theme_roots' ) != $theme_roots )
- 		set_site_transient( 'theme_roots', $theme_roots, 7200 ); // cache for two hours
- 	unset($theme_roots);
- 
- 	/* Resolve theme dependencies. */
- 	$theme_names = array_keys( $wp_themes );
- 	foreach ( (array) $theme_names as $theme_name ) {
- 		$wp_themes[$theme_name]['Parent Theme'] = '';
- 		if ( $wp_themes[$theme_name]['Stylesheet'] != $wp_themes[$theme_name]['Template'] ) {
- 			foreach ( (array) $theme_names as $parent_theme_name ) {
- 				if ( ($wp_themes[$parent_theme_name]['Stylesheet'] == $wp_themes[$parent_theme_name]['Template']) && ($wp_themes[$parent_theme_name]['Template'] == $wp_themes[$theme_name]['Template']) ) {
- 					$wp_themes[$theme_name]['Parent Theme'] = $wp_themes[$parent_theme_name]['Name'];
- 					break;
- 				}
- 			}
- 		}
- 	}
- 
- 	return $wp_themes;
- }
- 
- /**
   * Retrieve theme roots.
   *
   * @since 2.9.0
--- 261,266 ----
***************
*** 479,545 ****
  
  	$theme_roots = get_site_transient( 'theme_roots' );
  	if ( false === $theme_roots ) {
! 		get_themes();
! 		$theme_roots = get_site_transient( 'theme_roots' ); // this is set in get_theme()
  	}
  	return $theme_roots;
  }
  
  /**
-  * Retrieve theme data.
-  *
-  * @since 1.5.0
-  *
-  * @param string $theme Theme name.
-  * @return array|null Null, if theme name does not exist. Theme data, if exists.
-  */
- function get_theme($theme) {
- 	$themes = get_themes();
- 
- 	if ( is_array( $themes ) && array_key_exists( $theme, $themes ) )
- 		return $themes[$theme];
- 
- 	return null;
- }
- 
- /**
-  * Retrieve current theme display name.
-  *
-  * If the 'current_theme' option has already been set, then it will be returned
-  * instead. If it is not set, then each theme will be iterated over until both
-  * the current stylesheet and current template name.
-  *
-  * @since 1.5.0
-  *
-  * @return string
-  */
- function get_current_theme() {
- 	if ( $theme = get_option('current_theme') )
- 		return $theme;
- 
- 	$themes = get_themes();
- 	$current_theme = 'Twenty Eleven';
- 
- 	if ( $themes ) {
- 		$theme_names = array_keys( $themes );
- 		$current_template = get_option( 'template' );
- 		$current_stylesheet = get_option( 'stylesheet' );
- 
- 		foreach ( (array) $theme_names as $theme_name ) {
- 			if ( $themes[$theme_name]['Stylesheet'] == $current_stylesheet &&
- 					$themes[$theme_name]['Template'] == $current_template ) {
- 				$current_theme = $themes[$theme_name]['Name'];
- 				break;
- 			}
- 		}
- 	}
- 
- 	update_option('current_theme', $current_theme);
- 
- 	return $current_theme;
- }
- 
- /**
   * Register a directory that contains themes.
   *
   * @since 2.9.0
--- 275,287 ----
  
  	$theme_roots = get_site_transient( 'theme_roots' );
  	if ( false === $theme_roots ) {
! 		search_theme_directories( true ); // Regenerate the transient.
! 		$theme_roots = get_site_transient( 'theme_roots' );
  	}
  	return $theme_roots;
  }
  
  /**
   * Register a directory that contains themes.
   *
   * @since 2.9.0
***************
*** 547,567 ****
   * @param string $directory Either the full filesystem path to a theme folder or a folder within WP_CONTENT_DIR
   * @return bool
   */
! function register_theme_directory( $directory) {
  	global $wp_theme_directories;
  
! 	/* If this folder does not exist, return and do not register */
! 	if ( !file_exists( $directory ) )
! 			/* Try prepending as the theme directory could be relative to the content directory */
! 		$registered_directory = WP_CONTENT_DIR . '/' . $directory;
! 	else
! 		$registered_directory = $directory;
! 
! 	/* If this folder does not exist, return and do not register */
! 	if ( !file_exists( $registered_directory ) )
! 		return false;
  
! 	$wp_theme_directories[] = $registered_directory;
  
  	return true;
  }
--- 289,306 ----
   * @param string $directory Either the full filesystem path to a theme folder or a folder within WP_CONTENT_DIR
   * @return bool
   */
! function register_theme_directory( $directory ) {
  	global $wp_theme_directories;
  
! 	if ( ! file_exists( $directory ) ) {
! 		// Try prepending as the theme directory could be relative to the content directory
! 		$directory = WP_CONTENT_DIR . '/' . $directory;
! 		// If this directory does not exist, return and do not register
! 		if ( ! file_exists( $directory ) )
! 			return false;
! 	}
  
! 	$wp_theme_directories[] = $directory;
  
  	return true;
  }
***************
*** 571,1120 ****
   *
   * @since 2.9.0
   *
   * @return array Valid themes found
   */
! function search_theme_directories() {
! 	global $wp_theme_directories, $wp_broken_themes;
  	if ( empty( $wp_theme_directories ) )
  		return false;
  
! 	$theme_files = array();
! 	$wp_broken_themes = array();
! 
! 	/* Loop the registered theme directories and extract all themes */
! 	foreach ( (array) $wp_theme_directories as $theme_root ) {
! 		$theme_loc = $theme_root;
! 
! 		/* We don't want to replace all forward slashes, see Trac #4541 */
! 		if ( '/' != WP_CONTENT_DIR )
! 			$theme_loc = str_replace(WP_CONTENT_DIR, '', $theme_root);
! 
! 		/* Files in the root of the current theme directory and one subdir down */
! 		$themes_dir = @ opendir($theme_root);
! 
! 		if ( !$themes_dir )
! 			return false;
  
! 		while ( ($theme_dir = readdir($themes_dir)) !== false ) {
! 			if ( is_dir($theme_root . '/' . $theme_dir) && is_readable($theme_root . '/' . $theme_dir) ) {
! 				if ( $theme_dir[0] == '.' || $theme_dir == 'CVS' )
  					continue;
! 
! 				$stylish_dir = @opendir($theme_root . '/' . $theme_dir);
! 				$found_stylesheet = false;
! 
! 				while ( ($theme_file = readdir($stylish_dir)) !== false ) {
! 					if ( $theme_file == 'style.css' ) {
! 						$theme_files[$theme_dir] = array( 'theme_file' => $theme_dir . '/' . $theme_file, 'theme_root' => $theme_root );
! 						$found_stylesheet = true;
! 						break;
! 					}
! 				}
! 				@closedir($stylish_dir);
! 
! 				if ( !$found_stylesheet ) { // look for themes in that dir
! 					$subdir = "$theme_root/$theme_dir";
! 					$subdir_name = $theme_dir;
! 					$theme_subdirs = @opendir( $subdir );
! 
! 					$found_subdir_themes = false;
! 					while ( ($theme_subdir = readdir($theme_subdirs)) !== false ) {
! 						if ( is_dir( $subdir . '/' . $theme_subdir) && is_readable($subdir . '/' . $theme_subdir) ) {
! 							if ( $theme_subdir[0] == '.' || $theme_subdir == 'CVS' )
! 								continue;
! 
! 							$stylish_dir = @opendir($subdir . '/' . $theme_subdir);
! 							$found_stylesheet = false;
! 
! 							while ( ($theme_file = readdir($stylish_dir)) !== false ) {
! 								if ( $theme_file == 'style.css' ) {
! 									$theme_files["$theme_dir/$theme_subdir"] = array( 'theme_file' => $subdir_name . '/' . $theme_subdir . '/' . $theme_file, 'theme_root' => $theme_root );
! 									$found_stylesheet = true;
! 									$found_subdir_themes = true;
! 									break;
! 								}
! 							}
! 							@closedir($stylish_dir);
! 						}
! 					}
! 					@closedir($theme_subdirs);
! 					if ( !$found_subdir_themes )
! 						$wp_broken_themes[$theme_dir] = array('Name' => $theme_dir, 'Title' => $theme_dir, 'Description' => __('Stylesheet is missing.'));
! 				}
  			}
  		}
! 		@closedir( $themes_dir );
! 	}
! 	return $theme_files;
! }
! 
! /**
!  * Retrieve path to themes directory.
!  *
!  * Does not have trailing slash.
!  *
!  * @since 1.5.0
!  * @uses apply_filters() Calls 'theme_root' filter on path.
!  *
!  * @param string $stylesheet_or_template The stylesheet or template name of the theme
!  * @return string Theme path.
!  */
! function get_theme_root( $stylesheet_or_template = false ) {
! 	if ( $stylesheet_or_template ) {
! 		if ( $theme_root = get_raw_theme_root($stylesheet_or_template) )
! 			$theme_root = WP_CONTENT_DIR . $theme_root;
! 		else
! 			$theme_root = WP_CONTENT_DIR . '/themes';
! 	} else {
! 		$theme_root = WP_CONTENT_DIR . '/themes';
! 	}
! 
! 	return apply_filters( 'theme_root', $theme_root );
! }
! 
! /**
!  * Retrieve URI for themes directory.
!  *
!  * Does not have trailing slash.
!  *
!  * @since 1.5.0
!  *
!  * @param string $stylesheet_or_template The stylesheet or template name of the theme
!  * @return string Themes URI.
!  */
! function get_theme_root_uri( $stylesheet_or_template = false ) {
! 	if ( $stylesheet_or_template ) {
! 		if ( $theme_root = get_raw_theme_root($stylesheet_or_template) )
! 			$theme_root_uri = content_url( $theme_root );
! 		else
! 			$theme_root_uri = content_url( 'themes' );
  	} else {
! 		$theme_root_uri = content_url( 'themes' );
  	}
  
! 	return apply_filters( 'theme_root_uri', $theme_root_uri, get_option('siteurl'), $stylesheet_or_template );
! }
! 
! /**
!  * Get the raw theme root relative to the content directory with no filters applied.
!  *
!  * @since 3.1.0
!  *
!  * @param string $stylesheet_or_template The stylesheet or template name of the theme
!  * @return string Theme root
!  */
! function get_raw_theme_root( $stylesheet_or_template, $no_cache = false ) {
! 	global $wp_theme_directories;
! 
! 	if ( count($wp_theme_directories) <= 1 )
! 		return '/themes';
! 
! 	$theme_root = false;
! 
! 	// If requesting the root for the current theme, consult options to avoid calling get_theme_roots()
! 	if ( !$no_cache ) {
! 		if ( get_option('stylesheet') == $stylesheet_or_template )
! 			$theme_root = get_option('stylesheet_root');
! 		elseif ( get_option('template') == $stylesheet_or_template )
! 			$theme_root = get_option('template_root');
! 	}
! 
! 	if ( empty($theme_root) ) {
! 		$theme_roots = get_theme_roots();
! 		if ( !empty($theme_roots[$stylesheet_or_template]) )
! 			$theme_root = $theme_roots[$stylesheet_or_template];
! 	}
! 
! 	return $theme_root;
! }
! 
! /**
!  * Retrieve path to a template
!  *
!  * Used to quickly retrieve the path of a template without including the file
!  * extension. It will also check the parent theme, if the file exists, with
!  * the use of {@link locate_template()}. Allows for more generic template location
!  * without the use of the other get_*_template() functions.
!  *
!  * @since 1.5.0
!  *
!  * @param string $type Filename without extension.
!  * @param array $templates An optional list of template candidates
!  * @return string Full path to file.
!  */
! function get_query_template( $type, $templates = array() ) {
! 	$type = preg_replace( '|[^a-z0-9-]+|', '', $type );
! 
! 	if ( empty( $templates ) )
! 		$templates = array("{$type}.php");
! 
! 	return apply_filters( "{$type}_template", locate_template( $templates ) );
! }
! 
! /**
!  * Retrieve path of index template in current or parent template.
!  *
!  * @since 3.0.0
!  *
!  * @return string
!  */
! function get_index_template() {
! 	return get_query_template('index');
! }
! 
! /**
!  * Retrieve path of 404 template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_404_template() {
! 	return get_query_template('404');
! }
! 
! /**
!  * Retrieve path of archive template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_archive_template() {
! 	$post_type = get_query_var( 'post_type' );
! 
! 	$templates = array();
! 
! 	if ( $post_type )
! 		$templates[] = "archive-{$post_type}.php";
! 	$templates[] = 'archive.php';
! 
! 	return get_query_template( 'archive', $templates );
! }
! 
! /**
!  * Retrieve path of author template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_author_template() {
! 	$author = get_queried_object();
! 
! 	$templates = array();
! 
! 	$templates[] = "author-{$author->user_nicename}.php";
! 	$templates[] = "author-{$author->ID}.php";
! 	$templates[] = 'author.php';
! 
! 	return get_query_template( 'author', $templates );
! }
! 
! /**
!  * Retrieve path of category template in current or parent template.
!  *
!  * Works by first retrieving the current slug for example 'category-default.php' and then
!  * trying category ID, for example 'category-1.php' and will finally fallback to category.php
!  * template, if those files don't exist.
!  *
!  * @since 1.5.0
!  * @uses apply_filters() Calls 'category_template' on file path of category template.
!  *
!  * @return string
!  */
! function get_category_template() {
! 	$category = get_queried_object();
! 
! 	$templates = array();
! 
! 	$templates[] = "category-{$category->slug}.php";
! 	$templates[] = "category-{$category->term_id}.php";
! 	$templates[] = 'category.php';
! 
! 	return get_query_template( 'category', $templates );
! }
! 
! /**
!  * Retrieve path of tag template in current or parent template.
!  *
!  * Works by first retrieving the current tag name, for example 'tag-wordpress.php' and then
!  * trying tag ID, for example 'tag-1.php' and will finally fallback to tag.php
!  * template, if those files don't exist.
!  *
!  * @since 2.3.0
!  * @uses apply_filters() Calls 'tag_template' on file path of tag template.
!  *
!  * @return string
!  */
! function get_tag_template() {
! 	$tag = get_queried_object();
! 
! 	$templates = array();
! 
! 	$templates[] = "tag-{$tag->slug}.php";
! 	$templates[] = "tag-{$tag->term_id}.php";
! 	$templates[] = 'tag.php';
! 
! 	return get_query_template( 'tag', $templates );
! }
! 
! /**
!  * Retrieve path of taxonomy template in current or parent template.
!  *
!  * Retrieves the taxonomy and term, if term is available. The template is
!  * prepended with 'taxonomy-' and followed by both the taxonomy string and
!  * the taxonomy string followed by a dash and then followed by the term.
!  *
!  * The taxonomy and term template is checked and used first, if it exists.
!  * Second, just the taxonomy template is checked, and then finally, taxonomy.php
!  * template is used. If none of the files exist, then it will fall back on to
!  * index.php.
!  *
!  * @since 2.5.0
!  * @uses apply_filters() Calls 'taxonomy_template' filter on found path.
!  *
!  * @return string
!  */
! function get_taxonomy_template() {
! 	$term = get_queried_object();
! 	$taxonomy = $term->taxonomy;
! 
! 	$templates = array();
! 
! 	$templates[] = "taxonomy-$taxonomy-{$term->slug}.php";
! 	$templates[] = "taxonomy-$taxonomy.php";
! 	$templates[] = 'taxonomy.php';
! 
! 	return get_query_template( 'taxonomy', $templates );
! }
! 
! /**
!  * Retrieve path of date template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_date_template() {
! 	return get_query_template('date');
! }
! 
! /**
!  * Retrieve path of home template in current or parent template.
!  *
!  * This is the template used for the page containing the blog posts
!  *
!  * Attempts to locate 'home.php' first before falling back to 'index.php'.
!  *
!  * @since 1.5.0
!  * @uses apply_filters() Calls 'home_template' on file path of home template.
!  *
!  * @return string
!  */
! function get_home_template() {
! 	$templates = array( 'home.php', 'index.php' );
! 
! 	return get_query_template( 'home', $templates );
! }
! 
! /**
!  * Retrieve path of front-page template in current or parent template.
!  *
!  * Looks for 'front-page.php'.
!  *
!  * @since 3.0.0
!  * @uses apply_filters() Calls 'front_page_template' on file path of template.
!  *
!  * @return string
!  */
! function get_front_page_template() {
! 	$templates = array('front-page.php');
! 
! 	return get_query_template( 'front_page', $templates );
! }
! 
! /**
!  * Retrieve path of page template in current or parent template.
!  *
!  * Will first look for the specifically assigned page template
!  * The will search for 'page-{slug}.php' followed by 'page-id.php'
!  * and finally 'page.php'
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_page_template() {
! 	$id = get_queried_object_id();
! 	$template = get_post_meta($id, '_wp_page_template', true);
! 	$pagename = get_query_var('pagename');
! 
! 	if ( !$pagename && $id > 0 ) {
! 		// If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
! 		$post = get_queried_object();
! 		$pagename = $post->post_name;
! 	}
! 
! 	if ( 'default' == $template )
! 		$template = '';
! 
! 	$templates = array();
! 	if ( !empty($template) && !validate_file($template) )
! 		$templates[] = $template;
! 	if ( $pagename )
! 		$templates[] = "page-$pagename.php";
! 	if ( $id )
! 		$templates[] = "page-$id.php";
! 	$templates[] = 'page.php';
! 
! 	return get_query_template( 'page', $templates );
! }
! 
! /**
!  * Retrieve path of paged template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_paged_template() {
! 	return get_query_template('paged');
! }
  
! /**
!  * Retrieve path of search template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_search_template() {
! 	return get_query_template('search');
! }
  
! /**
!  * Retrieve path of single template in current or parent template.
!  *
!  * @since 1.5.0
!  *
!  * @return string
!  */
! function get_single_template() {
! 	$object = get_queried_object();
  
! 	$templates = array();
  
! 	$templates[] = "single-{$object->post_type}.php";
! 	$templates[] = "single.php";
  
! 	return get_query_template( 'single', $templates );
! }
  
! /**
!  * Retrieve path of attachment template in current or parent template.
!  *
!  * The attachment path first checks if the first part of the mime type exists.
!  * The second check is for the second part of the mime type. The last check is
!  * for both types separated by an underscore. If neither are found then the file
!  * 'attachment.php' is checked and returned.
!  *
!  * Some examples for the 'text/plain' mime type are 'text.php', 'plain.php', and
!  * finally 'text_plain.php'.
!  *
!  * @since 2.0.0
!  *
!  * @return string
!  */
! function get_attachment_template() {
! 	global $posts;
! 	$type = explode('/', $posts[0]->post_mime_type);
! 	if ( $template = get_query_template($type[0]) )
! 		return $template;
! 	elseif ( $template = get_query_template($type[1]) )
! 		return $template;
! 	elseif ( $template = get_query_template("$type[0]_$type[1]") )
! 		return $template;
! 	else
! 		return get_query_template('attachment');
  }
  
  /**
!  * Retrieve path of comment popup template in current or parent template.
   *
!  * Checks for comment popup template in current template, if it exists or in the
!  * parent template.
   *
   * @since 1.5.0
!  * @uses apply_filters() Calls 'comments_popup_template' filter on path.
   *
!  * @return string
   */
! function get_comments_popup_template() {
! 	$template = get_query_template( 'comments_popup', array( 'comments-popup.php' ) );
  
! 	// Backward compat code will be removed in a future release
! 	if ('' == $template)
! 		$template = ABSPATH . WPINC . '/theme-compat/comments-popup.php';
  
! 	return $template;
  }
  
  /**
!  * Retrieve the name of the highest priority template file that exists.
   *
!  * Searches in the STYLESHEETPATH before TEMPLATEPATH so that themes which
!  * inherit from a parent theme can just overload one file.
   *
!  * @since 2.7.0
   *
!  * @param string|array $template_names Template file(s) to search for, in order.
!  * @param bool $load If true the template file will be loaded if it is found.
!  * @param bool $require_once Whether to require_once or require. Default true. Has no effect if $load is false.
!  * @return string The template filename if one is located.
   */
! function locate_template($template_names, $load = false, $require_once = true ) {
! 	$located = '';
! 	foreach ( (array) $template_names as $template_name ) {
! 		if ( !$template_name )
! 			continue;
! 		if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
! 			$located = STYLESHEETPATH . '/' . $template_name;
! 			break;
! 		} else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
! 			$located = TEMPLATEPATH . '/' . $template_name;
! 			break;
  		}
  	}
  
! 	if ( $load && '' != $located )
! 		load_template( $located, $require_once );
! 
! 	return $located;
  }
  
  /**
!  * Require the template file with WordPress environment.
!  *
!  * The globals are set up for the template file to ensure that the WordPress
!  * environment is available from within the function. The query variables are
!  * also available.
   *
!  * @since 1.5.0
   *
!  * @param string $_template_file Path to template file.
!  * @param bool $require_once Whether to require_once or require. Default true.
   */
! function load_template( $_template_file, $require_once = true ) {
! 	global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
  
! 	if ( is_array( $wp_query->query_vars ) )
! 		extract( $wp_query->query_vars, EXTR_SKIP );
  
! 	if ( $require_once )
! 		require_once( $_template_file );
! 	else
! 		require( $_template_file );
  }
  
  /**
--- 310,520 ----
   *
   * @since 2.9.0
   *
+  * @param bool $force Optional. Whether to force a new directory scan. Defaults to false.
   * @return array Valid themes found
   */
! function search_theme_directories( $force = false ) {
! 	global $wp_theme_directories;
  	if ( empty( $wp_theme_directories ) )
  		return false;
  
! 	static $found_themes;
! 	if ( ! $force && isset( $found_themes ) )
! 		return $found_themes;
! 
! 	$found_themes = array();
! 
! 	$wp_theme_directories = (array) $wp_theme_directories;
! 
! 	// Set up maybe-relative, maybe-absolute array of theme directories.
! 	// We always want to return absolute, but we need to cache relative
! 	// use in for get_theme_root().
! 	foreach ( $wp_theme_directories as $theme_root ) {
! 		if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) )
! 			$relative_theme_roots[ str_replace( WP_CONTENT_DIR, '', $theme_root ) ] = $theme_root;
! 		else
! 			$relative_theme_roots[ $theme_root ] = $theme_root;
! 	}
  
! 	if ( $cache_expiration = apply_filters( 'wp_cache_themes_persistently', false, 'search_theme_directories' ) ) {
! 		$cached_roots = get_site_transient( 'theme_roots' );
! 		if ( is_array( $cached_roots ) ) {
! 			foreach ( $cached_roots as $theme_dir => $theme_root ) {
! 				// A cached theme root is no longer around, so skip it.
! 				if ( ! isset( $relative_theme_roots[ $theme_root ] ) )
  					continue;
! 				$found_themes[ $theme_dir ] = array(
! 					'theme_file' => $theme_dir . '/style.css',
! 					'theme_root' => $relative_theme_roots[ $theme_root ], // Convert relative to absolute.
! 				);
  			}
+ 			return $found_themes;
  		}
! 		if ( ! is_int( $cache_expiration ) )
! 			$cache_expiration = 1800; // half hour
  	} else {
! 		$cache_expiration = 1800; // half hour
  	}
  
! 	/* Loop the registered theme directories and extract all themes */
! 	foreach ( $wp_theme_directories as $theme_root ) {
  
! 		// Start with directories in the root of the current theme directory.
! 		$dirs = @ scandir( $theme_root );
! 		if ( ! $dirs )
! 			return false;
! 		foreach ( $dirs as $dir ) {
! 			if ( ! is_dir( $theme_root . '/' . $dir ) || $dir[0] == '.' || $dir == 'CVS' )
! 				continue;
! 			if ( file_exists( $theme_root . '/' . $dir . '/style.css' ) ) {
! 				// wp-content/themes/a-single-theme
! 				// wp-content/themes is $theme_root, a-single-theme is $dir
! 				$found_themes[ $dir ] = array(
! 					'theme_file' => $dir . '/style.css',
! 					'theme_root' => $theme_root,
! 				);
! 			} else {
! 				$found_theme = false;
! 				// wp-content/themes/a-folder-of-themes/*
! 				// wp-content/themes is $theme_root, a-folder-of-themes is $dir, then themes are $sub_dirs
! 				$sub_dirs = @ scandir( $theme_root . '/' . $dir );
! 				if ( ! $sub_dirs )
! 					return false;
! 				foreach ( $sub_dirs as $sub_dir ) {
! 					if ( ! is_dir( $theme_root . '/' . $dir ) || $dir[0] == '.' || $dir == 'CVS' )
! 						continue;
! 					if ( ! file_exists( $theme_root . '/' . $dir . '/' . $sub_dir . '/style.css' ) )
! 						continue;
! 					$found_themes[ $dir . '/' . $sub_dir ] = array(
! 						'theme_file' => $dir . '/' . $sub_dir . '/style.css',
! 						'theme_root' => $theme_root,
! 					);
! 					$found_theme = true;
! 				}
! 				// Never mind the above, it's just a theme missing a style.css.
! 				// Return it; WP_Theme will catch the error.
! 				if ( ! $found_theme )
! 					$found_themes[ $dir ] = array(
! 						'theme_file' => $dir . '/style.css',
! 						'theme_root' => $theme_root,
! 					);
! 			}
! 		}
! 	}
  
! 	asort( $found_themes );
  
! 	$theme_roots = array();
! 	$relative_theme_roots = array_flip( $relative_theme_roots );
  
! 	foreach ( $found_themes as $theme_dir => $theme_data ) {
! 		$theme_roots[ $theme_dir ] = $relative_theme_roots[ $theme_data['theme_root'] ]; // Convert absolute to relative.
! 	}
  
! 	if ( $theme_roots != get_site_transient( 'theme_roots' ) )
! 		set_site_transient( 'theme_roots', $theme_roots, $cache_expiration );
  
! 	return $found_themes;
  }
  
  /**
!  * Retrieve path to themes directory.
   *
!  * Does not have trailing slash.
   *
   * @since 1.5.0
!  * @uses apply_filters() Calls 'theme_root' filter on path.
   *
!  * @param string $stylesheet_or_template The stylesheet or template name of the theme
!  * @return string Theme path.
   */
! function get_theme_root( $stylesheet_or_template = false ) {
! 	global $wp_theme_directories;
  
! 	if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) ) {
! 		// Always prepend WP_CONTENT_DIR unless the root currently registered as a theme directory.
! 		// This gives relative theme roots the benefit of the doubt when things go haywire.
! 		if ( ! in_array( $theme_root, (array) $wp_theme_directories ) )
! 			$theme_root = WP_CONTENT_DIR . $theme_root;
! 	} else {
! 		$theme_root = WP_CONTENT_DIR . '/themes';
! 	}
  
! 	return apply_filters( 'theme_root', $theme_root );
  }
  
  /**
!  * Retrieve URI for themes directory.
   *
!  * Does not have trailing slash.
   *
!  * @since 1.5.0
   *
!  * @param string $stylesheet_or_template Optional. The stylesheet or template name of the theme.
!  * 	Default is to leverage the main theme root.
!  * @param string $theme_root Optional. The theme root for which calculations will be based, preventing
!  * 	the need for a get_raw_theme_root() call.
!  * @return string Themes URI.
   */
! function get_theme_root_uri( $stylesheet_or_template = false, $theme_root = false ) {
! 	global $wp_theme_directories;
! 
! 	if ( $stylesheet_or_template && ! $theme_root )
! 		$theme_root = get_raw_theme_root( $stylesheet_or_template );
! 
! 	if ( $stylesheet_or_template && $theme_root ) {
! 		if ( in_array( $theme_root, (array) $wp_theme_directories ) ) {
! 			// Absolute path. Make an educated guess. YMMV -- but note the filter below.
! 			if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) )
! 				$theme_root_uri = content_url( str_replace( WP_CONTENT_DIR, '', $theme_root ) );
! 			elseif ( 0 === strpos( $theme_root, ABSPATH ) )
! 				$theme_root_uri = site_url( str_replace( ABSPATH, '', $theme_root ) );
! 			elseif ( 0 === strpos( $theme_root, WP_PLUGIN_DIR ) || 0 === strpos( $theme_root, WPMU_PLUGIN_DIR ) )
! 				$theme_root_uri = plugins_url( basename( $theme_root ), $theme_root );
! 			else
! 				$theme_root_uri = $theme_root;
! 		} else {
! 			$theme_root_uri = content_url( $theme_root );
  		}
+ 	} else {
+ 		$theme_root_uri = content_url( 'themes' );
  	}
  
! 	return apply_filters( 'theme_root_uri', $theme_root_uri, get_option('siteurl'), $stylesheet_or_template );
  }
  
  /**
!  * Get the raw theme root relative to the content directory with no filters applied.
   *
!  * @since 3.1.0
   *
!  * @param string $stylesheet_or_template The stylesheet or template name of the theme
!  * @param bool $skip_cache Optional. Whether to skip the cache. Defaults to false, meaning the cache is used.
!  * @return string Theme root
   */
! function get_raw_theme_root( $stylesheet_or_template, $skip_cache = false ) {
! 	global $wp_theme_directories;
! 
! 	if ( count($wp_theme_directories) <= 1 )
! 		return '/themes';
  
! 	$theme_root = false;
  
! 	// If requesting the root for the current theme, consult options to avoid calling get_theme_roots()
! 	if ( ! $skip_cache ) {
! 		if ( get_option('stylesheet') == $stylesheet_or_template )
! 			$theme_root = get_option('stylesheet_root');
! 		elseif ( get_option('template') == $stylesheet_or_template )
! 			$theme_root = get_option('template_root');
! 	}
! 
! 	if ( empty($theme_root) ) {
! 		$theme_roots = get_theme_roots();
! 		if ( !empty($theme_roots[$stylesheet_or_template]) )
! 			$theme_root = $theme_roots[$stylesheet_or_template];
! 	}
! 
! 	return $theme_root;
  }
  
  /**
***************
*** 1163,1169 ****
  	}
  
  	// Prevent theme mods to current theme being used on theme being previewed
! 	add_filter( 'pre_option_mods_' . get_current_theme(), '__return_empty_array' );
  
  	ob_start( 'preview_theme_ob_filter' );
  }
--- 563,569 ----
  	}
  
  	// Prevent theme mods to current theme being used on theme being previewed
! 	add_filter( 'pre_option_theme_mods_' . get_option( 'stylesheet' ), '__return_empty_array' );
  
  	ob_start( 'preview_theme_ob_filter' );
  }
***************
*** 1231,1237 ****
  	)
  		return $matches[1] . "#$matches[2] onclick=$matches[2]return false;" . $matches[4];
  
! 	$link = add_query_arg( array('preview' => 1, 'template' => $_GET['template'], 'stylesheet' => @$_GET['stylesheet'] ), $matches[3] );
  	if ( 0 === strpos($link, 'preview=1') )
  		$link = "?$link";
  	return $matches[1] . esc_attr( $link ) . $matches[4];
--- 631,637 ----
  	)
  		return $matches[1] . "#$matches[2] onclick=$matches[2]return false;" . $matches[4];
  
! 	$link = add_query_arg( array( 'preview' => 1, 'template' => $_GET['template'], 'stylesheet' => @$_GET['stylesheet'], 'preview_iframe' => 1 ), $matches[3] );
  	if ( 0 === strpos($link, 'preview=1') )
  		$link = "?$link";
  	return $matches[1] . esc_attr( $link ) . $matches[4];
***************
*** 1241,1277 ****
   * Switches current theme to new template and stylesheet names.
   *
   * @since 2.5.0
!  * @uses do_action() Calls 'switch_theme' action on updated theme display name.
   *
   * @param string $template Template name
   * @param string $stylesheet Stylesheet name.
   */
! function switch_theme($template, $stylesheet) {
  	global $wp_theme_directories, $sidebars_widgets;
  
  	if ( is_array( $sidebars_widgets ) )
  		set_theme_mod( 'sidebars_widgets', array( 'time' => time(), 'data' => $sidebars_widgets ) );
  
! 	$old_theme = get_current_theme();
  
! 	update_option('template', $template);
! 	update_option('stylesheet', $stylesheet);
  
! 	if ( count($wp_theme_directories) > 1 ) {
! 		update_option('template_root', get_raw_theme_root($template, true));
! 		update_option('stylesheet_root', get_raw_theme_root($stylesheet, true));
  	}
  
! 	delete_option('current_theme');
! 	$theme = get_current_theme();
  
! 	if ( is_admin() && false === get_option( "theme_mods_$stylesheet" ) ) {
! 		$default_theme_mods = (array) get_option( "mods_$theme" );
  		add_option( "theme_mods_$stylesheet", $default_theme_mods );
  	}
  
! 	update_option( 'theme_switched', $old_theme );
! 	do_action( 'switch_theme', $theme );
  }
  
  /**
--- 641,678 ----
   * Switches current theme to new template and stylesheet names.
   *
   * @since 2.5.0
!  * @uses do_action() Calls 'switch_theme' action, passing the new theme.
   *
   * @param string $template Template name
   * @param string $stylesheet Stylesheet name.
   */
! function switch_theme( $template, $stylesheet ) {
  	global $wp_theme_directories, $sidebars_widgets;
  
  	if ( is_array( $sidebars_widgets ) )
  		set_theme_mod( 'sidebars_widgets', array( 'time' => time(), 'data' => $sidebars_widgets ) );
  
! 	$old_theme  = wp_get_theme();
! 	$new_theme = wp_get_theme( $stylesheet );
! 	$new_name  = $new_theme->get('Name');
  
! 	update_option( 'template', $template );
! 	update_option( 'stylesheet', $stylesheet );
  
! 	if ( count( $wp_theme_directories ) > 1 ) {
! 		update_option( 'template_root', get_raw_theme_root( $template, true ) );
! 		update_option( 'stylesheet_root', get_raw_theme_root( $stylesheet, true ) );
  	}
  
! 	update_option( 'current_theme', $new_name );
  
! 	if ( is_admin() && false === get_option( 'theme_mods_' . $stylesheet ) ) {
! 		$default_theme_mods = (array) get_option( 'mods_' . $new_name );
  		add_option( "theme_mods_$stylesheet", $default_theme_mods );
  	}
  
! 	update_option( 'theme_switched', $old_theme->get_stylesheet() );
! 	do_action( 'switch_theme', $new_name, $new_theme );
  }
  
  /**
***************
*** 1279,1285 ****
   *
   * Does not check the default theme, which is the fallback and should always exist.
   * Will switch theme to the fallback theme if current theme does not validate.
!  * You can use the 'validate_current_theme' filter to return FALSE to
   * disable this functionality.
   *
   * @since 1.5.0
--- 680,686 ----
   *
   * Does not check the default theme, which is the fallback and should always exist.
   * Will switch theme to the fallback theme if current theme does not validate.
!  * You can use the 'validate_current_theme' filter to return false to
   * disable this functionality.
   *
   * @since 1.5.0
***************
*** 1320,1326 ****
  function get_theme_mods() {
  	$theme_slug = get_option( 'stylesheet' );
  	if ( false === ( $mods = get_option( "theme_mods_$theme_slug" ) ) ) {
! 		$theme_name = get_current_theme();
  		$mods = get_option( "mods_$theme_name" ); // Deprecated location.
  		if ( is_admin() && false !== $mods ) {
  			update_option( "theme_mods_$theme_slug", $mods );
--- 721,729 ----
  function get_theme_mods() {
  	$theme_slug = get_option( 'stylesheet' );
  	if ( false === ( $mods = get_option( "theme_mods_$theme_slug" ) ) ) {
! 		$theme_name = get_option( 'current_theme' );
! 		if ( false === $theme_name )
! 			$theme_name = wp_get_theme()->get('Name');
  		$mods = get_option( "mods_$theme_name" ); // Deprecated location.
  		if ( is_admin() && false !== $mods ) {
  			update_option( "theme_mods_$theme_slug", $mods );
***************
*** 1351,1357 ****
  	if ( isset( $mods[ $name ] ) )
  		return apply_filters( "theme_mod_$name", $mods[ $name ] );
  
! 	return apply_filters( "theme_mod_$name", sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() ) );
  }
  
  /**
--- 754,763 ----
  	if ( isset( $mods[ $name ] ) )
  		return apply_filters( "theme_mod_$name", $mods[ $name ] );
  
! 	if ( is_string( $default ) )
! 		$default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );
! 
! 	return apply_filters( "theme_mod_$name", $default );
  }
  
  /**
***************
*** 1404,1424 ****
   */
  function remove_theme_mods() {
  	delete_option( 'theme_mods_' . get_option( 'stylesheet' ) );
! 	delete_option( 'mods_' . get_current_theme() );
  }
  
  /**
   * Retrieve text color for custom header.
   *
   * @since 2.1.0
-  * @uses HEADER_TEXTCOLOR
   *
   * @return string
   */
  function get_header_textcolor() {
! 	$default = defined('HEADER_TEXTCOLOR') ? HEADER_TEXTCOLOR : '';
! 
! 	return get_theme_mod('header_textcolor', $default);
  }
  
  /**
--- 810,832 ----
   */
  function remove_theme_mods() {
  	delete_option( 'theme_mods_' . get_option( 'stylesheet' ) );
! 
! 	// Old style.
! 	$theme_name = get_option( 'current_theme' );
! 	if ( false === $theme_name )
! 		$theme_name = wp_get_theme()->get('Name');
! 	delete_option( 'mods_' . $theme_name );
  }
  
  /**
   * Retrieve text color for custom header.
   *
   * @since 2.1.0
   *
   * @return string
   */
  function get_header_textcolor() {
! 	return get_theme_mod('header_textcolor', get_theme_support( 'custom-header', 'default-text-color' ) );
  }
  
  /**
***************
*** 1431,1446 ****
  }
  
  /**
   * Retrieve header image for custom header.
   *
   * @since 2.1.0
-  * @uses HEADER_IMAGE
   *
   * @return string
   */
  function get_header_image() {
! 	$default = defined( 'HEADER_IMAGE' ) ? HEADER_IMAGE : '';
! 	$url = get_theme_mod( 'header_image', $default );
  
  	if ( 'remove-header' == $url )
  		return false;
--- 839,867 ----
  }
  
  /**
+  * Whether to display the header text.
+  *
+  * @since 3.4.0
+  *
+  * @return bool
+  */
+ function display_header_text() {
+ 	if ( ! current_theme_supports( 'custom-header', 'header-text' ) )
+ 		return false;
+ 
+ 	$text_color = get_theme_mod( 'header_textcolor', get_theme_support( 'custom-header', 'default-text-color' ) );
+ 	return 'blank' != $text_color;
+ }
+ 
+ /**
   * Retrieve header image for custom header.
   *
   * @since 2.1.0
   *
   * @return string
   */
  function get_header_image() {
! 	$url = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
  
  	if ( 'remove-header' == $url )
  		return false;
***************
*** 1457,1493 ****
  }
  
  /**
!  * Get random header image from registered images in theme.
   *
!  * @since 3.2.0
   *
   * @return string Path to header image
   */
- function get_random_header_image() {
- 	global $_wp_default_headers;
  
! 	$header_image_mod = get_theme_mod( 'header_image', '' );
! 	$headers = array();
  
! 	if ( 'random-uploaded-image' == $header_image_mod )
! 		$headers = get_uploaded_header_images();
! 	elseif ( ! empty( $_wp_default_headers ) ) {
! 		if ( 'random-default-image' == $header_image_mod ) {
! 			$headers = $_wp_default_headers;
! 		} else {
! 			$is_random = get_theme_support( 'custom-header' );
! 			if ( isset( $is_random[ 0 ] ) && !empty( $is_random[ 0 ][ 'random-default' ] ) )
  				$headers = $_wp_default_headers;
  		}
- 	}
  
! 	if ( empty( $headers ) )
! 		return '';
  
! 	$random_image = array_rand( $headers );
! 	$header_url = sprintf( $headers[$random_image]['url'], get_template_directory_uri(), get_stylesheet_directory_uri() );
  
! 	return $header_url;
  }
  
  /**
--- 878,935 ----
  }
  
  /**
!  * Get random header image data from registered images in theme.
   *
!  * @since 3.4.0
!  *
!  * @access private
   *
   * @return string Path to header image
   */
  
! function _get_random_header_data() {
! 	static $_wp_random_header;
  
! 	if ( empty( $_wp_random_header ) ) {
! 		global $_wp_default_headers;
! 		$header_image_mod = get_theme_mod( 'header_image', '' );
! 		$headers = array();
! 
! 		if ( 'random-uploaded-image' == $header_image_mod )
! 			$headers = get_uploaded_header_images();
! 		elseif ( ! empty( $_wp_default_headers ) ) {
! 			if ( 'random-default-image' == $header_image_mod ) {
  				$headers = $_wp_default_headers;
+ 			} else {
+ 				if ( current_theme_supports( 'custom-header', 'random-default' ) )
+ 					$headers = $_wp_default_headers;
+ 			}
  		}
  
! 		if ( empty( $headers ) )
! 			return new stdClass;
  
! 		$_wp_random_header = (object) $headers[ array_rand( $headers ) ];
  
! 		$_wp_random_header->url =  sprintf( $_wp_random_header->url, get_template_directory_uri(), get_stylesheet_directory_uri() );
! 		$_wp_random_header->thumbnail_url =  sprintf( $_wp_random_header->thumbnail_url, get_template_directory_uri(), get_stylesheet_directory_uri() );
! 	}
! 	return $_wp_random_header;
! }
! 
! /**
!  * Get random header image url from registered images in theme.
!  *
!  * @since 3.2.0
!  *
!  * @return string Path to header image
!  */
! 
! function get_random_header_image() {
! 	$random_image = _get_random_header_data();
! 	if ( empty( $random_image->url ) )
! 		return '';
! 	return $random_image->url;
  }
  
  /**
***************
*** 1498,1511 ****
   * is chosen, and theme turns on random headers with add_theme_support().
   *
   * @since 3.2.0
-  * @uses HEADER_IMAGE
   *
   * @param string $type The random pool to use. any|default|uploaded
   * @return boolean
   */
  function is_random_header_image( $type = 'any' ) {
! 	$default = defined( 'HEADER_IMAGE' ) ? HEADER_IMAGE : '';
! 	$header_image_mod = get_theme_mod( 'header_image', $default );
  
  	if ( 'any' == $type ) {
  		if ( 'random-default-image' == $header_image_mod || 'random-uploaded-image' == $header_image_mod || ( '' != get_random_header_image() && empty( $header_image_mod ) ) )
--- 940,951 ----
   * is chosen, and theme turns on random headers with add_theme_support().
   *
   * @since 3.2.0
   *
   * @param string $type The random pool to use. any|default|uploaded
   * @return boolean
   */
  function is_random_header_image( $type = 'any' ) {
! 	$header_image_mod = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
  
  	if ( 'any' == $type ) {
  		if ( 'random-default-image' == $header_image_mod || 'random-uploaded-image' == $header_image_mod || ( '' != get_random_header_image() && empty( $header_image_mod ) ) )
***************
*** 1547,1621 ****
  
  	foreach ( (array) $headers as $header ) {
  		$url = esc_url_raw( $header->guid );
! 		$header = basename($url);
! 		$header_images[$header] = array();
! 		$header_images[$header]['url'] =  $url;
! 		$header_images[$header]['thumbnail_url'] =  $url;
! 		$header_images[$header]['uploaded'] = true;
  	}
  
  	return $header_images;
  }
  
  /**
!  * Add callbacks for image header display.
!  *
!  * The parameter $header_callback callback will be required to display the
!  * content for the 'wp_head' action. The parameter $admin_header_callback
!  * callback will be added to Custom_Image_Header class and that will be added
!  * to the 'admin_menu' action.
!  *
!  * @since 2.1.0
!  * @uses Custom_Image_Header Sets up for $admin_header_callback for administration panel display.
!  *
!  * @param callback $header_callback Call on 'wp_head' action.
!  * @param callback $admin_header_callback Call on custom header administration screen.
!  * @param callback $admin_image_div_callback Output a custom header image div on the custom header administration screen. Optional.
!  */
! function add_custom_image_header( $header_callback, $admin_header_callback, $admin_image_div_callback = '' ) {
! 	if ( ! empty( $header_callback ) )
! 		add_action('wp_head', $header_callback);
! 
! 	$support = array( 'callback' => $header_callback );
! 	$theme_support = get_theme_support( 'custom-header' );
! 	if ( ! empty( $theme_support ) && is_array( $theme_support[ 0 ] ) )
! 		$support = array_merge( $theme_support[ 0 ], $support );
! 	add_theme_support( 'custom-header',  $support );
! 	add_theme_support( 'custom-header-uploads' );
! 
! 	if ( ! is_admin() )
! 		return;
! 
! 	global $custom_image_header;
! 
! 	require_once( ABSPATH . 'wp-admin/custom-header.php' );
! 	$custom_image_header = new Custom_Image_Header( $admin_header_callback, $admin_image_div_callback );
! 	add_action( 'admin_menu', array( &$custom_image_header, 'init' ) );
! }
! 
! /**
!  * Remove image header support.
   *
!  * @since 3.1.0
!  * @see add_custom_image_header()
   *
!  * @return bool Whether support was removed.
   */
! function remove_custom_image_header() {
! 	if ( ! current_theme_supports( 'custom-header' ) )
! 		return false;
! 
! 	$callback = get_theme_support( 'custom-header' );
! 	remove_action( 'wp_head', $callback[0]['callback'] );
! 	_remove_theme_support( 'custom-header' );
! 	remove_theme_support( 'custom-header-uploads' );
! 
! 	if ( is_admin() ) {
! 		remove_action( 'admin_menu', array( &$GLOBALS['custom_image_header'], 'init' ) );
! 		unset( $GLOBALS['custom_image_header'] );
! 	}
! 
! 	return true;
  }
  
  /**
--- 987,1021 ----
  
  	foreach ( (array) $headers as $header ) {
  		$url = esc_url_raw( $header->guid );
! 		$header_data = wp_get_attachment_metadata( $header->ID );
! 		$header_index = basename($url);
! 		$header_images[$header_index] = array();
! 		$header_images[$header_index]['attachment_id'] =  $header->ID;
! 		$header_images[$header_index]['url'] =  $url;
! 		$header_images[$header_index]['thumbnail_url'] =  $url;
! 		$header_images[$header_index]['width'] = $header_data['width'];
! 		$header_images[$header_index]['height'] = $header_data['height'];
  	}
  
  	return $header_images;
  }
  
  /**
!  * Get the header image data.
   *
!  * @since 3.4.0
   *
!  * @return object
   */
! function get_custom_header() {
! 	$data = is_random_header_image()? _get_random_header_data() : get_theme_mod( 'header_image_data' );
! 	$default = array(
! 		'url'           => '',
! 		'thumbnail_url' => '',
! 		'width'         => get_theme_support( 'custom-header', 'width' ),
! 		'height'        => get_theme_support( 'custom-header', 'height' ),
! 	);
! 	return (object) wp_parse_args( $data, $default );
  }
  
  /**
***************
*** 1663,1671 ****
   * @return string
   */
  function get_background_image() {
! 	$default = defined('BACKGROUND_IMAGE') ? BACKGROUND_IMAGE : '';
! 
! 	return get_theme_mod('background_image', $default);
  }
  
  /**
--- 1063,1069 ----
   * @return string
   */
  function get_background_image() {
! 	return get_theme_mod('background_image', get_theme_support( 'custom-background', 'default-image' ) );
  }
  
  /**
***************
*** 1681,1694 ****
   * Retrieve value for custom background color.
   *
   * @since 3.0.0
-  * @uses BACKGROUND_COLOR
   *
   * @return string
   */
  function get_background_color() {
! 	$default = defined('BACKGROUND_COLOR') ? BACKGROUND_COLOR : '';
! 
! 	return get_theme_mod('background_color', $default);
  }
  
  /**
--- 1079,1089 ----
   * Retrieve value for custom background color.
   *
   * @since 3.0.0
   *
   * @return string
   */
  function get_background_color() {
! 	return get_theme_mod('background_color', get_theme_support( 'custom-background', 'default-color' ) );
  }
  
  /**
***************
*** 1701,1772 ****
  }
  
  /**
-  * Add callbacks for background image display.
-  *
-  * The parameter $header_callback callback will be required to display the
-  * content for the 'wp_head' action. The parameter $admin_header_callback
-  * callback will be added to Custom_Background class and that will be added
-  * to the 'admin_menu' action.
-  *
-  * @since 3.0.0
-  * @uses Custom_Background Sets up for $admin_header_callback for administration panel display.
-  *
-  * @param callback $header_callback Call on 'wp_head' action.
-  * @param callback $admin_header_callback Call on custom background administration screen.
-  * @param callback $admin_image_div_callback Output a custom background image div on the custom background administration screen. Optional.
-  */
- function add_custom_background( $header_callback = '', $admin_header_callback = '', $admin_image_div_callback = '' ) {
- 	if ( isset( $GLOBALS['custom_background'] ) )
- 		return;
- 
- 	if ( empty( $header_callback ) )
- 		$header_callback = '_custom_background_cb';
- 
- 	add_action( 'wp_head', $header_callback );
- 
- 	add_theme_support( 'custom-background', array( 'callback' => $header_callback ) );
- 
- 	if ( ! is_admin() )
- 		return;
- 	require_once( ABSPATH . 'wp-admin/custom-background.php' );
- 	$GLOBALS['custom_background'] = new Custom_Background( $admin_header_callback, $admin_image_div_callback );
- 	add_action( 'admin_menu', array( &$GLOBALS['custom_background'], 'init' ) );
- }
- 
- /**
-  * Remove custom background support.
-  *
-  * @since 3.1.0
-  * @see add_custom_background()
-  *
-  * @return bool Whether support was removed.
-  */
- function remove_custom_background() {
- 	if ( ! current_theme_supports( 'custom-background' ) )
- 		return false;
- 
- 	$callback = get_theme_support( 'custom-background' );
- 	remove_action( 'wp_head', $callback[0]['callback'] );
- 	_remove_theme_support( 'custom-background' );
- 
- 	if ( is_admin() ) {
- 		remove_action( 'admin_menu', array( &$GLOBALS['custom_background'], 'init' ) );
- 		unset( $GLOBALS['custom_background'] );
- 	}
- 
- 	return true;
- }
- 
- /**
   * Default custom background callback.
   *
   * @since 3.0.0
-  * @see add_custom_background()
   * @access protected
   */
  function _custom_background_cb() {
  	$background = get_background_image();
! 	$color = get_background_color();
  	if ( ! $background && ! $color )
  		return;
  
--- 1096,1114 ----
  }
  
  /**
   * Default custom background callback.
   *
   * @since 3.0.0
   * @access protected
   */
  function _custom_background_cb() {
+ 	// $background is the saved custom image, or the default image.
  	$background = get_background_image();
! 
! 	// $color is the saved custom color.
! 	// A default has to be specified in style.css. It will not be printed here.
! 	$color = get_theme_mod( 'background_color' );
! 
  	if ( ! $background && ! $color )
  		return;
  
***************
*** 1793,1799 ****
  		$style .= $image . $repeat . $position . $attachment;
  	}
  ?>
! <style type="text/css">
  body.custom-background { <?php echo trim( $style ); ?> }
  </style>
  <?php
--- 1135,1141 ----
  		$style .= $image . $repeat . $position . $attachment;
  	}
  ?>
! <style type="text/css" id="custom-background-css">
  body.custom-background { <?php echo trim( $style ); ?> }
  </style>
  <?php
***************
*** 1806,1815 ****
   * the theme root. It also accepts an array of stylesheets.
   * It is optional and defaults to 'editor-style.css'.
   *
!  * Supports RTL stylesheets automatically by searching for the -rtl prefix, e.g.
!  * editor-style-rtl.css. If an array of stylesheets is passed to add_editor_style(),
   * RTL is only added for the first stylesheet.
   *
   * @since 3.0.0
   *
   * @param mixed $stylesheet Optional. Stylesheet name or array thereof, relative to theme root.
--- 1148,1161 ----
   * the theme root. It also accepts an array of stylesheets.
   * It is optional and defaults to 'editor-style.css'.
   *
!  * This function automatically adds another stylesheet with -rtl prefix, e.g. editor-style-rtl.css.
!  * If that file doesn't exist, it is removed before adding the stylesheet(s) to TinyMCE.
!  * If an array of stylesheets is passed to add_editor_style(),
   * RTL is only added for the first stylesheet.
   *
+  * Since version 3.4 the TinyMCE body has .rtl CSS class.
+  * It is a better option to use that class and add any RTL styles to the main stylesheet.
+  *
   * @since 3.0.0
   *
   * @param mixed $stylesheet Optional. Stylesheet name or array thereof, relative to theme root.
***************
*** 1863,1875 ****
  	global $_wp_theme_features;
  
  	if ( func_num_args() == 1 )
! 		$_wp_theme_features[$feature] = true;
  	else
! 		$_wp_theme_features[$feature] = array_slice( func_get_args(), 1 );
  
! 	if ( $feature == 'post-formats' && is_array( $_wp_theme_features[$feature][0] ) )
! 		$_wp_theme_features[$feature][0] = array_intersect( $_wp_theme_features[$feature][0], array_keys( get_post_format_slugs() ) );
  }
  
  /**
   * Gets the theme support arguments passed when registering that support
--- 1209,1380 ----
  	global $_wp_theme_features;
  
  	if ( func_num_args() == 1 )
! 		$args = true;
  	else
! 		$args = array_slice( func_get_args(), 1 );
! 
! 	switch ( $feature ) {
! 		case 'post-formats' :
! 			if ( is_array( $args[0] ) )
! 				$args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) );
! 			break;
! 
! 		case 'custom-header-uploads' :
! 			return add_theme_support( 'custom-header', array( 'uploads' => true ) );
! 			break;
! 
! 		case 'custom-header' :
! 			if ( ! is_array( $args ) )
! 				$args = array( 0 => array() );
! 
! 			$defaults = array(
! 				'default-image' => '',
! 				'random-default' => false,
! 				'width' => 0,
! 				'height' => 0,
! 				'flex-height' => false,
! 				'flex-width' => false,
! 				'default-text-color' => '',
! 				'header-text' => true,
! 				'uploads' => true,
! 				'wp-head-callback' => '',
! 				'admin-head-callback' => '',
! 				'admin-preview-callback' => '',
! 			);
! 
! 			$jit = isset( $args[0]['__jit'] );
! 			unset( $args[0]['__jit'] );
! 
! 			// Merge in data from previous add_theme_support() calls.
! 			// The first value registered wins. (A child theme is set up first.)
! 			if ( isset( $_wp_theme_features['custom-header'] ) )
! 				$args[0] = wp_parse_args( $_wp_theme_features['custom-header'][0], $args[0] );
! 
! 			// Load in the defaults at the end, as we need to insure first one wins.
! 			// This will cause all constants to be defined, as each arg will then be set to the default.
! 			if ( $jit )
! 				$args[0] = wp_parse_args( $args[0], $defaults );
! 
! 			// If a constant was defined, use that value. Otherwise, define the constant to ensure
! 			// the constant is always accurate (and is not defined later,  overriding our value).
! 			// As stated above, the first value wins.
! 			// Once we get to wp_loaded (just-in-time), define any constants we haven't already.
! 			// Constants are lame. Don't reference them. This is just for backwards compatibility.
! 
! 			if ( defined( 'NO_HEADER_TEXT' ) )
! 				$args[0]['header-text'] = ! NO_HEADER_TEXT;
! 			elseif ( isset( $args[0]['header-text'] ) )
! 				define( 'NO_HEADER_TEXT', empty( $args[0]['header-text'] ) );
! 
! 			if ( defined( 'HEADER_IMAGE_WIDTH' ) )
! 				$args[0]['width'] = (int) HEADER_IMAGE_WIDTH;
! 			elseif ( isset( $args[0]['width'] ) )
! 				define( 'HEADER_IMAGE_WIDTH', (int) $args[0]['width'] );
! 
! 			if ( defined( 'HEADER_IMAGE_HEIGHT' ) )
! 				$args[0]['height'] = (int) HEADER_IMAGE_HEIGHT;
! 			elseif ( isset( $args[0]['height'] ) )
! 				define( 'HEADER_IMAGE_HEIGHT', (int) $args[0]['height'] );
! 
! 			if ( defined( 'HEADER_TEXTCOLOR' ) )
! 				$args[0]['default-text-color'] = HEADER_TEXTCOLOR;
! 			elseif ( isset( $args[0]['default-text-color'] ) )
! 				define( 'HEADER_TEXTCOLOR', $args[0]['default-text-color'] );
! 
! 			if ( defined( 'HEADER_IMAGE' ) )
! 				$args[0]['default-image'] = HEADER_IMAGE;
! 			elseif ( isset( $args[0]['default-image'] ) )
! 				define( 'HEADER_IMAGE', $args[0]['default-image'] );
! 
! 			if ( $jit && ! empty( $args[0]['default-image'] ) )
! 				$args[0]['random-default'] = false;
! 
! 			// If headers are supported, and we still don't have a defined width or height,
! 			// we have implicit flex sizes.
! 			if ( $jit ) {
! 				if ( empty( $args[0]['width'] ) && empty( $args[0]['flex-width'] ) )
! 					$args[0]['flex-width'] = true;
! 				if ( empty( $args[0]['height'] ) && empty( $args[0]['flex-height'] ) )
! 					$args[0]['flex-height'] = true;
! 			}
! 
! 			break;
! 
! 		case 'custom-background' :
! 			if ( ! is_array( $args ) )
! 				$args = array( 0 => array() );
! 
! 			$defaults = array(
! 				'default-image' => '',
! 				'default-color' => '',
! 				'wp-head-callback' => '_custom_background_cb',
! 				'admin-head-callback' => '',
! 				'admin-preview-callback' => '',
! 			);
! 
! 			$jit = isset( $args[0]['__jit'] );
! 			unset( $args[0]['__jit'] );
! 
! 			// Merge in data from previous add_theme_support() calls. The first value registered wins.
! 			if ( isset( $_wp_theme_features['custom-background'] ) )
! 				$args[0] = wp_parse_args( $_wp_theme_features['custom-background'][0], $args[0] );
! 
! 			if ( $jit )
! 				$args[0] = wp_parse_args( $args[0], $defaults );
! 
! 			if ( defined( 'BACKGROUND_COLOR' ) )
! 				$args[0]['default-color'] = BACKGROUND_COLOR;
! 			elseif ( isset( $args[0]['default-color'] ) || $jit )
! 				define( 'BACKGROUND_COLOR', $args[0]['default-color'] );
! 
! 			if ( defined( 'BACKGROUND_IMAGE' ) )
! 				$args[0]['default-image'] = BACKGROUND_IMAGE;
! 			elseif ( isset( $args[0]['default-image'] ) || $jit )
! 				define( 'BACKGROUND_IMAGE', $args[0]['default-image'] );
! 
! 			break;
! 	}
! 
! 	$_wp_theme_features[ $feature ] = $args;
! }
! 
! /**
!  * Registers the internal custom header and background routines.
!  *
!  * @since 3.4.0
!  * @access private
!  */
! function _custom_header_background_just_in_time() {
! 	global $custom_image_header, $custom_background;
! 
! 	if ( current_theme_supports( 'custom-header' ) ) {
! 		// In case any constants were defined after an add_custom_image_header() call, re-run.
! 		add_theme_support( 'custom-header', array( '__jit' => true ) );
! 
! 		$args = get_theme_support( 'custom-header' );
! 		if ( $args[0]['wp-head-callback'] )
! 			add_action( 'wp_head', $args[0]['wp-head-callback'] );
! 
! 		if ( is_admin() ) {
! 			require_once( ABSPATH . 'wp-admin/custom-header.php' );
! 			$custom_image_header = new Custom_Image_Header( $args[0]['admin-head-callback'], $args[0]['admin-preview-callback'] );
! 		}
! 	}
  
! 	if ( current_theme_supports( 'custom-background' ) ) {
! 		// In case any constants were defined after an add_custom_background() call, re-run.
! 		add_theme_support( 'custom-background', array( '__jit' => true ) );
! 
! 		$args = get_theme_support( 'custom-background' );
! 		add_action( 'wp_head', $args[0]['wp-head-callback'] );
! 
! 		if ( is_admin() ) {
! 			require_once( ABSPATH . 'wp-admin/custom-background.php' );
! 			$custom_background = new Custom_Background( $args[0]['admin-head-callback'], $args[0]['admin-preview-callback'] );
! 		}
! 	}
  }
+ add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
  
  /**
   * Gets the theme support arguments passed when registering that support
***************
*** 1880,1889 ****
   */
  function get_theme_support( $feature ) {
  	global $_wp_theme_features;
! 	if ( !isset( $_wp_theme_features[$feature] ) )
  		return false;
! 	else
! 		return $_wp_theme_features[$feature];
  }
  
  /**
--- 1385,1408 ----
   */
  function get_theme_support( $feature ) {
  	global $_wp_theme_features;
! 	if ( ! isset( $_wp_theme_features[ $feature ] ) )
  		return false;
! 
! 	if ( func_num_args() <= 1 )
! 		return $_wp_theme_features[ $feature ];
! 
! 	$args = array_slice( func_get_args(), 1 );
! 	switch ( $feature ) {
! 		case 'custom-header' :
! 		case 'custom-background' :
! 			if ( isset( $_wp_theme_features[ $feature ][0][ $args[0] ] ) )
! 				return $_wp_theme_features[ $feature ][0][ $args[0] ];
! 			return false;
! 			break;
! 		default :
! 			return $_wp_theme_features[ $feature ];
! 			break;
! 	}
  }
  
  /**
***************
*** 1899,1906 ****
   */
  function remove_theme_support( $feature ) {
  	// Blacklist: for internal registrations not used directly by themes.
! 	if ( in_array( $feature, array( 'custom-background', 'custom-header', 'editor-style', 'widgets', 'menus' ) ) )
  		return false;
  	return _remove_theme_support( $feature );
  }
  
--- 1418,1426 ----
   */
  function remove_theme_support( $feature ) {
  	// Blacklist: for internal registrations not used directly by themes.
! 	if ( in_array( $feature, array( 'editor-style', 'widgets', 'menus' ) ) )
  		return false;
+ 
  	return _remove_theme_support( $feature );
  }
  
***************
*** 1913,1921 ****
  function _remove_theme_support( $feature ) {
  	global $_wp_theme_features;
  
! 	if ( ! isset( $_wp_theme_features[$feature] ) )
  		return false;
! 	unset( $_wp_theme_features[$feature] );
  	return true;
  }
  
--- 1433,1467 ----
  function _remove_theme_support( $feature ) {
  	global $_wp_theme_features;
  
! 	switch ( $feature ) {
! 		case 'custom-header-uploads' :
! 			if ( ! isset( $_wp_theme_features['custom-header'] ) )
! 				return false;
! 			add_theme_support( 'custom-header', array( 'uploads' => false ) );
! 			return; // Do not continue - custom-header-uploads no longer exists.
! 	}
! 
! 	if ( ! isset( $_wp_theme_features[ $feature ] ) )
  		return false;
! 
! 	switch ( $feature ) {
! 		case 'custom-header' :
! 			$support = get_theme_support( 'custom-header' );
! 			if ( $support[0]['wp-head-callback'] )
! 				remove_action( 'wp_head', $support[0]['wp-head-callback'] );
! 			remove_action( 'admin_menu', array( $GLOBALS['custom_image_header'], 'init' ) );
! 			unset( $GLOBALS['custom_image_header'] );
! 			break;
! 
! 		case 'custom-background' :
! 			$support = get_theme_support( 'custom-background' );
! 			remove_action( 'wp_head', $support[0]['wp-head-callback'] );
! 			remove_action( 'admin_menu', array( $GLOBALS['custom_background'], 'init' ) );
! 			unset( $GLOBALS['custom_background'] );
! 			break;
! 	}
! 
! 	unset( $_wp_theme_features[ $feature ] );
  	return true;
  }
  
***************
*** 1929,1934 ****
--- 1475,1483 ----
  function current_theme_supports( $feature ) {
  	global $_wp_theme_features;
  
+ 	if ( 'custom-header-uploads' == $feature )
+ 		return current_theme_supports( 'custom-header', 'uploads' );
+ 
  	if ( !isset( $_wp_theme_features[$feature] ) )
  		return false;
  
***************
*** 1938,1948 ****
  
  	$args = array_slice( func_get_args(), 1 );
  
- 	// @todo Allow pluggable arg checking
  	switch ( $feature ) {
  		case 'post-thumbnails':
  			// post-thumbnails can be registered for only certain content/post types by passing
! 			// an array of types to add_theme_support().  If no array was passed, then
  			// any type is accepted
  			if ( true === $_wp_theme_features[$feature] )  // Registered for all types
  				return true;
--- 1487,1496 ----
  
  	$args = array_slice( func_get_args(), 1 );
  
  	switch ( $feature ) {
  		case 'post-thumbnails':
  			// post-thumbnails can be registered for only certain content/post types by passing
! 			// an array of types to add_theme_support(). If no array was passed, then
  			// any type is accepted
  			if ( true === $_wp_theme_features[$feature] )  // Registered for all types
  				return true;
***************
*** 1956,1964 ****
  			$post_format = $args[0];
  			return in_array( $post_format, $_wp_theme_features[$feature][0] );
  			break;
  	}
  
! 	return true;
  }
  
  /**
--- 1504,1520 ----
  			$post_format = $args[0];
  			return in_array( $post_format, $_wp_theme_features[$feature][0] );
  			break;
+ 
+ 		case 'custom-header':
+ 		case 'custom-background' :
+ 			// specific custom header and background capabilities can be registered by passing
+ 			// an array to add_theme_support()
+ 			$header_support = $args[0];
+ 			return ( isset( $_wp_theme_features[$feature][0][$header_support] ) && $_wp_theme_features[$feature][0][$header_support] );
+ 			break;
  	}
  
! 	return apply_filters('current_theme_supports-' . $feature, true, $args, $_wp_theme_features[$feature]);
  }
  
  /**
***************
*** 2000,2010 ****
  /**
   * Checks if a theme has been changed and runs 'after_switch_theme' hook on the next WP load
   *
!  * @since 3.3
   */
  function check_theme_switched() {
! 	if ( false !== ( $old_theme = get_option( 'theme_switched' ) ) && !empty( $old_theme ) ) {
! 		do_action( 'after_switch_theme', $old_theme );
  		update_option( 'theme_switched', false );
  	}
  }
--- 1556,1676 ----
  /**
   * Checks if a theme has been changed and runs 'after_switch_theme' hook on the next WP load
   *
!  * @since 3.3.0
   */
  function check_theme_switched() {
! 	if ( $stylesheet = get_option( 'theme_switched' ) ) {
! 		$old_theme = wp_get_theme( $stylesheet );
! 
! 		if ( $old_theme->exists() )
! 			do_action( 'after_switch_theme', $old_theme->get('Name'), $old_theme );
! 		else
! 			do_action( 'after_switch_theme', $stylesheet );
! 
  		update_option( 'theme_switched', false );
  	}
  }
+ 
+ /**
+  * Includes and instantiates the WP_Customize_Manager class.
+  *
+  * Fires when ?wp_customize=on or on wp-admin/customize.php.
+  *
+  * @since 3.4.0
+  */
+ function _wp_customize_include() {
+ 	if ( ! ( ( isset( $_REQUEST['wp_customize'] ) && 'on' == $_REQUEST['wp_customize'] )
+ 		|| ( is_admin() && 'customize.php' == basename( $_SERVER['PHP_SELF'] ) )
+ 	) )
+ 		return;
+ 
+ 	require( ABSPATH . WPINC . '/class-wp-customize-manager.php' );
+ 	// Init Customize class
+ 	$GLOBALS['wp_customize'] = new WP_Customize_Manager;
+ }
+ add_action( 'plugins_loaded', '_wp_customize_include' );
+ 
+ /**
+  * Adds settings for the customize-loader script.
+  *
+  * @since 3.4.0
+  */
+ function _wp_customize_loader_settings() {
+ 	global $wp_scripts;
+ 
+ 	$admin_origin = parse_url( admin_url() );
+ 	$home_origin  = parse_url( home_url() );
+ 	$cross_domain = ( strtolower( $admin_origin[ 'host' ] ) != strtolower( $home_origin[ 'host' ] ) );
+ 
+ 	$browser = array(
+ 		'mobile' => wp_is_mobile(),
+ 		'ios'    => wp_is_mobile() && preg_match( '/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT'] ),
+ 	);
+ 
+ 	$settings = array(
+ 		'url'           => esc_url( admin_url( 'customize.php' ) ),
+ 		'isCrossDomain' => $cross_domain,
+ 		'browser'       => $browser,
+ 	);
+ 
+ 	$script = 'var _wpCustomizeLoaderSettings = ' . json_encode( $settings ) . ';';
+ 
+ 	$data = $wp_scripts->get_data( 'customize-loader', 'data' );
+ 	if ( $data )
+ 		$script = "$data\n$script";
+ 
+ 	$wp_scripts->add_data( 'customize-loader', 'data', $script );
+ }
+ add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' );
+ 
+ /**
+  * Returns a URL to load the theme customizer.
+  *
+  * @since 3.4.0
+  *
+  * @param string $stylesheet Optional. Theme to customize. Defaults to current theme.
+  */
+ function wp_customize_url( $stylesheet = null ) {
+ 	$url = admin_url( 'customize.php' );
+ 	if ( $stylesheet )
+ 		$url .= '?theme=' . $stylesheet;
+ 	return esc_url( $url );
+ }
+ 
+ /**
+  * Prints a script to check whether or not the customizer is supported,
+  * and apply either the no-customize-support or customize-support class
+  * to the body.
+  *
+  * This function MUST be called inside the body tag.
+  *
+  * Ideally, call this function immediately after the body tag is opened.
+  * This prevents a flash of unstyled content.
+  *
+  * It is also recommended that you add the "no-customize-support" class
+  * to the body tag by default.
+  *
+  * @since 3.4.0
+  */
+ function wp_customize_support_script() {
+ 	$admin_origin = parse_url( admin_url() );
+ 	$home_origin  = parse_url( home_url() );
+ 	$cross_domain = ( strtolower( $admin_origin[ 'host' ] ) != strtolower( $home_origin[ 'host' ] ) );
+ 
+ 	?>
+ 	<script type="text/javascript">
+ 		(function() {
+ 			var request, b = document.body, c = 'className', cs = 'customize-support', rcs = new RegExp('(^|\\s+)(no-)?'+cs+'(\\s+|$)');
+ 
+ <?php		if ( $cross_domain ): ?>
+ 			request = (function(){ var xhr = new XMLHttpRequest(); return ('withCredentials' in xhr); })();
+ <?php		else: ?>
+ 			request = true;
+ <?php		endif; ?>
+ 
+ 			b[c] = b[c].replace( rcs, '' );
+ 			b[c] += ( window.postMessage && request ? ' ' : ' no-' ) + cs;
+ 		}());
+ 	</script>
+ 	<?php
+ }
\ No newline at end of file
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/update.php ./wordpress-3.4/wp-includes/update.php
*** ./wordpress-3.3.2/wp-includes/update.php	2011-11-16 01:23:15.000000000 -0600
--- ./wordpress-3.4/wp-includes/update.php	2012-03-24 09:07:12.000000000 -0500
***************
*** 34,39 ****
--- 34,45 ----
  		$current->version_checked = $wp_version;
  	}
  
+ 	// Wait 60 seconds between multiple version check requests
+ 	$timeout = 60;
+ 	$time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
+ 	if ( $time_not_changed )
+ 		return false;
+ 
  	$locale = apply_filters( 'core_version_check_locale', get_locale() );
  
  	// Update last_checked for current to prevent multiple blocking requests if request hangs
***************
*** 85,94 ****
  		return false;
  
  	$body = trim( wp_remote_retrieve_body( $response ) );
! 	if ( ! $body = maybe_unserialize( $body ) )
! 		return false;
! 	if ( ! isset( $body['offers'] ) )
  		return false;
  	$offers = $body['offers'];
  
  	foreach ( $offers as &$offer ) {
--- 91,101 ----
  		return false;
  
  	$body = trim( wp_remote_retrieve_body( $response ) );
! 	$body = maybe_unserialize( $body );
! 
! 	if ( ! is_array( $body ) || ! isset( $body['offers'] ) )
  		return false;
+ 
  	$offers = $body['offers'];
  
  	foreach ( $offers as &$offer ) {
***************
*** 143,172 ****
  
  	$new_option = new stdClass;
  	$new_option->last_checked = time();
- 	// Check for updated every 60 minutes if hitting update pages; else, check every 12 hours.
- 	$timeout = in_array( current_filter(), array( 'load-plugins.php', 'load-update.php', 'load-update-core.php' ) ) ? 3600 : 43200;
- 	$time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
- 
- 	$plugin_changed = false;
- 	foreach ( $plugins as $file => $p ) {
- 		$new_option->checked[ $file ] = $p['Version'];
  
! 		if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) )
! 			$plugin_changed = true;
  	}
  
! 	if ( isset ( $current->response ) && is_array( $current->response ) ) {
! 		foreach ( $current->response as $plugin_file => $update_details ) {
! 			if ( ! isset($plugins[ $plugin_file ]) ) {
  				$plugin_changed = true;
! 				break;
  			}
  		}
- 	}
  
! 	// Bail if we've checked in the last 12 hours and if nothing has changed
! 	if ( $time_not_changed && !$plugin_changed )
! 		return false;
  
  	// Update last_checked for current to prevent multiple blocking requests if request hangs
  	$current->last_checked = time();
--- 150,193 ----
  
  	$new_option = new stdClass;
  	$new_option->last_checked = time();
  
! 	// Check for update on a different schedule, depending on the page.
! 	switch ( current_filter() ) {
! 		case 'load-update-core.php' :
! 			$timeout = 60; // 1 min
! 			break;
! 		case 'load-plugins.php' :
! 		case 'load-update.php' :
! 			$timeout = 3600; // 1 hour
! 			break;
! 		default :
! 			$timeout = 43200; // 12 hours
  	}
  
! 	$time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
! 
! 	if ( $time_not_changed ) {
! 		$plugin_changed = false;
! 		foreach ( $plugins as $file => $p ) {
! 			$new_option->checked[ $file ] = $p['Version'];
! 
! 			if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) )
  				$plugin_changed = true;
! 		}
! 
! 		if ( isset ( $current->response ) && is_array( $current->response ) ) {
! 			foreach ( $current->response as $plugin_file => $update_details ) {
! 				if ( ! isset($plugins[ $plugin_file ]) ) {
! 					$plugin_changed = true;
! 					break;
! 				}
  			}
  		}
  
! 		// Bail if we've checked recently and if nothing has changed
! 		if ( ! $plugin_changed )
! 			return false;
! 	}
  
  	// Update last_checked for current to prevent multiple blocking requests if request hangs
  	$current->last_checked = time();
***************
*** 185,193 ****
  	if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
  		return false;
  
! 	$response = unserialize( wp_remote_retrieve_body( $raw_response ) );
  
! 	if ( false !== $response )
  		$new_option->response = $response;
  	else
  		$new_option->response = array();
--- 206,214 ----
  	if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
  		return false;
  
! 	$response = maybe_unserialize( wp_remote_retrieve_body( $raw_response ) );
  
! 	if ( is_array( $response ) )
  		$new_option->response = $response;
  	else
  		$new_option->response = array();
***************
*** 214,270 ****
  	if ( defined( 'WP_INSTALLING' ) )
  		return false;
  
! 	if ( !function_exists( 'get_themes' ) )
! 		require_once( ABSPATH . 'wp-includes/theme.php' );
! 
! 	$installed_themes = get_themes( );
  	$last_update = get_site_transient( 'update_themes' );
  	if ( ! is_object($last_update) )
  		$last_update = new stdClass;
  
- 	// Check for updated every 60 minutes if hitting update pages; else, check every 12 hours.
- 	$timeout = in_array( current_filter(), array( 'load-themes.php', 'load-update.php', 'load-update-core.php' ) ) ? 3600 : 43200;
- 	$time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked );
- 
  	$themes = array();
  	$checked = array();
- 	$exclude_fields = array('Template Files', 'Stylesheet Files', 'Status', 'Theme Root', 'Theme Root URI', 'Template Dir', 'Stylesheet Dir', 'Description', 'Tags', 'Screenshot');
  
  	// Put slug of current theme into request.
  	$themes['current_theme'] = get_option( 'stylesheet' );
  
! 	foreach ( (array) $installed_themes as $theme_title => $theme ) {
! 		$themes[$theme['Stylesheet']] = array();
! 		$checked[$theme['Stylesheet']] = $theme['Version'];
! 
! 		$themes[$theme['Stylesheet']]['Name'] = $theme['Name'];
! 		$themes[$theme['Stylesheet']]['Version'] = $theme['Version'];
! 
! 		foreach ( (array) $theme as $key => $value ) {
! 			if ( !in_array($key, $exclude_fields) )
! 				$themes[$theme['Stylesheet']][$key] = $value;
! 		}
  	}
  
! 	$theme_changed = false;
! 	foreach ( $checked as $slug => $v ) {
! 		$update_request->checked[ $slug ] = $v;
  
! 		if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) )
! 			$theme_changed = true;
! 	}
  
! 	if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) {
! 		foreach ( $last_update->response as $slug => $update_details ) {
! 			if ( ! isset($checked[ $slug ]) ) {
  				$theme_changed = true;
! 				break;
  			}
  		}
- 	}
  
! 	if ( $time_not_changed && !$theme_changed )
! 		return false;
  
  	// Update last_checked for current to prevent multiple blocking requests if request hangs
  	$last_update->last_checked = time();
--- 235,302 ----
  	if ( defined( 'WP_INSTALLING' ) )
  		return false;
  
! 	$installed_themes = wp_get_themes();
  	$last_update = get_site_transient( 'update_themes' );
  	if ( ! is_object($last_update) )
  		$last_update = new stdClass;
  
  	$themes = array();
  	$checked = array();
  
  	// Put slug of current theme into request.
  	$themes['current_theme'] = get_option( 'stylesheet' );
  
! 	foreach ( $installed_themes as $theme ) {
! 		$checked[ $theme->get_stylesheet() ] = $theme->get('Version');
! 
! 		$themes[ $theme->get_stylesheet() ] = array(
! 			'Name'       => $theme->get('Name'),
! 			'Title'      => $theme->get('Name'),
! 			'Version'    => $theme->get('Version'),
! 			'Author'     => $theme->get('Author'),
! 			'Author URI' => $theme->get('AuthorURI'),
! 			'Template'   => $theme->get_template(),
! 			'Stylesheet' => $theme->get_stylesheet(),
! 		);
! 	}
! 
! 	// Check for update on a different schedule, depending on the page.
! 	switch ( current_filter() ) {
! 		case 'load-update-core.php' :
! 			$timeout = 60; // 1 min
! 			break;
! 		case 'load-themes.php' :
! 		case 'load-update.php' :
! 			$timeout = 3600; // 1 hour
! 			break;
! 		default :
! 			$timeout = 43200; // 12 hours
  	}
  
! 	$time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked );
  
! 	if ( $time_not_changed ) {
! 		$theme_changed = false;
! 		foreach ( $checked as $slug => $v ) {
! 			$update_request->checked[ $slug ] = $v;
  
! 			if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) )
  				$theme_changed = true;
! 		}
! 
! 		if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) {
! 			foreach ( $last_update->response as $slug => $update_details ) {
! 				if ( ! isset($checked[ $slug ]) ) {
! 					$theme_changed = true;
! 					break;
! 				}
  			}
  		}
  
! 		// Bail if we've checked recently and if nothing has changed
! 		if ( ! $theme_changed )
! 			return false;
! 	}
  
  	// Update last_checked for current to prevent multiple blocking requests if request hangs
  	$last_update->last_checked = time();
***************
*** 285,292 ****
  	$new_update->last_checked = time( );
  	$new_update->checked = $checked;
  
! 	$response = unserialize( wp_remote_retrieve_body( $raw_response ) );
! 	if ( false !== $response )
  		$new_update->response = $response;
  
  	set_site_transient( 'update_themes', $new_update );
--- 317,324 ----
  	$new_update->last_checked = time( );
  	$new_update->checked = $checked;
  
! 	$response = maybe_unserialize( wp_remote_retrieve_body( $raw_response ) );
! 	if ( is_array( $response ) )
  		$new_update->response = $response;
  
  	set_site_transient( 'update_themes', $new_update );
***************
*** 397,403 ****
  		wp_schedule_event(time(), 'twicedaily', 'wp_update_themes');
  }
  
! if ( ! is_main_site() && ! is_network_admin() )
  	return;
  
  add_action( 'admin_init', '_maybe_update_core' );
--- 429,435 ----
  		wp_schedule_event(time(), 'twicedaily', 'wp_update_themes');
  }
  
! if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) )
  	return;
  
  add_action( 'admin_init', '_maybe_update_core' );
***************
*** 416,420 ****
  add_action( 'wp_update_themes', 'wp_update_themes' );
  
  add_action('init', 'wp_schedule_update_checks');
- 
- ?>
--- 448,450 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/user.php ./wordpress-3.4/wp-includes/user.php
*** ./wordpress-3.3.2/wp-includes/user.php	2012-03-02 15:02:22.000000000 -0600
--- ./wordpress-3.4/wp-includes/user.php	2012-04-27 10:57:51.000000000 -0500
***************
*** 154,160 ****
  function count_user_posts($userid) {
  	global $wpdb;
  
! 	$where = get_posts_by_author_sql('post', TRUE, $userid);
  
  	$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
  
--- 153,159 ----
  function count_user_posts($userid) {
  	global $wpdb;
  
! 	$where = get_posts_by_author_sql('post', true, $userid);
  
  	$count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
  
***************
*** 165,175 ****
   * Number of posts written by a list of users.
   *
   * @since 3.0.0
!  * @param array $user_ids Array of user IDs.
   * @param string|array $post_type Optional. Post type to check. Defaults to post.
   * @return array Amount of posts each user has written.
   */
! function count_many_users_posts($users, $post_type = 'post' ) {
  	global $wpdb;
  
  	$count = array();
--- 164,175 ----
   * Number of posts written by a list of users.
   *
   * @since 3.0.0
!  *
!  * @param array $users Array of user IDs.
   * @param string|array $post_type Optional. Post type to check. Defaults to post.
   * @return array Amount of posts each user has written.
   */
! function count_many_users_posts( $users, $post_type = 'post' ) {
  	global $wpdb;
  
  	$count = array();
***************
*** 259,265 ****
  	else
  		$user = new WP_User( $user );
  
! 	if ( ! isset( $user->ID ) )
  		return false;
  
  	if ( $user->has_prop( $wpdb->prefix . $option ) ) // Blog specific
--- 259,265 ----
  	else
  		$user = new WP_User( $user );
  
! 	if ( ! $user->exists() )
  		return false;
  
  	if ( $user->has_prop( $wpdb->prefix . $option ) ) // Blog specific
***************
*** 379,384 ****
--- 378,384 ----
  				'include' => array(),
  				'exclude' => array(),
  				'search' => '',
+ 				'search_columns' => array(),
  				'orderby' => 'login',
  				'order' => 'ASC',
  				'offset' => '',
***************
*** 477,490 ****
  			if ( $wild )
  				$search = trim($search, '*');
  
! 			if ( false !== strpos( $search, '@') )
! 				$search_columns = array('user_email');
! 			elseif ( is_numeric($search) )
! 				$search_columns = array('user_login', 'ID');
! 			elseif ( preg_match('|^https?://|', $search) )
! 				$search_columns = array('user_url');
! 			else
! 				$search_columns = array('user_login', 'user_nicename');
  
  			$this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
  		}
--- 477,495 ----
  			if ( $wild )
  				$search = trim($search, '*');
  
! 			$search_columns = array();
! 			if ( $qv['search_columns'] )
! 				$search_columns = array_intersect( $qv['search_columns'], array( 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename' ) );
! 			if ( ! $search_columns ) {
! 				if ( false !== strpos( $search, '@') )
! 					$search_columns = array('user_email');
! 				elseif ( is_numeric($search) )
! 					$search_columns = array('user_login', 'ID');
! 				elseif ( preg_match('|^https?://|', $search) && ! wp_is_large_network( 'users' ) )
! 					$search_columns = array('user_url');
! 				else
! 					$search_columns = array('user_login', 'user_nicename');
! 			}
  
  			$this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
  		}
***************
*** 647,653 ****
   *
   * @param int $user_id User ID
   * @param bool $all Whether to retrieve all blogs, or only blogs that are not marked as deleted, archived, or spam.
!  * @return array A list of the user's blogs. False if the user was not found or an empty array if the user has no blogs.
   */
  function get_blogs_of_user( $user_id, $all = false ) {
  	global $wpdb;
--- 652,658 ----
   *
   * @param int $user_id User ID
   * @param bool $all Whether to retrieve all blogs, or only blogs that are not marked as deleted, archived, or spam.
!  * @return array A list of the user's blogs. An empty array if the user doesn't exist or belongs to no blogs.
   */
  function get_blogs_of_user( $user_id, $all = false ) {
  	global $wpdb;
***************
*** 656,666 ****
  
  	// Logged out users can't have blogs
  	if ( empty( $user_id ) )
! 		return false;
  
  	$keys = get_user_meta( $user_id );
  	if ( empty( $keys ) )
! 		return false;
  
  	if ( ! is_multisite() ) {
  		$blog_id = get_current_blog_id();
--- 661,671 ----
  
  	// Logged out users can't have blogs
  	if ( empty( $user_id ) )
! 		return array();
  
  	$keys = get_user_meta( $user_id );
  	if ( empty( $keys ) )
! 		return array();
  
  	if ( ! is_multisite() ) {
  		$blog_id = get_current_blog_id();
***************
*** 725,732 ****
   * @since MU 1.1
   * @uses get_blogs_of_user()
   *
!  * @param int $user_id The unique ID of the user
!  * @param int $blog Optional. If no blog_id is provided, current site is used
   * @return bool
   */
  function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
--- 730,737 ----
   * @since MU 1.1
   * @uses get_blogs_of_user()
   *
!  * @param int $user_id Optional. The unique ID of the user. Defaults to the current user.
!  * @param int $blog_id Optional. ID of the blog to check. Defaults to the current site.
   * @return bool
   */
  function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
***************
*** 740,749 ****
  		$blog_id = get_current_blog_id();
  
  	$blogs = get_blogs_of_user( $user_id );
! 	if ( is_array( $blogs ) )
! 		return array_key_exists( $blog_id, $blogs );
! 	else
! 		return false;
  }
  
  /**
--- 745,751 ----
  		$blog_id = get_current_blog_id();
  
  	$blogs = get_blogs_of_user( $user_id );
! 	return array_key_exists( $blog_id, $blogs );
  }
  
  /**
***************
*** 793,799 ****
   * @link http://codex.wordpress.org/Function_Reference/get_user_meta
   *
   * @param int $user_id Post ID.
!  * @param string $key The meta key to retrieve.
   * @param bool $single Whether to return a single value.
   * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
   *  is true.
--- 795,801 ----
   * @link http://codex.wordpress.org/Function_Reference/get_user_meta
   *
   * @param int $user_id Post ID.
!  * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
   * @param bool $single Whether to return a single value.
   * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
   *  is true.
***************
*** 828,834 ****
   * Count number of users who have each of the user roles.
   *
   * Assumes there are neither duplicated nor orphaned capabilities meta_values.
!  * Assumes role names are unique phrases.  Same assumption made by WP_User_Query::prepare_query()
   * Using $strategy = 'time' this is CPU-intensive and should handle around 10^7 users.
   * Using $strategy = 'memory' this is memory-intensive and should handle around 10^5 users, but see WP Bug #12257.
   *
--- 830,836 ----
   * Count number of users who have each of the user roles.
   *
   * Assumes there are neither duplicated nor orphaned capabilities meta_values.
!  * Assumes role names are unique phrases. Same assumption made by WP_User_Query::prepare_query()
   * Using $strategy = 'time' this is CPU-intensive and should handle around 10^7 users.
   * Using $strategy = 'memory' this is memory-intensive and should handle around 10^5 users, but see WP Bug #12257.
   *
***************
*** 855,861 ****
  		// Build a CPU-intensive query that will return concise information.
  		$select_count = array();
  		foreach ( $avail_roles as $this_role => $name ) {
! 			$select_count[] = "COUNT(NULLIF(`meta_value` LIKE '%" . like_escape($this_role) . "%', FALSE))";
  		}
  		$select_count = implode(', ', $select_count);
  
--- 857,863 ----
  		// Build a CPU-intensive query that will return concise information.
  		$select_count = array();
  		foreach ( $avail_roles as $this_role => $name ) {
! 			$select_count[] = "COUNT(NULLIF(`meta_value` LIKE '%\"" . like_escape( $this_role ) . "\"%', false))";
  		}
  		$select_count = implode(', ', $select_count);
  
***************
*** 883,896 ****
  		$users_of_blog = $wpdb->get_col( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = '{$blog_prefix}capabilities'" );
  
  		foreach ( $users_of_blog as $caps_meta ) {
! 			$b_roles = unserialize($caps_meta);
! 			if ( is_array($b_roles) ) {
! 				foreach ( $b_roles as $b_role => $val ) {
! 					if ( isset($avail_roles[$b_role]) ) {
! 						$avail_roles[$b_role]++;
! 					} else {
! 						$avail_roles[$b_role] = 1;
! 					}
  				}
  			}
  		}
--- 885,898 ----
  		$users_of_blog = $wpdb->get_col( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = '{$blog_prefix}capabilities'" );
  
  		foreach ( $users_of_blog as $caps_meta ) {
! 			$b_roles = maybe_unserialize($caps_meta);
! 			if ( ! is_array( $b_roles ) )
! 				continue;
! 			foreach ( $b_roles as $b_role => $val ) {
! 				if ( isset($avail_roles[$b_role]) ) {
! 					$avail_roles[$b_role]++;
! 				} else {
! 					$avail_roles[$b_role] = 1;
  				}
  			}
  		}
***************
*** 935,951 ****
  	$user_ID    = (int) $user->ID;
  	$user_level = (int) isset($user->user_level) ? $user->user_level : 0;
  
! 	if ( 0 == $user->ID ) {
  		$user_login = $user_email = $user_url = $user_pass_md5 = $user_identity = '';
  		return;
  	}
  
! 	$userdata	= $user;
! 	$user_login	= $user->user_login;
! 	$user_email	= $user->user_email;
! 	$user_url	= $user->user_url;
! 	$user_pass_md5	= md5($user->user_pass);
! 	$user_identity	= $user->display_name;
  }
  
  /**
--- 937,953 ----
  	$user_ID    = (int) $user->ID;
  	$user_level = (int) isset($user->user_level) ? $user->user_level : 0;
  
! 	if ( ! $user->exists() ) {
  		$user_login = $user_email = $user_url = $user_pass_md5 = $user_identity = '';
  		return;
  	}
  
! 	$userdata   = $user;
! 	$user_login = $user->user_login;
! 	$user_email = $user->user_email;
! 	$user_url   = $user->user_url;
! 	$user_pass_md5 = md5( $user->user_pass );
! 	$user_identity = $user->display_name;
  }
  
  /**
***************
*** 974,980 ****
   * <li>id - Default is the value of the 'name' parameter. ID attribute of select element.</li>
   * <li>class - Class attribute of select element.</li>
   * <li>blog_id - ID of blog (Multisite only). Defaults to ID of current blog.</li>
!  * <li>who - Which users to query.  Currently only 'authors' is supported. Default is all users.</li>
   * </ol>
   *
   * @since 2.3.0
--- 976,982 ----
   * <li>id - Default is the value of the 'name' parameter. ID attribute of select element.</li>
   * <li>class - Class attribute of select element.</li>
   * <li>blog_id - ID of blog (Multisite only). Defaults to ID of current blog.</li>
!  * <li>who - Which users to query. Currently only 'authors' is supported. Default is all users.</li>
   * </ol>
   *
   * @since 2.3.0
***************
*** 1056,1072 ****
   * when calling filters.
   *
   * @since 2.3.0
!  * @uses apply_filters() Calls 'edit_$field' and '{$field_no_prefix}_edit_pre' passing $value and
!  *  $user_id if $context == 'edit' and field name prefix == 'user_'.
!  *
!  * @uses apply_filters() Calls 'edit_user_$field' passing $value and $user_id if $context == 'db'.
!  * @uses apply_filters() Calls 'pre_$field' passing $value if $context == 'db' and field name prefix == 'user_'.
!  * @uses apply_filters() Calls '{$field}_pre' passing $value if $context == 'db' and field name prefix != 'user_'.
!  *
   * @uses apply_filters() Calls '$field' passing $value, $user_id and $context if $context == anything
!  *  other than 'raw', 'edit' and 'db' and field name prefix == 'user_'.
!  * @uses apply_filters() Calls 'user_$field' passing $value if $context == anything other than 'raw',
!  *  'edit' and 'db' and field name prefix != 'user_'.
   *
   * @param string $field The user Object field name.
   * @param mixed $value The user Object value.
--- 1058,1069 ----
   * when calling filters.
   *
   * @since 2.3.0
!  * @uses apply_filters() Calls 'edit_$field' passing $value and $user_id if $context == 'edit'.
!  *  $field is prefixed with 'user_' if it isn't already.
!  * @uses apply_filters() Calls 'pre_$field' passing $value if $context == 'db'. $field is prefixed with
!  *  'user_' if it isn't already.
   * @uses apply_filters() Calls '$field' passing $value, $user_id and $context if $context == anything
!  *  other than 'raw', 'edit' and 'db'. $field is prefixed with 'user_' if it isn't already.
   *
   * @param string $field The user Object field name.
   * @param mixed $value The user Object value.
***************
*** 1086,1096 ****
  	if ( !is_string($value) && !is_numeric($value) )
  		return $value;
  
! 	$prefixed = false;
! 	if ( false !== strpos($field, 'user_') ) {
! 		$prefixed = true;
! 		$field_no_prefix = str_replace('user_', '', $field);
! 	}
  
  	if ( 'edit' == $context ) {
  		if ( $prefixed ) {
--- 1083,1089 ----
  	if ( !is_string($value) && !is_numeric($value) )
  		return $value;
  
! 	$prefixed = false !== strpos( $field, 'user_' );
  
  	if ( 'edit' == $context ) {
  		if ( $prefixed ) {
***************
*** 1147,1161 ****
   *
   * @since 3.0.0
   *
!  * @param int $id User ID
   */
! function clean_user_cache($id) {
! 	$user = WP_User::get_data_by( 'id', $id );
  
! 	wp_cache_delete($id, 'users');
! 	wp_cache_delete($user->user_login, 'userlogins');
! 	wp_cache_delete($user->user_email, 'useremail');
! 	wp_cache_delete($user->user_nicename, 'userslugs');
  }
  
  /**
--- 1140,1158 ----
   *
   * @since 3.0.0
   *
!  * @param WP_User|int $user User object or ID to be cleaned from the cache
   */
! function clean_user_cache( $user ) {
! 	if ( is_numeric( $user ) )
! 		$user = new WP_User( $user );
  
! 	if ( ! $user->exists() )
! 		return;
! 
! 	wp_cache_delete( $user->ID, 'users' );
! 	wp_cache_delete( $user->user_login, 'userlogins' );
! 	wp_cache_delete( $user->user_email, 'useremail' );
! 	wp_cache_delete( $user->user_nicename, 'userslugs' );
  }
  
  /**
***************
*** 1493,1497 ****
  	);
  	return apply_filters( 'user_contactmethods', $user_contactmethods, $user );
  }
- 
- ?>
--- 1489,1491 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/vars.php ./wordpress-3.4/wp-includes/vars.php
*** ./wordpress-3.3.2/wp-includes/vars.php	2011-10-18 14:44:00.000000000 -0500
--- ./wordpress-3.4/wp-includes/vars.php	2012-06-04 11:04:54.000000000 -0500
***************
*** 98,101 ****
   */
  $is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false);
  
! ?>
--- 98,126 ----
   */
  $is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false);
  
! /**
!  * Test if the current browser runs on a mobile device (smart phone, tablet, etc.)
!  *
!  * @return bool true|false
!  */
! function wp_is_mobile() {
! 	static $is_mobile;
! 
! 	if ( isset($is_mobile) )
! 		return $is_mobile;
! 
! 	if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
! 		$is_mobile = false;
! 	} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
! 		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
! 		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
! 		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
! 		|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
! 		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false ) {
! 			$is_mobile = true;
! 	} else {
! 		$is_mobile = false;
! 	}
! 
! 	return $is_mobile;
! }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/version.php ./wordpress-3.4/wp-includes/version.php
*** ./wordpress-3.3.2/wp-includes/version.php	2012-04-20 09:49:49.000000000 -0500
--- ./wordpress-3.4/wp-includes/version.php	2012-06-13 13:08:29.000000000 -0500
***************
*** 4,24 ****
   *
   * @global string $wp_version
   */
! $wp_version = '3.3.2';
  
  /**
   * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
   *
   * @global int $wp_db_version
   */
! $wp_db_version = 19470;
  
  /**
   * Holds the TinyMCE version
   *
   * @global string $tinymce_version
   */
! $tinymce_version = '345-20111127';
  
  /**
   * Holds the cache manifest version
--- 4,24 ----
   *
   * @global string $wp_version
   */
! $wp_version = '3.4';
  
  /**
   * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
   *
   * @global int $wp_db_version
   */
! $wp_db_version = 20596;
  
  /**
   * Holds the TinyMCE version
   *
   * @global string $tinymce_version
   */
! $tinymce_version = '349-20805';
  
  /**
   * Holds the cache manifest version
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/widgets.php ./wordpress-3.4/wp-includes/widgets.php
*** ./wordpress-3.3.2/wp-includes/widgets.php	2011-11-26 00:16:43.000000000 -0600
--- ./wordpress-3.4/wp-includes/widgets.php	2012-01-05 14:10:39.000000000 -0600
***************
*** 1149,1155 ****
   * Handle sidebars config after theme change
   *
   * @access private
!  * @since 3.3
   */
  function _wp_sidebars_changed() {
  	global $sidebars_widgets;
--- 1148,1154 ----
   * Handle sidebars config after theme change
   *
   * @access private
!  * @since 3.3.0
   */
  function _wp_sidebars_changed() {
  	global $sidebars_widgets;
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/wp-db.php ./wordpress-3.4/wp-includes/wp-db.php
*** ./wordpress-3.3.2/wp-includes/wp-db.php	2012-04-16 17:03:46.000000000 -0500
--- ./wordpress-3.4/wp-includes/wp-db.php	2012-04-16 16:55:47.000000000 -0500
***************
*** 404,412 ****
  	 * Keys are column names, values are format types: 'ID' => '%d'
  	 *
  	 * @since 2.8.0
! 	 * @see wpdb:prepare()
! 	 * @see wpdb:insert()
! 	 * @see wpdb:update()
  	 * @see wp_set_wpdb_vars()
  	 * @access public
  	 * @var array
--- 404,413 ----
  	 * Keys are column names, values are format types: 'ID' => '%d'
  	 *
  	 * @since 2.8.0
! 	 * @see wpdb::prepare()
! 	 * @see wpdb::insert()
! 	 * @see wpdb::update()
! 	 * @see wpdb::delete()
  	 * @see wp_set_wpdb_vars()
  	 * @access public
  	 * @var array
***************
*** 573,579 ****
  	function set_prefix( $prefix, $set_table_names = true ) {
  
  		if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
! 			return new WP_Error('invalid_db_prefix', /*WP_I18N_DB_BAD_PREFIX*/'Invalid database prefix'/*/WP_I18N_DB_BAD_PREFIX*/);
  
  		$old_prefix = is_multisite() ? '' : $prefix;
  
--- 574,580 ----
  	function set_prefix( $prefix, $set_table_names = true ) {
  
  		if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
! 			return new WP_Error('invalid_db_prefix', 'Invalid database prefix' );
  
  		$old_prefix = is_multisite() ? '' : $prefix;
  
***************
*** 745,758 ****
  
  		if ( !@mysql_select_db( $db, $dbh ) ) {
  			$this->ready = false;
! 			$this->bail( sprintf( /*WP_I18N_DB_SELECT_DB*/'<h1>Can&#8217;t select database</h1>
  <p>We were able to connect to the database server (which means your username and password is okay) but not able to select the <code>%1$s</code> database.</p>
  <ul>
  <li>Are you sure it exists?</li>
  <li>Does the user <code>%2$s</code> have permission to use the <code>%1$s</code> database?</li>
  <li>On some systems the name of your database is prefixed with your username, so it would be like <code>username_%1$s</code>. Could that be the problem?</li>
  </ul>
! <p>If you don\'t know how to set up a database you should <strong>contact your host</strong>. If all else fails you may find help at the <a href="http://wordpress.org/support/">WordPress Support Forums</a>.</p>'/*/WP_I18N_DB_SELECT_DB*/, htmlspecialchars( $db, ENT_QUOTES ), htmlspecialchars( $this->dbuser, ENT_QUOTES ) ), 'db_select_fail' );
  			return;
  		}
  	}
--- 746,760 ----
  
  		if ( !@mysql_select_db( $db, $dbh ) ) {
  			$this->ready = false;
! 			wp_load_translations_early();
! 			$this->bail( sprintf( __( '<h1>Can&#8217;t select database</h1>
  <p>We were able to connect to the database server (which means your username and password is okay) but not able to select the <code>%1$s</code> database.</p>
  <ul>
  <li>Are you sure it exists?</li>
  <li>Does the user <code>%2$s</code> have permission to use the <code>%1$s</code> database?</li>
  <li>On some systems the name of your database is prefixed with your username, so it would be like <code>username_%1$s</code>. Could that be the problem?</li>
  </ul>
! <p>If you don\'t know how to set up a database you should <strong>contact your host</strong>. If all else fails you may find help at the <a href="http://wordpress.org/support/">WordPress Support Forums</a>.</p>' ), htmlspecialchars( $db, ENT_QUOTES ), htmlspecialchars( $this->dbuser, ENT_QUOTES ) ), 'db_select_fail' );
  			return;
  		}
  	}
***************
*** 923,932 ****
  		if ( $this->suppress_errors )
  			return false;
  
  		if ( $caller = $this->get_caller() )
! 			$error_str = sprintf( /*WP_I18N_DB_QUERY_ERROR_FULL*/'WordPress database error %1$s for query %2$s made by %3$s'/*/WP_I18N_DB_QUERY_ERROR_FULL*/, $str, $this->last_query, $caller );
  		else
! 			$error_str = sprintf( /*WP_I18N_DB_QUERY_ERROR*/'WordPress database error %1$s for query %2$s'/*/WP_I18N_DB_QUERY_ERROR*/, $str, $this->last_query );
  
  		if ( function_exists( 'error_log' )
  			&& ( $log_file = @ini_get( 'error_log' ) )
--- 925,936 ----
  		if ( $this->suppress_errors )
  			return false;
  
+ 		wp_load_translations_early();
+ 
  		if ( $caller = $this->get_caller() )
! 			$error_str = sprintf( __( 'WordPress database error %1$s for query %2$s made by %3$s' ), $str, $this->last_query, $caller );
  		else
! 			$error_str = sprintf( __( 'WordPress database error %1$s for query %2$s' ), $str, $this->last_query );
  
  		if ( function_exists( 'error_log' )
  			&& ( $log_file = @ini_get( 'error_log' ) )
***************
*** 1037,1043 ****
  		}
  
  		if ( !$this->dbh ) {
! 			$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/"
  <h1>Error establishing a database connection</h1>
  <p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>%s</code>. This could mean your host's database server is down.</p>
  <ul>
--- 1041,1048 ----
  		}
  
  		if ( !$this->dbh ) {
! 			wp_load_translations_early();
! 			$this->bail( sprintf( __( "
  <h1>Error establishing a database connection</h1>
  <p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>%s</code>. This could mean your host's database server is down.</p>
  <ul>
***************
*** 1046,1052 ****
  	<li>Are you sure that the database server is running?</li>
  </ul>
  <p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>
! "/*/WP_I18N_DB_CONN_ERROR*/, htmlspecialchars( $this->dbhost, ENT_QUOTES ) ), 'db_connect_fail' );
  
  			return;
  		}
--- 1051,1057 ----
  	<li>Are you sure that the database server is running?</li>
  </ul>
  <p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>
! " ), htmlspecialchars( $this->dbhost, ENT_QUOTES ) ), 'db_connect_fail' );
  
  			return;
  		}
***************
*** 1073,1080 ****
  			return false;
  
  		// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
! 		if ( function_exists( 'apply_filters' ) )
! 			$query = apply_filters( 'query', $query );
  
  		$return_val = 0;
  		$this->flush();
--- 1078,1084 ----
  			return false;
  
  		// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
! 		$query = apply_filters( 'query', $query );
  
  		$return_val = 0;
  		$this->flush();
***************
*** 1191,1197 ****
  	 * @see wp_set_wpdb_vars()
  	 *
  	 * @param string $table table name
! 	 * @param array $data Data to insert (in column => value pairs).  Both $data columns and $data values should be "raw" (neither should be SQL escaped).
  	 * @param array|string $format 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.
  	 * 	A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
  	 * @param string $type Optional. What type of operation is this? INSERT or REPLACE. Defaults to INSERT.
--- 1195,1201 ----
  	 * @see wp_set_wpdb_vars()
  	 *
  	 * @param string $table table name
! 	 * @param array $data Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
  	 * @param array|string $format 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.
  	 * 	A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
  	 * @param string $type Optional. What type of operation is this? INSERT or REPLACE. Defaults to INSERT.
***************
*** 1212,1218 ****
  				$form = '%s';
  			$formatted_fields[] = $form;
  		}
! 		$sql = "{$type} INTO `$table` (`" . implode( '`,`', $fields ) . "`) VALUES ('" . implode( "','", $formatted_fields ) . "')";
  		return $this->query( $this->prepare( $sql, $data ) );
  	}
  
--- 1216,1222 ----
  				$form = '%s';
  			$formatted_fields[] = $form;
  		}
! 		$sql = "{$type} INTO `$table` (`" . implode( '`,`', $fields ) . "`) VALUES (" . implode( ",", $formatted_fields ) . ")";
  		return $this->query( $this->prepare( $sql, $data ) );
  	}
  
***************
*** 1234,1240 ****
  	 * @param array $where 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".
  	 * @param array|string $format 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.
  	 * 	A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
! 	 * @param array|string $where_format 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.  A format is one of '%d', '%f', '%s' (integer, float, string).  If omitted, all values in $where will be treated as strings.
  	 * @return int|false The number of rows updated, or false on error.
  	 */
  	function update( $table, $data, $where, $format = null, $where_format = null ) {
--- 1238,1244 ----
  	 * @param array $where 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".
  	 * @param array|string $format 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.
  	 * 	A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
! 	 * @param array|string $where_format 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. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $where will be treated as strings.
  	 * @return int|false The number of rows updated, or false on error.
  	 */
  	function update( $table, $data, $where, $format = null, $where_format = null ) {
***************
*** 1269,1274 ****
--- 1273,1321 ----
  	}
  
  	/**
+ 	 * Delete a row in the table
+ 	 *
+ 	 * <code>
+ 	 * wpdb::delete( 'table', array( 'ID' => 1 ) )
+ 	 * wpdb::delete( 'table', array( 'ID' => 1 ), array( '%d' ) )
+ 	 * </code>
+ 	 *
+ 	 * @since 3.4.0
+ 	 * @see wpdb::prepare()
+ 	 * @see wpdb::$field_types
+ 	 * @see wp_set_wpdb_vars()
+ 	 *
+ 	 * @param string $table table name
+ 	 * @param array $where 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".
+ 	 * @param array|string $where_format 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. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $where will be treated as strings unless otherwise specified in wpdb::$field_types.
+ 	 * @return int|false The number of rows updated, or false on error.
+ 	 */
+ 	function delete( $table, $where, $where_format = null ) {
+ 		if ( ! is_array( $where ) )
+ 			return false;
+ 
+ 		$bits = $wheres = array();
+ 
+ 		$where_formats = $where_format = (array) $where_format;
+ 
+ 		foreach ( array_keys( $where ) as $field ) {
+ 			if ( !empty( $where_format ) ) {
+ 				$form = ( $form = array_shift( $where_formats ) ) ? $form : $where_format[0];
+ 			} elseif ( isset( $this->field_types[ $field ] ) ) {
+ 				$form = $this->field_types[ $field ];
+ 			} else {
+ 				$form = '%s';
+ 			}
+ 
+ 			$wheres[] = "$field = $form";
+ 		}
+ 
+ 		$sql = "DELETE FROM $table WHERE " . implode( ' AND ', $wheres );
+ 		return $this->query( $this->prepare( $sql, $where ) );
+ 	}
+ 
+ 
+ 	/**
  	 * Retrieve one variable from the database.
  	 *
  	 * Executes a SQL query and returns the value from the SQL result.
***************
*** 1278,1285 ****
  	 * @since 0.71
  	 *
  	 * @param string|null $query Optional. SQL query. Defaults to null, use the result from the previous query.
! 	 * @param int $x Optional. Column of value to return.  Indexed from 0.
! 	 * @param int $y Optional. Row of value to return.  Indexed from 0.
  	 * @return string|null Database query result (as string), or null on failure
  	 */
  	function get_var( $query = null, $x = 0, $y = 0 ) {
--- 1325,1332 ----
  	 * @since 0.71
  	 *
  	 * @param string|null $query Optional. SQL query. Defaults to null, use the result from the previous query.
! 	 * @param int $x Optional. Column of value to return. Indexed from 0.
! 	 * @param int $y Optional. Row of value to return. Indexed from 0.
  	 * @return string|null Database query result (as string), or null on failure
  	 */
  	function get_var( $query = null, $x = 0, $y = 0 ) {
***************
*** 1326,1332 ****
  		} elseif ( $output == ARRAY_N ) {
  			return $this->last_result[$y] ? array_values( get_object_vars( $this->last_result[$y] ) ) : null;
  		} else {
! 			$this->print_error(/*WP_I18N_DB_GETROW_ERROR*/" \$db->get_row(string query, output type, int offset) -- Output type must be one of: OBJECT, ARRAY_A, ARRAY_N"/*/WP_I18N_DB_GETROW_ERROR*/);
  		}
  	}
  
--- 1373,1379 ----
  		} elseif ( $output == ARRAY_N ) {
  			return $this->last_result[$y] ? array_values( get_object_vars( $this->last_result[$y] ) ) : null;
  		} else {
! 			$this->print_error( " \$db->get_row(string query, output type, int offset) -- Output type must be one of: OBJECT, ARRAY_A, ARRAY_N" );
  		}
  	}
  
***************
*** 1365,1371 ****
  	 * @param string $query SQL query.
  	 * @param string $output Optional. Any of ARRAY_A | ARRAY_N | OBJECT | OBJECT_K constants. With one of the first three, return an array of rows indexed from 0 by SQL result row number.
  	 * 	Each row is an associative array (column => value, ...), a numerically indexed array (0 => value, ...), or an object. ( ->column = value ), respectively.
! 	 * 	With OBJECT_K, return an associative array of row objects keyed by the value of each row's first column's value.  Duplicate keys are discarded.
  	 * @return mixed Database query results
  	 */
  	function get_results( $query = null, $output = OBJECT ) {
--- 1412,1418 ----
  	 * @param string $query SQL query.
  	 * @param string $output Optional. Any of ARRAY_A | ARRAY_N | OBJECT | OBJECT_K constants. With one of the first three, return an array of rows indexed from 0 by SQL result row number.
  	 * 	Each row is an associative array (column => value, ...), a numerically indexed array (0 => value, ...), or an object. ( ->column = value ), respectively.
! 	 * 	With OBJECT_K, return an associative array of row objects keyed by the value of each row's first column's value. Duplicate keys are discarded.
  	 * @return mixed Database query results
  	 */
  	function get_results( $query = null, $output = OBJECT ) {
***************
*** 1441,1448 ****
  	 * @return true
  	 */
  	function timer_start() {
! 		$mtime            = explode( ' ', microtime() );
! 		$this->time_start = $mtime[1] + $mtime[0];
  		return true;
  	}
  
--- 1488,1494 ----
  	 * @return true
  	 */
  	function timer_start() {
! 		$this->time_start = microtime( true );
  		return true;
  	}
  
***************
*** 1451,1463 ****
  	 *
  	 * @since 1.5.0
  	 *
! 	 * @return int Total time spent on the query, in milliseconds
  	 */
  	function timer_stop() {
! 		$mtime      = explode( ' ', microtime() );
! 		$time_end   = $mtime[1] + $mtime[0];
! 		$time_total = $time_end - $this->time_start;
! 		return $time_total;
  	}
  
  	/**
--- 1497,1506 ----
  	 *
  	 * @since 1.5.0
  	 *
! 	 * @return float Total time spent on the query, in seconds
  	 */
  	function timer_stop() {
! 		return ( microtime( true ) - $this->time_start );
  	}
  
  	/**
***************
*** 1546,1561 ****
  	 * @return string The name of the calling function
  	 */
  	function get_caller() {
! 		$trace  = array_reverse( debug_backtrace() );
! 		$caller = array();
! 
! 		foreach ( $trace as $call ) {
! 			if ( isset( $call['class'] ) && __CLASS__ == $call['class'] )
! 				continue; // Filter out wpdb calls.
! 			$caller[] = isset( $call['class'] ) ? "{$call['class']}->{$call['function']}" : $call['function'];
! 		}
! 
! 		return join( ', ', $caller );
  	}
  
  	/**
--- 1589,1595 ----
  	 * @return string The name of the calling function
  	 */
  	function get_caller() {
! 		return wp_debug_backtrace_summary( __CLASS__ );
  	}
  
  	/**
***************
*** 1569,1573 ****
  		return preg_replace( '/[^0-9.].*/', '', mysql_get_server_info( $this->dbh ) );
  	}
  }
- 
- ?>
--- 1603,1605 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-includes/wp-diff.php ./wordpress-3.4/wp-includes/wp-diff.php
*** ./wordpress-3.3.2/wp-includes/wp-diff.php	2011-04-30 12:18:39.000000000 -0500
--- ./wordpress-3.4/wp-includes/wp-diff.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 202,210 ****
  		$r = '';
  
  		// Does the aforementioned additional processing
! 		// *_matches tell what rows are "the same" in orig and final.  Those pairs will be diffed to get word changes
  		//	match is numeric: an index in other column
! 		//	match is 'X': no match.  It is a new row
  		// *_rows are column vectors for the orig column and the final column.
  		//	row >= 0: an indix of the $orig or $final array
  		//	row  < 0: a blank row for that column
--- 202,210 ----
  		$r = '';
  
  		// Does the aforementioned additional processing
! 		// *_matches tell what rows are "the same" in orig and final. Those pairs will be diffed to get word changes
  		//	match is numeric: an index in other column
! 		//	match is 'X': no match. It is a new row
  		// *_rows are column vectors for the orig column and the final column.
  		//	row >= 0: an indix of the $orig or $final array
  		//	row  < 0: a blank row for that column
***************
*** 231,237 ****
  					$stripped_diff = strlen(strip_tags( $diff )) * 2 - $stripped_matches;
  					$diff_ratio = $stripped_matches / $stripped_diff;
  					if ( $diff_ratio > $this->_diff_threshold )
! 						continue; // Too different.  Don't save diffs.
  				}
  
  				// Un-inline the diffs by removing del or ins
--- 230,236 ----
  					$stripped_diff = strlen(strip_tags( $diff )) * 2 - $stripped_matches;
  					$diff_ratio = $stripped_matches / $stripped_diff;
  					if ( $diff_ratio > $this->_diff_threshold )
! 						continue; // Too different. Don't save diffs.
  				}
  
  				// Un-inline the diffs by removing del or ins
***************
*** 241,251 ****
  		}
  
  		foreach ( array_keys($orig_rows) as $row ) {
! 			// Both columns have blanks.  Ignore them.
  			if ( $orig_rows[$row] < 0 && $final_rows[$row] < 0 )
  				continue;
  
! 			// If we have a word based diff, use it.  Otherwise, use the normal line.
  			if ( isset( $orig_diffs[$orig_rows[$row]] ) )
  				$orig_line = $orig_diffs[$orig_rows[$row]];
  			elseif ( isset( $orig[$orig_rows[$row]] ) )
--- 240,250 ----
  		}
  
  		foreach ( array_keys($orig_rows) as $row ) {
! 			// Both columns have blanks. Ignore them.
  			if ( $orig_rows[$row] < 0 && $final_rows[$row] < 0 )
  				continue;
  
! 			// If we have a word based diff, use it. Otherwise, use the normal line.
  			if ( isset( $orig_diffs[$orig_rows[$row]] ) )
  				$orig_line = $orig_diffs[$orig_rows[$row]];
  			elseif ( isset( $orig[$orig_rows[$row]] ) )
***************
*** 260,268 ****
  			else
  				$final_line = '';
  
! 			if ( $orig_rows[$row] < 0 ) { // Orig is blank.  This is really an added row.
  				$r .= $this->_added( array($final_line), false );
! 			} elseif ( $final_rows[$row] < 0 ) { // Final is blank.  This is really a deleted row.
  				$r .= $this->_deleted( array($orig_line), false );
  			} else { // A true changed row.
  				$r .= '<tr>' . $this->deletedLine( $orig_line ) . $this->addedLine( $final_line ) . "</tr>\n";
--- 259,267 ----
  			else
  				$final_line = '';
  
! 			if ( $orig_rows[$row] < 0 ) { // Orig is blank. This is really an added row.
  				$r .= $this->_added( array($final_line), false );
! 			} elseif ( $final_rows[$row] < 0 ) { // Final is blank. This is really a deleted row.
  				$r .= $this->_deleted( array($orig_line), false );
  			} else { // A true changed row.
  				$r .= '<tr>' . $this->deletedLine( $orig_line ) . $this->addedLine( $final_line ) . "</tr>\n";
***************
*** 288,294 ****
  	 */
  	function interleave_changed_lines( $orig, $final ) {
  
! 		// Contains all pairwise string comparisons.  Keys are such that this need only be a one dimensional array.
  		$matches = array();
  		foreach ( array_keys($orig) as $o ) {
  			foreach ( array_keys($final) as $f ) {
--- 287,293 ----
  	 */
  	function interleave_changed_lines( $orig, $final ) {
  
! 		// Contains all pairwise string comparisons. Keys are such that this need only be a one dimensional array.
  		$matches = array();
  		foreach ( array_keys($orig) as $o ) {
  			foreach ( array_keys($final) as $f ) {
***************
*** 309,315 ****
  			if ( isset($orig_matches[$o]) && isset($final_matches[$f]) )
  				continue;
  
! 			// First match for these guys.  Must be best match
  			if ( !isset($orig_matches[$o]) && !isset($final_matches[$f]) ) {
  				$orig_matches[$o] = $f;
  				$final_matches[$f] = $o;
--- 308,314 ----
  			if ( isset($orig_matches[$o]) && isset($final_matches[$f]) )
  				continue;
  
! 			// First match for these guys. Must be best match
  			if ( !isset($orig_matches[$o]) && !isset($final_matches[$f]) ) {
  				$orig_matches[$o] = $f;
  				$final_matches[$f] = $o;
***************
*** 342,352 ****
  
  			if ( false === $final_pos ) { // This orig is paired with a blank final.
  				array_splice( $final_rows, $orig_pos, 0, -1 );
! 			} elseif ( $final_pos < $orig_pos ) { // This orig's match is up a ways.  Pad final with blank rows.
  				$diff_pos = $final_pos - $orig_pos;
  				while ( $diff_pos < 0 )
  					array_splice( $final_rows, $orig_pos, 0, $diff_pos++ );
! 			} elseif ( $final_pos > $orig_pos ) { // This orig's match is down a ways.  Pad orig with blank rows.
  				$diff_pos = $orig_pos - $final_pos;
  				while ( $diff_pos < 0 )
  					array_splice( $orig_rows, $orig_pos, 0, $diff_pos++ );
--- 340,350 ----
  
  			if ( false === $final_pos ) { // This orig is paired with a blank final.
  				array_splice( $final_rows, $orig_pos, 0, -1 );
! 			} elseif ( $final_pos < $orig_pos ) { // This orig's match is up a ways. Pad final with blank rows.
  				$diff_pos = $final_pos - $orig_pos;
  				while ( $diff_pos < 0 )
  					array_splice( $final_rows, $orig_pos, 0, $diff_pos++ );
! 			} elseif ( $final_pos > $orig_pos ) { // This orig's match is down a ways. Pad orig with blank rows.
  				$diff_pos = $orig_pos - $final_pos;
  				while ( $diff_pos < 0 )
  					array_splice( $orig_rows, $orig_pos, 0, $diff_pos++ );
***************
*** 427,433 ****
  		// L1-norm of difference vector.
  		$difference = array_sum( array_map( array(&$this, 'difference'), $chars1, $chars2 ) );
  
! 		// $string1 has zero length? Odd.  Give huge penalty by not dividing.
  		if ( !$string1 )
  			return $difference;
  
--- 424,430 ----
  		// L1-norm of difference vector.
  		$difference = array_sum( array_map( array(&$this, 'difference'), $chars1, $chars2 ) );
  
! 		// $string1 has zero length? Odd. Give huge penalty by not dividing.
  		if ( !$string1 )
  			return $difference;
  
***************
*** 473,477 ****
  	}
  
  }
- 
- ?>
--- 470,472 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-load.php ./wordpress-3.4/wp-load.php
*** ./wordpress-3.3.2/wp-load.php	2011-11-15 09:47:07.000000000 -0600
--- ./wordpress-3.4/wp-load.php	2012-04-22 03:05:17.000000000 -0500
***************
*** 18,24 ****
   * @package WordPress
   */
  
! /** Define ABSPATH as this files directory */
  define( 'ABSPATH', dirname(__FILE__) . '/' );
  
  error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
--- 18,24 ----
   * @package WordPress
   */
  
! /** Define ABSPATH as this file's directory */
  define( 'ABSPATH', dirname(__FILE__) . '/' );
  
  error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
***************
*** 30,36 ****
  
  } elseif ( file_exists( dirname(ABSPATH) . '/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) {
  
! 	/** The config file resides one level above ABSPATH but is not part of another install*/
  	require_once( dirname(ABSPATH) . '/wp-config.php' );
  
  } else {
--- 30,36 ----
  
  } elseif ( file_exists( dirname(ABSPATH) . '/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) {
  
! 	/** The config file resides one level above ABSPATH but is not part of another install */
  	require_once( dirname(ABSPATH) . '/wp-config.php' );
  
  } else {
***************
*** 39,60 ****
  
  	// Set a path for the link to the installer
  	if ( strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false )
! 		$path = '';
  	else
! 		$path = 'wp-admin/';
  
! 	require_once( ABSPATH . '/wp-includes/load.php' );
! 	require_once( ABSPATH . '/wp-includes/version.php' );
  	define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
  	wp_check_php_mysql_versions();
  
  	// Die with an error message
! 	require_once( ABSPATH . '/wp-includes/class-wp-error.php' );
! 	require_once( ABSPATH . '/wp-includes/functions.php' );
! 	require_once( ABSPATH . '/wp-includes/plugin.php' );
! 	$text_direction = /*WP_I18N_TEXT_DIRECTION*/'ltr'/*/WP_I18N_TEXT_DIRECTION*/;
! 	wp_die(sprintf(/*WP_I18N_NO_CONFIG*/"<p>There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started.</p> <p>Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>.</p> <p>You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file.</p><p><a href='%ssetup-config.php' class='button'>Create a Configuration File</a></p>"/*/WP_I18N_NO_CONFIG*/, $path), /*WP_I18N_ERROR_TITLE*/'WordPress &rsaquo; Error'/*/WP_I18N_ERROR_TITLE*/, array('text_direction' => $text_direction));
  
  }
- 
- ?>
\ No newline at end of file
--- 39,61 ----
  
  	// Set a path for the link to the installer
  	if ( strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false )
! 		$path = 'setup-config.php';
  	else
! 		$path = 'wp-admin/setup-config.php';
  
! 	define( 'WPINC', 'wp-includes' );
  	define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
+ 	require_once( ABSPATH . WPINC . '/load.php' );
+ 	require_once( ABSPATH . WPINC . '/version.php' );
+ 
+ 	wp_load_translations_early();
  	wp_check_php_mysql_versions();
  
  	// Die with an error message
! 	$die  = __( "There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started." ) . '</p>';
! 	$die .= '<p>' . __( "Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ) . '</p>';
! 	$die .= '<p>' . __( "You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file." ) . '</p>';
! 	$die .= '<p><a href="' . $path . '" class="button">' . __( "Create a Configuration File" ) . '</a>';
  
+ 	wp_die( $die, __( 'WordPress &rsaquo; Error' ) );
  }
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-login.php ./wordpress-3.4/wp-login.php
*** ./wordpress-3.3.2/wp-login.php	2011-11-23 01:03:00.000000000 -0600
--- ./wordpress-3.4/wp-login.php	2012-06-08 14:22:11.000000000 -0500
***************
*** 39,45 ****
   * @param WP_Error $wp_error Optional. WordPress Error Object
   */
  function login_header($title = 'Log In', $message = '', $wp_error = '') {
! 	global $error, $is_iphone, $interim_login, $current_site;
  
  	// Don't index any of these forms
  	add_action( 'login_head', 'wp_no_robots' );
--- 39,45 ----
   * @param WP_Error $wp_error Optional. WordPress Error Object
   */
  function login_header($title = 'Log In', $message = '', $wp_error = '') {
! 	global $error, $interim_login, $current_site, $customize_login;
  
  	// Don't index any of these forms
  	add_action( 'login_head', 'wp_no_robots' );
***************
*** 54,92 ****
  	if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
  		add_action( 'login_head', 'wp_shake_js', 12 );
  
! 	?>
! <!DOCTYPE html>
! <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
! <head>
  	<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
  	<title><?php bloginfo('name'); ?> &rsaquo; <?php echo $title; ?></title>
! <?php
  	wp_admin_css( 'wp-admin', true );
  	wp_admin_css( 'colors-fresh', true );
  
! 	if ( $is_iphone ) { ?>
! 	<meta name="viewport" content="width=320; initial-scale=0.9; maximum-scale=1.0; user-scalable=0;" />
! 	<style type="text/css" media="screen">
! 	.login form, .login .message, #login_error { margin-left: 0px; }
! 	.login #nav, .login #backtoblog { margin-left: 8px; }
! 	.login h1 a { width: auto; }
! 	#login { padding: 20px 0; }
! 	</style>
! <?php
  	}
  
  	do_action( 'login_enqueue_scripts' );
! 	do_action( 'login_head' ); ?>
! </head>
! <body class="login">
! <?php   if ( !is_multisite() ) { ?>
! <div id="login"><h1><a href="<?php echo esc_url( apply_filters('login_headerurl', 'http://wordpress.org/') ); ?>" title="<?php echo esc_attr( apply_filters('login_headertitle', __( 'Powered by WordPress' ) ) ); ?>"><?php bloginfo('name'); ?></a></h1>
! <?php   } else { ?>
! <div id="login"><h1><a href="<?php echo esc_url( apply_filters('login_headerurl', network_home_url() ) ); ?>" title="<?php echo esc_attr( apply_filters('login_headertitle', $current_site->site_name ) ); ?>"><span class="hide"><?php bloginfo('name'); ?></span></a></h1>
! <?php   }
  
  	$message = apply_filters('login_message', $message);
! 	if ( !empty( $message ) ) echo $message . "\n";
  
  	// In case a plugin uses $error rather than the $wp_errors object
  	if ( !empty( $error ) ) {
--- 54,106 ----
  	if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
  		add_action( 'login_head', 'wp_shake_js', 12 );
  
! 	?><!DOCTYPE html>
! 	<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
! 	<head>
  	<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
  	<title><?php bloginfo('name'); ?> &rsaquo; <?php echo $title; ?></title>
! 	<?php
! 
  	wp_admin_css( 'wp-admin', true );
  	wp_admin_css( 'colors-fresh', true );
  
! 	if ( wp_is_mobile() ) { ?>
! 		<meta name="viewport" content="width=320; initial-scale=0.9; maximum-scale=1.0; user-scalable=0;" /><?php
  	}
  
+ 	if ( $customize_login )
+ 		wp_enqueue_script( 'customize-base' );
+ 
  	do_action( 'login_enqueue_scripts' );
! 	do_action( 'login_head' );
! 
! 	if ( is_multisite() ) {
! 		$login_header_url   = network_home_url();
! 		$login_header_title = $current_site->site_name;
! 	} else {
! 		$login_header_url   = __( 'http://wordpress.org/' );
! 		$login_header_title = __( 'Powered by WordPress' );
! 	}
! 
! 	$login_header_url   = apply_filters( 'login_headerurl',   $login_header_url   );
! 	$login_header_title = apply_filters( 'login_headertitle', $login_header_title );
! 
! 	// Don't allow interim logins to navigate away from the page.
! 	if ( $interim_login )
! 		$login_header_url = '#';
! 
! 	?>
! 	</head>
! 	<body class="login<?php if ( wp_is_mobile() ) echo ' mobile'; ?>">
! 	<div id="login">
! 		<h1><a href="<?php echo esc_url( $login_header_url ); ?>" title="<?php echo esc_attr( $login_header_title ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
! 	<?php
! 
! 	unset( $login_header_url, $login_header_title );
  
  	$message = apply_filters('login_message', $message);
! 	if ( !empty( $message ) )
! 		echo $message . "\n";
  
  	// In case a plugin uses $error rather than the $wp_errors object
  	if ( !empty( $error ) ) {
***************
*** 119,145 ****
   * @param string $input_id Which input to auto-focus
   */
  function login_footer($input_id = '') {
! 	?>
  	<p id="backtoblog"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php esc_attr_e( 'Are you lost?' ); ?>"><?php printf( __( '&larr; Back to %s' ), get_bloginfo( 'title', 'display' ) ); ?></a></p>
! 	</div>
  
! <?php if ( !empty($input_id) ) : ?>
! <script type="text/javascript">
! try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){}
! if(typeof wpOnload=='function')wpOnload();
! </script>
! <?php endif; ?>
  
! <?php do_action('login_footer'); ?>
! <div class="clear"></div>
! </body>
! </html>
! <?php
  }
  
  function wp_shake_js() {
! 	global $is_iphone;
! 	if ( $is_iphone )
  		return;
  ?>
  <script type="text/javascript">
--- 133,163 ----
   * @param string $input_id Which input to auto-focus
   */
  function login_footer($input_id = '') {
! 	global $interim_login;
! 
! 	// Don't allow interim logins to navigate away from the page.
! 	if ( ! $interim_login ): ?>
  	<p id="backtoblog"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php esc_attr_e( 'Are you lost?' ); ?>"><?php printf( __( '&larr; Back to %s' ), get_bloginfo( 'title', 'display' ) ); ?></a></p>
! 	<?php endif; ?>
  
! 	</div>
  
! 	<?php if ( !empty($input_id) ) : ?>
! 	<script type="text/javascript">
! 	try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){}
! 	if(typeof wpOnload=='function')wpOnload();
! 	</script>
! 	<?php endif; ?>
! 
! 	<?php do_action('login_footer'); ?>
! 	<div class="clear"></div>
! 	</body>
! 	</html>
! 	<?php
  }
  
  function wp_shake_js() {
! 	if ( wp_is_mobile() )
  		return;
  ?>
  <script type="text/javascript">
***************
*** 208,214 ****
  		$wpdb->update($wpdb->users, array('user_activation_key' => $key), array('user_login' => $user_login));
  	}
  	$message = __('Someone requested that the password be reset for the following account:') . "\r\n\r\n";
! 	$message .= network_site_url() . "\r\n\r\n";
  	$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
  	$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "\r\n\r\n";
  	$message .= __('To reset your password, visit the following address:') . "\r\n\r\n";
--- 226,232 ----
  		$wpdb->update($wpdb->users, array('user_activation_key' => $key), array('user_login' => $user_login));
  	}
  	$message = __('Someone requested that the password be reset for the following account:') . "\r\n\r\n";
! 	$message .= network_home_url( '/' ) . "\r\n\r\n";
  	$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
  	$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "\r\n\r\n";
  	$message .= __('To reset your password, visit the following address:') . "\r\n\r\n";
***************
*** 239,246 ****
   *
   * @param string $key Hash to validate sending user's password
   * @param string $login The user login
!  *
!  * @return object|WP_Error
   */
  function check_password_reset_key($key, $login) {
  	global $wpdb;
--- 257,263 ----
   *
   * @param string $key Hash to validate sending user's password
   * @param string $login The user login
!  * @return object|WP_Error User's database row on success, error object for invalid keys
   */
  function check_password_reset_key($key, $login) {
  	global $wpdb;
***************
*** 264,272 ****
  /**
   * Handles resetting the user's password.
   *
!  * @uses $wpdb WordPress Database object
!  *
!  * @param string $key Hash to validate sending user's password
   */
  function reset_password($user, $new_pass) {
  	do_action('password_reset', $user, $new_pass);
--- 281,288 ----
  /**
   * Handles resetting the user's password.
   *
!  * @param object $user The user
!  * @param string $new_pass New password for the user in plaintext
   */
  function reset_password($user, $new_pass) {
  	do_action('password_reset', $user, $new_pass);
***************
*** 341,347 ****
  	$action = 'resetpass';
  
  // validate action so as to default to the login screen
! if ( !in_array($action, array('logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login'), true) && false === has_filter('login_form_' . $action) )
  	$action = 'login';
  
  nocache_headers();
--- 357,363 ----
  	$action = 'resetpass';
  
  // validate action so as to default to the login screen
! if ( !in_array( $action, array( 'postpass', 'logout', 'lostpassword', 'retrievepassword', 'resetpass', 'rp', 'register', 'login' ), true ) && false === has_filter( 'login_form_' . $action ) )
  	$action = 'login';
  
  nocache_headers();
***************
*** 369,374 ****
--- 385,405 ----
  $http_post = ('POST' == $_SERVER['REQUEST_METHOD']);
  switch ($action) {
  
+ case 'postpass' :
+ 	if ( empty( $wp_hasher ) ) {
+ 		require_once( ABSPATH . 'wp-includes/class-phpass.php' );
+ 		// By default, use the portable hash from phpass
+ 		$wp_hasher = new PasswordHash(8, true);
+ 	}
+ 
+ 	// 10 days
+ 	setcookie( 'wp-postpass_' . COOKIEHASH, $wp_hasher->HashPassword( stripslashes( $_POST['post_password'] ) ), time() + 864000, COOKIEPATH );
+ 
+ 	wp_safe_redirect( wp_get_referer() );
+ 	exit();
+ 
+ break;
+ 
  case 'logout' :
  	check_admin_referer('log-out');
  	wp_logout();
***************
*** 536,541 ****
--- 567,573 ----
  default:
  	$secure_cookie = '';
  	$interim_login = isset($_REQUEST['interim-login']);
+ 	$customize_login = isset( $_REQUEST['customize-login'] );
  
  	// If the user wants ssl but the session is not ssl, force a secure cookie.
  	if ( !empty($_POST['log']) && !force_ssl_admin() ) {
***************
*** 560,566 ****
  	$reauth = empty($_REQUEST['reauth']) ? false : true;
  
  	// If the user was redirected to a secure login form from a non-secure admin page, and secure login is required but secure admin is not, then don't use a secure
! 	// cookie and redirect back to the referring non-secure admin page.  This allows logins to always be POSTed over SSL while allowing the user to choose visiting
  	// the admin via http or https.
  	if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
  		$secure_cookie = false;
--- 592,598 ----
  	$reauth = empty($_REQUEST['reauth']) ? false : true;
  
  	// If the user was redirected to a secure login form from a non-secure admin page, and secure login is required but secure admin is not, then don't use a secure
! 	// cookie and redirect back to the referring non-secure admin page. This allows logins to always be POSTed over SSL while allowing the user to choose visiting
  	// the admin via http or https.
  	if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
  		$secure_cookie = false;
***************
*** 572,582 ****
  	if ( !is_wp_error($user) && !$reauth ) {
  		if ( $interim_login ) {
  			$message = '<p class="message">' . __('You have logged in successfully.') . '</p>';
! 			login_header( '', $message ); ?>
! 			<script type="text/javascript">setTimeout( function(){window.close()}, 8000);</script>
! 			<p class="alignright">
! 			<input type="button" class="button-primary" value="<?php esc_attr_e('Close'); ?>" onclick="window.close()" /></p>
! 			</div></body></html>
  <?php		exit;
  		}
  
--- 604,625 ----
  	if ( !is_wp_error($user) && !$reauth ) {
  		if ( $interim_login ) {
  			$message = '<p class="message">' . __('You have logged in successfully.') . '</p>';
! 			login_header( '', $message );
! 
! 			if ( ! $customize_login ) : ?>
! 				<script type="text/javascript">setTimeout( function(){window.close()}, 8000);</script>
! 				<p class="alignright">
! 				<input type="button" class="button-primary" value="<?php esc_attr_e('Close'); ?>" onclick="window.close()" /></p>
! <?php		endif;
! 
! 			?></div><?php
! 
! 			do_action('login_footer');
! 
! 			if ( $customize_login ) : ?>
! 				<script type="text/javascript">setTimeout( function(){ new wp.customize.Messenger({ url: '<?php echo wp_customize_url(); ?>', channel: 'login' }).send('login') }, 1000 );</script>
! <?php		endif; ?>
! 			</body></html>
  <?php		exit;
  		}
  
***************
*** 603,609 ****
  		$errors->add('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
  
  	// Some parts of this script use the main login form to display a message
! 	if		( isset($_GET['loggedout']) && TRUE == $_GET['loggedout'] )
  		$errors->add('loggedout', __('You are now logged out.'), 'message');
  	elseif	( isset($_GET['registration']) && 'disabled' == $_GET['registration'] )
  		$errors->add('registerdisabled', __('User registration is currently not allowed.'));
--- 646,652 ----
  		$errors->add('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
  
  	// Some parts of this script use the main login form to display a message
! 	if		( isset($_GET['loggedout']) && true == $_GET['loggedout'] )
  		$errors->add('loggedout', __('You are now logged out.'), 'message');
  	elseif	( isset($_GET['registration']) && 'disabled' == $_GET['registration'] )
  		$errors->add('registerdisabled', __('User registration is currently not allowed.'));
***************
*** 615,620 ****
--- 658,665 ----
  		$errors->add('registered', __('Registration complete. Please check your e-mail.'), 'message');
  	elseif	( $interim_login )
  		$errors->add('expired', __('Your session has expired. Please log-in again.'), 'message');
+ 	elseif ( strpos( $redirect_to, 'about.php?updated' ) )
+ 		$errors->add('updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to experience the awesomeness.' ), 'message' );
  
  	// Clear any stale cookies.
  	if ( $reauth )
***************
*** 645,650 ****
--- 690,698 ----
  <?php	} else { ?>
  		<input type="hidden" name="redirect_to" value="<?php echo esc_attr($redirect_to); ?>" />
  <?php 	} ?>
+ <?php   if ( $customize_login ) : ?>
+ 		<input type="hidden" name="customize-login" value="1" />
+ <?php   endif; ?>
  		<input type="hidden" name="testcookie" value="1" />
  	</p>
  </form>
***************
*** 691,694 ****
  login_footer();
  break;
  } // end action switch
- ?>
--- 739,741 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-mail.php ./wordpress-3.4/wp-mail.php
*** ./wordpress-3.3.2/wp-mail.php	2011-08-05 11:57:31.000000000 -0500
--- ./wordpress-3.4/wp-mail.php	2012-05-02 08:32:19.000000000 -0500
***************
*** 105,111 ****
  
  			// Set the author using the email address (From or Reply-To, the last used)
  			// otherwise use the site admin
! 			if ( preg_match('/(From|Reply-To): /', $line) )  {
  				if ( preg_match('|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches) )
  					$author = $matches[0];
  				else
--- 105,111 ----
  
  			// Set the author using the email address (From or Reply-To, the last used)
  			// otherwise use the site admin
! 			if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) {
  				if ( preg_match('|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches) )
  					$author = $matches[0];
  				else
***************
*** 114,127 ****
  				if ( is_email($author) ) {
  					echo '<p>' . sprintf(__('Author is %s'), $author) . '</p>';
  					$userdata = get_user_by('email', $author);
! 					if ( empty($userdata) ) {
! 						$author_found = false;
! 					} else {
  						$post_author = $userdata->ID;
  						$author_found = true;
  					}
- 				} else {
- 					$author_found = false;
  				}
  			}
  
--- 114,123 ----
  				if ( is_email($author) ) {
  					echo '<p>' . sprintf(__('Author is %s'), $author) . '</p>';
  					$userdata = get_user_by('email', $author);
! 					if ( ! empty( $userdata ) ) {
  						$post_author = $userdata->ID;
  						$author_found = true;
  					}
  				}
  			}
  
***************
*** 161,167 ****
  		$user = new WP_User($post_author);
  		$post_status = ( $user->has_cap('publish_posts') ) ? 'publish' : 'pending';
  	} else {
! 		// Author not found in DB, set status to pending.  Author already set to admin.
  		$post_status = 'pending';
  	}
  
--- 157,163 ----
  		$user = new WP_User($post_author);
  		$post_status = ( $user->has_cap('publish_posts') ) ? 'publish' : 'pending';
  	} else {
! 		// Author not found in DB, set status to pending. Author already set to admin.
  		$post_status = 'pending';
  	}
  
***************
*** 226,236 ****
  		$pop3->reset();
  		exit;
  	} else {
! 		echo '<p>' . sprintf(__('Mission complete.  Message <strong>%s</strong> deleted.'), $i) . '</p>';
  	}
  
  }
  
  $pop3->quit();
- 
- ?>
--- 222,230 ----
  		$pop3->reset();
  		exit;
  	} else {
! 		echo '<p>' . sprintf(__('Mission complete. Message <strong>%s</strong> deleted.'), $i) . '</p>';
  	}
  
  }
  
  $pop3->quit();
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-pass.php ./wordpress-3.4/wp-pass.php
*** ./wordpress-3.3.2/wp-pass.php	2011-09-18 23:17:26.000000000 -0500
--- ./wordpress-3.4/wp-pass.php	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,17 ****
- <?php
- /**
-  * Creates the password cookie and redirects back to where the
-  * visitor was before.
-  *
-  * @package WordPress
-  */
- 
- /** Make sure that the WordPress bootstrap has run before continuing. */
- require( dirname(__FILE__) . '/wp-load.php');
- 
- // 10 days
- setcookie('wp-postpass_' . COOKIEHASH, stripslashes( $_POST['post_password'] ), time() + 864000, COOKIEPATH);
- 
- wp_safe_redirect(wp_get_referer());
- exit;
- ?>
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-register.php ./wordpress-3.4/wp-register.php
*** ./wordpress-3.3.2/wp-register.php	2010-12-09 12:02:54.000000000 -0600
--- ./wordpress-3.4/wp-register.php	1969-12-31 18:00:00.000000000 -0600
***************
*** 1,15 ****
- <?php
- /**
-  * Used to be the page which displayed the registration form.
-  *
-  * This file is no longer used in WordPress and is
-  * deprecated.
-  *
-  * @package WordPress
-  * @deprecated Use wp_register() to create a registration link instead
-  */
- 
- require('./wp-load.php');
- wp_redirect( site_url('wp-login.php?action=register') );
- exit;
- ?>
--- 0 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-settings.php ./wordpress-3.4/wp-settings.php
*** ./wordpress-3.3.2/wp-settings.php	2011-10-18 14:37:07.000000000 -0500
--- ./wordpress-3.4/wp-settings.php	2012-04-26 23:54:36.000000000 -0500
***************
*** 70,75 ****
--- 70,76 ----
  require( ABSPATH . WPINC . '/class-wp.php' );
  require( ABSPATH . WPINC . '/class-wp-error.php' );
  require( ABSPATH . WPINC . '/plugin.php' );
+ require( ABSPATH . WPINC . '/pomo/mo.php' );
  
  // Include the wpdb class and, if present, a db.php database drop-in.
  require_wp_db();
***************
*** 81,89 ****
  // Start the WordPress object cache, or an external object cache if the drop-in is present.
  wp_start_object_cache();
  
! // Load early WordPress files.
  require( ABSPATH . WPINC . '/default-filters.php' );
- require( ABSPATH . WPINC . '/pomo/mo.php' );
  
  // Initialize multisite if enabled.
  if ( is_multisite() ) {
--- 82,89 ----
  // Start the WordPress object cache, or an external object cache if the drop-in is present.
  wp_start_object_cache();
  
! // Attach the default filters.
  require( ABSPATH . WPINC . '/default-filters.php' );
  
  // Initialize multisite if enabled.
  if ( is_multisite() ) {
***************
*** 99,106 ****
  if ( SHORTINIT )
  	return false;
  
! // Load the l18n library.
! require( ABSPATH . WPINC . '/l10n.php' );
  
  // Run the installer if WordPress is not installed.
  wp_not_installed();
--- 99,106 ----
  if ( SHORTINIT )
  	return false;
  
! // Load the L10n library.
! require_once( ABSPATH . WPINC . '/l10n.php' );
  
  // Run the installer if WordPress is not installed.
  wp_not_installed();
***************
*** 113,118 ****
--- 112,119 ----
  require( ABSPATH . WPINC . '/capabilities.php' );
  require( ABSPATH . WPINC . '/query.php' );
  require( ABSPATH . WPINC . '/theme.php' );
+ require( ABSPATH . WPINC . '/class-wp-theme.php' );
+ require( ABSPATH . WPINC . '/template.php' );
  require( ABSPATH . WPINC . '/user.php' );
  require( ABSPATH . WPINC . '/meta.php' );
  require( ABSPATH . WPINC . '/general-template.php' );
***************
*** 120,125 ****
--- 121,127 ----
  require( ABSPATH . WPINC . '/author-template.php' );
  require( ABSPATH . WPINC . '/post.php' );
  require( ABSPATH . WPINC . '/post-template.php' );
+ require( ABSPATH . WPINC . '/post-thumbnail-template.php' );
  require( ABSPATH . WPINC . '/category.php' );
  require( ABSPATH . WPINC . '/category-template.php' );
  require( ABSPATH . WPINC . '/comment.php' );
***************
*** 237,243 ****
   * @global object $wp_rewrite
   * @since 1.5.0
   */
! $wp_rewrite = new WP_Rewrite();
  
  /**
   * WordPress Object
--- 239,245 ----
   * @global object $wp_rewrite
   * @since 1.5.0
   */
! $GLOBALS['wp_rewrite'] = new WP_Rewrite();
  
  /**
   * WordPress Object
***************
*** 261,275 ****
  // Load the default text localization domain.
  load_default_textdomain();
  
- // Find the blog locale.
  $locale = get_locale();
  $locale_file = WP_LANG_DIR . "/$locale.php";
  if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) )
  	require( $locale_file );
! unset($locale_file);
  
  // Pull in locale data after loading text domain.
! require( ABSPATH . WPINC . '/locale.php' );
  
  /**
   * WordPress Locale object for loading locale domain date and various strings.
--- 263,276 ----
  // Load the default text localization domain.
  load_default_textdomain();
  
  $locale = get_locale();
  $locale_file = WP_LANG_DIR . "/$locale.php";
  if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) )
  	require( $locale_file );
! unset( $locale_file );
  
  // Pull in locale data after loading text domain.
! require_once( ABSPATH . WPINC . '/locale.php' );
  
  /**
   * WordPress Locale object for loading locale domain date and various strings.
***************
*** 288,296 ****
  
  do_action( 'after_setup_theme' );
  
- // Load any template functions the theme supports.
- require_if_theme_supports( 'post-thumbnails', ABSPATH . WPINC . '/post-thumbnail-template.php' );
- 
  // Set up current user.
  $wp->init();
  
--- 289,294 ----
***************
*** 323,326 ****
   * @since 3.0.0
   */
  do_action('wp_loaded');
- ?>
--- 321,323 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-signup.php ./wordpress-3.4/wp-signup.php
*** ./wordpress-3.3.2/wp-signup.php	2011-11-15 14:44:48.000000000 -0600
--- ./wordpress-3.4/wp-signup.php	2012-04-21 01:40:31.000000000 -0500
***************
*** 95,101 ****
  	<div id="privacy">
          <p class="privacy-intro">
              <label for="blog_public_on"><?php _e('Privacy:') ?></label>
!             <?php _e('Allow my site to appear in search engines like Google, Technorati, and in public listings around this network.'); ?>
              <br style="clear:both" />
              <label class="checkbox" for="blog_public_on">
                  <input type="radio" id="blog_public_on" name="blog_public" value="1" <?php if ( !isset( $_POST['blog_public'] ) || $_POST['blog_public'] == '1' ) { ?>checked="checked"<?php } ?> />
--- 95,101 ----
  	<div id="privacy">
          <p class="privacy-intro">
              <label for="blog_public_on"><?php _e('Privacy:') ?></label>
!             <?php _e( 'Allow search engines to index this site.' ); ?>
              <br style="clear:both" />
              <label class="checkbox" for="blog_public_on">
                  <input type="radio" id="blog_public_on" name="blog_public" value="1" <?php if ( !isset( $_POST['blog_public'] ) || $_POST['blog_public'] == '1' ) { ?>checked="checked"<?php } ?> />
***************
*** 218,224 ****
  	?>
  	<h2><?php printf( __( 'The site %s is yours.' ), "<a href='http://{$domain}{$path}'>{$blog_title}</a>" ) ?></h2>
  	<p>
! 		<?php printf( __( '<a href="http://%1$s">http://%2$s</a> is your new site.  <a href="%3$s">Log in</a> as &#8220;%4$s&#8221; using your existing password.' ), $domain.$path, $domain.$path, "http://" . $domain.$path . "wp-login.php", $user_name ) ?>
  	</p>
  	<?php
  	do_action( 'signup_finished' );
--- 218,224 ----
  	?>
  	<h2><?php printf( __( 'The site %s is yours.' ), "<a href='http://{$domain}{$path}'>{$blog_title}</a>" ) ?></h2>
  	<p>
! 		<?php printf( __( '<a href="http://%1$s">http://%2$s</a> is your new site. <a href="%3$s">Log in</a> as &#8220;%4$s&#8221; using your existing password.' ), $domain.$path, $domain.$path, "http://" . $domain.$path . "wp-login.php", $user_name ) ?>
  	</p>
  	<?php
  	do_action( 'signup_finished' );
***************
*** 229,241 ****
  
  	if ( !is_wp_error($errors) )
  		$errors = new WP_Error();
- 	if ( isset( $_POST[ 'signup_for' ] ) )
- 		$signup[ esc_html( $_POST[ 'signup_for' ] ) ] = 'checked="checked"';
- 	else
- 		$signup[ 'blog' ] = 'checked="checked"';
  
! 	//TODO - This doesn't seem to do anything do we really need it?
! 	$signup['user'] = isset( $signup['user'] ) ? $signup['user'] : '';
  
  	// allow definition of default variables
  	$filtered_results = apply_filters('signup_user_init', array('user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors ));
--- 229,236 ----
  
  	if ( !is_wp_error($errors) )
  		$errors = new WP_Error();
  
! 	$signup_for = isset( $_POST[ 'signup_for' ] ) ? esc_html( $_POST[ 'signup_for' ] ) : 'blog';
  
  	// allow definition of default variables
  	$filtered_results = apply_filters('signup_user_init', array('user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors ));
***************
*** 257,266 ****
  		<?php } elseif ( $active_signup == 'user' ) { ?>
  			<input id="signupblog" type="hidden" name="signup_for" value="user" />
  		<?php } else { ?>
! 			<input id="signupblog" type="radio" name="signup_for" value="blog" <?php echo $signup['blog'] ?> />
  			<label class="checkbox" for="signupblog"><?php _e('Gimme a site!') ?></label>
  			<br />
! 			<input id="signupuser" type="radio" name="signup_for" value="user" <?php echo $signup['user'] ?> />
  			<label class="checkbox" for="signupuser"><?php _e('Just a username, please.') ?></label>
  		<?php } ?>
  		</p>
--- 252,261 ----
  		<?php } elseif ( $active_signup == 'user' ) { ?>
  			<input id="signupblog" type="hidden" name="signup_for" value="user" />
  		<?php } else { ?>
! 			<input id="signupblog" type="radio" name="signup_for" value="blog" <?php checked( $signup_for, 'blog' ); ?> />
  			<label class="checkbox" for="signupblog"><?php _e('Gimme a site!') ?></label>
  			<br />
! 			<input id="signupuser" type="radio" name="signup_for" value="user" <?php checked( $signup_for, 'user' ); ?> />
  			<label class="checkbox" for="signupuser"><?php _e('Just a username, please.') ?></label>
  		<?php } ?>
  		</p>
***************
*** 294,300 ****
  	?>
  	<h2><?php printf( __( '%s is your new username' ), $user_name) ?></h2>
  	<p><?php _e( 'But, before you can start using your new username, <strong>you must activate it</strong>.' ) ?></p>
! 	<p><?php printf(__( 'Check your inbox at <strong>%1$s</strong> and click the link given.' ),  $user_email) ?></p>
  	<p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p>
  	<?php
  	do_action( 'signup_finished' );
--- 289,295 ----
  	?>
  	<h2><?php printf( __( '%s is your new username' ), $user_name) ?></h2>
  	<p><?php _e( 'But, before you can start using your new username, <strong>you must activate it</strong>.' ) ?></p>
! 	<p><?php printf( __( 'Check your inbox at <strong>%s</strong> and click the link given.' ), $user_email ); ?></p>
  	<p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p>
  	<?php
  	do_action( 'signup_finished' );
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/wp-trackback.php ./wordpress-3.4/wp-trackback.php
*** ./wordpress-3.3.2/wp-trackback.php	2010-02-24 14:13:23.000000000 -0600
--- ./wordpress-3.4/wp-trackback.php	2012-01-08 11:01:11.000000000 -0600
***************
*** 108,111 ****
  	do_action('trackback_post', $wpdb->insert_id);
  	trackback_response(0);
  }
- ?>
\ No newline at end of file
--- 108,110 ----
diff -crBPN --exclude=wp-config.php --exclude=wordpress.sql --exclude=wp-config.php --exclude=wordpress.sql --exclude=editor_plugin.js --exclude=jetpack --exclude=.files.list --exclude=wordpress-3.4.pl ./wordpress-3.3.2/xmlrpc.php ./wordpress-3.4/xmlrpc.php
*** ./wordpress-3.3.2/xmlrpc.php	2011-04-17 03:35:51.000000000 -0500
--- ./wordpress-3.4/xmlrpc.php	2012-02-16 18:02:42.000000000 -0600
***************
*** 54,62 ****
  include_once(ABSPATH . WPINC . '/class-IXR.php');
  include_once(ABSPATH . WPINC . '/class-wp-xmlrpc-server.php');
  
- // Turn off all warnings and errors.
- // error_reporting(0);
- 
  /**
   * Posts submitted via the xmlrpc interface get that title
   * @name post_default_title
--- 54,59 ----
***************
*** 64,110 ****
   */
  $post_default_title = "";
  
! /**
!  * Whether to enable XMLRPC Logging.
!  *
!  * @name xmlrpc_logging
!  * @var int|bool
!  */
! $xmlrpc_logging = 0;
  
  /**
   * logIO() - Writes logging info to a file.
   *
!  * @uses $xmlrpc_logging
!  * @package WordPress
!  * @subpackage Logging
   *
   * @param string $io Whether input or output
   * @param string $msg Information describing logging reason.
-  * @return bool Always return true
   */
! function logIO($io,$msg) {
! 	global $xmlrpc_logging;
! 	if ($xmlrpc_logging) {
! 		$fp = fopen("../xmlrpc.log","a+");
! 		$date = gmdate("Y-m-d H:i:s ");
! 		$iot = ($io == "I") ? " Input: " : " Output: ";
! 		fwrite($fp, "\n\n".$date.$iot.$msg);
! 		fclose($fp);
! 	}
! 	return true;
! }
! 
! if ( isset($HTTP_RAW_POST_DATA) )
! 	logIO("I", $HTTP_RAW_POST_DATA);
! 
! // Make sure wp_die output is XML
! add_filter( 'wp_die_handler', '_xmlrpc_wp_die_filter' );
! 
! // Allow for a plugin to insert a different class to handle requests.
! $wp_xmlrpc_server_class = apply_filters('wp_xmlrpc_server_class', 'wp_xmlrpc_server');
! $wp_xmlrpc_server = new $wp_xmlrpc_server_class;
! 
! // Fire off the request
! $wp_xmlrpc_server->serve_request();
! ?>
\ No newline at end of file
--- 61,86 ----
   */
  $post_default_title = "";
  
! // Allow for a plugin to insert a different class to handle requests.
! $wp_xmlrpc_server_class = apply_filters('wp_xmlrpc_server_class', 'wp_xmlrpc_server');
! $wp_xmlrpc_server = new $wp_xmlrpc_server_class;
! 
! // Fire off the request
! $wp_xmlrpc_server->serve_request();
! 
! exit;
  
  /**
   * logIO() - Writes logging info to a file.
   *
!  * @deprecated 3.4.0
!  * @deprecated Use error_log()
   *
   * @param string $io Whether input or output
   * @param string $msg Information describing logging reason.
   */
! function logIO( $io, $msg ) {
! 	_deprecated_function( __FUNCTION__, '3.4', 'error_log()' );
! 	if ( ! empty( $GLOBALS['xmlrpc_logging'] ) )
! 		error_log( $io . ' - ' . $msg );
! }
\ No newline at end of file
