From 3c4f31e4b9213eb70571dec1feab399fa4bcee6d Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 12 Mar 2018 15:07:06 -0700 Subject: [PATCH 01/23] Dynamically composite favicons from customizable sources Summary: Ref T13103. Make favicons customizable, and perform dynamic compositing to add marker to indicate things like "unread messages". Test Plan: Viewed favicons in Safari, Firefox and Chrome. With unread messages, saw pink dot composited into icon. Maniphest Tasks: T13103 Differential Revision: https://secure.phabricator.com/D19209 --- .../builtin/favicon/default-120x120.png | Bin .../builtin/favicon/default-128x128.png | Bin .../builtin/favicon/default-152x152.png | Bin .../builtin/favicon/default-76x76.png | Bin resources/builtin/favicon/dot-pink-64x64.png | Bin 0 -> 1468 bytes resources/builtin/favicon/dot-red-64x64.png | Bin 0 -> 1138 bytes resources/celerity/map.php | 21 - src/__phutil_library_map__.php | 6 +- .../option/PhabricatorUIConfigOptions.php | 4 + .../files/favicon/PhabricatorFaviconRef.php | 447 ++++++++++++++++++ .../favicon/PhabricatorFaviconRefQuery.php | 55 +++ .../files/storage/PhabricatorFile.php | 3 +- .../PhabricatorSystemApplication.php | 1 - .../PhabricatorSystemFaviconController.php | 19 - src/view/page/PhabricatorBarePageView.php | 114 +++-- .../page/menu/PhabricatorMainMenuView.php | 47 +- webroot/favicon.ico | Bin 34494 -> 0 bytes .../favicons/apple-touch-icon-114x114.png | Bin 10773 -> 0 bytes .../favicons/apple-touch-icon-144x144.png | Bin 13270 -> 0 bytes .../rsrc/favicons/apple-touch-icon-57x57.png | Bin 3806 -> 0 bytes .../rsrc/favicons/apple-touch-icon-60x60.png | Bin 3834 -> 0 bytes .../rsrc/favicons/apple-touch-icon-72x72.png | Bin 4929 -> 0 bytes webroot/rsrc/favicons/favicon-196x196.png | Bin 26744 -> 0 bytes webroot/rsrc/favicons/favicon-32x32.png | Bin 1421 -> 0 bytes webroot/rsrc/favicons/favicon-96x96.png | Bin 6371 -> 0 bytes webroot/rsrc/favicons/favicon-mention.ico | Bin 34494 -> 0 bytes webroot/rsrc/favicons/favicon-message.ico | Bin 34494 -> 0 bytes webroot/rsrc/favicons/favicon.ico | Bin 34494 -> 0 bytes webroot/rsrc/favicons/mstile-144x144.png | Bin 13270 -> 0 bytes webroot/rsrc/favicons/mstile-150x150.png | Bin 48875 -> 0 bytes webroot/rsrc/favicons/mstile-310x150.png | Bin 89534 -> 0 bytes webroot/rsrc/favicons/mstile-310x310.png | Bin 178811 -> 0 bytes webroot/rsrc/favicons/mstile-70x70.png | Bin 6505 -> 0 bytes 33 files changed, 605 insertions(+), 112 deletions(-) rename webroot/rsrc/favicons/apple-touch-icon-120x120.png => resources/builtin/favicon/default-120x120.png (100%) rename webroot/rsrc/favicons/favicon-128.png => resources/builtin/favicon/default-128x128.png (100%) rename webroot/rsrc/favicons/apple-touch-icon-152x152.png => resources/builtin/favicon/default-152x152.png (100%) rename webroot/rsrc/favicons/apple-touch-icon-76x76.png => resources/builtin/favicon/default-76x76.png (100%) create mode 100644 resources/builtin/favicon/dot-pink-64x64.png create mode 100644 resources/builtin/favicon/dot-red-64x64.png create mode 100644 src/applications/files/favicon/PhabricatorFaviconRef.php create mode 100644 src/applications/files/favicon/PhabricatorFaviconRefQuery.php delete mode 100644 src/applications/system/controller/PhabricatorSystemFaviconController.php delete mode 100644 webroot/favicon.ico delete mode 100644 webroot/rsrc/favicons/apple-touch-icon-114x114.png delete mode 100644 webroot/rsrc/favicons/apple-touch-icon-144x144.png delete mode 100644 webroot/rsrc/favicons/apple-touch-icon-57x57.png delete mode 100644 webroot/rsrc/favicons/apple-touch-icon-60x60.png delete mode 100644 webroot/rsrc/favicons/apple-touch-icon-72x72.png delete mode 100644 webroot/rsrc/favicons/favicon-196x196.png delete mode 100644 webroot/rsrc/favicons/favicon-32x32.png delete mode 100644 webroot/rsrc/favicons/favicon-96x96.png delete mode 100644 webroot/rsrc/favicons/favicon-mention.ico delete mode 100644 webroot/rsrc/favicons/favicon-message.ico delete mode 100644 webroot/rsrc/favicons/favicon.ico delete mode 100644 webroot/rsrc/favicons/mstile-144x144.png delete mode 100644 webroot/rsrc/favicons/mstile-150x150.png delete mode 100644 webroot/rsrc/favicons/mstile-310x150.png delete mode 100644 webroot/rsrc/favicons/mstile-310x310.png delete mode 100644 webroot/rsrc/favicons/mstile-70x70.png diff --git a/webroot/rsrc/favicons/apple-touch-icon-120x120.png b/resources/builtin/favicon/default-120x120.png similarity index 100% rename from webroot/rsrc/favicons/apple-touch-icon-120x120.png rename to resources/builtin/favicon/default-120x120.png diff --git a/webroot/rsrc/favicons/favicon-128.png b/resources/builtin/favicon/default-128x128.png similarity index 100% rename from webroot/rsrc/favicons/favicon-128.png rename to resources/builtin/favicon/default-128x128.png diff --git a/webroot/rsrc/favicons/apple-touch-icon-152x152.png b/resources/builtin/favicon/default-152x152.png similarity index 100% rename from webroot/rsrc/favicons/apple-touch-icon-152x152.png rename to resources/builtin/favicon/default-152x152.png diff --git a/webroot/rsrc/favicons/apple-touch-icon-76x76.png b/resources/builtin/favicon/default-76x76.png similarity index 100% rename from webroot/rsrc/favicons/apple-touch-icon-76x76.png rename to resources/builtin/favicon/default-76x76.png diff --git a/resources/builtin/favicon/dot-pink-64x64.png b/resources/builtin/favicon/dot-pink-64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..99595c8e1af04787f7bbd1b21d686af6a6d3b28b GIT binary patch literal 1468 zcmV;t1w;CYP)l2lF=#Z!igBx;AUhA~5xcBnE`9jXpdh7@JUNLF`f6=HSBM1@k+mL;ev zQjw?}N@*!Y31H)ZiLdYb-JyK<-FIil;mrN;NRMRT&b-fa_x;{;imIv*WP~8#2shz> z^dSe41IT`48ks_NA`|*CMdTWC8CgKiBj=E_$OR{hQygjnCy`m?Sy0vYKvCKo`W97P z$8#Uxrzzwla>mUDM3I+}!%$T(KuAgMYo%3n6TkBwe##^7BDdXSz=+O^O=`Lm$ehjt zH6Vi=1r;uXV&9=wmdmj7$0qDNDnVsw3o0vRc($fp#3P+ih;+vw($fkpZ^fbIcoHJ1 zSdHcZRs5fK@Y6VQy4eOO$Sdk@^bE**`}YkfKYR@3UmwHM-`1g8tkgF&B_eS2 zL_5UZ>44Z!2Snd)v-V-PI*&En!jHF^Eln_>7x@YDs=!5~MkY6C*7ym%F_vZb-VB`MZ)LT0|byJ}2{OgcB{|0L&5`2&R z68X!18bDY6E0cIUbv^$lY~+_|hqmD!Xdix4>ygYRd|uC;P>%uB=5L6% z{qDa{;mNm)u>Rd593ymI37LO|iqh0YQs*!3H?%d1z zTBR-nqU>N{ZcpQUvxmAyKs8dWLRTKr4T#obz$I~2M>9M&$?*uNR;pRRMO|A>1BS)9 zJxy;NpW*HA-T|wbYPZuSGvFlK%;3NlHV)10odnfPwF|~v(08jW4akZ+Ikc+tDonL& z+Ol>AoE6vew50VasCLp|r;#_Hk8NObpv{bzUC$qASAeyX2IG*(H1^317!-GJX(z|) zFlo><4$2G|;E$s{Jkx~2gCGs0MZkc}0K>GGHZbem!*h2ts4y)8`eg>B4F)_afnOle zl9m~eGBkmuE#DX*(UOuG&}lenrR*OA%vw5S1|;|+_8waJ0TL~VdUu3;58i+x{|9

-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 Ef+Z0OUjP6A literal 0 HcmV?d00001 diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 38343475d0..b4806e5500 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -16,7 +16,6 @@ return array( 'differential.pkg.js' => 'f6d809c0', 'diffusion.pkg.css' => 'a2d17c7d', 'diffusion.pkg.js' => '6134c5a1', - 'favicon.ico' => '30672e08', 'maniphest.pkg.css' => '4845691a', 'maniphest.pkg.js' => '4d7e79c8', 'rsrc/audio/basic/alert.mp3' => '98461568', @@ -270,28 +269,8 @@ return array( 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js' => '54f314a0', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadSource.js' => 'ab9e0a82', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js' => '6c0e62fa', - 'rsrc/favicons/apple-touch-icon-114x114.png' => '12a24178', - 'rsrc/favicons/apple-touch-icon-120x120.png' => '0d1543c7', - 'rsrc/favicons/apple-touch-icon-144x144.png' => '8043b5a5', - 'rsrc/favicons/apple-touch-icon-152x152.png' => '65905ecd', - 'rsrc/favicons/apple-touch-icon-57x57.png' => '2bfc7b0a', - 'rsrc/favicons/apple-touch-icon-60x60.png' => '8ff52925', - 'rsrc/favicons/apple-touch-icon-72x72.png' => 'a2bb65d6', - 'rsrc/favicons/apple-touch-icon-76x76.png' => '2d061a11', - 'rsrc/favicons/favicon-128.png' => '72f7e812', 'rsrc/favicons/favicon-16x16.png' => 'fc6275ba', - 'rsrc/favicons/favicon-196x196.png' => '95db275e', - 'rsrc/favicons/favicon-32x32.png' => '5bd18b6c', - 'rsrc/favicons/favicon-96x96.png' => '7242c8e9', - 'rsrc/favicons/favicon-mention.ico' => '1fdd0fa4', - 'rsrc/favicons/favicon-message.ico' => '115bc010', - 'rsrc/favicons/favicon.ico' => 'cdb11121', 'rsrc/favicons/mask-icon.svg' => 'e132a80f', - 'rsrc/favicons/mstile-144x144.png' => '310c2ee5', - 'rsrc/favicons/mstile-150x150.png' => '74bf5133', - 'rsrc/favicons/mstile-310x150.png' => '4a49d3ee', - 'rsrc/favicons/mstile-310x310.png' => 'a52ab264', - 'rsrc/favicons/mstile-70x70.png' => '5edce7b8', 'rsrc/image/BFCFDA.png' => 'd5ec91f4', 'rsrc/image/actions/edit.png' => '2fc41442', 'rsrc/image/avatar.png' => '17d346a4', diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 8677f47b6e..7dc658b28a 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2953,6 +2953,8 @@ phutil_register_library_map(array( 'PhabricatorFactObjectDimension' => 'applications/fact/storage/PhabricatorFactObjectDimension.php', 'PhabricatorFactRaw' => 'applications/fact/storage/PhabricatorFactRaw.php', 'PhabricatorFactUpdateIterator' => 'applications/fact/extract/PhabricatorFactUpdateIterator.php', + 'PhabricatorFaviconRef' => 'applications/files/favicon/PhabricatorFaviconRef.php', + 'PhabricatorFaviconRefQuery' => 'applications/files/favicon/PhabricatorFaviconRefQuery.php', 'PhabricatorFavoritesApplication' => 'applications/favorites/application/PhabricatorFavoritesApplication.php', 'PhabricatorFavoritesController' => 'applications/favorites/controller/PhabricatorFavoritesController.php', 'PhabricatorFavoritesMainMenuBarExtension' => 'applications/favorites/engineextension/PhabricatorFavoritesMainMenuBarExtension.php', @@ -4331,7 +4333,6 @@ phutil_register_library_map(array( 'PhabricatorSystemDAO' => 'applications/system/storage/PhabricatorSystemDAO.php', 'PhabricatorSystemDestructionGarbageCollector' => 'applications/system/garbagecollector/PhabricatorSystemDestructionGarbageCollector.php', 'PhabricatorSystemDestructionLog' => 'applications/system/storage/PhabricatorSystemDestructionLog.php', - 'PhabricatorSystemFaviconController' => 'applications/system/controller/PhabricatorSystemFaviconController.php', 'PhabricatorSystemReadOnlyController' => 'applications/system/controller/PhabricatorSystemReadOnlyController.php', 'PhabricatorSystemRemoveDestroyWorkflow' => 'applications/system/management/PhabricatorSystemRemoveDestroyWorkflow.php', 'PhabricatorSystemRemoveLogWorkflow' => 'applications/system/management/PhabricatorSystemRemoveLogWorkflow.php', @@ -8512,6 +8513,8 @@ phutil_register_library_map(array( 'PhabricatorFactObjectDimension' => 'PhabricatorFactDimension', 'PhabricatorFactRaw' => 'PhabricatorFactDAO', 'PhabricatorFactUpdateIterator' => 'PhutilBufferedIterator', + 'PhabricatorFaviconRef' => 'Phobject', + 'PhabricatorFaviconRefQuery' => 'Phobject', 'PhabricatorFavoritesApplication' => 'PhabricatorApplication', 'PhabricatorFavoritesController' => 'PhabricatorController', 'PhabricatorFavoritesMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension', @@ -10142,7 +10145,6 @@ phutil_register_library_map(array( 'PhabricatorSystemDAO' => 'PhabricatorLiskDAO', 'PhabricatorSystemDestructionGarbageCollector' => 'PhabricatorGarbageCollector', 'PhabricatorSystemDestructionLog' => 'PhabricatorSystemDAO', - 'PhabricatorSystemFaviconController' => 'PhabricatorController', 'PhabricatorSystemReadOnlyController' => 'PhabricatorController', 'PhabricatorSystemRemoveDestroyWorkflow' => 'PhabricatorSystemRemoveWorkflow', 'PhabricatorSystemRemoveLogWorkflow' => 'PhabricatorSystemRemoveWorkflow', diff --git a/src/applications/config/option/PhabricatorUIConfigOptions.php b/src/applications/config/option/PhabricatorUIConfigOptions.php index 7b2823f6ba..391ba7e123 100644 --- a/src/applications/config/option/PhabricatorUIConfigOptions.php +++ b/src/applications/config/option/PhabricatorUIConfigOptions.php @@ -64,6 +64,10 @@ EOJSON; "Phabricator logo in the site header.\n\n". " - **Wordmark**: Choose new text to display next to the logo. ". "By default, the header displays //Phabricator//.\n\n")), + $this->newOption('ui.favicons', 'wild', array()) + ->setSummary(pht('Customize favicons.')) + ->setDescription(pht('Customize favicons.')) + ->setLocked(true), $this->newOption('ui.footer-items', $footer_type, array()) ->setSummary( pht( diff --git a/src/applications/files/favicon/PhabricatorFaviconRef.php b/src/applications/files/favicon/PhabricatorFaviconRef.php new file mode 100644 index 0000000000..d6c2fd80a8 --- /dev/null +++ b/src/applications/files/favicon/PhabricatorFaviconRef.php @@ -0,0 +1,447 @@ +emblems = array(null, null, null, null); + } + + public function setViewer(PhabricatorUser $viewer) { + $this->viewer = $viewer; + return $this; + } + + public function getViewer() { + return $this->viewer; + } + + public function setWidth($width) { + $this->width = $width; + return $this; + } + + public function getWidth() { + return $this->width; + } + + public function setHeight($height) { + $this->height = $height; + return $this; + } + + public function getHeight() { + return $this->height; + } + + public function setEmblems(array $emblems) { + if (count($emblems) !== 4) { + throw new Exception( + pht( + 'Expected four elements in icon emblem list. To omit an emblem, '. + 'pass "null".')); + } + + $this->emblems = $emblems; + return $this; + } + + public function getEmblems() { + return $this->emblems; + } + + public function setURI($uri) { + $this->uri = $uri; + return $this; + } + + public function getURI() { + return $this->uri; + } + + public function setCacheKey($cache_key) { + $this->cacheKey = $cache_key; + return $this; + } + + public function getCacheKey() { + return $this->cacheKey; + } + + public function newDigest() { + return PhabricatorHash::digestForIndex(serialize($this->toDictionary())); + } + + public function toDictionary() { + return array( + 'width' => $this->width, + 'height' => $this->height, + 'emblems' => $this->emblems, + ); + } + + public static function newConfigurationDigest() { + $all_resources = self::getAllResources(); + + // Because we need to access this cache on every page, it's very sticky. + // Try to dirty it automatically if any relevant configuration changes. + $inputs = array( + 'resources' => $all_resources, + 'prod' => PhabricatorEnv::getProductionURI('/'), + 'cdn' => PhabricatorEnv::getEnvConfig('security.alternate-file-domain'), + 'havepng' => function_exists('imagepng'), + ); + + return PhabricatorHash::digestForIndex(serialize($inputs)); + } + + private static function getAllResources() { + $custom_resources = PhabricatorEnv::getEnvConfig('ui.favicons'); + + foreach ($custom_resources as $key => $custom_resource) { + $custom_resources[$key] = array( + 'source-type' => 'file', + 'default' => false, + ) + $custom_resource; + } + + $builtin_resources = self::getBuiltinResources(); + + return array_merge($builtin_resources, $custom_resources); + } + + private static function getBuiltinResources() { + return array( + array( + 'source-type' => 'builtin', + 'source' => 'favicon/default-76x76.png', + 'version' => 1, + 'width' => 76, + 'height' => 76, + 'default' => true, + ), + array( + 'source-type' => 'builtin', + 'source' => 'favicon/default-120x120.png', + 'version' => 1, + 'width' => 120, + 'height' => 120, + 'default' => true, + ), + array( + 'source-type' => 'builtin', + 'source' => 'favicon/default-128x128.png', + 'version' => 1, + 'width' => 128, + 'height' => 128, + 'default' => true, + ), + array( + 'source-type' => 'builtin', + 'source' => 'favicon/default-152x152.png', + 'version' => 1, + 'width' => 152, + 'height' => 152, + 'default' => true, + ), + array( + 'source-type' => 'builtin', + 'source' => 'favicon/dot-pink-64x64.png', + 'version' => 1, + 'width' => 64, + 'height' => 64, + 'emblem' => 'dot-pink', + 'default' => true, + ), + array( + 'source-type' => 'builtin', + 'source' => 'favicon/dot-red-64x64.png', + 'version' => 1, + 'width' => 64, + 'height' => 64, + 'emblem' => 'dot-red', + 'default' => true, + ), + ); + } + + public function newURI() { + $dst_w = $this->getWidth(); + $dst_h = $this->getHeight(); + + $template = $this->newTemplateFile(null, $dst_w, $dst_h); + $template_file = $template['file']; + + $cache = $this->loadCachedFile($template_file); + if ($cache) { + return $cache->getViewURI(); + } + + $data = $this->newCompositedFavicon($template); + + $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); + + $caught = null; + try { + $favicon_file = $this->newFaviconFile($data); + + $xform = id(new PhabricatorTransformedFile()) + ->setOriginalPHID($template_file->getPHID()) + ->setTransformedPHID($favicon_file->getPHID()) + ->setTransform($this->getCacheKey()); + + try { + $xform->save(); + } catch (AphrontDuplicateKeyQueryException $ex) { + unset($unguarded); + + $cache = $this->loadCachedFile($template_file); + if (!$cache) { + throw $ex; + } + + id(new PhabricatorDestructionEngine()) + ->destroyObject($favicon_file); + + return $cache->getViewURI(); + } + } catch (Exception $ex) { + $caught = $ex; + } + + unset($unguarded); + + if ($caught) { + throw $caught; + } + + return $favicon_file->getViewURI(); + } + + private function loadCachedFile(PhabricatorFile $template_file) { + $viewer = $this->getViewer(); + + $xform = id(new PhabricatorTransformedFile())->loadOneWhere( + 'originalPHID = %s AND transform = %s', + $template_file->getPHID(), + $this->getCacheKey()); + if (!$xform) { + return null; + } + + return id(new PhabricatorFileQuery()) + ->setViewer($viewer) + ->withPHIDs(array($xform->getTransformedPHID())) + ->executeOne(); + } + + private function newCompositedFavicon($template) { + $dst_w = $this->getWidth(); + $dst_h = $this->getHeight(); + $src_w = $template['width']; + $src_h = $template['height']; + + $template_data = $template['file']->loadFileData(); + + if (!function_exists('imagecreatefromstring')) { + return $template_data; + } + + $src = @imagecreatefromstring($template_data); + if (!$src) { + return $template_data; + } + + $dst = imagecreatetruecolor($dst_w, $dst_h); + imagesavealpha($dst, true); + + $transparent = imagecolorallocatealpha($dst, 0, 255, 0, 127); + imagefill($dst, 0, 0, $transparent); + + imagecopyresampled( + $dst, + $src, + 0, + 0, + 0, + 0, + $dst_w, + $dst_h, + $src_w, + $src_h); + + // Now, copy any icon emblems on top of the image. These are dots or other + // marks used to indicate status information. + $emblem_w = (int)floor(min($dst_w, $dst_h) / 2); + $emblem_h = $emblem_w; + foreach ($this->emblems as $key => $emblem) { + if ($emblem === null) { + continue; + } + + $emblem_template = $this->newTemplateFile( + $emblem, + $emblem_w, + $emblem_h); + + switch ($key) { + case 0: + $emblem_x = $dst_w - $emblem_w; + $emblem_y = 0; + break; + case 1: + $emblem_x = $dst_w - $emblem_w; + $emblem_y = $dst_h - $emblem_h; + break; + case 2: + $emblem_x = 0; + $emblem_y = $dst_h - $emblem_h; + break; + case 3: + $emblem_x = 0; + $emblem_y = 0; + break; + } + + $emblem_data = $emblem_template['file']->loadFileData(); + + $src = @imagecreatefromstring($emblem_data); + if (!$src) { + continue; + } + + imagecopyresampled( + $dst, + $src, + $emblem_x, + $emblem_y, + 0, + 0, + $emblem_w, + $emblem_h, + $emblem_template['width'], + $emblem_template['height']); + } + + return PhabricatorImageTransformer::saveImageDataInAnyFormat( + $dst, + 'image/png'); + } + + private function newTemplateFile($emblem, $width, $height) { + $all_resources = self::getAllResources(); + + $scores = array(); + $ratio = $width / $height; + foreach ($all_resources as $key => $resource) { + // We can't use an emblem resource for a different emblem, nor for an + // icon base. We also can't use an icon base as an emblem. That is, if + // we're looking for a picture of a red dot, we have to actually find + // a red dot, not just any image which happens to have a similar size. + if (idx($resource, 'emblem') !== $emblem) { + continue; + } + + $resource_width = $resource['width']; + $resource_height = $resource['height']; + + // Never use a resource with a different aspect ratio. + if (($resource_width / $resource_height) !== $ratio) { + continue; + } + + // Try to use custom resources instead of default resources. + if ($resource['default']) { + $default_score = 1; + } else { + $default_score = 0; + } + + $width_diff = ($resource_width - $width); + + // If we have to resize an image, we'd rather scale a larger image down + // than scale a smaller image up. + if ($width_diff < 0) { + $scale_score = 1; + } else { + $scale_score = 0; + } + + // Otherwise, we'd rather scale an image a little bit (ideally, zero) + // than scale an image a lot. + $width_score = abs($width_diff); + + $scores[$key] = id(new PhutilSortVector()) + ->addInt($default_score) + ->addInt($scale_score) + ->addInt($width_score); + } + + if (!$scores) { + if ($emblem === null) { + throw new Exception( + pht( + 'Found no background template resource for dimensions %dx%d.', + $width, + $height)); + } else { + throw new Exception( + pht( + 'Found no template resource (for emblem "%s") with dimensions '. + '%dx%d.', + $emblem, + $width, + $height)); + } + } + + $scores = msortv($scores, 'getSelf'); + $best_score = head_key($scores); + + $viewer = $this->getViewer(); + + $resource = $all_resources[$best_score]; + if ($resource['source-type'] === 'builtin') { + $file = PhabricatorFile::loadBuiltin($viewer, $resource['source']); + if (!$file) { + throw new Exception( + pht( + 'Failed to load favicon template builtin "%s".', + $resource['source'])); + } + } else { + $file = id(new PhabricatorFileQuery()) + ->setViewer($viewer) + ->withPHIDs(array($resource['source'])) + ->executeOne(); + if (!$file) { + throw new Exception( + pht( + 'Failed to load favicon template with PHID "%s".', + $resource['source'])); + } + } + + return array( + 'width' => $resource['width'], + 'height' => $resource['height'], + 'file' => $file, + ); + } + + private function newFaviconFile($data) { + return PhabricatorFile::newFromFileData( + $data, + array( + 'name' => 'favicon', + 'canCDN' => true, + )); + } + +} diff --git a/src/applications/files/favicon/PhabricatorFaviconRefQuery.php b/src/applications/files/favicon/PhabricatorFaviconRefQuery.php new file mode 100644 index 0000000000..f4e5556150 --- /dev/null +++ b/src/applications/files/favicon/PhabricatorFaviconRefQuery.php @@ -0,0 +1,55 @@ +refs = $refs; + return $this; + } + + public function execute() { + $viewer = PhabricatorUser::getOmnipotentUser(); + + $refs = $this->refs; + + $config_digest = PhabricatorFaviconRef::newConfigurationDigest(); + + $ref_map = array(); + foreach ($refs as $ref) { + $ref_digest = $ref->newDigest(); + $ref_key = "favicon({$config_digest},{$ref_digest},8)"; + + $ref + ->setViewer($viewer) + ->setCacheKey($ref_key); + + $ref_map[$ref_key] = $ref; + } + + $cache = PhabricatorCaches::getImmutableCache(); + $ref_hits = $cache->getKeys(array_keys($ref_map)); + + foreach ($ref_hits as $ref_key => $ref_uri) { + $ref_map[$ref_key]->setURI($ref_uri); + unset($ref_map[$ref_key]); + } + + if ($ref_map) { + $new_map = array(); + foreach ($ref_map as $ref_key => $ref) { + $ref_uri = $ref->newURI(); + $ref->setURI($ref_uri); + $new_map[$ref_key] = $ref_uri; + } + + $cache->setKeys($new_map); + } + + return $refs; + } + + +} diff --git a/src/applications/files/storage/PhabricatorFile.php b/src/applications/files/storage/PhabricatorFile.php index 29fb606a4b..60b4ca0e74 100644 --- a/src/applications/files/storage/PhabricatorFile.php +++ b/src/applications/files/storage/PhabricatorFile.php @@ -1152,7 +1152,6 @@ final class PhabricatorFile extends PhabricatorFileDAO $params = array( 'name' => $builtin->getBuiltinDisplayName(), - 'ttl.relative' => phutil_units('7 days in seconds'), 'canCDN' => true, 'builtin' => $key, ); @@ -1648,7 +1647,7 @@ final class PhabricatorFile extends PhabricatorFileDAO public function getFieldValuesForConduit() { return array( 'name' => $this->getName(), - 'dataURI' => $this->getCDNURI(), + 'dataURI' => $this->getCDNURI('data'), 'size' => (int)$this->getByteSize(), ); } diff --git a/src/applications/system/application/PhabricatorSystemApplication.php b/src/applications/system/application/PhabricatorSystemApplication.php index 7ce2b4dbe0..0ec8f6a7a4 100644 --- a/src/applications/system/application/PhabricatorSystemApplication.php +++ b/src/applications/system/application/PhabricatorSystemApplication.php @@ -26,7 +26,6 @@ final class PhabricatorSystemApplication extends PhabricatorApplication { '/readonly/' => array( '(?P[^/]+)/' => 'PhabricatorSystemReadOnlyController', ), - '/favicon.ico' => 'PhabricatorSystemFaviconController', ); } diff --git a/src/applications/system/controller/PhabricatorSystemFaviconController.php b/src/applications/system/controller/PhabricatorSystemFaviconController.php deleted file mode 100644 index d9a31cbcb6..0000000000 --- a/src/applications/system/controller/PhabricatorSystemFaviconController.php +++ /dev/null @@ -1,19 +0,0 @@ -setContent($content) - ->setMimeType('image/x-icon') - ->setCacheDurationInSeconds(phutil_units('24 hours in seconds')) - ->setCanCDN(true); - } -} diff --git a/src/view/page/PhabricatorBarePageView.php b/src/view/page/PhabricatorBarePageView.php index afdc482170..de421d9e70 100644 --- a/src/view/page/PhabricatorBarePageView.php +++ b/src/view/page/PhabricatorBarePageView.php @@ -71,6 +71,14 @@ class PhabricatorBarePageView extends AphrontPageView { )); } + $referrer_tag = phutil_tag( + 'meta', + array( + 'name' => 'referrer', + 'content' => 'no-referrer', + )); + + $mask_icon = phutil_tag( 'link', array( @@ -80,47 +88,7 @@ class PhabricatorBarePageView extends AphrontPageView { '/rsrc/favicons/mask-icon.svg'), )); - $icon_tag_76 = phutil_tag( - 'link', - array( - 'rel' => 'apple-touch-icon', - 'href' => celerity_get_resource_uri( - '/rsrc/favicons/apple-touch-icon-76x76.png'), - )); - - $icon_tag_120 = phutil_tag( - 'link', - array( - 'rel' => 'apple-touch-icon', - 'sizes' => '120x120', - 'href' => celerity_get_resource_uri( - '/rsrc/favicons/apple-touch-icon-120x120.png'), - )); - - $icon_tag_152 = phutil_tag( - 'link', - array( - 'rel' => 'apple-touch-icon', - 'sizes' => '152x152', - 'href' => celerity_get_resource_uri( - '/rsrc/favicons/apple-touch-icon-152x152.png'), - )); - - $favicon_tag = phutil_tag( - 'link', - array( - 'id' => 'favicon', - 'rel' => 'shortcut icon', - 'href' => celerity_get_resource_uri( - '/rsrc/favicons/favicon.ico'), - )); - - $referrer_tag = phutil_tag( - 'meta', - array( - 'name' => 'referrer', - 'content' => 'no-referrer', - )); + $favicon_links = $this->newFavicons(); $response = CelerityAPI::getStaticResourceResponse(); @@ -136,13 +104,10 @@ class PhabricatorBarePageView extends AphrontPageView { } return hsprintf( - '%s%s%s%s%s%s%s%s', + '%s%s%s%s%s', $viewport_tag, $mask_icon, - $icon_tag_76, - $icon_tag_120, - $icon_tag_152, - $favicon_tag, + $favicon_links, $referrer_tag, $response->renderResourcesOfType('css')); } @@ -156,4 +121,61 @@ class PhabricatorBarePageView extends AphrontPageView { return $response->renderResourcesOfType('js'); } + private function newFavicons() { + $favicon_refs = array( + array( + 'rel' => 'apple-touch-icon', + 'sizes' => '76x76', + 'width' => 76, + 'height' => 76, + ), + array( + 'rel' => 'apple-touch-icon', + 'sizes' => '120x120', + 'width' => 120, + 'height' => 120, + ), + array( + 'rel' => 'apple-touch-icon', + 'sizes' => '152x152', + 'width' => 152, + 'height' => 152, + ), + array( + 'rel' => 'icon', + 'id' => 'favicon', + 'width' => 64, + 'height' => 64, + ), + ); + + $fetch_refs = array(); + foreach ($favicon_refs as $key => $spec) { + $ref = id(new PhabricatorFaviconRef()) + ->setWidth($spec['width']) + ->setHeight($spec['height']); + + $favicon_refs[$key]['ref'] = $ref; + $fetch_refs[] = $ref; + } + + id(new PhabricatorFaviconRefQuery()) + ->withRefs($fetch_refs) + ->execute(); + + $favicon_links = array(); + foreach ($favicon_refs as $spec) { + $favicon_links[] = phutil_tag( + 'link', + array( + 'rel' => $spec['rel'], + 'sizes' => idx($spec, 'sizes'), + 'id' => idx($spec, 'id'), + 'href' => $spec['ref']->getURI(), + )); + } + + return $favicon_links; + } + } diff --git a/src/view/page/menu/PhabricatorMainMenuView.php b/src/view/page/menu/PhabricatorMainMenuView.php index ad9510f348..583952b0a9 100644 --- a/src/view/page/menu/PhabricatorMainMenuView.php +++ b/src/view/page/menu/PhabricatorMainMenuView.php @@ -23,15 +23,29 @@ final class PhabricatorMainMenuView extends AphrontView { return $this->controller; } - private function getFaviconURI($type = null) { - switch ($type) { - case 'message': - return celerity_get_resource_uri('/rsrc/favicons/favicon-message.ico'); - case 'mention': - return celerity_get_resource_uri('/rsrc/favicons/favicon-mention.ico'); - default: - return celerity_get_resource_uri('/rsrc/favicons/favicon.ico'); - } + private static function getFavicons() { + $refs = array(); + + $refs['favicon'] = id(new PhabricatorFaviconRef()) + ->setWidth(64) + ->setHeight(64); + + $refs['message_favicon'] = id(new PhabricatorFaviconRef()) + ->setWidth(64) + ->setHeight(64) + ->setEmblems( + array( + 'dot-pink', + null, + null, + null, + )); + + id(new PhabricatorFaviconRefQuery()) + ->withRefs($refs) + ->execute(); + + return mpull($refs, 'getURI'); } public function render() { @@ -428,10 +442,7 @@ final class PhabricatorMainMenuView extends AphrontView { 'countType' => $conpherence_data['countType'], 'countNumber' => $message_count_number, 'unreadClass' => 'message-unread', - 'favicon' => $this->getFaviconURI('default'), - 'message_favicon' => $this->getFaviconURI('message'), - 'mention_favicon' => $this->getFaviconURI('mention'), - )); + ) + self::getFavicons()); $message_notification_dropdown = javelin_tag( 'div', @@ -509,10 +520,7 @@ final class PhabricatorMainMenuView extends AphrontView { 'countType' => $notification_data['countType'], 'countNumber' => $count_number, 'unreadClass' => 'alert-unread', - 'favicon' => $this->getFaviconURI('default'), - 'message_favicon' => $this->getFaviconURI('message'), - 'mention_favicon' => $this->getFaviconURI('mention'), - )); + ) + self::getFavicons()); $notification_dropdown = javelin_tag( 'div', @@ -594,10 +602,7 @@ final class PhabricatorMainMenuView extends AphrontView { 'countType' => null, 'countNumber' => null, 'unreadClass' => 'setup-unread', - 'favicon' => $this->getFaviconURI('default'), - 'message_favicon' => $this->getFaviconURI('message'), - 'mention_favicon' => $this->getFaviconURI('mention'), - )); + ) + self::getFavicons()); $setup_notification_dropdown = javelin_tag( 'div', diff --git a/webroot/favicon.ico b/webroot/favicon.ico deleted file mode 100644 index f07770aa8af41bf586735e246c954f2fddbf57ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 diff --git a/webroot/rsrc/favicons/apple-touch-icon-144x144.png b/webroot/rsrc/favicons/apple-touch-icon-144x144.png deleted file mode 100644 index 92f2114b205565d9029e10ede56cdf23827ee1e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13270 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 bFYpXZa^goDzqnxc>i`sG)nqEAOuzjf>K7hx diff --git a/webroot/rsrc/favicons/apple-touch-icon-57x57.png b/webroot/rsrc/favicons/apple-touch-icon-57x57.png deleted file mode 100644 index 55df0a48e555448b1f3fe3a7dc055c0c0fddbea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3806 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 diff --git a/webroot/rsrc/favicons/favicon-196x196.png b/webroot/rsrc/favicons/favicon-196x196.png deleted file mode 100644 index bf30eb1cf82a8f81e1547ad2f9871940ab2cbdda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26744 zcmXtfRa6{J*Dmhv?h>33T!RH?5^S)+B?Nbd;O_43?(QxDg1b9}!QJ8TerNp`-F-8w zcdhBFEsunLSC&CXAwhwHfilQu`ps1kaq{P+SGEO?dDe8mM zVsA%|=V+WK{B@y7Avqyoq$JYPaQOKlq3yl-4rL@|CL7rr(F^AWNa@wa%v9x~z3q z{h3b7f&^bI8sAyqn`!aE&8n`pG*OT^7F_Pr#B4~PSz~#@#-J2Y5H!@@ zDF-UYe)7(Eyc#LgQj3LUJA8HpQJu*$ggQK_LU^lQ{TQKA@A}b4rBxRd3JZ$P;^Yr1 zvaGi9*w!c4tukhUWB0oy>*=iDPU(C(`qcujPd6`io1X68ONEZX)+oZ^GVH3O#pRv0 zXuA7aHHi`aBr+@C96(genMNa{S3V^AvGh-@~f8Qe4D; zGSk}cCl34EA>_8%WlO=`^4l-7fY`1b=xl`&}lp6U&_ag3V6ox)cd25pdj*2)_q(lp_0AgSv_q6Bf<0M4VSDt{1GA+(M4GcX1Z*EjpV9~&|mGYC`Y;qu2Y`JKsTr+dZTZjWxhpQ5ED2H3;*$*J{DN{b69cygHbvhZ)c)bwc(;zAOATNG7@I@kdrJ21K8 z@JAzE1`uwj`#Y1R?sJOjC<^eNKO@=iKLyIll_1}b;1`oG;sw^~U zm<$tG1Y+vy>dwQIju(=~0AiQ-p100qJ8-%E=obu>g~GobS=w-f7-@#Qn02I+ z7Tftt)yPVd{|RR8voj8F9fQxhv|sSU`=2YKufXm$T^NzJQ{G*_FEZ=)JD0&?KoCe> zIVwP?@JLp{W=d_Q8Z+B2RY0E#ZHYj_nIzeN!BG=9CGF1;*iYzleT}IPrN^A;KT_Sv zcQ6T1Y6YLRMM|FFtE3?t3h@*qEl3`M|3ZS)WBlfI`eX9-jdk2mF~+Q+hiw2cPMY$u z^gM<;H}2yQ z=FS=l#K60B`1F6t?Q%>tbAL-j=aivBJ+0zWkA9p!JO-mYAPcOwpYmSkIRd&Y<}Uj6 z429$tmZlsQQyeuHAKDB+LfYV;ITxWGdGIr?{>(h$U0hu<>Zls${`0r;(H^$~cJ|exM=J#_Qur4=^jqP4+#PYn z^U0-~=I46x9PK~t*pzG`#6Tx8SR(4pilUf&ORmuoo3x z^LtvIO;uyBm||bH$D7UdQU2r+|2QZwAAsDZrdrlA)WSrPvIgd&x+NXPniA>0UOA|r z&TQdPIP^M@Sk#VD`R!mqeHT5jL=?4KmNvFITJChA-J-Y$p_i5F09H+I2amztrQ)~U zzkgY=;%BGaKmwyh1s?B)h8%!Y0vaB3P^j>}eUlFW1-h3}j?^YrevT?g&@eiypQrc-OiPj!+RzoaBDJo`pur6{%MI0Pk8 z@`O}xFzIfaZ7|QQ0D&&@z`^qC6$Eq65~!r)XzWHZ60%)i89e1p%2AXI#wW!VIwZ7p zTKKo<$$tSq-JFTuA_B7<2j5_ySz+RUURMwt*HpLfO1HsnV!};!+ji55{J}Z0IN1E{ z?72AB=O{KmsRmt9bpu)rTzQlHf+>DqrWI#p3Q}94SjME0xojSew0~t0f96marz;W| zmu1yJp2@-D&H%4m=&*}=--uM|sLP-X^UCOw@-s7mb~zh7fUp+>69m#bC|oW)jRT_B z|J4$}%V0jHSCji|jl8ZYP;}ZHr9%u$Irw(}y7jrrdfCGbG%_x!!NO;q7$DDmx?F$U zkX}XZI`Wa92oKM06y&wqPKAU2aDh6=WUDT^jGr3TS(GI|(Pw!)&D)ARJcM_%Cy$c5 zDB-<(Kgq`pr{R@{>2L_x-l&^rf8GHMN>JCD0^-k6f-L9nL9ce(aBGWSD^9&OqrNXp zU`5`6!G%I9Rdq_~-6g4R_xatg26uU=;IHzqLYC>VgIJKg1`HX!%|Z))F&?S~)Og5*lge*Vf0>_!oZEZ-U0_;1aio^d_iIX+HcN}tp*gR6B~AWTtm9EzmZ z?TCyby3BmevM9V3)Gwu6Vvq0h3HYk73dxwJT2=BzvM;-8F0-}jiCT~hO7Fw-EtG5)oobcTJrKw%7PC) z(9x0I+i~w!i%m+jTVnNFs5Qs(G9(qpDuz{#NIm3avxgN=9W|B<3(l<;JCs>^Z63F^ zW+lsJxllOOesY*r0V#0f7@8~;zO=md4^KCK>4~2rtGI$yZ7rIE5oHMP>QNVP3HiZ) z!l*-@%m%O;x^Of{6+W7kj?b4xw%OC2t2XI8@WhMWY4uvW`*)k$kfFH!^52`B+g*fw z9$ltbF=R$nh!=CKmMYhv#D>JxeT+u~rikiu*2VF~1$KZ$;RuHgflUajwo9*Royw^V z`Qf_#*na-=>Aa&fb1IVsurpZ^RJzw9!ctefVDy$}`dUrty_xXzblU0bl&flV{YiNR zs_=0-ajx~>TH?GZkOAO$sV1+JCD+D+3j?*%WL>{AahV*wV*53Fuu2EDi@dPmn5fF! zU0c~+TihAV093h!E$Hg+(JtLUZf>>FSLpx$0|b$;(^3b7O*QE6sVw2{$(Vg`8gnO=vF>qt}4yRKxOIC zbhwG9a&bf8?dpd=!d>Q=t2j$*)b{N59EgFN_B2e({oel(QMu(f*PEBys+z|kdL)OV zL<-+0<|HEog9y7a3|?w2ih_>bLt7?dD-51h*TCshjGH`C3MF#Q%XPtSTn%s4a+%O& zC#JaF;QF#~jJbTrX6HSF=WF_OnN0XFmOBld=A`Ish^o>muXD4m>m{-z=CW-Q^H{zs z*m<^DJmI)t1&G-)9*ep7B0Yux;(O~_Bq4E`(|{oKsOp!VXC*P)ce~67mKBJWZ+5&K zB)5WQb+xajVv>IS(q3HWdAr)ZC!I3SD&Hs!7uB`!Z7S>@UpE~ci67#z-JXG7jP5?a z{rF((r|KNgN*dy>o)E4>%@LMVveXL+DkPWyC8fk>dON#5cUIXzCTp%jr3Y@|@grNH z9rKcl^=d_@6ZX*xLr(GeUq1s;WMH+h6?0N?)sZEY-^eLj4jMtrpp!?a0)$bXZ;k`?-_GPZ-tJ^3yv84c*MWQU%TCJ} zRQcgsqfvZxABm1?f>;PfwRpU*+}6t{Gm`$Smj7AFEmUJ}Cxn`tzy)L5cmH+i_HO1+ zG8}Y{wbC*E{o6@*)X{4D@Ms4xysnD+5#l;xI_ii~Yi12fF1PKtA8%_L_vdae^`Z+! z#Jj|1|2o6TE=}|+We%B6(l!&F-#qiG8{XY%6d=&3k9`Q=S-^iawz0>P}p4Kvi?nyHZt{U z!_*HsEzqB5Q6M0?dk-gOA~~$te znEQRODF|X|^Kv_OCfQs~^Z2AtoUh5cV;OuNtqKrC38vtN5;riJa20;L+~IyXxc8PJ zdLqc@NHwRn+u)PgS>1ec-;s|R zC#`{*1Aqo~kxnDHp0>E&V{RS~nJ}s`VV$ird@+>b-);L2s&=mrn<9di6M5H#1TdX6 zSk=^VU0g>Fu_0Q@y5h=d2AzQlReqLa_IAD1>?I!eHlT~!SpEJHMzld2kRZbbhLiOv zbdT7k8>QBb+!+*5qWi*1&Ik|?2MT(iB-W~ktW1>38c8~nXG~_`GK$zn|XsTD6eG5iP z&ugCKZ0Gbb2`SK0IMKcCnu%v9kninnjnw%3^;OjyRx11i%7a)As%5L<2mkAyVaa-> zarl;p?SjY4o;jw`@Wc>7@1X)r5B*{EQ1irn$MM7+5{`jBrp@c;o+O zme9b$-(TK+J#Oo@J7>(;Xoq+tW;&A1qZKu4uKqSXoQ=_Pmh|pftj6x@gE3SxhF5*{ z*JLO}9KeGs#CbDhW))`2%1C{3w@|G%74G#JzfxO$_i@q2P+gzDx)#v=HS-zte=XnLoe;$)%;sB>b94l!bpI6Sa_twH zQusn{yT3DSp!LdFcyBO)s$ja~fCm>CX+JomH_`o~=QjD}#}ioZ<1nX>-O3|*D3;qpq- z-fD~Ln-Qn0DcWdI<#zh1pRZ^k;Z{Wzk)r3d2Qc;V$6P{e-t=JlwbBswnEY8ONLt)A zlDm6G@f{8`sL64HC^iMHYA+p4l;Q(}h=i2ot-?kQ)8wsBWq$G(sZ!Rw{W~-*k5}C% z?JO;ypsP3T?@2mr=3lso$ByJjg(p!$S)q;&m6Dj{!!pwCd96}qKx;ss$z{Pc`)RzK$4 z7IV6+g8fDP7cF!=h#-TR7M+K+5@-q#eT6iOrgZ+3FovHSdm6E|oS$XsnBzp4sCD>; z2bl+ctt?W}Az7#3ymglj8%4eJ>YS8sfq0a&a1cst`G~*TJp3fzcGpH&YtkL4lOon&Uy z?Z|ugkM4f3Z2N7{F2xGKTPp*qYhTL!4oj~J`+K6Y2zNv5;u*8;pcdy*egpk{8@^VY zwlLKjRWvr}KgEqBgV-NU;b+A|9}j5Zscrg(aJ`+#=fAeRy6T zCY&nLLullzAPPYwv9<%9Pk1NLnq_OTGVBNpe-I!Gov?zI3clPOk^;a1oVrTfXCrKnD$ zO^Vhwh&{FwQre-%l-gR@Tg{sY7wy8BquAVVsma3WEEb`KF%nuiX6?{QAkS;z)y_iB z|I=2n<4EY|Y}-nU%^dxV(<(Owe+lJ~zPB9SNne&5domLyriK0Yk6o>xF&F8ac*&E!b6!kM;20?H(e!J*=D%5zqzk&h2`J*|c~BF&sc9;tAYU_q z4v8jYC%u@fS7pQ+S%I4C(B5x_?(%$Xper1RfxYX^ z+^z2U==Y}Zf?{%|REcQNBm+L4sxPec6C_{APFI>n))5b>BQf;5%F2*_vsO~b(x&VS zZCuqbq`49;VmV~qvYjx) zi(?TK?vfy&^E(x@z7G@tIU>B`vVMG{NH|N&XZ%I8+rjN8J6GEAZ3u?#lsDBR-H;S> zP@Os1m?XXm@wI8C>Fe^=>yy!imnZJ+xRQm98od+rSM}Pj74E{EzqWtuqhv%hQr+GV zBLqxjBSrPe{>GK=2@H29brG>{w;D{_1}M7U_St4S??|dOmqxY6mGLE~EeS|!f30)> z=+R`dGdzSa(Qw6Cdmu`!Vw`6DKQBz-3+x*9d);x8A>C@sl9$?YPjxPCE``zZ#w7a8 zcqmP4vNcvF!^3M;%?2WM&0{fBm{E&_b2_g$E&sjl8PezsDmg1V5A*xwHSyK|CyCnT z`^6Vr`9cRE$q8K-u1@(KpP0^;MjxHrD3cYdPFnI!TQGn)?1H#hC`t5l)q$2RTnVqRS-~mJskNr~(~eu9LNm@29C=H!{C?HF*vnryeBpLh|KmG& zD7cruz0UNooPC*(+kUW{9>4DjV|agrj`YG6C^4w@3~#Haf8vlM?!2OA)3or$Y57EP zOP0vT!;@ReqzIQEBX@&b=Q}+v&a+JpT#Z zbvEmZ1M*oB4m+>YXkpeRTc@jf1yUKh%XO#m5^EtR!`MsP(^Cp_jQMZgZlCI2XnCp$ z9-%-x19cbKPCmzl*821Z+Bd?N1N7EwE_;?W80=#2zFz)^^eJ4*@J0W$tGoeut0sq1 z*b4;^Dy9lL?(NXC015~Xu)NdD@qF5r%#)X&=iNC3nxIztWQo?|w)}i&ZQ|xBdD894 zON)PRj>ayv)?-(dW4)-#fwfaH0ShvP2Y1=+=TrtjqZ~el8&jo5Y#IyV8%>D0>~FOB z2ZkH}2-HU+O?R9Am0y`Ti;jPBZdJjq()cQAXon9^0Va?fb`RF}nIKRm}Sd&DqTa|u^+0vPbObd?dlG zovzUv(-~T-xH_ELuc`Y`iC+vNgV%$4eYRaZxV%HwGKuve*m) z$2V&A&T&E#my^Hy1dmq@!efym@@&&xI34Unof@*VmRJG`*5oJl>ITS<3dpj#!)rH$ zujV(t|D@I!#PfUQy9|3(Iz!|J({4#I(_dD88zWUSYuMTJyGPeR;~MbsCWU!>{Tdxl zB9&UlJcvTls1_TjlxvYdPL@}IhUv2bK;ShgO{V^h%b98%Sx=A)xiGBZr2WifkuBU0 zg`SgVz%kYGyu51g&~WH&|2g&grJ2D-+$Lk_7HcTeR|I1Pp8&>Z8X3Z_%D2)YKAMyA znahTU9JutVk{Pl3o#O3fE+L(iR6&|Vv0U{eU~J$lMu$C~Is0Rs#Z_9}_90)~sH-Ap zE3gSiT#wkXWvR1JM?Janzd;g&irB&8hou6C2MKM!)zH8aljKi#BDY@vUC5G*$sC%> z$3iR@%Kb->MY;O1NVyien&Fs+_=|*g2zeWgocD@Slv%PrJKajVsO6$98P|U#fx4jb z=Du8u;>}sy@s-|3-FSH{W#S`hMCj3g>Nd>fu*w0TLzV0{?MIb`GG?Sf=6S& zmJYu$u;lA$fw@H&V$<_%|5DYFh6mP7V}+lDl;gOT;M`A!>qLjE{}e0h)hMs~HQb$8 z*s!uXIa2=WvU#8ZOH8>Ew3Sd`JG%NYS~^I!t`&&Tl$|f=bE(HRaX_+ojqhq2k442) zkj0sRQk1G^56eBWASL1u1V1JY{YzQzIjJF$B}EorrrsLp>3Gc%ZF#4EQy3rkRxT(o z%*9w`>#C``AzJ=|HyNSor*@K*O(?u_bh2X7;0SBd0(0UNa&Z@D#{yh|ppOZu_{GQH ze)-4Ziy5Zlh1F@5_OvUj>@mu4{JYz!wkZQG9n`q$YyqUAcbZ{ApMzCbc23KTgsPpo zgEDHdO4XEHsHuOFQP+2)vuzpn$~LLQ@=m=V{u`R~y-hp4F2)yxs%Q}xvx;~J*Ihr= zWGbl>=w}eM`sA?KvhCdXe=$~;+H~3#r8W#{Vu~hF39J9{*>2aV9{plFk~bW8=T(R# zo(2;i=9@L)$HEmaTW^_>G=Y;4>Uk$?EaqBvc*%tt20^%8;cu_*#B&&hC<}-)XV`^&sjTVz*2BC(uO3VUF zg35G1LsV(Q8dDpt(G|8*tmy;$)BQSaZ#f75M7zW@gM5~QvgC#)LwR(E@b?rOQ2W+d zwil*I+ai}>frzqH>`}D?9f1N$HKeu6rzseeloFHWjv7n|{FvP>l4A*j=44Kxza~lj zpBA8jrWD?OrDH!lt^VEkGRfBU)*w&q}K-mvK3G9pv*PC#pCp9MlbyPVHyR>}F zRnxZB6hAuq$#YSTR^;kljG~1;5-R~Z_vG{BYL`F_R85!7m#WT3KF!9vYdQ|usO~&2 z0CXel1=T^rlb0ON>;}D{;LZOQF z&YE~NRL5Ec-i_v_VEEK6)$g%OEnf`x_*dj8+&i$uP8yP;SPV|4@mP&(b{0dGPpJCO zROaH_hK^S8#_Dcvl9u^j%FhQqDAZHd_Y*D8#ha4V6ph#s^sYsiRJ-2{x2JGx?+ZqkJzVTn-2yRGp<$lNdt*u_(6ttNB8IMkF%!bGG!x!=G@u+ z;89)9GTrSB+aA58d>OWt=5q1$h05>h>Qc3uU#XFtdAcnq;8n!6!R^;A^iB!e8_+6Lg}}oug#){qSK>>_hG7@6ebPTm(VDXk7E?& z@ej<3KM)eAHdZC@&UTsk5dc_KE%53bt3EI#<7Ls?^1KvWiB|B{z5GUEMFPSbDz0FE zyPlDL9>oQoEELkRx4T8ucSZ-Zb{KxL-*#m*8eeHk!RCC0u~*WZ`^tblo<5E*K?~0_ z*!v%0@A)y!t}9Ik8K!ick^~uY{>R^Eh_R)l6)y_*7W9Zvh!`pBTF7MjSaj=EAhJtjPu2x3pChBl#_KQGG3@A2x{cUcp2 z7WEV1N3|R8ave1PqsfmKYz65c7z|tRsK3-i(5=)(Ms)7?wOZejaPp&s(5$ta^K=YD zEBh-P^op*)29LZy75bh;*~u(C3wu@cu18rpD!blhx2`V)p8{y7+SHv*#vAkm{LGg2 z1zUiEa>php6$vCR>mSvh^O&Xd2g?dXg&NB6XmBlbL{30mZw|XW>_CxUEv)=QmUX}H=d8rK z`72{6JX%?A_<7su!EHod)E&fRt#W(14vR=x6Ya?^-GS|u179E>Z7rV4hVP(wK&*`>0k;7Dl`?I><%59tCbWYbKLW71%fFvj)g1( z0jemAqsKb6o(r_+D4Q8?o-bzG7t_csi5b=Zy56p|Wic27dWdTi|0D~$C!40O-S++` zutC=Ju9+rN?%=cRm3sl1#Y7(yV&|30DpDv?X#9ry-jaI^5HL70<{mKsJqr?QSn!`7Wc38ArO=*;pxq)-P_oPhASiWLQ zU?n3ZHRr9-LAZ#?;}P`eWrXHqV|p^c*-=#Sn;n?7|7H_kkDJd=3OhYIuVlbaj8RT{ z<8v(;6ISMWK5)V?AE-2zNc(wEg<9zO=9-!uR0qrHby357hd@hR+*soZzDHtT7T1+* z!!MB14ZM_XT)MDwCypY=5u?$}Kif5#*SpM40?)QOZ&p}GjLYe@!2?_2n1Zo_OvWI@ zr{>?Es6q+VT5CC>3IDYEmq3htGhfLbg3EjYuU?~aGJ9+_+zt8{)Y%5AHnaynPu_*uc~ zAiB+D@iU9L_RbhXy<{hFeJT@E{I5;QW&Xtbl#v*m2y9eA9!?5l_y$8Ha)org+s5SQ z@Hnme=wW?bq1eFzY;Ty~ELJS@*vQ*=J4$rDSZH^w0gpA6DBl*Z3~sUjZF^3@*^u1R zxm@xnQ6tW8*>-RU=qK^vhw@_{Bc_2Mdl_v~y{e(OG2Q(SRuEPa;eNQHH9Rs3I}@%X zORmz~r4@W2NCLXR%}G#zx+Y*JC87K)?M=CJ9jUWoz49{Hh1V#uDz)b8X$UA=CZ1Gd z$`di-aik9DvM9L<>2C6x-om%ans*1TYJ}yhbexZC`^aRu5r4eMA7jr%SkX^YSDelM zgg;!iN~g)gmylty2UXR~V9KYH^DHC&^G%FrI$JO(QM|CGE8*KavA!4r<-{vpl0WBJ z6hUT)BHTO+5&HZ?LBps?ML2{nTXD0eNJ;;s-F|k#MP<|)8jAJ7WDrZ1So25QTZ-^& zq>`~$&N#uQmctqM;G-NzN9c&^=CeG^!9l^nOrzQQVasK4_i*&vq1RuXnuN=$J&82{ z4FEN%Ekng`Y{bmYzSm1kDdiHM8nOPcrFaU z@x7FVj2jajabdv|4sblCq?BTJDCuUq0HeU))$?7X-A_*60Y2V>)56U|+>%Is?E_kA zdCd~b&Gq`d6XsJ}#aUNtVyd@u5V$;}g(Dr_<+Rs8Hq zZ9Z9O;xUtDYt5oCzZi|a2|=j9%w(L%Ncxw(J29h!U{svGLWvvXCHl37#98%hbBR_w zxDY+3)?>ct-4VI!WrmH^kciB>cw|kTvnHL3Mf0Ma34O7kq9O)HN(&T-wqjjVb3H+n zaBZYQ)T-;rK&05Kh=xZKJAOB;mKPD_Pu;iWGG~7%DkRC!c}r1BgLFb0$hMt-k7BGn z?A$GyI>44vm_x*Fvt!mkhu)bhav{>o&E{8ZR8g&}$C)z| zsT_OC?OA}h6V^9TG7PF+7=@JyVo1VQSua&La6#Cj|5K z&sbkDPkDdLR-09Sy%|=p>3YRX`Rtgrk)_a%(sP}tM|%Nc`4dhEmF0fmEc|@sG=|Ro zQtnT^Pa;<`lDl7FV3_W(>&FaUc4Iqcqt8kgCI^Uonct!1z)bA9I^=FWAg)#^jX-u4 z4Zt+#pz&B~1~#(NnxSVTwZ_Kow+R^}R$c0&K>IkTs-CXgk_y3>FWUSw*I*SahXTeJ zO@3?U*{)woxIAwGbue@DCVhU3dhaK-^$tjqXX{kWn8#gK7&os2977i3Cr0E8E z;X_PqO5;FdB?uLQI7rg7_oH>6Rz4ky`iPDSr3Vgy=?6RCcGPdm{ts=8DRLa5Nf*^; zOU417@7$)n!mlssnq5ZLelin?&Z#ju(uX+Kg>>wR6u9y9<*I0;A{;uk2p@vbgMDgC zzL0*iLT;kXy`R5O>{r*LcOs7{uMqZ9Y3s*u+`u|Cs{_BWLOUMy^qWh8H8%Z4A`f6+ z@WH{K&ckCz%rzS*#S2*DQM!WpE~bQ*!?*4o4)1qH8m#;aUhgB=lxAV;=D z_cuU#a|$9mWA`!aKXg8f;yuF=w$M$)=Z8&wanF7X4$O>f;RRmQtmeyY*2J-gqxI;m z+apRXbJVj%;n*#}h`8G$;;cd(V~rd+B9)IbDeoz^)w1>`s9g|;E(cmGGC`-`FFr)| zdXyq!nTy{P%~qE=4|Acuh?+ef$89Ut{Bl@KEW517!qj44w55T(l<@r#qsi-st#v$# z^Src<_7ay*){}kbFKQ%Kdqg~&(h1strU|tul&GlwgUZ#5tMc=MxMWL7@x=Bx%j;f7 z9Sj|IKEoXjioxSqF+c6rM46o@uwrg=V2Cd3`QQ#a1eYc$n$DppD;jZrxc)AJy(T}TfL{J-CowLVfORlGD6SQaLlG>L7~KG3 z&@0Na5O|-6GcHvddSAPZv5!X*f{bAwSwIm+C#m3c7O=-VMPO4R3T{J=n->ZGr`+FW z2#&KT3ZWL$0~qQ9aNFjF42TXb!z?W044fxBZU~y@ZHLi;+1YOUPQdu%nm>u6pe7U+ zjjAs;ID^>Uj&1djnX3aXQxzBaHWhQUlem4$nv?p*f2-{>3;>O8MU2EVu2xzA}#KVmBjlSBn`; zB1FAqLK&~@3J=QtElkV3dFj_x&v}0A`A~F3r`x{Mk|>y3LOs;8WGCqsZQ^@$eR0gn z{Tz;XfI~Myt}9$7Yz3YvM;&3IM&oVzbneBuIpWW9TK0V8zuslc_>ujhQ!Y1#lh8`u zsCx4~dHRJN!Lja~tx$LTnl%_&q*p@lA5I5|fg_@S%mJv6I&lqNz6A-7(Z6}otn_V} zZqR!3)j*Wj_KoHjAxoWYvfTcWYvz#S2HQVY0Y0luUsCU<-+xV-F|CHU2r2`hL~aWvT&hi&D-x4&{)_)T zA%>^V0XhP?-VbCbCU}%@%_?hj=bV%zGuao)nA*n~0j@#xWwBfFDLkcX&FbeI_-H3+ zMpIa+#v9R_b)-n8DhpsWFpIDV-hXXlBbO2ZecOu^k}8{+F5r5=V^=K+crFVkfQyf= zyR7GPk-gks4rffCDlIRjBxv7P8btSfkfZtgdj!K5R(9v4 zQ1>@^rkik5x#*c+EO~5NJtDGTS6OCj{mmNK^d>7<9(|3!w3(_t`+-f&Rc=hAz!{QD zLOnIl^&z$okUwCdvK-k;up4Yt8n*YdH8jeh_n3I|*PkOCMU#9xtxg3wjWjw|BG&x! zHYDnXfr`Y@)C|WpSYvNe&D>8l7faF&QB7fQK!Tky#Wm}d4pSYqp??$IHf0IxG^iZa z$u!9NANex;3BgiAEzQIHOVw67AdCv@Z9XHZm~AKI`$L5c453m5KmNiT5YflPTWxyV z#J(Fq;>Hpp_ej8W+or!iJmbO)MQ^G<7_hY(^U(^J*nf}vP@F$F5>!YckS(lCER2_K zl8KxzO{etIAFbmOJx?&#T_9l-wV5c!Gkorg5!68J?z@yX!EuV>JqZ!My1U682%KUN)fhPCHfQcnq z4AG0bj5Jo(wDpv(aq;|tf{j8&Wht79a+cz=fJ*-To1GPj7Pc>g4@$xwSf^bER)GzU z@3_k+Ci!`kUs-*lO`WG8=LP!CQe~JD{gk)H1<++==+^tbhG^a zetcv(D-v96a;0PfqYzgkpHqnv+|KEb?eb>Rgd&B}`q-os=&u3N)TXpP3wIQlgsy9` zIWV8Cmc`&qVTi`7utvaxuFy+8%et#IYHt?h>Kb7BnoPkaNh&xKB9aMsVyMD@aTf}~ zQbhF1nm|!^jnui`!ahpa!G;<32=x+Xja*QBn&RVLtgj_bYXyvwI9AHX8DzphiCbj) zYH;#(@qz@`cm?IRdV1PN}KpXiJv!8LyfDvdct{pt;*vTVOB zhp4e;!1ySJQhNx|g8})Trz?%t{!yo^MzagnY2Vn~by(s}xlIv#vwUXhG0mSp&3}My zm1X6u6l(JEKjx&HGV1ookPI_rb)?L87|V+Zd7D0$-nwLxF3eO9eT72zXbK~WDCJ(} zpxMngub4Y!>NQK0ts;;}mZ5aajk&YD7yI>K_-}Ri4Y&O!CInNM?Vg-rzx9?F4*KbA zzF+TD_`~dgS!zOs%Z0xnKT^p?4oi2&hs@bAla&0Fz6QqJ(ydZ=thRxw4fJU^s$)fH zz0EO|8BY5b$zAt(zpo51N?YovMyS*&4V3&3H`Sp=x5tinEUJ#shE*1vJ5?8Wq+(EJ z2`U)AoAKitke@+F+pf-j;L-J-fBZy%vhel6MdFIA>v5$#F)9gjqq=%KacT%$W0FH4 zh_2waSi{8xTZlBHL3cdr-#0b{t+M0udavAwrbW1e)c~^I&f`;pv zcU1@eUPCo%vsVaWtaSY~W7h$vv2C~uC&k}(x&gL?GH|>iOb`Jh9V5c#3CoIT>bzyX z^r$MYiX%mc>=SvsU)ATWqjF(cEPnPVo={_|tNJ{3m>Y}{c656kzr{z5J0Ygou305J z8r-LSYOouO#lI8t+Tr22!9UpnTHrxnbbNN<`4989|051-?G>Al2tbUhQPkfeM&!Q< z>-C$)QtcA>r@ac!Z-mh@+e~4)mV{QBzKtjhcRsca1bjEj&eDHbx(u%1(Uk6Nn zY3GI21H>pcU!!ZsQ9^VC@%^CkWhg9KLlSI^!}8_DM{#X%tWClR3~Cl8aN;vXl&8OD z3qmZ%4$+fI;afY$i{m44~d;k&lywnyCdF8ubHtEitKcEku z{*^#WQBc(tw6mCm=GR4rv-3ORtu)vqj{0+aI+(Oz8gsu`qDO+!wI4ZZ`L`C&b2@s> zNy_W=!KVtPKGW9%YYLy^aR6$dWAb zPLX|sm|$3Z9EYNMT-k-knRJ0!HXLn6C>sm6Hea=g0f%13aBb%sgIJ1ShRHjFPvSnG zV8KafNux<4*$WC>IUn}K0SiX*#4TFetJ5Y^ExbjBfUz=EYP)R##_cc#-Joe}tEl9r{c^XPrH?g@8r-i$jd>I?I4+KGiOIGA?k2Thkn7L?Wb>Hu zvv>aE{&2Kibdl2oQx&G`<7`orcPwVx@Vze99rMJMS_FI+$ES;gm{7CB2b6?dvDLKH z)v*^n&)4P_Ej`=KEgY^#RvHVBA!CVRj(_cR9Urxj{GfakTzhUt|4hU|TWMXd3!NFQ zxR33lo#?IFYfaTZpD83P*SW}t2uv46oMHH+cs9{6*u{|Jog!$m7^t}nEk+OSCuf|k zk&mnhTqUZ*D5w&g7)m1Se0Z^NC?XP_yACW`p}x5!g@3)eaaNOMHrFEais>qmgF3BSZS~lYG2nX~q(MAs>zCWJVrYA5WQ`=3q z=G(7LOa7HF+TX7A`5`&g>A>dNYcirCNS75zkv%Je8UFV0$j*?h{>RVKM$ls5`^!Tb z>i16sTzl}vRwaX+)}|8QUO3XO+>w0CByy`h_{ntt51G#0N$o04AA4L>GJRBtGQ3=X zF)JLrdCSg-5GgwSne`v=KORYKwIk56z9m);~JX*3AtEYq6(l!`{ zDaWf%Rmae8c%fPIi?No%ereCY47yvCCiCcZ0{rm6f0)hZtuoEvCIO8Atau5@+SvmKfQRLB4P_M~8U6_U%j z*bAzPiNjB^3aJQ5H&~-JwEr&<(uhGTak-R*{ zo4+HWG^NYBm{y>pVzt8j^-O5cG8)E>+YZaVU&~(=E`76m_VMaG*jwjtO(i9)@RgxK zQp@hVJBhmF)AjpMaPnz7B6BJI)3RnMb?j|@Vj)0nIV-#V&>m*_mO;uCms|H_{e_yz z#vPTEEMNY0v-g-1MvHH0;^Bd`eC^ZLm{X-hAA}#&6zyMX{4e{@Gf8dLkWPO+-&D>- zN2J_%A>17E$RJ@O7!o0T9M!pQVTJqQ(`6*1v^kE;qY4onTBLd!72lY|e+QI$0Us8G zPQMNHiO9eC(otg~WnwQM z3|kLJb$`iraADO>;!JiUDNt^0ONYPC03i5gr(5JgRN7S&?es6b3ei8B85zwgrKRHo zZKez|B*F{CT5`?app+Q>4t0PjGfXZoNEINnA3j}q5{dPUk;aCz8@y#A?d@c z09wq|O^74Vq<>6Tr*uupxmSHh&$Kto`ROvH`KQ2!+p(m=CM%hCl$8q92(O3AMSW!+kzq9X@_PP_lqc zLIf)GmZ%}YWZ0eL5_#S9raW%LbUcg-xw$TQ94fr4Rrw`0+O8t#3wd})P=M($$QoR& z*5kQsN2C~ii!2FuLxoS7tki3X+7;DAY4kD!N40JlI67-=+;S9(?@-&E&T5oO#Mamg z2XcHpH#{wePQ<@?p0WpGnKdDQmAU?mlnH~agaf&e`lN~rKny&NY!>U=Ck4oS*k#zZ zP0-yJP^4E6i6ewxr;w8tf|}UyV9-QN#K`RbQCV%);yNC34E`TKQ2)UXENe%9Kzh_t zHxn+!%BNHHzuBJdmtmjJ7YY3lP68nhmCXkXgq>gpJj_3jDSKd-+hImB%HeUHrnO-Q z^~N zkucg7apQ~}li$%=B;f=kDVPfLf!n$^`w}M>yQ?Frt#to&30r3`WS74;%qJ`~Tdbo5 zqZ5bp2cb3C1zbi~mEH@_xHRiJsgL?wUiV3hWh1e#c<_5TJsU77adbabJ+jDZNgA+C z9p&@^IedGc?>tp+DdEJiP^kO-5$>}OHVt7y|MWs=!%q4WmiYNsd{4=Q@2{K^MwO7a z?ZoL#W5xblZ;#8XL3{Wb5m;MzB4fV_{=cfuGANEN+S)^KcXxt21P>laa0oCkxCeK4 z2u=v@?ryrmFkYsqWMJti9ILi2jExnA!}x;|7{S zc{*L13Pxnv$$hR|s!Spz+G^j-4wI)uQl^0DL_7IHI)PIg&oeMx_Ums8Jn2yQo3rLN z`z$RsaxxFdR{(^%8fQA4jDNh?*_SWpm*q_U2oR6%nU_kR00-4>f${h9V7l_zM- zx5s!Y&4d5nW0L-4d2^Vq`Fk8LFiopF&b=_3GG;U16C%N{BzC<(q7>$gx*7yES z@SQ<$;6I4P)B|vo=A1;c12Icb>>=?7R!gqeM4w!@Jy6|PXZ7_&&1%e{pPNzO6{a?k z&mS6ge!yE!9aqaE6?`%2`Z;a?aY;sD%&3V1rVg7#XZ;vWZjJ2(SaW_{3()@|Q!@NX zn~KZ>C}r?;r$4|)%sLsWe(SXwJ}GE+@9WA^4CN>s1pH37M!7bB=}9*S8PCG~m{6?P zm%<7EQyj031j{L%6Vl>JkNoCHyr~)8sk0~-@lnLR&v<$BrrJmTh@P?gqLfi^TyS6E zBumt~ldXyK*olo}qj=Jr>4)Q+J@>Gy>D{jy_1;7{N35lnRSWaYf>8R z^2bRYGtE7uV(LjB0`YT-Pb*@NP-Ty3EQBEOPlmJ**!_dBq<`|KsKsH@aPtokIkz-KzP3*o;OZZhszFkdMjc?bv%vr$bU#ezE#h zkMqZVSXGub6+~7aVgp;~VY7)v?QyZqqh;?fwxa$8MGMCsQMi)hLFH_1 z#vG47PXeA__xd|obHmsO>(=%9EUZt(n`1L`h*^wPU5|pTkFXx;TZ|7wNLZ#%@e_UN zbGGXYoN3%0jH2}lLn&+Uk|g25YNVN|oJKRp%P;Oj>Ql>ggbZ-YrRKZVDSfZD>s&F< zPn{n8RWgc9mN`7VSz<~cGN<3sW&EzJKjvdfsPV3C}aNfX-F)~G52 z+guiB?NsjR9s1Qvx**!2E~Gl-g{5tmK2>;dl6mPc)C1I51vk6Sm0%44tVA->dicQ#HK&T!y3oXszt!#8fl;lvn0S=0(>qeRZtcm%x{@F!;$-G9 zjY&&`_qG#E>HL-nvvEgZH_Rt&VRF+pBbI@WEN2vfh$0?V$CQ%5QiS9o{(K8QCru&! z`dR^swO!u!rOplEfOUk+&3$fZl&+k;Gz!EPPqita5Rx|*Cbnc3rlq)^vVX4|+L{f+6y#{v|)ZG69adVu&f zpBsv44R+}S>J^Y=ai0oQ@cHZ{U_ZmcXc`i1xU~3**&GWy=reiFNzB1S7G1e2q|s@5 zgkj*nou#Emkz4mWGbyh@r2lMtSf}=i1z!8nV<~g|^31t>7W+?^znsf9os_rOmxQRT zA+G79=ab;u_f#_S1|5n50%p>AjmE%){l$!V<#8yjQIo}sbufrnrg%A2)gGld`B~56 zmBrzD6BuK(2I8E*H-281A9R77&)`eE#qaWm~jY3+qr^U25PBQ?qz$=BL4{Vuk1~u-YRU3d3I^_+`R^RTXj*6SUG9CzWFAxEe`RQP&6yUbj3bB; zQX$l;jBpz>B~=$-y|H4oVZwK9Bi3Tjw3(G`Q7Bqk13_0{9Q5ZB#NEXHDW7L{%BRlD@K+2-FYlW%S~<)81hJT-PVf{9`5(L~oU6+LUyaRnEfc@Aw#=5KMJsb;|(b?;GEK!MTHpFy>)W z^(8p(kw~v)4xFZ6#aySVSK}|_=jE>zUiYlSQuR{p;n@8S8UM@+=lgC$LdmC_KX7EE zE}CjsyeqJs5-=M1p&=SYm^9`!2?#sL+( zzm~Mf17tf8H=~&O+@*ldT3Qc_UvZooz_U)Xj+Do$?G?7mdq^m!hhbJz4$ZHM)=4S1 z_!bqTouZmnHwbGcj@EE{tCt|#P>7$WS~Cdwdl~FD?)iO1^%M(LuV5iV{*uvrQsV5- zmvf{SM;lX;rYrSZDE&wM3Ppv0OynAl{x5`uGtZTgN6nHNYRkNUN3Kwu)LQtK9^#ZR zwRMOv%GY{*hs-$`4vExu&QTOE@=J~+AHHmM9J9uk-ziHNMb;xWC{$hBC9M+VQyZ+K{y zv!+(+891SuRD(VA6-RS-6Y0mC`EH(DP)YwIC(To z$YoE=d~SZxF5x{P%1rTegE-8E&erP48%DkR895H0p4b=9V1dmPf zB_gDD2O-K>2>bOiv8F%r3G;exB&}K1cgx;|AyJj6-?d9f@b7|Q#%O9&krErmqA+@o z44P0VXJ|d&bgyG|Vx*BCVq#LCAv#4!jYzVG1W|XaPoD&jRnB=A4Q9l--`grxYD@x0 zS2F?y;@z@RzVJJP(H7070c#`#6jZVkl_W?=UBdd0t#CFiMx zd(oo)6_x?W;L{S-x{|k4R+1Px?Un1DsvrJVuuSo69UhKxBTgDltB|fZwfB*3Y1nsm z_e%-^^E2&Q=OJ#3c&pkf)+pNE%tx38VMHI?XJgsE*eQwF-Iyk**1`0rzcn!UR#XVV z{MN@-gQ7P?8o$2({15$dw(5~(eZBzrlPu^Q;;~WPb-FzRq8R~isNHI2)E_ep)jd*^ zjb8Ymr~b)m`0y)iD9JXgw%DJ+g0m{I%)jK0Oq{lSto(!-s|NlTY4eVf@oaj7i*2=> zAMs|ys$-1ayx!hWX`OHD>X%%v$IZ!Kw-ATKxEDzsr1hTG%DPI{aN-=_E9Dy%%&~X4 z*te|to{2CUR8@EAb7`OpTVfVZGvgx-<7_huPj+R@+1-PB@A z*6i$5;ZOqlrlUtLv zgU5yP`Kz}mZ757C_}-2sxdU9hsp+g=a~xXjHCds|}DauApg>^k5>9PiwuS5}bS5 zNY5KvDfWYL;vW?|C?gaR^1yeGG5R;=5z2))=x-V@cps)`fAF*=4<=hw#M`Qki11?TE-lM`9}%t<%^%mfuD^Jn|S2Uo01) z7`?Ttx{4f4j?%tr+a6eY^g1jK;Oqc&xVM<}I2ZV_R-M`F&4*=h!hT@RH1yxVNw20g z^?c`jK_HD7Mix7q1q%jYuIgp`RQu@e&+X9%<3>iw+*5t+^_t2elCQB0#ye$<=+v%a z9+!=nwsGCq#J9HxBJ@l5FN4{VK%n!}>*R+WwM<*~IMe?Ime8Oia(-q{4`pK*F6qr( zwH1tg|L}{tDrNpL*mEy6s7-0mknG)&ZZq!o^xnHGi4^%_|0%*xdWbf<+s}Xy?d_-< z`Sz7$GIK35f=**kLN3a@)Z$TSMJ4Cp_Lt6_k?+$De`~*2AZO?cu;XcEy+rZz@68$M z0NoWP`LOmJDx71N<6bZL@5He4^I$K%87O{^5f8Hg=$`<`^cCAk$IR?7K^x{$Uul?} z!_uaUWFz$c)5^`thLX)crB;Q@^5dkSzQ=sU@JM&2^(P|jNeimzAJ>W%1nr9>bWQ)@ zTDCjmv|3PzrJ*02&uBGHw}sZ!Ut)O9;S(04NN<fOS8K>w+pY@+*#c8a3%kW+rkaN^%)4Ir zpk!`Wy(-QEB_&9y7n|ehO1`g6n9ZvdL@!WujF|}PTl!Y}l>?!0^A$;iC>E+wB{6Ra z4I$Ilf|D35{rUM%o6lbG%`2)%wyo7@Y?MCRQAGtP?eCsDLqi22$x{`ZnOG*pH!R^4);uGV;e*-v?sGp?k z`1Z@IMW6opYrLkmpw-w$$D6Z`iGt~Y{kR^>NwE%|K&moCLq_Z~EJ_xd_joS6!znE=!I{>r4wq{{71tjf0}^B+znL2i(qSjtvYdZ^GO7{r5t~H#Z zhLiyvx)v{JT1&xGY#x6r^N$aqzk$ozK^4+Tx8;`hZD!J&{($Agz=vGx3>-SqhZx*I zk)8bDxbj&pZ!MbYZmS1Tz+8Js?YvWMBSM&>SjaA6E#x}3#)$71??fz|pA$iDDlBBj z{XBupV>_|+>n=jJ$XN6MyO5tYe6^ujoQGw4f>B@8yu%+4=D$KUkc)v2lwAPvBih~q zf}4ldK!d+-@%3A}PFnEZL{RWuBs5NvTr$%kpV{gQwIso$U3)3gJ#_Ma{d)!~XlgeW z32oav(t_kF7}uVd*Pe`f_JG&eWcupQnAo^RKSAHpBgSD9*r68?A)6PFnoo<3U2Cpd z$$g)KSlBt<#Fgh-07k_r_mIgfl1g5@{eAsi(#`zoj84v)`mjnM-?wQR5srLu-K z6eO<*QqeTYB#~?{8NT+PZ$t)Fo`za;C`Y zvlYPcm^cbfB_>Rc?@RSkhq-#&J$cP_-WX-UoTWt~bT*@yiI9xne5HB{*zB&~Pk3Cn zmD@THT3-1RugI&T6_$H{hWRfz2Gwm?GdY^~90vi_j*czUkbnDYB);e8FE@gK;Gpri z;jAP?4b^|U(vIE06UX*B>|=c0 z1cBLF;#k@5iB&7H51vtKa0^CG(dwQj1bgqkYsBS*QdHn|6N%z{E@eXbs%CJYVR4i} zwIRweQRI8}aQuC;2QpVP%!zrtCUS*leT_%hj-F5@diD9?<}7wbRT$}Q++mD#D>@SV&&NuD{2Xv;`3zLO*G?U6gOTe<;z zAbs8DvQ;OL(+|UZVSCOVA8m0dqmTZ%Fvd_z|L_oXEKgB{32dqS(!!CJ<+R@&x0xci z=18R6LpU=#_nTQgL#w9JY1BP!<2M+|Vj5Kj-|G(Mc@DT*PQP06UFaCUtBTbMOwMIr z@^rUr!%`!6zkq|M>U4c1+&;iYYBJ|Nqt!XB2&1V>)SU}L;#tXLUa*HQSJky&&U0}Y z{MZ9ooW(3AiCAfNVz;O<(7d&!g_8*s)Ej)bcCKeicTVNKf78or>?FJ4{9bB_wlpd~ z`3;Ip5KJKdwV)B(KlS0?2U-+7DL0q{@0XEyv|wqVIaKy=&UZiaBS_ThQ}AUzJ2B)P ztx7Zg8yFHvP~Tr%Md(INnb`BvLm>5H5E6H>vU8aJ&Joou9sn{cdU!*cmCiX^xBG}@ zlE6Uk=@)YXO$Yh6YlJF(|0cPiNq(9gr zruUk*OTrdTDyyhYb3qisU?PjN(eQ0(qnZb7mRRHr`r$&En|CF^*n4BxG_GHvIFrb! zQL1Q>s0#+<|3A`EIu)!G`*N7W7VDynhgJm@-c{q|k!P(a+f~%AK6Ho11wg;}KgF(b zhNN@xe~8MOW$ZLKo~z;BTKM4fi}qpj6~EL#Xv;b@%Rb#eCOc;i`Th1H$GOY|=JLLL zovf$JGAstWT08w!ExZq!p(H^v%Psa=D-Vq?BBhS!RC5*PYi%^zsw2{B|4<}}PPs&9#xQ@hJZvpn-RWUVAyC}F2*;>NVwz&Ig$gEzMVMpdAO zoB`cXsCq5MP?bK3ar;e-0l{i$D~Fq@r+~- z_FTrJikq|;xtjFq9@U;X8ML@2<{)=lg$>iTeEoA4?61$~kYpJbCw-`nKi_gt^TyHf zaVVQxVP|SFE&P1i4)1J}y@u!f?P%P(qa^h{_C){-ku+hONBY%?2++sl@(lSJJKJgg z!%MZ}g5jv(>~GxzMl$1zPTm?hqmi;Enqn=cw4-uz$?0P#Mk(1(2Q1@~PtTTvnpG&R*&8+eYo6X!WC#0R?`9%1!$ z05=u9O$<6qQp40z{5<7TTo;;L(JYjO5`H}J-QHjRQ?77a_#?J?WtA3{WwPElgn8BU zZH3Mh4gx}vgA%1Wm>uxWF$%nljXVF;bxXLnD(3Yv_W!J{bf-y#ojRGChpdoyG+6$L zo@bZWSzEgwPgw6PWi%QUcjnx=pXN_X>G%ZSSd*W$!I1 z{-A^6%#XW#x%rf!VqX<&|L2UVCs+vh-bmuPhXuyB_GLoQh#E~s+YYgh62F4Ha4B(+ zt$gtaPu*&@Ulw44DY19uPe>4*lMdHk?qi-tqn@2XKijWVvi3VCq~J-@SVmlpKg}fm zUmBlV#JcL)^Z!td2f#03>_^jl<$>xw>3Hg~#bdk%4=#htZkPZB!O=MjHMas&?{4~^nW zxv%`NF!hsaJr>OIJ0ld-M)QCLFF6I3AHg%QCr?~po$hVCKbDj}_E4?-H%3dz!y-0( z9mIOVVgms$(z#N^uSY$;P(QOR<#q8Qm^dInJ_X5dPs|sA0e8c0D`)1oU^-XtcE7|# z=JoL13LPL|R-rQI{gmtBhsyXFPf5Kdv=c$C%ZUMLJ4WEG0A@2>O=MG@X97JQjhC*$1e`_ z8P=cZ6-Xo=o!qkpX!Wh9(Psu9&-&%D(_oOOHRzCz5*iyS^E>Bu`QLH2#1Hl@%kxT9 z+2y)x7OYx?t%lCS3*QEFc~3IvBR^Zs^V6m1w^p;n!YtibWl%97POj$gdjjuC7Uq=* zSK@QuWiINc<9is-js@chle(2$W|GKQ#|r)&OX#jg)YE<%Uas?FY^|v-h)hSH+hkUq>uP3_8)@R?>sXgc7`=5w+{xEc;y9mu6 z@^h4(S}l*|ixi4IMZgdiE_03O5)rcq1NG#B_V$9W{HTZilQ80?v(Tv!yi>Q|3n_FC z!Nr_Nlq?mFYL)va#7%+5P((>zBDXSxKN(>jV(B)d+N$WBf9fI)cy`Gv0#d$}9Y#MC zPND{w%*ajZvUl)db8}L=)548n7M|%$5B!DyxR7s21Q6R+ll`v>&I;f@Q-GFcv6URA zE0$ULYxx=l-e+i;kLRZP6mdGT3i2cV$E%|9dmJ!I8&Re_u-PRe&%7Ne!Q*mmRt1kQ zyMVOUrt>gBMr&bAs(P7MGwJ?jK{LBWKrwAX^#70fdPHf}$DX)0q07Cy*rM#7k?HFW zo}U=-%e{HU6G&VV$BExA9znrP`5YQ2>ZWnWn?dddLmSXD*T~}I#EQQJ0^g8Fl}Cgk z>L-vg`{4_w#mfMA4s-?IelBt9#mFl_)?k~p|7Fy&&E1mh|7jLYVnXNoZf#&`qk_Ka z;_BC_o)>?ELo_SO}Z@1 zTEjf@*aagWASXu=r#@-~Sn~`wjcsYP%->Vfuw2E#UK@P6Ox4rl@a`t+-W!JTF4$34 zwEeYa%*MRK^4&e-Xu&i%n3lN$kEyTwNmW=%endZQx)wB*lI?h6jyR%_<_Fhy4AGq# zXf?Q|+e3EcTpk=wTj(rs4H^j1T7gMBUcEMdz(LkQbEJTP&ZVvzJUudl9J1F~~Ac-=p+r z;{3&t?fp${9K$n6Vg@@%0D76p3Tf%Jr2U%Yf&~_mkw)IC*{~3%inok%Y6dSjoI}BD zL+$&y8Sgs{lCMizEho&*##S<}-@p6kuzWe+EB5#K5TZ04u&L8vBJ(n|dV;}awIJ!9 zu}O=XQ7_>`9~#c-@Ni4dia+mrN7xc^E5jK?DV^B>5&BLl8vG4AK8rlEr=@eZJ58_E zAN)jcR-|&GEvVTbclaekD0Ffh;3W@Dq@;`^Jd<$RDXLxP>O${A-x$ON<~$& z&Gx=wQQu#^w(W*~7ce}oT65lsX>h|eF>8h z;cq$4?v%y!6YH1-s7JTT#VCzTT@))rZRza)xW(5}jWe3$993T3`1^YHXc%exN)<%M z@dR{oe&%8L|tx_>6 z$>$?uc#~B?)=ktT0X20(-zP!0)wN%Wi$6D}<6G^7gDWttFaZvWNNHR{^O9r3WElQ? zRO$^%-I3L^RIwR-9(}=I^bPS0|F-^1*@Ni|9TgOj#+#=84RWYCHbMZmkj@fKG0y^5P-FvM6YiHUiO)9^@7`lmo!uJy zZFv~X6~0ZQ6!GjB7MrgEB3XLOoi2;FV0H4-Lj~;)hM>6_45{90QeBp$aV=AVCCE4Z4usoxl z03_9BMC#v8x;hl|3Rf~*q#DDAvm!0mg1g|=87We%tTybZ1w$o1y@_nWodn0iakqRK7)b)wHWf924l6Bhn7_6|mQbf>V`kmu)K3FwDpsqGVHr)e{ge zs1$3*;-o*0R0Vc7C^4>IvM7?u6@(wU{HmcTB$W10KBm!CR-$B8OtaxKD)jB!%HWMjio^E!Z3zOfFtgYwnYBmA(c^XX) zlHRT8>LC1|9is3OmZNgT;6pu84ia_}kdDS;XQhYr{1R|>bu#N z1z(3#bQGzinRO-u)KvM~O;|k0mB{C>{0v{9C=c|uk6Q33{L{x{q=>gwj%%49VG$4C zyRj2HIRU%w5y15rHyl9bfjT%l8>Dks*gvqlIXYU!%BclRh0cq&7x!|5E<8o-6&{%M zp0-j5GHg?$t~5`hcKr0=BKi(_KmF-Z80`H!`&Nc6S1Ip0OKIYM zsOU1RXgdj*^rJK752(=8l=pLh=aJ!Xw=cFd>^Ba8NJWVe=ED&`@S(c(^9F1PY7t?& z`IGteSOeOqInh+$`f|3^xO4L)xLWdQ0!8%+x_}gDAETwwKaMCwhbu;-pCh~xp1z4+ zg~t?bOV1u$CvkKs_#VwZfGD(Awje`4y7>mE^SS#Ok=gi67$7g*0sEp5KwefwrdHbc G>;C{DbN2NB diff --git a/webroot/rsrc/favicons/favicon-32x32.png b/webroot/rsrc/favicons/favicon-32x32.png deleted file mode 100644 index c6f2a75566f7888970319499a8bc714b02733096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1421 zcmV;81#cYjt--(cpo>o*nVJNIM9thP`95Q_w(;gT>zoGiLGIVrwbrA(|3 z2^NnA;+OMJ6AVVP{Ag8EVM}}O8oS*g2*fFmN7^#d6cu^7n$lQl_`p*IV0~;8m6g|( z)HJkhp(u(BgxDJdK{!@w)dvgmvx`JRfi>U&hK*+Vr=?}p#*sU7o`%>P(kO}k^TL9h z7$2*_2;j=V@ciw&4mDXGS;PJf@+kyQ6W!mtbF(Hv9&^D{PIwN6jb^z&@)^^g!@AYW z@!kIIn3p((1_agGt##DqPFn7UHE(R}`Qw6ymy=|p$W z6^8tmj$Tw8Z}w?3X0?T~9#}yTpG_SQY~yxTJs}ned^QgGZ!SYxY7#@fNSWx<5y|CZ zVR8aPp84{8ELA7_v=NI0qeQqQ%;2q9^Li%Mzoqq=ggIGiq%L@o{ucxXTi<;H;WL@V zibs+t`ZyoUmMR&#a7mbfjFUz84jFFE_f)7-e4hXSAW0G>MVrvxc^Q5BAqa&*SdylI zEGE+D{3iht*tqsJG@k3G$>U_vy<~DyeDmqET^l?V)%C4Nnj>R%n68?Kbk#h+bG*@b zu8Sc{PKs|PRm#MA9*?wnR>M}^MI8R&BuE|?F3N?-h#AmkrutnKU${DW1J`euKoA^I zP6{VabdIY52fOt@z76B!^j?9_=dlL3QmZ~V)vmh>Q9*uoku*x8_h&R_eM}=i{NqXN zJ@7NW{~vi0A3|j{ zJx3IC|J|9=mYDLm7snJ1pv^k+uQ!MIP)00000NkvXXu0mjfiE^8= diff --git a/webroot/rsrc/favicons/favicon-96x96.png b/webroot/rsrc/favicons/favicon-96x96.png deleted file mode 100644 index 5f0522be65a4b554c4673f71b1bdfc6eec3bca14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6371 zcmai(WmHsc)b|GkgrQ4@1`%OkkZz=;QBpu^7*a|pNy(wRMY=&crAHbRm;pv4q=)Vh zxGCWoKD=wa&!=at6JPe;=UjW8Yw!L0pD1lj6%rsl5C8y>sHrOIV(+l~lK>xk#eDG+ z2LM17YKro2ytCKMeEg`D{sdIK6SPQ{OJ*Z%BPYPcdAMR64te>Kc}p|4A3{T6I>AwQub%US#YYovAs5Jd=Q6k?w zbk1xwLVr6D;lP$tOi1t%62kp&sVJBY=xl&pbPQJQpUGLw=GTK;3)hN6^^z#|9gG`g zYC`KEBTdbe0Bs|EM@hGv-mg?j19W9$P&K~FuREGx8##csOj7z6^4`J0FVD{p(o(0z zIDD461IPlHY=E^6!45vuy$z5)e&XFuFHKdj4FOw~tgHQH&WtlDb5_0V-P&nPx^pp3 zDh>en-~muOh>}?&p|S_; z7>{&X+Y7P4gX3QV8GuvX>X4L~t20ehPGUy0q`ynvd_F6pnuEw$0O;W4B+s7d47ggUAWZw3$;3xEDtPNANE-ORHC#o3>hhHW%ZQFVy4EER=~v+QtE#0hcNa zhKw?vABv5V%oMa}U5-8`~wjBGa-;dCs1-#yZ1=j|xVmDQz? zT#;iD`Rf8WTqUfb1RkzYFBSg0L0pU$`>ZOH&9cr6@lih&>73J8mml2-PxLaVG4aS> zUi+1~)lI8@91d@SZAugJ`>F0^PH&85(o&)at6=y@3@xzTt-5#)(<1w?u((Q4NqVco z?R#`b=Z#T3LsUW>xADo9drFGrkok!SpR(O0>eIV|R6+IDDyY~~YZk4UGI7}Sbl9)OYnMJ*C(n)^ zcZVp|_K%epx6d(v>cZ*ms@faN!M!S-5HX*uh-oIzk@$yWH8<9OIrCwi8-G|L>i(L4 zx#~?F3J=^s{)Fm~JKt#G47V23e|yV=cS-Zt*k#8%CL=A+>GtEjC->|yJ09Ud;;DvL zgS&H2lb2z&xyogfkk9Va78!6eWaQ-#KWMUxb1;E9dbKR3-ew3#CG1kzSej9RKu`$3 z$V!2@c{3ma9W8~k8;l$3@3A;)gw6DXqDtl)u(+G;n)B^Z%YvsA&!(TbsVqQ8XXVE* z2<}=G!TO9_Vf6mxFP0nmPU`Ek!_IGt2oAQiOK02Tfv+16g zV}&xSs;;}d%^^~{i}98n)Hr#hS(^d+{eAXqH9~&cz)Ena$cgF4sS@JU`j&$c`P18S zK9%GOik;W85yuA=XRv*UoVTO4cemVm6=XD5U{FU#Em!P=K5Q2yy?43sY0?CO+<^P_ zunjI(q-mHlLt4KwKNJv|)H8P`%;<2LEikcZ(YrvKj+4ImF9^l7dUQFglpBo?*pqUh z)<~}ni~Cloes>yMk6ia4d>AXey27$`&@tpDwWWR>jV#c!uAIwr&CX^H461<_XYo6ar6(^l`Rd<^w;CO#}h>yqCz5AnBX7 zmiJnp|M6h0?aMMN(+vqWArkk^S8sAS*>Eiil#i+jQnl}3+KdqKv(x(s(mwLUV{ypy zRNd018_kWA`F8 zke%YLnv&p=D+cbBGf0w!d`=o|yf$I+Z=&1^;^4U3-2mBx;FUn|&v)4v?0!eHsgfx~ zz4UnJtXa{eOJ7nSf4699FU)&qw;J6-d$&hu*u}YJ<|F@zG>6gsVy4YrVI%d>f|c~u zC8e2F!3%QoClZo8Gl!9)prOr16p!S()dNE8Sr#W13PfTWcUdn>v)7 zeLq=Y+Rmwo-eA+|Q$p|YBQ&EFeFUYa4ENon-FwOreGU2GZpm=fov@(g-x70+j#yLN zJ`J#H=M&7=QU1LtGoM+Tb^RCCx#7v16Qe}%8!1C56^ET&UBx;4K^sN*aR=>MXIh%! z*-SeRpGg|6b-i%2QJ2kdCF;@tz&HD%p6nboT0HDC|DU=Cb?r;ns9w4_>zVd8uFHX#ss0;PopF{`VMy z(N7=TDu2ZX5wdw-Mb&$6{De%no-5Wst$85OY=F>0W{qa{JZGFdr4wgx{8n~G>~Jo(PX+9zMXA$k)39a{nnNxO zeJ;->x%NaK#~JW^NHf4(uWlAFhDlgOk>3|Np%Ly1%TNaRfZSeI$dD~yoF`Ac=QX?7 z5TGYTPh};zpA`B?(E-j_?c*E5GNx{rw)o+lz%^}`iv1-Mfs-=W6lVVdppbvJv0P7= ziteJcXKlvz^^e2u_%xz250z@eb+v(~K3{nxJ@%HVXb3Q*OMIz#07<5hp++=^XMX0< z?M=!rpHUxqnzY|Kw0ujd?4ccQm}k_ZS}c)^4_vu~Eu1o|67Tp-roQ&r{TgIt&|qYk z$J~z%3*YsuC=vPWLwvDr#KhXvL$2JI$RmDYhRlizyt^5fxjOP#dKqo$gJpdC{2fXm zm3VUy-Vt;>st`lmZDE}Re`;vT)t?mpM97L?EX$i^T)}bq=W0Y$b5K8&l$dr1tVvDt zE)qIkMZ5Sa-PAftoaHHoO#vh=YHJtcD>U_tAwIV=sIbw{rLu~Wgv6kUP?S|h6bOFN z0fQ|)vf#)4_C>}_a-hIjT`Zfc9rr(|_TSa}(TOv(?rJBqgF6XapZAs@ZmlY;_=Fw)2ud%8t7WJYj{}AHA`dlmB?Yq>j;@juTx(H`;~xSJFdouf z%UW;$9xk++yfYxZy7-5X6uND*=gYlb*Ugp)N47jORCH9+HHtf3Osi-)- zDsgOt#FX$%^*Y%v55phqYgfc_*hAtBAZGQCAsRFzZttuOB_DKOvpDw}ej;tFi}E!! z(D|KFURCk><42;h*Sf7mL}0J7O4(G)9)`oBs>0z-*3G$2s#fpI@Q9jyOLz6a%N^dE z&1IcDkHS=V3H6Afb8qwfq4aKnWhFL?(S4QKksLbN1PS*ww56kcs@H<{Ro ze_=kK`(Nqtc+pN?F>?c2=a1OdiNG#xu10!72JU>wTT@;gW4VL;OhAVhHMtrEFHT+0 zFNz+fhj?3Y>>wZ4a&19#=-#2sJ$Co)2Hx?R{{3mvIA?U@vo5(elQXut&6w>Qv5R#_ zV0j?PbZ_IyHJVOu;P7CvGGqW9Np8g;M#nRtE@cqEg=K&hl+oZ*VX4PZ{(c6F$GZLBPKr}2XV@j4~7xCnXZ;bQ)R9}>WLAB z^RVr$xT_T`axk$)33&Tmt%X)ai=e)@{z%8&RYP7EvMbtftPrE9+_dgYla$KF zqb`MqLtXl#8M^%t5Sj#)mWUGvCavwGZIS)MAYxykWnR3W+mU^^dYrL}*zuauf3ih% zrTJyBlMfdx z6oRlj@d(qHVtreq%_bt=X$JE3Je(X&ImRnH-GVn;DAyub^{l0CY<_A)5|FKKg(-Xl z+vp)(Vx@9Ri{yjH$*oB4`D>ftYZJbu+s#^&jRQo-{jS5^7<0 zH~d_GhwSO5)mRTnrpLVAz@8rb2$>*TCt^|91iUQY3Y2%6gdv?sdV3pjxrGKBptZ|; zgXGL$Dw#8&Un0-gWZK^@nwe@RKEZz$r!_>RB|B(Ny|if(TJ4yQ3kmQbCBE@jHn!)S zArDfdSFpI*7AIvy}o_AA-Zq%O`)bdYR&0jsGHvkB{!|(Acmz3d*$%xSitdG~>Fx znTm-P%Pb$b4`qo>g(eOxOwz?%(lwn3I6Mr(4exRvovzsjmdQ-gI;Yr_|<+k&tLhW>vvVN|ZV>}_7lbdcY*xy>Q zBh!el)2F@)qe;dEG{*s|1of;kb&y&7=#EI$`dbtlMt|HWL3MmemBA(LNvgD2lV4m# z`5B)_A+{$nAx_~Css@^@jj)!g$LK{trMVFEH#6YKGPpHOk(!i;^}mI zO;949GtFML#ho6@heSJB$(>rNtb6O!Ye&h&)Yk8e{Mv;0@~J<{u3q`ZTv#Qz1>qBx z3eIC$o`vRssN!qYZKjKt8V|%|ITH?mO@CLgmdywg?fEn1bS3a(@t+FJzD{yNONcoM zb}TMcw-jPdwKCQJ$>OFB&5Y0mW|@nZC{veg&y=A=nR zCr+ifxo9SU-Xk`wPNQ3*^W5s2ajTeKQcsJF2+?0Y^I z%_0%aVnXA#kpK_8~n}Av@2#&hWx>2V)fveRf2*?D>yH8%ys~{`Ab7x10Qs&-kyh z#818-TXU6Q*-jR5$Csq3?<0cCEzKfvup}iRR`c>&klSB3_b!Mq!@iPDH^CQ(hJ%C1 zWbY^$x^4`FQqboN4Vla7ap?=w2<$wCQGzFzb;3(Q~Dm zpnBpP7_kDYC6^UYm0u?~Oq#1^2|}CZ$g5Rav)H>}sd~Ymk{Gm7PNfW?f|ARdy#UL) z?)6DvA0n0mj-<5NqY?>jmc*kAAz`)bOB@f&b5-=7K}K1zpbFGuJXFPs1X?XNQe!zn zb-&Ini#&cZG&K*0pN{W-kQGqF1g~ zk`E>S@PIFfntHC_-=&(-wuHh6t+8ykUSfWv%Q%dn0g24LP|pYdKsC$Y;mFmoaphAB zi+#fI;J-}#@h=*h_|Y04@Y&`+;)5mkUn@oLUUcHU+`+T&TYPRZH8T_1H#8H3)HET`e+Cgiq#qyXq{FTNqZlLC-_VgTl<)M^lCxPEuaad^@c3&Q?d?4~X$C zi$8nhzjL;Z=ylt=KNNF`_V`OOG^9j}5DlD?4!5wbMDwiJI;!ZY+W>)XXTJ968>JDV zUEa7-Tk|VcY-i;^Ps&?9uKM`#RiwRvXbE-Tzq!YL$G_!WL5A$u3{IQhf|;47%#S}+ zej|KDq-im9;Fm4!Zlt$(@HExDvqPh-mB#@s*3!h_3Nf$UNaLvKWTh>qgWr~uS)R07 zfTZ(jLE#KsOLyKv|GiBd_A9mrh4;Yow1%v#!lRcKA#HI?pGYmn#3FP|Og7u-=@rX< z*_(e~oFz*3eW_k_j-B|B-d?}2JOH4eicGlY9kW0LC;RdY>Arx#UyJMxZ>C2;O>n7B z9L{L=4Ocq{hb8v?4$3`iFr8hR1s>`~gb!inIb!Zp7XmNExMqWk1f`9zN)|;~Q3%gQQ@U6pG0o|d0 z>k5nK6iW78X%3uKF~4}do;;E81(at>AoeWHeDq6onrHD04=`DMWumb!z4Q7%Weuqbse4WI~*Dy3F;J8RG^uX7X1zPHA#Rzgu%G* z)qo-0iLAko00q4r8FZ6F{Q`wSdhfZ>O;wyT%+!_~=iKe7HfJe3Yqj#!MqfXl6Gf@?}<5=6~g1 zdH$KtvT9iWU|n;Kh46Z--4&MA!m_MuueG0t|C42{L)!J%+s_M-@4>4q>yA4j&%d{< z-0Li>K?D1_UPH^8+{m)(0S2-HqMeSw(LJs zA+ln*zArRW`*&_vhxhH)xT8zkPp3h{u|q$rp&ee-a74~5KVwMWsB*^-A5>G)dZ^hW z(o|l~SqB{XnmP0>U0&))=w6$?z{xkd>#Gi}^TrKx(pSuz<)lmfO8L(}de6x>x?4LZ zpOh~tsZ^WRey>)1^u9`K^R(*J^nR@yEI(`bfGGM;966|_4(zGk1O2&Y&Z>7tTu`^) zoTF~4lcVmwEmuvSbWV-wGfwLj%MW{_wIa`FvW`16NMsDkvYgvL*Zllkcl~vK{C<^l z`jiw^rKOeX_CHiD8-cYS87;T|oIQC$>&(*GQ`Cml+p6F-=qO@&>Y}N?gI{}IQD@25 z(mB)Bf8Czz2V*iAd#rG1k~$Y&$YJj}~7Qr-*&w}e~PeDOl}77rJ)jz}xUkJTT~>p?g|v&4Ho^QeYzrb9+fn#LW$Ll^>2LgFB94bR}c>k|*E9UIoE^0G4Z z>D(C(-kHPRQe~y3_%44|L)yRKq!T}35Efwy?UY@VOd_XLO<~lCSF_AFH=w6Z1Gn$ z;H4Jot=3Pf)r;miFa@?d+_hzcdZ+tqYHW`Vx@{EN2vhW1^B2*LJ=?w^S)rZq!vd#{ zWnSV1Jjl00_{7`i`KG%45*k@X;>7#@JA>7NN$;qvqlc@=$?8E zSvYx2R2>lhck9t+d zh4)TP8tU;9aR?s2c&~0Y>>Gb~sgE+_4emLo-tJ%6&;5N3Z2OEF+w*lb=FRqM&$pX3 z9>F2u?jOoD-Gmq9(GL!W2rPcfA|o@L^j0@RLYJbWhGAUsJ9}&(GGX8D5#I-zYD)Vi z`ooZZ`k>wp{bgmPx^4Sm^9I$WLxHAS!}O6)L{^1_Pw&+}QwL5QIfS;j1mnbh8s~@O zhpPd73j^h1$c%$3-On(T{>79LxsToI0kQJY-dbw0Z*93|SwnbAEpU)BFb0+B~Ix+Jnt-4m8 zb+wgg)wVLMS{PH+aJ=8x$nIWo9!5TWTWobhL$tVG`?dV<_&@s&pY&OH-9j8=y8r_vN`QPzmr&c&UJ#YZs(@21Mw4=`EBxBb<^m6-nw>WSoG@H z!2=3?O&|@#Ng1%Mac0%VNPQ5 zM4Zy5n(2(s88t90n$Y=HfBaz-e&Uh#+>QUx-d%xkIcERioAoMv<|M^&|B1{)f%*9| zFZ*m2{L+`W@h^XWnyE)W08;{YCRe2}#88^_cmMyB1 zmvFl_dq8EMI_b`?IR2Y6>TS<5Mjz_=o?}M0!0 z$n&?Dzqwt!__+qk@$iuL_8OiZpKYWJ=(RZvigb;na``J8F0+mjDz7+s&R$1QIBSa;KNH4~P^Nz?SfeWGYE^{=9$ zQl)=ftRBT&O2)4Y|4=tawSF#NZQoX^PX2O4kEdHb&{~g~qVS`i%RiSZ=sd&9$_lk> z%SN?y_GCS`$jUsd^If=5soK7nABESXf$`t}YmOTKP7&6Sv(?K@r|R)q6n^N@x+M!e z@dhQbKWf`57`I8w%&A4{&CdBPz1rWmUwIaKyHaiYYPHtiV}}j|q1Nw~E-nt_+r-WI zE&rCI?z|=E4ivUx^*?W7-GcM2AlKyK==yf!^Lf_&aG3sg*Vc``=yP)_;^N()g$=zP z2gDkG?En7TDEwICRvSKF3O(GQ_Tc+6V8#>A6a2BpUu;Lj5%)yQ;i#{_Ou!bN#Kcuba@Plk@#^j$Bk!q4g;N8LT()GoHx!8*BXP)z;y^J%i59Zu}yL zps}#Ky5%X!0_E_F;0}Xd=#sIbjG2tFLwWZWk7mF2 zSnKU=nvR{>ugCe8_x@+@ZMXeCXDIx3_-yzr_;v6d;eQQpiC1}7E0tD5Ra(}7a?7e; zY*}@&mT+~ZW!28GtXlMGSV9nQ#c+}jA=Wc&pNY_3pRj5GM-AYrrP8e0D(}~IxnIP+ zqE_&+)+xBwBl2*^`7CMfILh#ym2>)J9n6_pE}AlS!uZ}D*9~~N#bJyE@;h<;7oKsZ z@g4IpFUznjVF;W=<5Di35MzOVUbFb4t|L0Vyq!9y*R!}+6VkH`%Mu1*#e>_-OBuMl zmZ>XEe@{%qo@*WKXHV4Mjo&_4oaux`n1t=d8|xXo=(R|OUU8Jy`cqm`@~age&gutU z(0h4$y^`y?kfZ2HvT?#D4&o9Slm1w7dG8luzx=kL9a`-a-RKljMd)FG3p?s>lkEtibXl`}Bu?8C+SmZ6UfcL&+IZFLS?slY z=#PVsW#RpF2|PsU55F7HchMJ9XUsUqo)zWg0AV}QMZaX$Ft;ag2gBn%gfXJtA1y8_^320>v~h573LX=;D^40w&gpZ( zgVrDRee6F(Kd5tB{Vmy;pp__HV@srF0I!aq$)|*egid_Nao~Y;EJ#7kgo8^Nisx3ku z(n^|1JNU3T2Gr#vI^&MB-J{I|J#~Immsix9^!X0WQU~NgTs-lU-~r=mwRpz6XuBq9 z|1tJedbey+r5%(0jx+<8)*p^zop0ZzKO;N0jnZ+U?{b9P8*%7z=@e-u{hUXLyq!9v z?nLy5djx+kmxFatu3<*eC$u4yd6T=%k^Fs7f2AeGj{HT($&cuVgk~E1w8KB{(d&F% z>pq{G!TFFvKC zlW7kq_Qxg+GcI#&@+9eAaoKZ`Iv^&|0}0RPW-Hp_`PH?gFU9yyoRl@;G0t^FZD*+4 z5{@0c^+(nToI2q*&N8~(r8s$GKO^*eg=-eix7!LS?-OEuNAG`l!C)HYKE78+Pdc1F zH3A!balV#2`wi-jhyFO}c!#wn5nYw={n3Li!4OzJ;c3{i`MG?IQB9m-;$Aw#a%Nrd z`C{bzBW}vd3`u|3xtP!|FibdXtHQ#eUa<~LIvw3HbqV?2?bk(>qh0i?ca9|-I6k_= z_p$Vc@Y()e$Um<#5B#X-2ePj1r9b=zqUy*)mu3v^i+-R)%iHe<;}LBK8U@Qke`ss( zZ}cVDly&wfz;q@8e$xV!yiS?)o0>sX-vqaN0VVPkkBJ?$?b7wCOM!+y}ueoo!}$6U26-5v|DZ}0i^BdY1W!}MCJU;jnfC*nBwqV8hO zt#)tSRAt}v%;^gCNTY=I<o3H1&sj|7;ILM?}u#$xIU- zCCz;Aj$eS>X^*RQMfAkfnGo@bqT6wIPJTgw#B6EYuCAw5TbBrfacqAz~> z!}S@i*T6nPSHiioXY4bpWN=}M+I>7$BfJVg*;iE+pQGnQ)kf|uTXgK(;rx}4OG1{wZ zDRa`!&?`<|irUWry_B)Tlc6W3&bZ^WYvb4lHVpRI*wud}pjYEChH~f@`n^Ja)7(4o z(v7fbY>zmPShG4M?a*Q9-Zk)A_FlT7@{4bUDFu&tEe-k7x~5t z!Gj(rF`pUdv#bNldZc?@jB6adTDCaczG;Vb&p$MLLgPO#Zu#(EPG5KDEx9!#{%(ZB z;WOY5!)L+ogHMNV5C2DL_Cxm`J^1lzhXhigL0;vDEAD+X{XfyJ`FyW zotD>kkcu?wAZ)zr;9PMF*gg-PHmG+x+S?r%pJZX}-8mn|IMeu!d6<`FST>^9x(`bQ zP1Owp{dvs;yLQ}*eX=nF+djQNo;JiQFJTZCVG?$A)1N4O*f9KN)xxx)-SKXxr6pSpLrzZXAi^5 zkGM$#X$ebrD)PamyxzzzZNCXiXLaWzEu<+GyamBvTZ}VHt@K#6nsq#0nUN;aR$cuC z<_K5JpEznlymVde{G^ez2GwJ{@38OsE1czBdbxQ?6d!3N&GGW-m7j31$G0+3TK-<; zNOQ6>pdKY#@4RP)=bjhf&X};WpnVF@jeq^=V!h@Twwya3X;1W9U^|lN_ulo12Ncgk z9@)P~&j+DbI$VPDe{LGx&%CdQ=MBYy4s~eXE`>8K&N)bTnV@I#kVu=zwloNC(7Qvp zL(j{Rm-LwvePzJ=nz(o3=N3&J>svO69`XX1q300nOOxs2&SjtRV?pbI*SA34aZibF zIlkbUZV;b-@5oEo@d3wD$&PJ;>`}-E*F1R!jW*tIEtQQ zIFaMYSg>NfN4skioZ?^J2^9->(0lR*l6=1d&L>hap65MB)#1GE1PJ2S{f@i^&6zl- za+gWunf8Iz;bsl*pH%&m7xD<&s^|dc)Tx@oqR*`k_SLLm$@5Phz19!7u8>GwyUXzY zI`(tb;b==aq=Vq@Cux1p_Mb@49pq}|Ts0dFdvk>H(>yx)ShxU>l# zgZmq?{}59ap?Lg|3)O$6~R@67uw5|u+K#zj0=HWc?k3S5S~?-lxp z`)*Dr3OcGB&*XJ(>VG~&aLc}oJO_oGvn12DXP?Yc!{2x*if=bQ-lxjD$dYlq*DZ|x z6SwS1x#{qGj_1sV$pdZY^?mEW=?7cVxsS}Xk3?MY#f!Qx6j-rB*^i5r&wS6bQ}OCS zJZBJyOW)A~o91{N`(U20Flmhym%YeX`P}b6`(S2h8K8}^ZO=p0y@`kSmW6e+P2(Ke zEFUKB-iHlSM)H{dH4sE6Z5gFZJR!f~uny~d3E?pJpyQ#9c{%nB|aHN;rNje|Da$vD!tY2~N5OQ(&m9K`0tjXUU>dS6_0 zAuiJ9jjei@We|?O7!R^P3vy?1SK`-Sm8g$CxTvO2DbhBi%a#?P;D@w&qNJiX3q!t#sj@sH1cE99N4P&2@50{7H-{~B>O{_io`&dN=P`y7ok~Y} z@~ji@^%T0?@DJ=SQ}^5zf1UfuV^DwloFMV=&fY)Xuut39g<1dL9jcep@r-CHc^8?C z8ELoOCytlGR@=674zvEnb}3c!^H_3Z`~5`Y1KJ2g#WPX-@M0w_m}eic=iWehvs--eD6;Bj^VIlq97UO z=U2;lIxji(6aGPum5Tij_HW6`fbF!@Q#FUD0RJD!JAJD5zvjVCBNdI)7|5WUMFPg$_g~Z&JZ%UKpC*JbwKxx!oaI*FfobM;< zcn`aWj#g)yK4)plAX)nt`Mt*X#H{leB-~|5ea^fV+q-C$r;3WbclDI zdGe1rNkaCI93#QzP#wiRALhJ<_q_CbF>)UscsA!)97oX|Ib0qO?WxE+&yRnmCu{%8 zZ=C;gvK#9ey`F6x#k0vj{^!W~ufgh=^8~ah?SlB{yUS(&EdSZuzjt9O>NN}u{{Qa3 z#NuCMKwDz7&Qcv;jQ^yh+lRZ70_rQ3@6v(C^V=uSZqIKaQG4hxvf}+$yvK;H-OCC6 zH$ptJVcp*q5C4=0+eG#Y$=C)5$wKDWzZ@-h{%gCMbV1Mk?+py&7?SsP(5Idp6O zkiORhI8?m<4-~=bVZ2##GskQWmrqpp7`k5AWe_4E`5W3gp0ho$8ppr-FZx1J@6@hLQ?9O3Hw? z&d@P{S85yfG498Ipe85-wsqs+9i1oN;)VWHglWty6=upe5}|;FoS+$e{Fn1GvdSWilOCJY+BggfxaIzyJmG{ROzm zLBhzr2K6KN9MqLCa{mGUzlN@MCVt>*XW|F0c7_i0|JpECE6sl9|J%@23GL+S`%SY! zSHUak8TR{H5@y=ZHC$npdmke5h`#>;Wh3&l?}4Cz(=@;uw%qY-1FmJ)3o61EG%7~t YRuys=)X^=j&sHD!tQs^*n{SW}iYf4x7Rj{1BqATDewDlWJnvWp8K zVGE$hCI})RAR?eFf*>e_u&*M9JtQGO$U;^^NJ0|m`ThFb@1*a^Ip?0c1ZTRcZ};ib z{cZi7Ucc^ZS#7L;v2MA=LU@Pu#toL$&9bapZ?&H%{F`NEAnlGj?B}J(_s~t2b@$zo z=l`^6?hC!dtR+Hg%B-TI6AamhlJ_G%Bv;{mN3EI)6;$SC^HpUzRUN4=}Q1pSqzr7Cwp zsoMJFDV6a^w%XP$N98UnQj14@qVT2UPwe=|*uUR${KY@&vTYpN6&TE}nJ%5(U%GeWy(*>iJ<*AFN{*Ha~ zc}1NiUuzc3QQLdu`oTEB@&dz62g?tC@o9BxS%FviCeYGR%1bCZDY`N6$p;#~9Fd;= z>+o}nwsg!s0$&5a556P3Ro}s~^4nWhW;@GDYh!!Qh60Ic5ub@LA9?FhhV2ZRDhth# z#rDh3L2uiVMuzTqX<@-%HZJ?>gBimIZ5sB%lZE)sn&=s48s9OG@F?X4o`eEhLe%45 z=1&;8l(70eexK65b0p-m5oaFeWf>`NhJstdJ)3@fVMw=!Ygk9xKaP-|&+a(V`bF}w z49f}};L!C?T*Ajs-!2|XI6||;-+iW|hHs`rMoyZ>9l=8w0#8EXAZ`uM;C;~352=IO zGgMP!qguP@3kUDq@gr1YLj%6cQ)*nF7o2qBCk(>C8`5;hDS^a$>S997oIt-*k>P`TLl5d-KC59UNwSSFb#Ea#qQ3_xClb_cLnByM5KxHw;RSj0gJU5Ai{G-y$P8zW7;H$WIhyk&#uWzLuD;#j2kFN^Q(I}@M1L64&l&T+ zLw{pqgKpb?+r3>KnOLOhCR|e{9`PE&r}t`~sRQRv=b|mXf^p(-jq~ei6V%C>C4q7= zWX3_2?q?WE|68;=9LW3?0o9OEsvkdg0F(lho29BC%i?kMk%Ywy4R|=I#^ZK%~rnE-paJv zVNBJ=@qS|`JC8m7%0#Ao_$v5%lx+eGHEO&bhuwj+`{0AdVJ2Te@ynO0Z`qfz@mc8E z+==~PJ%F)C8S0L0XcOa1<2&YI-XK`+R zhs{TrgdIc!Y4pX7xi;s&>>IvcFuMh9pAH+S3NXj~VewqW@ue4CgzYB>)=`kmm(QLG z(rt$}N3SCYj?X?EqOR1}%WK6xSKhfp;_%W3>WMqA`7GlaK|&hPH>mCFRz>0F`=gMN zS=JpVE@X4se|{&i^qlJiVcnsfTLbYEm-%h-TXoaue%`xzLs<0cTu!z^UlT|JaZ(0s ztK4nNz^5Km-+wt<>k{R@`{#AexF;+T&~?<$dbKxW1In*gX_%9kJQ1g~sb)Ik3qBqd z7ES1UKYjak6n^57_S}s>_h?oiT#ng)+qF%toI6u-+Vx zpZm(Y5p%@Z##$iDa*b!_hBdx4kY27?x$zkNSc`WupK$}-^8NA_c?oyWQ~yw9#YOJy zisQcpACLAdWAve(?>T04JB&Fz^OA-gKYs7duJ&&J(KkQJ=>FR+7kS=~`J3Cti=S(t z91oA{W3O=v>`17`4z4s!?;^}e&Gi7GBXiAnp8O2LH_J6y)74irs*A_#RQ0Jk)p+@; zs<=>$^|#N};4c5vFot%0OpjaK__6M$=V~S_iIb)|V?T(Z!PGyt%SAt5RD1j6oAU*g z@mRJxG^{{X9;sDDXHV<#^oUN+>oHRle)MzIl@)@{GrV@~s><54L#>|wnVwq|=I7~r zO?CJ#M|!ReHq-KGw#r*vrq__?y);da*P`%4k1|#*^TZpJNWOm?dA=EsYi(A>@)Dl; zu0kE1RMgX}{T=<wSE0+ z=;3z#eHk$0p`}Xj#~OdJ9T7*|Gcbpz-eR3yT{>MK4^A_0nc!y_H2(bX<*xc$V_!G@ zgZ|F<&p9%`JL*#cGT3I~XFQSdH`e&oZ)xGbJ%i2xZu}yLps}#Ky1&>#FR&a;GFLcRRQN~Qh*r91?_l{+0U0*!#`HK_g9-DT)=Z@!c@5+4Q zR66_t_%irH_zd`d@PCB2#H*^Cl}c-)u36T|Cd<0F-m*GiE#c;T%W9u#S?%c4u!JDq zis2+5Lab-lJ|CgIK4G;1jyAy6PNiAxRn;FmaKDIqMZMr-ty7?nan@zraXw3$I}RE0 zomE~^bQ|VOJ(tg#GJV?n{W3FP(>S0Vin?dHd;-yf;IK_K2>S zI%CE~H=w(EUsIm_Lhiv%8QRyDhg%OL@-fR&ZYB>Vjf{KM59^KP9DQN^`gq!>{QTY5 z>e9t3y|%#h9bMKeABofUgf=$7sn<5X`+S;u?^*1%d+3jYk7eQgbO}5}=?}jf(Ra}o zQ)kRL$DUW4ngGIfq>Fylyw6(b720}rsj4z+{e*e-yg7s(k|y(;Mp>s_0(RX8vfVP< z8BKqH{(LmxRUthpBwgHh7Co5I5459xyxcadb4tEgA!#$)R=|tWAGWiyCB+FH*%EJqs$2dCgMal7KA5#^jd7d&YFVc*C8L-d0>r{%Bf)@XlF zAM$Q0_EkxPxJ2T#d5EVSBaPBeQ~u)Ff9v{-(CdzyZH~mJVUCxq({?QGb|}U(X%)Iz z7aTvyJfNSn1!leZ)T`JPQ0|F(?%mU-P`6n=c%s@OavLs=Ztj7d-9}&?d!%WyWQ`>hvEG zoe}vnea*r-j;tLa`b73^*{J%vY?mEafX(k7>n}c~qmyY5DE7xD3^OisZSo}PUUAuT zkvbqI(E|xDR+K5);`!CJq_4*KPMnlA;W5s2L~UoN+Y*i)z4b@d37k6NH_kG;Tyvbf zv7Zt8y~0f^zOma1Den_veMj$qc)?&ALWclI099S{9+((w*! zO(MD$;lfE{nqdempRfeBY<{j9V^kAon7EhDu$);Je6EXpf5c5$nIY*9I~NoB1%?TS zZB>yGnWg6ubn?1^9MUP7k*vURgwb7sAI>43ZaWLfS( z9{s4uK6^kLL)tKMk1S$uNSn0NOUhNlCA;piH?M|teOSXE)v32$kJR;U>PsX(3%1ft zO^v=fBm9`*v0wITn_jc7asGqnU{q~QbN|&?dsQ8uV%v*q`@u&H+e?o)&vF!JT-3C% zZ-2MPV`@srk$NrFum7U#6LFk-QFk%tR)_cQY_V@zU*4!~TCvXVwGJPcmNU?ASiKb;i^mpE&i2xOVo+ zy&Yj&XZ$SfhM`M58^ye-^2etYd)rug=u8W}B0uC8d({Q&D-R*g@qg6(#jQ)jF*m|~ z5$v*NYul`qm|t++#_Rl$)PrAmDHr>Rz@3QRv?%jv_Ccg+`lIKM(QT3bwj=G68Ryy$ z&#JLr#Knr6HrTdoBkhcjor7mr^Kb_&4RcYaQ#jy_al}}h9(k5};PkHM`bYJG3hX?Sq z{xFpFLq|tUUGf+U?E2{k6l>|Kt156F;w7g~uY`>m#|16E!Dc;3^j(GMkA$**YxbX7 z{vP_XJJsb(H}D|`xlNbdFYS%j$>T5sb-qQxt>n9 z5B+Y6b!dR-jaMi<`00hV^}oU}9aic^=O z_A@{)^%+^dXUu?Gfh@ zrMn~T(8EcMBl4h!x4>)Jd+ClljcqIY2d=-HeVM5zvEn@A2Ds|!Zk>_#$4Q5-asEUe&aJLgIM-~?v%>3A4s_-& z>J8|(!s?HgPI1g<+HZu_DXzzE`(dT#0k(~Yz{8FZZ4&L8Cd1!EoiV-0H&zH9^f-z6 z%s8KA9az>Q-Rojp;~4RL*Sv8(-pKg0`{?P5yDjRuqxZ?%w|2>C8}a{*Z~}ZLd>(uu z{4w~I@O|L_3@>@3LZ$NCqv=806Y(@uVw}cG3^Qp|gfIpMtA z8g&ph-nZdgaW~jLr++@?{gr5M4`O^$h_!d;d>G?Q<2&YIUY23mh+gYHEEP1hHVpLV zZL_lu{tf$NlSlRLaUyK{;g^pv2#YWYyS3?06h3Si{z#QR* zZ)SWvJsz5VkG!OjvKNhqeczp}x9ru*@mg5Vq z=?3xX_l~@T9UpKkmF(Ci$R34!aLtov&}id58uwIj|2?SQS%!{wh<-fAN+(ZY#)%wH z#)1{=J=$HH;1vJzPN-P8gWi)jkmUOva6XZW@jUN2Y7OUgCqNLt?sw!ZXwJkrmAgzL z&$JJ04L5JXhe_2xc_ELWt%VM7PMxYbEc)EmU|-D}pFIEM(QEyH>k5g~wYv=OuVX*g z8jiM<o&BNY%ShJp0wNfY~(wNXC!zhB=5JNEiP?>C*%G` z>_5bm1$i~s(zv$fu1BwDj!Uu6p|}T6`{@SUAw;{|+L}wM#^)T2(0#qauww-BEIPpT zMK6BcX|!4XzwSy3&cv*L@KgY&l)@f-g&bt5q;DYXakvb*M+-rA#~_zu~YB>wF2}F!!M2p^bSt_6*~~j>p{iVXF}ayw1b3pYHOl z{T#M_t_T003~Bzai+K4?R0qP2hp_gTP~GrcQCN5U;C`IR+^EME97pgTdyZFQ$%4GI z4TzP`{hs>9@mmejFu(^iKV>t&txsW;*+rSZC#e5dQW;XVH48M^%C<-Gqe zZaZiE$Bw>lkF-%1+*9NIYs5XhW4gApa?{~{=KqWEjApWq>!Q3D#QjZjyvMUYoC~@g z&kFAEA6(zCn+%i-@A^9nyHe2wwhQEO(PLj}8#6b*UeCNEI+c#{+@i9ukGo=tbegxO4a;4mK@oB9~f{p?)nWYm(o3#cusEy^6PzouZA{QG3D3+COl+}7u1Rh`AC*P*$w~(kkbQoFj{wvw@%Nm`~ zerH`e_<@$gSsuuWvYkc@3`kSt_=U0c-P{MU9X>4Kj7$IHLy1IGu++6a5eVQ|-f z>U&LqN5%X9FmcG~5c1wg-V^1Ya^N_TW93xX%bK#7H28IAotgJR#lcsYyu6>_cHuo4 z{zVr!XX3muRkov)1?>fBBhLPi`xU*y2`1FoT@!j6(Mpsh1> z4B(ZjJY1{)0~Pf8@fMWMwr(oCqx0ljywIPjkZWmNPvn|vm~~}S_ucUsBL=DRyz(5b zRUUlz-2I@rFMJMs5Wn)S0r{4~{};T&uRES9zP;eEzYrTUu{9E#6La5L_F>1o{Nlln zdk$PV`?-nf-#oLV+lC%{Z`O zGY+~l+u=tk{+kR#eL(|4+#Jw`&$vKbA(J5>q%lMR1}LEK zFThO>5=QPdxHodoK?eyV_aE^8Yv|hN;|H#NK7QcZXX-%zuMK1E((GsczYSfB&`xf> z-!vO^3%rt^X}@nLVZQy`#uc`>_aP#W==&c~HX=X!9ta9JO#^IW%N@@);C6PspdxHR cqhfSE{#g(ss4y+*dv!(L%?d@mH?>#)3yIc;@c;k- diff --git a/webroot/rsrc/favicons/favicon.ico b/webroot/rsrc/favicons/favicon.ico deleted file mode 100644 index f07770aa8af41bf586735e246c954f2fddbf57ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 bFYpXZa^goDzqnxc>i`sG)nqEAOuzjf>K7hx diff --git a/webroot/rsrc/favicons/mstile-150x150.png b/webroot/rsrc/favicons/mstile-150x150.png deleted file mode 100644 index df1804953a5b5f5dd16710687a15f33b07d57ac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48875 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 z 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 ULK_BGTL1t607*qoM6N<$f{fD4oB#j- diff --git a/webroot/rsrc/favicons/mstile-310x310.png b/webroot/rsrc/favicons/mstile-310x310.png deleted file mode 100644 index ef911d803d571e4ce8771a7ae70304c2a2abc41a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178811 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

`YqnP8#mdoxmsR!`SiR$4MpqtY3-# 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

CYCMbpdW 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 z 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 diff --git a/webroot/rsrc/favicons/mstile-70x70.png b/webroot/rsrc/favicons/mstile-70x70.png deleted file mode 100644 index 3b51e6052b524df55cb73db342db9e4507f5a1c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6505 zcmZ8`byO5z`1jIE2!83720?OZkdW>Y1nFKvq;W|}1p(=9X@R9Xq;aK$UAmEmr90l? zJ@0#d=luSdnRD(u_uiR1&wV~IU$rz832>=!K_C!;vXYz*a1DAqo?rv#p4S#|5Qvgj zSx!dJCv!i`*H{lRI}qqQ%G>pkTxOkhmE}YJ6VsR=V`dloqN2h=h%!`XRK{O?gJbuH zrwSad%r&eAk4a44AQ*28Vr0zqk&%{{`|ymNw~O~#&z>ZTJ}4p)Zj8*9v|o}s?fJ7f zdeQ|wpLML*G#t%8OdQX3A|XpkY$Z?8zf4r7J8fqx-Sh8M*)e)m;r_EU&ND^I309H9 z$%U4RMkKUUgq{l{${6b1DAJ*(hU0iO=#xHMa8iYe%`CZk?PQ}iR#VpwW(x-Otn*h< zjZB1njcC_hHC!gFr5-I%NvU;%>wkfyJ@4G|G}(y;C7_}v`>5^Y?cIN_ zBTJ1gk+li!p+%5nJpb@qxM+}ZC6SHs2%ctVDs@&|lJIpv;bfGiFU_9wNjRntEj`ti zzxCjYD(32GwV`6k*}p6_(&M=#g++FXtcBLYN}Y)}vLQ9&$u1eQ-FnuHv|`gY<~~Z& zw_oxCivOs|E1>Wd_CbxfD%W(cld0T~|MbnAxrGrgo!f_mO{?)cST7S2_kWv4j!p>X zxcJWYY|#W+P+ZT4?H!sCvhcK~yZds1(p@r6L(eX@6GS{Mr(2dS0+i7|ca`+xDXf8B zhUaPK45z~!N2`Yh&2 zZ>B2>V-ksYA8>M)m-LkFuO-5v{tF@XH>}9~#I=HO7r))JujLgLT-MlAE=o3B@V^|8 zsczv93#}DKMw<|&h5neVinlU*w-7#t9vo)M<9c&moRW%ia+lc#m*KDLf8@je&X9h^ z#fyATBVf~9pAPx zYWv2u(?EafoQ2~;Gac4gJ7V^5l)t%P;!6@AugoK{4Na{*sQ`}APhyxyT&@}u{%xF41{SSnR@ zjk9REov*osWOHUdk37rO6T(gLhg}6R6hm!o8RbIp`$NYAKO0DSYfUC>a8kd$ya+cD zNq~l>E>4+IM$PcVev-{Gs!;IyfOgLICkI)u4~TB%mP+ESbr6t4 zjve#uBU(`s?Y?Kdcvc~N4%RQYUi}eo&$giWxj+)Tl)!(6l=R*ZX%lkx$QVJU<0J`+ z_(_mP#O5fz6+GI8MtqB*sByhovgMwz>C?)Ml6}Y>G+4XHGA@U=w;Up7S)Nd>W5o^1 z73@ON6%Mte^z;$S`Z8Zfpmyr?6B`LjWR}&G*aTYv;ybzW0t=6qMI(;_rEr`DZI;#DuQrb?Ru!u2*|Q!RjI}FW>Q)SI@}^t zQ=jm44IIWDyb>pL8XkEyCN^D^^ti90qzpSb7r%d|jYP*p&k}n%29ECJNe%yM6;j{g z^0$eo_fK|-=USt=Ro_rY;xp}1iX*mN@4hJ{!Vw`vB@TkuoEACXAU*28bE|7#-rS~u z51wWd(g*kP>3V$d%iZ?u!ikT3*{MEvUSVOVzvhLw>`tt6T=8ReFF}CdWoPl@>zETn zceiF@ZQMT7ptjme(y_V#IFoHrdi2|-WjVKv{Kxoo(<*H+tf6wzZ6sf_aoZ^=n-{al z0IY5?WLEsEe-_jT`u)X+@``f$ z66KgYg=dGu7ZLi$X+2ZZN~|Or6X1>EbZI$##V29c;&HF_RCgshukOcGKydNahKUaD z3)?)+?yq3e1hK^53a=54(b9ttwnd@Dkm_b(Jb$s)$~UTp$%Vo$OPw*O$^G!k4G=Vj zK`B?iTt1@_Wi~Yv1nc2R(5;fA>M0_Se>3FMSEkn|Ipb(eCMpYoa_YUO zahcd=I9p)Pdu@UY480)mey|!i2-SRxKk-4l@uqLP){yv{O;xt+cvs_7qr6cnbV#Hs zXRt=ju!HydToDE@{u|V+yAzAIEhOUB0+`3jYAV}`GtCS7Sx8F4n?Zd3U3LI5F#}X& z`p7w4pF)=q1U^IGfu(0eQv{|rv|Llxb%&d)0{9ex@4f+X@5=Wr`tyMB=l z^-sNs%sDF;(nN_k*o_?F^0uJgRrKvDQBNvDh>@5QlDRVd1dihnt{zOoV8B{TZ#Z#NAv0;Vk5*2YDF zQ3W=<4EXdE;aEMq_Ii9;f@QqmG3w74IZPJls1k(3-u)S7!-LQIS5*2v$z*|omhb}T zPS$MSia{vhw#MDF3WyKEG7_7(pUP{eiVEUBXF$t^PyrL# zr-w^R3*Tw#4u>eA1-lR#nuah&^cx{AafU1(rNVKeF1Gw>s3C9QgBoR)Uf2!Kd z^IZq*>I55Ck7%I+mekFIT{~?%#m($HoHW)_JeKCgnwzOeDQ>2vyY4qCN+sDzfziR| z7#1#e>T0F{FAxH5`@lzmxI4=aU=Ef71?=wN;<}Pz0^&Ta-OT!}H2gKk3XP#(At3eyJ+Zj5mi>uN^6OJC28JEY^le+aXxOq$ z@A^VjA~Z=k{hSmRZF%R+&k|3n|MjIVm|Yu+LMtnG%(J9OO^;ljULezmIVXDZjVWe{ zETQ0yE2H5ZznqQen=m&)%rB=j*T~tS!8KALm{E<(u>?3kvKUr|Gai zaN#d-ZtjZ1JUBC<2*-|xrp{Lu)IgrvaS+~-bG#QH&YTx5EB8fSJ{qUgLJaUmt~0bi z6-9oCWHZ{!7qp4T@!$51R~hN{1WI^sN8?kV$~Nm9eQ6OB?f7!@)Ilfq-s%y!;4T3x zYWHg}t|%U%2eluA^1ky4dgnzb17#D@iJ+q2l&Xt!KMeA))h~}y)-t8?hDr_a`RU9J z$##VvzV#-Miy+(qTCQTCx=SO9K$kXR>iK)I_VLxG5Zm#twHu9!+CRDTwO*9?5QL`- z#`QS0qUZ-dP)RaU^sk^G|2{fGOozu{nV#PHS6I}#rlM$8ybWxaiPEq+69KZMz;^7M zkM7mo&KwNPOs6vRHoAxXGLPUD0)s98bv7~yaK@I**L~ZS`{#)XFN@Qd4ghJDQux)Z zC~7QS#WDp>o2v@b|8U~f!++x;(N%^RY?rt7RMStgVy8lv? zk7^52b5yXoWN>_pav=e-TVRkz4CD5b_z8AS_y}i2e0Y@QxP)j>Bz7)uoj$dr+nNTa zDqe^I%FC5i%6+4>Bs92zD1-8}?l-^|d|V}(_3YA%mJy?{q#gfjU!s&NWAVPK=3ZGR z)`C7j-Mrz*e9eI#wV}?ixIlmho~M&dFXCekQo3HJ|MKK%m#?ZFWnFjb^t_(R-1Ivt zX5)+BiQ1`Bn^+oc68vBgBXN(KZ8#RRX9O8ZJQJ4}QVs2sNTn(n`w<=e4`X%&Sr+Ul zFHo$&V2i{YX%Tr(&G{{gs{iZWKpG!Q(W6se0Adt0EZ|&zCtKw*AzTNmlnj^H9)+p&l4J5k5vq%X_-kLlg!#feJorCNFv`T zD4GxiD7AMr=2Ujaw0q9gBDQ6}upRDhnk;$-qQ;_^8(;(5+tz^*US2yR%CrgO0};y= zQ=UA{m3S7vLJnuameiSa3_`+vWuz|M$bOj3vgEw4d{OI z>;+ePvDuKP2~aHD?P7Y$dE}obKx{br?dZ9>-2E563{7GKp+C*qpDeV-d7}%H575jm z)GNkmy?D_;wv3v?L2>={XC-B=Rd)hcEmZA)@)+!F8tI zu=9ryk3LD*GS3_dg>zH=fURY>dOV%Yac>FoW*1Kcrn@70NZ7vSzC( z%6)Ooq~4!ic=lj?OttZcA_~}w9}i@OaHCk9`x({L;h-p`R;IoFXZ#!}T?^wH$ zr0C}w8AT|NVpKPC(6r9|LNtqqVm6w)%d8H0RCtTlM^vQ@i000q-TL1Y5yeFoDJ^{t zCEjy6Qsea;UL)d`X}s#FnlS-d-m~U$g*CDyZ+Y!`VDJ3HCggvOFmCh1 zu=$VQmm5felgz9=7U^1yG4SxSr-x!1a$=xnnhL_ za7183r3{C(2muggNWZz@(mj%ntW$GK8?BhTj>EvGTu-uo$S@P=B2^VL5&c6S2i*Rg7Jq!?(=T80xOiL{EK! z1xQdL;5-J#1QV1Mn!;MHEX?150Z?Z1{qhI?sW;Nu!-#A4kKT{@!?SGqXRO&bIM1V@ zFv#3%fF-HL&_O2O4uBbs*0KCXR*;_Rl!E++5y)u5I#=`FP(G#xG~USGyC#_S@@p988FS}^5-XrP36qmM|7+&g_o8M_iyicxG-~|eQn^TA(ZT_Aa3X2A zxj9wd+uXjEJ5bEXD=a1MLAtucZ}_#Zfv8%hSK$u((h~mkes6czKlpSTDU(QVXR#pZ7v_Lys!i7|uajQbS*i@4o=f#Ax9!g&h*NWXT8{~lWr>QBF%C_fGxOR1J+?VMy=hP^rVL-alXUA>Bv?`!0WZ8DB@iHC z#MnnU#vW<+2tzL}w!r_)3YeQ3O>>&W1etCM9Uxi7_eI+Z1(9mBc!qax{LXV8WLXnJ z$iNkSjhSmxqZ6d=w%?d)PSuXTkULk`*1z<5^g$k6v^S?5tP24fV^3`-DV1=_&s)cA z%|pI)atVzDm*xKINXUA#!DL_Hl>pA!87^0*u%QbZ@466b;A@uDtNz*FvIXsQRBUMx z`1IdNNXbZwTMe(rbL|)g`xQuE8=si8MlW@DFxefR#Vnng_C7zX<70iv#m;Sg8N{q! zHPw`p4@s}6C^yT_dQZd+I42WBVv;3+CBE^ckrszT*CvBwu&y;8oCFzd60$#OlZA|N z8ZiqsHSaRklAG?cp88M#C>Ca@_BDwe9bc{k5e`el-F~2Wa+_v+Xj^y=jDQ1t|hmN z{IpwZwDssEx?RdQn3a(KW@Bh=0v}jeD;4oxp{m}0pT4}gAa1cx7M38#NSw7O3XT5w zLy&*B5A{L9M8_+qaUs`V(&TWpNlPw<246t;In~>je$Ow6+1@rP;-B^0sM<*xZB`{C zSEfrnXs+%gR8W)$_L*e=-%|kqP-pY{3`*#VN-_|8W!iD%WaIgY&5jTfS)W8<#Tc=o z5b(UxbaTTTH@DQbi&Ix&MQz6>v-KlEG`8RDdn*^atWJo!ll>^2`ujGIutA#Q|7SxD zB_Zm=E2b~MS-RMn)ZMSiTO3qM;+`eRTi1632)SZM&;123s5Um8>g}F9dQGFRjfrIP zkI-Z#rSXO(f1&(3pJnUs?f*QP3T)f@q!Ud@w1Z{@Ae?p+FkeY|Z4XPl+ry7fU5%_l ziPmcvp}s+6kL!|@6F@yWKyn1>9c}gQ-XT4)-4d8}AsiuV0jT{-OI5)A?dA5jcamX~nVIA1EC95>fC!#ZlpO2JWSf*T)S8zod<5hD+n4*tk_limSk))ReWAb}?6paG5NWd(|6dNM;KS8~ zgsgU=o8RPNv`hPI*ZLxevD_K8k%gn13)wYLc>@>D+PbU#W`B`)n9_a4Tgq%xOV~51 zT$Wt=YGWuSdZw}-v+y*BEJYvl$T^nbBT!N^#occsVb3u%DQj9?@D^!vu}FKyibrkL zr|UPTe-|U3&l}SSJeFE9M)2}S#kqR?uj3-pc=$bIj~2oMl>O7pqt=)4X->y^7nt+< zt1er31>R$wUgS3E;1$EMAFc?F?}&&k?9Y^NcWvM!sr-wLSDj`(IoL(d`i-)>qT)AA zf3UW=G#;S#*##xV`2p#ya9uc0PL&wl;5Ro(R>VlWJ@#u6rw0H*Af?66d}LUyeyEB_ zJFdHhu|Epl>%RG|Z$I0{FE|U=HC-psaeU|67|=`y0Gy|%*LMLJYXhyVolecS$Tfp0Y5!E7THA23HQwmnRZ_& znbNn^VbsZo)M&rc(>X9THd@hT{WNxw{iEjM?q#WCececPkpj{L5E%`ol`u^6@CU3O zJrD_*r9c`$svWGXuDSr0+?|)!=Szbe~Qr0~9{{ZQ3<*@(& From df8d4dff679b21573ac89adf6b7766f97ec4decb Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 12 Mar 2018 16:01:46 -0700 Subject: [PATCH 02/23] Raise a warning when mentioning a user in a comment on a draft revision Summary: See PHI433. Ref T13102. Users in the wild have mixed expecations about exactly what "draft" means. Recent changes have tried to make behavior more clear. As part of clarifying messaging, make it explicit that `@mention` does not work on drafts by showing users a warning when they try to `@mention` a user. Test Plan: - Mentioned users on drafts, got a warning. - Posted normal comments on drafts, no warning. - Posted normal/mention comments on non-drafts, no warning. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19210 --- src/__phutil_library_map__.php | 4 ++ .../editengine/PhabricatorEditEngine.php | 5 ++ ...habricatorApplicationTransactionEditor.php | 47 +++++++++++++++ ...ApplicationTransactionWarningException.php | 13 +++++ ...rApplicationTransactionWarningResponse.php | 58 +++++++++++++++++++ 5 files changed, 127 insertions(+) create mode 100644 src/applications/transactions/exception/PhabricatorApplicationTransactionWarningException.php create mode 100644 src/applications/transactions/response/PhabricatorApplicationTransactionWarningResponse.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 7dc658b28a..4caa7f563d 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2055,6 +2055,8 @@ phutil_register_library_map(array( 'PhabricatorApplicationTransactionValidationResponse' => 'applications/transactions/response/PhabricatorApplicationTransactionValidationResponse.php', 'PhabricatorApplicationTransactionValueController' => 'applications/transactions/controller/PhabricatorApplicationTransactionValueController.php', 'PhabricatorApplicationTransactionView' => 'applications/transactions/view/PhabricatorApplicationTransactionView.php', + 'PhabricatorApplicationTransactionWarningException' => 'applications/transactions/exception/PhabricatorApplicationTransactionWarningException.php', + 'PhabricatorApplicationTransactionWarningResponse' => 'applications/transactions/response/PhabricatorApplicationTransactionWarningResponse.php', 'PhabricatorApplicationUninstallController' => 'applications/meta/controller/PhabricatorApplicationUninstallController.php', 'PhabricatorApplicationsApplication' => 'applications/meta/application/PhabricatorApplicationsApplication.php', 'PhabricatorApplicationsController' => 'applications/meta/controller/PhabricatorApplicationsController.php', @@ -7484,6 +7486,8 @@ phutil_register_library_map(array( 'PhabricatorApplicationTransactionValidationResponse' => 'AphrontProxyResponse', 'PhabricatorApplicationTransactionValueController' => 'PhabricatorApplicationTransactionController', 'PhabricatorApplicationTransactionView' => 'AphrontView', + 'PhabricatorApplicationTransactionWarningException' => 'Exception', + 'PhabricatorApplicationTransactionWarningResponse' => 'AphrontProxyResponse', 'PhabricatorApplicationUninstallController' => 'PhabricatorApplicationsController', 'PhabricatorApplicationsApplication' => 'PhabricatorApplication', 'PhabricatorApplicationsController' => 'PhabricatorController', diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php index de8139b145..f0d2aae9ea 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngine.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php @@ -1968,6 +1968,7 @@ abstract class PhabricatorEditEngine ->setContinueOnNoEffect($request->isContinueRequest()) ->setContinueOnMissingFields(true) ->setContentSourceFromRequest($request) + ->setRaiseWarnings(!$request->getBool('editEngine.warnings')) ->setIsPreview($is_preview); try { @@ -1980,6 +1981,10 @@ abstract class PhabricatorEditEngine return id(new PhabricatorApplicationTransactionNoEffectResponse()) ->setCancelURI($view_uri) ->setException($ex); + } catch (PhabricatorApplicationTransactionWarningException $ex) { + return id(new PhabricatorApplicationTransactionWarningResponse()) + ->setCancelURI($view_uri) + ->setException($ex); } if (!$is_preview) { diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php index 1d02d0fdb0..26be0f87af 100644 --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -48,6 +48,7 @@ abstract class PhabricatorApplicationTransactionEditor private $mentionedPHIDs; private $continueOnNoEffect; private $continueOnMissingFields; + private $raiseWarnings; private $parentMessageID; private $heraldAdapter; private $heraldTranscript; @@ -273,6 +274,15 @@ abstract class PhabricatorApplicationTransactionEditor return $this->applicationEmail; } + public function setRaiseWarnings($raise_warnings) { + $this->raiseWarnings = $raise_warnings; + return $this; + } + + public function getRaiseWarnings() { + return $this->raiseWarnings; + } + public function getTransactionTypesForObject($object) { $old = $this->object; try { @@ -919,6 +929,19 @@ abstract class PhabricatorApplicationTransactionEditor throw new PhabricatorApplicationTransactionValidationException($errors); } + if ($this->raiseWarnings) { + $warnings = array(); + foreach ($xactions as $xaction) { + if ($this->hasWarnings($object, $xaction)) { + $warnings[] = $xaction; + } + } + if ($warnings) { + throw new PhabricatorApplicationTransactionWarningException( + $warnings); + } + } + $this->willApplyTransactions($object, $xactions); if ($object->getID()) { @@ -4277,4 +4300,28 @@ abstract class PhabricatorApplicationTransactionEditor } } + private function hasWarnings($object, $xaction) { + // TODO: For the moment, this is a very un-modular hack to support + // exactly one type of warning (mentioning users on a draft revision) + // that we want to show. See PHI433. + + if (!($object instanceof DifferentialRevision)) { + return false; + } + + if (!$object->isDraft()) { + return false; + } + + $type = $xaction->getTransactionType(); + if ($type != PhabricatorTransactions::TYPE_SUBSCRIBERS) { + return false; + } + + // NOTE: This will currently warn even if you're only removing + // subscribers. + + return true; + } + } diff --git a/src/applications/transactions/exception/PhabricatorApplicationTransactionWarningException.php b/src/applications/transactions/exception/PhabricatorApplicationTransactionWarningException.php new file mode 100644 index 0000000000..e577071549 --- /dev/null +++ b/src/applications/transactions/exception/PhabricatorApplicationTransactionWarningException.php @@ -0,0 +1,13 @@ +xactions = $xactions; + parent::__construct(); + } + +} diff --git a/src/applications/transactions/response/PhabricatorApplicationTransactionWarningResponse.php b/src/applications/transactions/response/PhabricatorApplicationTransactionWarningResponse.php new file mode 100644 index 0000000000..21b3ee61c8 --- /dev/null +++ b/src/applications/transactions/response/PhabricatorApplicationTransactionWarningResponse.php @@ -0,0 +1,58 @@ +cancelURI = $cancel_uri; + return $this; + } + + public function setException( + PhabricatorApplicationTransactionWarningException $exception) { + $this->exception = $exception; + return $this; + } + + protected function buildProxy() { + return new AphrontDialogResponse(); + } + + public function reduceProxyResponse() { + $request = $this->getRequest(); + + $title = pht('Warning: Unexpected Effects'); + + $head = pht( + 'This is a draft revision that will not publish any notifications '. + 'until the author requests review.'); + $tail = pht( + 'Mentioned or subscribed users will not be notified.'); + + $continue = pht('Tell No One'); + + $dialog = id(new AphrontDialogView()) + ->setViewer($request->getViewer()) + ->setTitle($title); + + $dialog->appendParagraph($head); + $dialog->appendParagraph($tail); + + $passthrough = $request->getPassthroughRequestParameters(); + foreach ($passthrough as $key => $value) { + $dialog->addHiddenInput($key, $value); + } + + $dialog + ->addHiddenInput('editEngine.warnings', 1) + ->addSubmitButton($continue) + ->addCancelButton($this->cancelURI); + + return $this->getProxy()->setDialog($dialog); + } + +} From 1e93b49b1bf23b8d63bc984b6c1d0ab37c1d3c20 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 12 Mar 2018 16:39:29 -0700 Subject: [PATCH 03/23] Allow custom actions in Differential to explicitly override "accept" stickiness Summary: See PHI431. Ref T13102. An install is interested in a custom "non-sticky" accept action, roughly. On the one hand, this is a pretty hacky patch. However, I suspect it inches us closer to T731, and I'm generally comfortable with exploring the realms of "Accept Next Update", "Unblock Without Accepting", etc., as long as most of it doesn't end up enabled by default in the upstream. Test Plan: - Accepted and updated revisions normally, saw accepts respect global stickiness. - Modified the "Accept" action to explicitly be unsticky, saw nonsticky accept behavior after update. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19211 --- .../20180312.reviewers.01.options.sql | 2 + .../20180312.reviewers.02.optionsdefault.sql | 2 + .../editor/DifferentialTransactionEditor.php | 52 ++++++------------- .../storage/DifferentialReviewer.php | 13 +++++ .../DifferentialRevisionReviewTransaction.php | 11 +++- .../DifferentialRevisionVoidTransaction.php | 46 +++++++++++----- 6 files changed, 78 insertions(+), 48 deletions(-) create mode 100644 resources/sql/autopatches/20180312.reviewers.01.options.sql create mode 100644 resources/sql/autopatches/20180312.reviewers.02.optionsdefault.sql diff --git a/resources/sql/autopatches/20180312.reviewers.01.options.sql b/resources/sql/autopatches/20180312.reviewers.01.options.sql new file mode 100644 index 0000000000..159426614d --- /dev/null +++ b/resources/sql/autopatches/20180312.reviewers.01.options.sql @@ -0,0 +1,2 @@ +ALTER TABLE {$NAMESPACE}_differential.differential_reviewer + ADD options LONGTEXT NOT NULL COLLATE {$COLLATE_TEXT}; diff --git a/resources/sql/autopatches/20180312.reviewers.02.optionsdefault.sql b/resources/sql/autopatches/20180312.reviewers.02.optionsdefault.sql new file mode 100644 index 0000000000..d509011f73 --- /dev/null +++ b/resources/sql/autopatches/20180312.reviewers.02.optionsdefault.sql @@ -0,0 +1,2 @@ +UPDATE {$NAMESPACE}_differential.differential_reviewer + SET options = '{}' WHERE options = ''; diff --git a/src/applications/differential/editor/DifferentialTransactionEditor.php b/src/applications/differential/editor/DifferentialTransactionEditor.php index d04b0d684a..9882246608 100644 --- a/src/applications/differential/editor/DifferentialTransactionEditor.php +++ b/src/applications/differential/editor/DifferentialTransactionEditor.php @@ -154,59 +154,41 @@ final class DifferentialTransactionEditor $edge_ref_task = DifferentialRevisionHasTaskEdgeType::EDGECONST; - $is_sticky_accept = PhabricatorEnv::getEnvConfig( - 'differential.sticky-accept'); - - $downgrade_rejects = false; - $downgrade_accepts = false; + $want_downgrade = array(); + $must_downgrade = array(); if ($this->getIsCloseByCommit()) { // Never downgrade reviewers when we're closing a revision after a // commit. } else { switch ($xaction->getTransactionType()) { case DifferentialRevisionUpdateTransaction::TRANSACTIONTYPE: - $downgrade_rejects = true; - if (!$is_sticky_accept) { - // If "sticky accept" is disabled, also downgrade the accepts. - $downgrade_accepts = true; - } + $want_downgrade[] = DifferentialReviewerStatus::STATUS_ACCEPTED; + $want_downgrade[] = DifferentialReviewerStatus::STATUS_REJECTED; break; case DifferentialRevisionRequestReviewTransaction::TRANSACTIONTYPE: - $downgrade_rejects = true; - if ((!$is_sticky_accept) || - (!$object->isChangePlanned())) { - // If the old state isn't "changes planned", downgrade the accepts. - // This exception allows an accepted revision to go through - // "Plan Changes" -> "Request Review" and return to "accepted" if - // the author didn't update the revision, essentially undoing the - // "Plan Changes". - $downgrade_accepts = true; + if (!$object->isChangePlanned()) { + // If the old state isn't "Changes Planned", downgrade the accepts + // even if they're sticky. + + // We don't downgrade for "Changes Planned" to allow an author to + // undo a "Plan Changes" by immediately following it up with a + // "Request Review". + $want_downgrade[] = DifferentialReviewerStatus::STATUS_ACCEPTED; + $must_downgrade[] = DifferentialReviewerStatus::STATUS_ACCEPTED; } + $want_downgrade[] = DifferentialReviewerStatus::STATUS_REJECTED; break; } } - $new_accept = DifferentialReviewerStatus::STATUS_ACCEPTED; - $new_reject = DifferentialReviewerStatus::STATUS_REJECTED; - $old_accept = DifferentialReviewerStatus::STATUS_ACCEPTED_OLDER; - $old_reject = DifferentialReviewerStatus::STATUS_REJECTED_OLDER; - - $downgrade = array(); - if ($downgrade_accepts) { - $downgrade[] = DifferentialReviewerStatus::STATUS_ACCEPTED; - } - - if ($downgrade_rejects) { - $downgrade[] = DifferentialReviewerStatus::STATUS_REJECTED; - } - - if ($downgrade) { + if ($want_downgrade) { $void_type = DifferentialRevisionVoidTransaction::TRANSACTIONTYPE; $results[] = id(new DifferentialTransaction()) ->setTransactionType($void_type) ->setIgnoreOnNoEffect(true) - ->setNewValue($downgrade); + ->setMetadataValue('void.force', $must_downgrade) + ->setNewValue($want_downgrade); } $is_commandeer = false; diff --git a/src/applications/differential/storage/DifferentialReviewer.php b/src/applications/differential/storage/DifferentialReviewer.php index e3f9bdaf8d..823047f218 100644 --- a/src/applications/differential/storage/DifferentialReviewer.php +++ b/src/applications/differential/storage/DifferentialReviewer.php @@ -10,12 +10,16 @@ final class DifferentialReviewer protected $lastCommentDiffPHID; protected $lastActorPHID; protected $voidedPHID; + protected $options = array(); private $authority = array(); private $changesets = self::ATTACHABLE; protected function getConfiguration() { return array( + self::CONFIG_SERIALIZATION => array( + 'options' => self::SERIALIZATION_JSON, + ), self::CONFIG_COLUMN_SCHEMA => array( 'reviewerStatus' => 'text64', 'lastActionDiffPHID' => 'phid?', @@ -64,6 +68,15 @@ final class DifferentialReviewer return $this->assertAttached($this->changesets); } + public function setOption($key, $value) { + $this->options[$key] = $value; + return $this; + } + + public function getOption($key, $default = null) { + return idx($this->options, $key, $default); + } + public function isResigned() { $status_resigned = DifferentialReviewerStatus::STATUS_RESIGNED; return ($this->getReviewerStatus() == $status_resigned); diff --git a/src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php b/src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php index b112eb638f..8aec75d2fb 100644 --- a/src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php +++ b/src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php @@ -164,7 +164,14 @@ abstract class DifferentialRevisionReviewTransaction DifferentialRevision $revision, PhabricatorUser $viewer, $value, - $status) { + $status, + array $reviewer_options = array()) { + + PhutilTypeSpec::checkMap( + $reviewer_options, + array( + 'sticky' => 'optional bool', + )); $map = array(); @@ -253,6 +260,8 @@ abstract class DifferentialRevisionReviewTransaction // accepted. $reviewer->setVoidedPHID(null); + $reviewer->setOption('sticky', idx($reviewer_options, 'sticky')); + try { $reviewer->save(); } catch (AphrontDuplicateKeyQueryException $ex) { diff --git a/src/applications/differential/xaction/DifferentialRevisionVoidTransaction.php b/src/applications/differential/xaction/DifferentialRevisionVoidTransaction.php index 5073a9c464..331c637aad 100644 --- a/src/applications/differential/xaction/DifferentialRevisionVoidTransaction.php +++ b/src/applications/differential/xaction/DifferentialRevisionVoidTransaction.php @@ -16,21 +16,43 @@ final class DifferentialRevisionVoidTransaction } public function generateNewValue($object, $value) { - $table = new DifferentialReviewer(); - $table_name = $table->getTableName(); - $conn = $table->establishConnection('w'); - - $rows = queryfx_all( - $conn, - 'SELECT reviewerPHID FROM %T - WHERE revisionPHID = %s - AND voidedPHID IS NULL - AND reviewerStatus IN (%Ls)', - $table_name, + $reviewers = id(new DifferentialReviewer())->loadAllWhere( + 'revisionPHID = %s + AND voidedPHID IS NULL + AND reviewerStatus IN (%Ls)', $object->getPHID(), $value); - return ipull($rows, 'reviewerPHID'); + $must_downgrade = $this->getMetadataValue('void.force', array()); + $must_downgrade = array_fuse($must_downgrade); + + $default = PhabricatorEnv::getEnvConfig('differential.sticky-accept'); + foreach ($reviewers as $key => $reviewer) { + $status = $reviewer->getReviewerStatus(); + + // If this void is forced, always downgrade. For example, this happens + // when an author chooses "Request Review": existing reviews are always + // voided, even if they're sticky. + if (isset($must_downgrade[$status])) { + continue; + } + + // Otherwise, if this is a sticky accept, don't void it. Accepts may be + // explicitly sticky or unsticky, or they'll use the default value if + // no value is specified. + $is_sticky = $reviewer->getOption('sticky'); + $is_sticky = coalesce($is_sticky, $default); + + if ($status === DifferentialReviewerStatus::STATUS_ACCEPTED) { + if ($is_sticky) { + unset($reviewers[$key]); + continue; + } + } + } + + + return mpull($reviewers, 'getReviewerPHID'); } public function getTransactionHasEffect($object, $old, $new) { From 598d0c04e7167783d7afc1d6ee74667a621e7d42 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Mar 2018 08:22:45 -0700 Subject: [PATCH 04/23] When computing the "Subscribers" policy, use materialized membership Summary: Fixes T13104. The "Subscribers" policy implementation still uses older logic to query project membership and misses parent projects and milestones which a user is a member of. Instead of doing an edge query for explicit membership, use a project query to find all projects the viewer belongs to. Test Plan: - Created a parent project A. - Created a subproject B. - As Bailey, created a task with "Visible To: Bailey, Subscribers". - Added parent project A as a task subscriber. Then: - As Alice, verified I could not see the task. - As Alice, joined subproject B. - Before patch: still unable to see the task. - After patch: can see the task. - Removed parent project A as a subscriber, verified I could no longer see the task. Maniphest Tasks: T13104 Differential Revision: https://secure.phabricator.com/D19213 --- .../PhabricatorSubscriptionsSubscribersPolicyRule.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php b/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php index 7da35f3703..b7644cd68d 100644 --- a/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php +++ b/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php @@ -47,10 +47,14 @@ final class PhabricatorSubscriptionsSubscribersPolicyRule // Load the project PHIDs the user is a member of. if (!isset($this->sourcePHIDs[$viewer_phid])) { - $source_phids = PhabricatorEdgeQuery::loadDestinationPHIDs( - $viewer_phid, - PhabricatorProjectMemberOfProjectEdgeType::EDGECONST); + $projects = id(new PhabricatorProjectQuery()) + ->setViewer($viewer) + ->withMemberPHIDs(array($viewer_phid)) + ->execute(); + + $source_phids = mpull($projects, 'getPHID'); $source_phids[] = $viewer_phid; + $this->sourcePHIDs[$viewer_phid] = $source_phids; } From a4a390fe2d9f1ac24c069c331d621751f32da67c Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Mar 2018 09:04:15 -0700 Subject: [PATCH 05/23] Use "-dispose background" to improve reassembly of GIFs with transparency Summary: Fixes T5741. We break GIFs apart with "-coalesce" which completely rasterizes each frame, but stitch them back together without specifying "-dispose". This produces the default "-dispose none" behavior, which causes GIF frames to "pile up" if they contain transparency. Instead, use "-dispose background" so that the previous frame is erased before each new frame is drawn. Test Plan: See T5741 for additional details. Maniphest Tasks: T5741 Differential Revision: https://secure.phabricator.com/D19214 --- .../macro/engine/PhabricatorMemeEngine.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/applications/macro/engine/PhabricatorMemeEngine.php b/src/applications/macro/engine/PhabricatorMemeEngine.php index f72a161171..175aa2fb46 100644 --- a/src/applications/macro/engine/PhabricatorMemeEngine.php +++ b/src/applications/macro/engine/PhabricatorMemeEngine.php @@ -236,7 +236,10 @@ final class PhabricatorMemeEngine extends Phobject { Filesystem::writeFile($output_name, $memed_frame_data); } - $future = new ExecFuture('convert -loop 0 %Ls %s', $output_files, $output); + $future = new ExecFuture( + 'convert -dispose background -loop 0 %Ls %s', + $output_files, + $output); $future->setTimeout(10)->resolvex(); return Filesystem::readFile($output); @@ -297,6 +300,9 @@ final class PhabricatorMemeEngine extends Phobject { $font_max = 72; $font_min = 5; + $margin_x = 16; + $margin_y = 16; + $last = null; $cursor = floor(($font_max + $font_min) / 2); $min = $font_min; @@ -321,12 +327,12 @@ final class PhabricatorMemeEngine extends Phobject { // text extends, for example if it has a "y". $descend = $box[3]; - if ($height > $dim_y) { + if (($height + $margin_y) > $dim_y) { $all_fit = false; break; } - if ($width > $dim_x) { + if (($width + $margin_x) > $dim_x) { $all_fit = false; break; } From 2b19f91936f23e1d59d51a4d971d4cb425d88f37 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Mar 2018 11:09:22 -0700 Subject: [PATCH 06/23] Allow Doorkeeper references to have multiple display variations (full, short, etc.) Summary: Ref T13102. An install has a custom rule for bridging JIRA references via Doorkeeper and would like to be able to render them as `JIRA-123` instead of `JIRA JIRA-123 Full JIRA title`. I think it's reasonable to imagine future support upstream for `JIRA-123`, `{JIRA-123}`, and so on, although we do not support these today. We can take a small step toward eventual support by letting the rendering pipeline understand different view modes. This adds an optional `name` (the default text rendered before we do the OAuth sync) and an optional `view`, which can be `short` or `full`. Test Plan: I tested this primarily with Asana, since it's less of a pain to set up than JIRA. The logic should be similar, hopefully. I changed `DoorkeeperAsanaRemarkupRule` to specify `name` and `view`, e.g `'view' => (mt_rand(0, 1) ? 'short' : 'full')`. Then I made a bunch of Asana references in a comment and saw them randomly go short or long. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19215 --- resources/celerity/map.php | 20 +++---- .../bridge/DoorkeeperBridgeJIRA.php | 1 + .../controller/DoorkeeperTagsController.php | 25 ++++++--- .../doorkeeper/engine/DoorkeeperObjectRef.php | 7 +++ .../remarkup/DoorkeeperRemarkupRule.php | 55 ++++++++++++++++--- .../doorkeeper/behavior-doorkeeper-tag.js | 20 ++++++- 6 files changed, 98 insertions(+), 30 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index b4806e5500..67ee4aa8e1 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -10,7 +10,7 @@ return array( 'conpherence.pkg.css' => 'e68cf1fa', 'conpherence.pkg.js' => '15191c65', 'core.pkg.css' => 'c218ed53', - 'core.pkg.js' => '8b7400e7', + 'core.pkg.js' => '0fabde4f', 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '113e692c', 'differential.pkg.js' => 'f6d809c0', @@ -391,7 +391,7 @@ return array( 'rsrc/js/application/diffusion/behavior-load-blame.js' => '42126667', 'rsrc/js/application/diffusion/behavior-locate-file.js' => '6d3e1947', 'rsrc/js/application/diffusion/behavior-pull-lastmodified.js' => 'f01586dc', - 'rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js' => 'e5822781', + 'rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js' => '1db13e70', 'rsrc/js/application/drydock/drydock-live-operation-status.js' => '901935ef', 'rsrc/js/application/files/behavior-icon-composer.js' => '8499b6ab', 'rsrc/js/application/files/behavior-launch-icon-composer.js' => '48086888', @@ -608,7 +608,7 @@ return array( 'javelin-behavior-diffusion-jump-to' => '73d09eef', 'javelin-behavior-diffusion-locate-file' => '6d3e1947', 'javelin-behavior-diffusion-pull-lastmodified' => 'f01586dc', - 'javelin-behavior-doorkeeper-tag' => 'e5822781', + 'javelin-behavior-doorkeeper-tag' => '1db13e70', 'javelin-behavior-drydock-live-operation-status' => '901935ef', 'javelin-behavior-durable-column' => '2ae077e1', 'javelin-behavior-editengine-reorder-configs' => 'd7a74243', @@ -1024,6 +1024,13 @@ return array( 'javelin-request', 'javelin-uri', ), + '1db13e70' => array( + 'javelin-behavior', + 'javelin-dom', + 'javelin-json', + 'javelin-workflow', + 'javelin-magical-init', + ), '1f6794f6' => array( 'javelin-behavior', 'javelin-stratcom', @@ -2087,13 +2094,6 @@ return array( 'javelin-behavior', 'javelin-dom', ), - 'e5822781' => array( - 'javelin-behavior', - 'javelin-dom', - 'javelin-json', - 'javelin-workflow', - 'javelin-magical-init', - ), 'e74b7517' => array( 'javelin-install', 'phuix-button-view', diff --git a/src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php b/src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php index 199f049dce..920f2eeb91 100644 --- a/src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php +++ b/src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php @@ -97,6 +97,7 @@ final class DoorkeeperBridgeJIRA extends DoorkeeperBridge { $ref->setAttribute('title', idx($fields, 'summary')); $ref->setAttribute('description', idx($result, 'description')); + $ref->setAttribute('shortname', $result['key']); $obj = $ref->getExternalObject(); if ($obj->getID()) { diff --git a/src/applications/doorkeeper/controller/DoorkeeperTagsController.php b/src/applications/doorkeeper/controller/DoorkeeperTagsController.php index 9957b82026..5a886cba3e 100644 --- a/src/applications/doorkeeper/controller/DoorkeeperTagsController.php +++ b/src/applications/doorkeeper/controller/DoorkeeperTagsController.php @@ -13,17 +13,13 @@ final class DoorkeeperTagsController extends PhabricatorController { } $refs = array(); - $id_map = array(); - foreach ($tags as $tag_spec) { + foreach ($tags as $key => $tag_spec) { $tag = $tag_spec['ref']; $ref = id(new DoorkeeperObjectRef()) ->setApplicationType($tag[0]) ->setApplicationDomain($tag[1]) ->setObjectType($tag[2]) ->setObjectID($tag[3]); - - $key = $ref->getObjectKey(); - $id_map[$key] = $tag_spec['id']; $refs[$key] = $ref; } @@ -43,19 +39,30 @@ final class DoorkeeperTagsController extends PhabricatorController { continue; } - $id = $id_map[$key]; + $tag_spec = $tags[$key]; + + $id = $tag_spec['id']; + $view = idx($tag_spec, 'view'); + + $is_short = ($view == 'short'); + + if ($is_short) { + $name = $ref->getShortName(); + } else { + $name = $ref->getFullName(); + } $tag = id(new PHUITagView()) ->setID($id) - ->setName($ref->getFullName()) + ->setName($name) ->setHref($uri) ->setType(PHUITagView::TYPE_OBJECT) ->setExternal(true) ->render(); $results[] = array( - 'id' => $id, - 'markup' => $tag, + 'id' => $id, + 'markup' => $tag, ); } diff --git a/src/applications/doorkeeper/engine/DoorkeeperObjectRef.php b/src/applications/doorkeeper/engine/DoorkeeperObjectRef.php index 3cf2a8dbe2..bbccc7a5d8 100644 --- a/src/applications/doorkeeper/engine/DoorkeeperObjectRef.php +++ b/src/applications/doorkeeper/engine/DoorkeeperObjectRef.php @@ -107,6 +107,13 @@ final class DoorkeeperObjectRef extends Phobject { pht('External Object')); } + public function getShortName() { + return coalesce( + $this->getAttribute('shortname'), + $this->getAttribute('name'), + pht('External Object')); + } + public function getObjectKey() { if (!$this->objectKey) { $this->objectKey = PhabricatorHash::digestForIndex( diff --git a/src/applications/doorkeeper/remarkup/DoorkeeperRemarkupRule.php b/src/applications/doorkeeper/remarkup/DoorkeeperRemarkupRule.php index b24d53705c..9654d12bb8 100644 --- a/src/applications/doorkeeper/remarkup/DoorkeeperRemarkupRule.php +++ b/src/applications/doorkeeper/remarkup/DoorkeeperRemarkupRule.php @@ -4,11 +4,41 @@ abstract class DoorkeeperRemarkupRule extends PhutilRemarkupRule { const KEY_TAGS = 'doorkeeper.tags'; + const VIEW_FULL = 'full'; + const VIEW_SHORT = 'short'; + public function getPriority() { return 350.0; } protected function addDoorkeeperTag(array $spec) { + PhutilTypeSpec::checkMap( + $spec, + array( + 'href' => 'string', + 'tag' => 'map', + + 'name' => 'optional string', + 'view' => 'optional string', + )); + + $spec = $spec + array( + 'view' => self::VIEW_FULL, + ); + + $views = array( + self::VIEW_FULL, + self::VIEW_SHORT, + ); + $views = array_fuse($views); + if (!isset($views[$spec['view']])) { + throw new Exception( + pht( + 'Unsupported Doorkeeper tag view mode "%s". Supported modes are: %s.', + $spec['view'], + implode(', ', $views))); + } + $key = self::KEY_TAGS; $engine = $this->getEngine(); $token = $engine->storeText(get_class($this)); @@ -36,19 +66,26 @@ abstract class DoorkeeperRemarkupRule extends PhutilRemarkupRule { $refs = array(); foreach ($tags as $spec) { - $tag_id = celerity_generate_unique_node_id(); + $href = $spec['href']; + $name = idx($spec, 'name', $href); - $refs[] = array( - 'id' => $tag_id, - ) + $spec['tag']; + $this->assertFlatText($href); + $this->assertFlatText($name); if ($this->getEngine()->isTextMode()) { - $view = $spec['href']; + $view = "{$name} <{$href}>"; } else { + $tag_id = celerity_generate_unique_node_id(); + + $refs[] = array( + 'id' => $tag_id, + 'view' => $spec['view'], + ) + $spec['tag']; + $view = id(new PHUITagView()) ->setID($tag_id) - ->setName($this->assertFlatText($spec['href'])) - ->setHref($this->assertFlatText($spec['href'])) + ->setName($name) + ->setHref($href) ->setType(PHUITagView::TYPE_OBJECT) ->setExternal(true); } @@ -56,7 +93,9 @@ abstract class DoorkeeperRemarkupRule extends PhutilRemarkupRule { $engine->overwriteStoredText($spec['token'], $view); } - Javelin::initBehavior('doorkeeper-tag', array('tags' => $refs)); + if ($refs) { + Javelin::initBehavior('doorkeeper-tag', array('tags' => $refs)); + } $engine->setTextMetadata($key, array()); } diff --git a/webroot/rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js b/webroot/rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js index c7b850f44f..f725ef6082 100644 --- a/webroot/rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js +++ b/webroot/rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js @@ -40,9 +40,19 @@ JX.behavior('doorkeeper-tag', function(config, statics) { }; for (var ii = 0; ii < tags.length; ii++) { - var tag_key = tags[ii].ref.join('@'); + var key_parts = []; + + key_parts = key_parts.concat(tags[ii].ref); + key_parts.push(tags[ii].view); + + var tag_key = key_parts.join(' '); + if (tag_key in statics.cache) { - have.push({id: tags[ii].id, markup: statics.cache[tag_key]}); + have.push( + { + id: tags[ii].id, + markup: statics.cache[tag_key] + }); } else { need.push(tags[ii]); keys[tags[ii].id] = tag_key; @@ -54,7 +64,11 @@ JX.behavior('doorkeeper-tag', function(config, statics) { } if (need.length) { - new JX.Workflow('/doorkeeper/tags/', {tags: JX.JSON.stringify(need)}) + var data = { + tags: JX.JSON.stringify(need) + }; + + new JX.Workflow('/doorkeeper/tags/', data) .setHandler(function(r) { draw(r.tags); }) .start(); } From 0bf8e33bb6c17e41712dd6f4db11139a850e82cd Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Mar 2018 12:14:36 -0700 Subject: [PATCH 07/23] Issue setup guidance recommending MySQLi and MySQL Native Driver Summary: Fixes T12994. We need `MYSQLI_ASYNC` to implement client-side query timeouts, and we need MySQLi + MySQL Native Driver to get `MYSQLI_ASYNC`. Recommend users install MySQLi and MySQL Native Driver if they don't have them. These are generally the defaults and best practice anyway, but Ubuntu makes it easy to use the older stuff. All the cases we're currently aware of stem from `apt-get install php5-mysql` (which explicitly selects the non-native driver) so issue particular guidance about `php5-mysqlnd`. Test Plan: - Faked both issues locally, reviewed the text. - Will deploy to `secure`, which currently has the non-native driver. Maniphest Tasks: T12994 Differential Revision: https://secure.phabricator.com/D19216 --- resources/celerity/map.php | 4 +- scripts/install/install_ubuntu.sh | 2 +- .../check/PhabricatorPHPConfigSetupCheck.php | 45 +++++++++++++++++++ src/docs/user/installation_guide.diviner | 2 +- .../css/application/config/setup-issue.css | 2 +- 5 files changed, 50 insertions(+), 5 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 67ee4aa8e1..769e8dfabe 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -46,7 +46,7 @@ return array( 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/config/config-options.css' => '4615667b', 'rsrc/css/application/config/config-template.css' => '8f18fa41', - 'rsrc/css/application/config/setup-issue.css' => '7dae7f18', + 'rsrc/css/application/config/setup-issue.css' => '30ee0173', 'rsrc/css/application/config/unhandled-exception.css' => '4c96257a', 'rsrc/css/application/conpherence/color.css' => 'abb4c358', 'rsrc/css/application/conpherence/durable-column.css' => '89ea6bef', @@ -881,7 +881,7 @@ return array( 'releeph-preview-branch' => 'b7a6f4a5', 'releeph-request-differential-create-dialog' => '8d8b92cd', 'releeph-request-typeahead-css' => '667a48ae', - 'setup-issue-css' => '7dae7f18', + 'setup-issue-css' => '30ee0173', 'sprite-login-css' => '396f3c3a', 'sprite-tokens-css' => '9cdfd599', 'syntax-default-css' => '9923583c', diff --git a/scripts/install/install_ubuntu.sh b/scripts/install/install_ubuntu.sh index b3e678450d..5408cdb3e1 100755 --- a/scripts/install/install_ubuntu.sh +++ b/scripts/install/install_ubuntu.sh @@ -45,7 +45,7 @@ set +x sudo apt-get -qq update sudo apt-get install \ $GIT mysql-server apache2 dpkg-dev \ - php5 php5-mysql php5-gd php5-dev php5-curl php-apc php5-cli php5-json + php5 php5-mysqlnd php5-gd php5-dev php5-curl php-apc php5-cli php5-json # Enable mod_rewrite sudo a2enmod rewrite diff --git a/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php b/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php index 5382a27b7a..cf3148b5be 100644 --- a/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php +++ b/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php @@ -67,6 +67,51 @@ final class PhabricatorPHPConfigSetupCheck extends PhabricatorSetupCheck { ->addPHPConfig('always_populate_raw_post_data'); } + if (!extension_loaded('mysqli')) { + $summary = pht( + 'Install the MySQLi extension to improve database behavior.'); + + $message = pht( + 'PHP is currently using the very old "mysql" extension to interact '. + 'with the database. You should install the newer "mysqli" extension '. + 'to improve behaviors (like error handling and query timeouts).'. + "\n\n". + 'Phabricator will work with the older extension, but upgrading to the '. + 'newer extension is recommended.'. + "\n\n". + 'You may be able to install the extension with a command like: %s', + + // NOTE: We're intentionally telling you to install "mysqlnd" here; on + // Ubuntu, there's no separate "mysqli" package. + phutil_tag('tt', array(), 'sudo apt-get install php5-mysqlnd')); + + $this->newIssue('php.mysqli') + ->setName(pht('MySQLi Extension Not Available')) + ->setSummary($summary) + ->setMessage($message); + } else if (!defined('MYSQLI_ASYNC')) { + $summary = pht( + 'Configure the MySQL Native Driver to improve database behavior.'); + + $message = pht( + 'PHP is currently using the older MySQL external driver instead of '. + 'the newer MySQL native driver. The older driver lacks options and '. + 'features (like support for query timeouts) which allow Phabricator '. + 'to interact better with the database.'. + "\n\n". + 'Phabricator will work with the older driver, but upgrading to the '. + 'native driver is recommended.'. + "\n\n". + 'You may be able to install the native driver with a command like: %s', + phutil_tag('tt', array(), 'sudo apt-get install php5-mysqlnd')); + + + $this->newIssue('php.myqlnd') + ->setName(pht('MySQL Native Driver Not Available')) + ->setSummary($summary) + ->setMessage($message); + } + } } diff --git a/src/docs/user/installation_guide.diviner b/src/docs/user/installation_guide.diviner index 8feb8ae1d0..29895eb2a9 100644 --- a/src/docs/user/installation_guide.diviner +++ b/src/docs/user/installation_guide.diviner @@ -123,7 +123,7 @@ Otherwise, here's a general description of what you need to install: - MySQL Server (usually "mysqld" or "mysql-server") - PHP (usually "php") - Required PHP extensions: mbstring, iconv, mysql (or mysqli), curl, pcntl - (these might be something like "php-mysql" or "php5-mysql") + (these might be something like "php-mysql" or "php5-mysqlnd") - Optional PHP extensions: gd, apc (special instructions for APC are available below if you have difficulty installing it), xhprof (instructions below, you only need this if you are developing Phabricator) diff --git a/webroot/rsrc/css/application/config/setup-issue.css b/webroot/rsrc/css/application/config/setup-issue.css index 7ba033d9c2..a80b02815c 100644 --- a/webroot/rsrc/css/application/config/setup-issue.css +++ b/webroot/rsrc/css/application/config/setup-issue.css @@ -84,7 +84,7 @@ } .setup-issue-body { - padding: 16px 16px 0 16px; + padding: 16px; } .setup-issue-status { From dfd8b0225b3de45533c46f04ff76f2cabcfd3a9b Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Mar 2018 16:01:01 -0700 Subject: [PATCH 08/23] Add a UI element for reviewing older generations of Harbormaster builds Summary: See PHI446. Ref T13088. Currently, there's no way to access older generations of a build unless you know the secret `?g=1` URI magic. When a build has multiple generations, show a history table and let users click to see older run information. This is currently very basic. It would be nice to show when each generation started, who started/restarted it, and what the build status was at the time the build was restarted. There's currently no convenient source for this information so just add a bare-bones, working version of this for now. Test Plan: Viewed pending, single-run and multi-restart builds. Saw table on builds with more than one generation. Clicked table entries to see different build data. {F5471160} Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13088 Differential Revision: https://secure.phabricator.com/D19217 --- .../PhabricatorHarbormasterApplication.php | 3 +- .../HarbormasterBuildViewController.php | 122 +++++++++++++++--- .../engine/HarbormasterBuildEngine.php | 2 +- 3 files changed, 109 insertions(+), 18 deletions(-) diff --git a/src/applications/harbormaster/application/PhabricatorHarbormasterApplication.php b/src/applications/harbormaster/application/PhabricatorHarbormasterApplication.php index 103e6bce69..80be90b375 100644 --- a/src/applications/harbormaster/application/PhabricatorHarbormasterApplication.php +++ b/src/applications/harbormaster/application/PhabricatorHarbormasterApplication.php @@ -71,7 +71,8 @@ final class PhabricatorHarbormasterApplication extends PhabricatorApplication { ), 'build/' => array( $this->getQueryRoutePattern() => 'HarbormasterBuildListController', - '(?P\d+)/' => 'HarbormasterBuildViewController', + '(?P\d+)/(?:(?P\d+)/)?' + => 'HarbormasterBuildViewController', '(?Ppause|resume|restart|abort)/'. '(?P\d+)/(?:(?P[^/]+)/)?' => 'HarbormasterBuildActionController', diff --git a/src/applications/harbormaster/controller/HarbormasterBuildViewController.php b/src/applications/harbormaster/controller/HarbormasterBuildViewController.php index 0e09b4d658..0646bd9309 100644 --- a/src/applications/harbormaster/controller/HarbormasterBuildViewController.php +++ b/src/applications/harbormaster/controller/HarbormasterBuildViewController.php @@ -8,7 +8,6 @@ final class HarbormasterBuildViewController $viewer = $request->getUser(); $id = $request->getURIData('id'); - $generation = $request->getInt('g'); $build = id(new HarbormasterBuildQuery()) ->setViewer($viewer) @@ -21,6 +20,7 @@ final class HarbormasterBuildViewController require_celerity_resource('harbormaster-css'); $title = pht('Build %d', $id); + $warnings = array(); $page_header = id(new PHUIHeaderView()) ->setHeader($title) @@ -28,7 +28,9 @@ final class HarbormasterBuildViewController ->setPolicyObject($build) ->setHeaderIcon('fa-cubes'); - if ($build->isRestarting()) { + $is_restarting = $build->isRestarting(); + + if ($is_restarting) { $page_header->setStatus( 'fa-exclamation-triangle', 'red', pht('Restarting')); } else if ($build->isPausing()) { @@ -42,19 +44,53 @@ final class HarbormasterBuildViewController 'fa-exclamation-triangle', 'red', pht('Aborting')); } + $max_generation = (int)$build->getBuildGeneration(); + if ($max_generation === 0) { + $min_generation = 0; + } else { + $min_generation = 1; + } + + if ($is_restarting) { + $max_generation = $max_generation + 1; + } + + $generation = $request->getURIData('generation'); + if ($generation === null) { + $generation = $max_generation; + } else { + $generation = (int)$generation; + } + + if ($generation < $min_generation || $generation > $max_generation) { + return new Aphront404Response(); + } + + if ($generation < $max_generation) { + $warnings[] = pht( + 'You are viewing an older run of this build. %s', + phutil_tag( + 'a', + array( + 'href' => $build->getURI(), + ), + pht('View Current Build'))); + } + + $curtain = $this->buildCurtainView($build); $properties = $this->buildPropertyList($build); + $history = $this->buildHistoryTable( + $build, + $generation, + $min_generation, + $max_generation); $crumbs = $this->buildApplicationCrumbs(); $this->addBuildableCrumb($crumbs, $build->getBuildable()); $crumbs->addTextCrumb($title); $crumbs->setBorder(true); - if ($generation === null || $generation > $build->getBuildGeneration() || - $generation < 0) { - $generation = $build->getBuildGeneration(); - } - $build_targets = id(new HarbormasterBuildTargetQuery()) ->setViewer($viewer) ->needBuildSteps(true) @@ -264,14 +300,25 @@ final class HarbormasterBuildViewController new HarbormasterBuildTransactionQuery()); $timeline->setShouldTerminate(true); + if ($warnings) { + $warnings = id(new PHUIInfoView()) + ->setErrors($warnings) + ->setSeverity(PHUIInfoView::SEVERITY_WARNING); + } else { + $warnings = null; + } + $view = id(new PHUITwoColumnView()) ->setHeader($page_header) ->setCurtain($curtain) - ->setMainColumn(array( - $properties, - $targets, - $timeline, - )); + ->setMainColumn( + array( + $warnings, + $properties, + $history, + $targets, + $timeline, + )); return $this->newPage() ->setTitle($title) @@ -561,10 +608,6 @@ final class HarbormasterBuildViewController pht('Build Plan'), $handles[$build->getBuildPlanPHID()]->renderLink()); - $properties->addProperty( - pht('Restarts'), - $build->getBuildGeneration()); - $properties->addProperty( pht('Status'), $this->getStatus($build)); @@ -576,6 +619,53 @@ final class HarbormasterBuildViewController } + private function buildHistoryTable( + HarbormasterBuild $build, + $generation, + $min_generation, + $max_generation) { + + if ($max_generation === $min_generation) { + return null; + } + + $viewer = $this->getViewer(); + + $uri = $build->getURI(); + + $rows = array(); + $rowc = array(); + for ($ii = $max_generation; $ii >= $min_generation; $ii--) { + if ($generation == $ii) { + $rowc[] = 'highlighted'; + } else { + $rowc[] = null; + } + + $rows[] = array( + phutil_tag( + 'a', + array( + 'href' => $uri.$ii.'/', + ), + pht('Run %d', $ii)), + ); + } + + $table = id(new AphrontTableView($rows)) + ->setColumnClasses( + array( + 'pri wide', + )) + ->setRowClasses($rowc); + + return id(new PHUIObjectBoxView()) + ->setHeaderText(pht('History')) + ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) + ->setTable($table); + } + + private function getStatus(HarbormasterBuild $build) { $status_view = new PHUIStatusListView(); diff --git a/src/applications/harbormaster/engine/HarbormasterBuildEngine.php b/src/applications/harbormaster/engine/HarbormasterBuildEngine.php index 454fec7f37..f3589bfc53 100644 --- a/src/applications/harbormaster/engine/HarbormasterBuildEngine.php +++ b/src/applications/harbormaster/engine/HarbormasterBuildEngine.php @@ -147,7 +147,7 @@ final class HarbormasterBuildEngine extends Phobject { // If it is different, they will automatically stop what they're doing // and abort. - // Previously we used to delete targets, logs and artifacts here. Instead + // Previously we used to delete targets, logs and artifacts here. Instead, // leave them around so users can view previous generations of this build. } From dc7e40ff3fc7c1e882ebf0b6c6002c0dc33f9d6e Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 13 Mar 2018 16:26:01 -0700 Subject: [PATCH 09/23] Fix the DarkConsole inline error log stack trace expansion behavior for Content-Security-Policy Summary: See PHI451. Ref T13102. DarkConsole uses an ancient inline "onclick" handler to expand the stack traces for errors. The new Content-Security-Policy prevents this from functioning. Replace this with a more modern behavior-driven action instead. Test Plan: - Clicked some errors in DarkConsole, saw stack traces appear. - Grepped for `onclick` and `jsprintf()` to see if I could find any more of these, but came up empty. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19218 --- resources/celerity/map.php | 34 +++++++------------ resources/celerity/packages.php | 4 --- .../plugin/DarkConsoleErrorLogPlugin.php | 7 ++-- src/view/page/PhabricatorStandardPageView.php | 3 -- webroot/rsrc/js/core/behavior-error-log.js | 19 ----------- .../core/darkconsole/behavior-dark-console.js | 20 +++++++++++ 6 files changed, 37 insertions(+), 50 deletions(-) delete mode 100644 webroot/rsrc/js/core/behavior-error-log.js diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 769e8dfabe..15388ab9a2 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -11,7 +11,6 @@ return array( 'conpherence.pkg.js' => '15191c65', 'core.pkg.css' => 'c218ed53', 'core.pkg.js' => '0fabde4f', - 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '113e692c', 'differential.pkg.js' => 'f6d809c0', 'diffusion.pkg.css' => 'a2d17c7d', @@ -462,7 +461,6 @@ return array( 'rsrc/js/core/behavior-detect-timezone.js' => '4c193c96', 'rsrc/js/core/behavior-device.js' => 'a3714c76', 'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '484a6e22', - 'rsrc/js/core/behavior-error-log.js' => '6882e80a', 'rsrc/js/core/behavior-fancy-datepicker.js' => 'ecf4e799', 'rsrc/js/core/behavior-file-tree.js' => '88236f00', 'rsrc/js/core/behavior-form.js' => '5c54cbf3', @@ -501,7 +499,7 @@ return array( 'rsrc/js/core/behavior-workflow.js' => '0a3f3021', 'rsrc/js/core/darkconsole/DarkLog.js' => 'c8e1ffe3', 'rsrc/js/core/darkconsole/DarkMessage.js' => 'c48cccdd', - 'rsrc/js/core/darkconsole/behavior-dark-console.js' => '17bb8539', + 'rsrc/js/core/darkconsole/behavior-dark-console.js' => '66888767', 'rsrc/js/core/phtize.js' => 'd254d646', 'rsrc/js/phui/behavior-phui-dropdown-menu.js' => 'b95d6f7d', 'rsrc/js/phui/behavior-phui-file-upload.js' => 'b003d4fb', @@ -588,7 +586,7 @@ return array( 'javelin-behavior-conpherence-pontificate' => '55616e04', 'javelin-behavior-conpherence-search' => '9bbf3762', 'javelin-behavior-countdown-timer' => 'e4cc26b3', - 'javelin-behavior-dark-console' => '17bb8539', + 'javelin-behavior-dark-console' => '66888767', 'javelin-behavior-dashboard-async-panel' => '469c0d9e', 'javelin-behavior-dashboard-move-panels' => '408bf173', 'javelin-behavior-dashboard-query-panel-select' => '453c5375', @@ -613,7 +611,6 @@ return array( 'javelin-behavior-durable-column' => '2ae077e1', 'javelin-behavior-editengine-reorder-configs' => 'd7a74243', 'javelin-behavior-editengine-reorder-fields' => 'b59e1e96', - 'javelin-behavior-error-log' => '6882e80a', 'javelin-behavior-event-all-day' => 'b41537c9', 'javelin-behavior-fancy-datepicker' => 'ecf4e799', 'javelin-behavior-global-drag-and-drop' => '960f6a39', @@ -987,16 +984,6 @@ return array( 'aphront-typeahead-control-css', 'phui-tag-view-css', ), - '17bb8539' => array( - 'javelin-behavior', - 'javelin-stratcom', - 'javelin-util', - 'javelin-dom', - 'javelin-request', - 'phabricator-keyboard-shortcut', - 'phabricator-darklog', - 'phabricator-darkmessage', - ), '1802a242' => array( 'phui-theme-css', ), @@ -1416,6 +1403,16 @@ return array( 'javelin-typeahead-ondemand-source', 'javelin-util', ), + 66888767 => array( + 'javelin-behavior', + 'javelin-stratcom', + 'javelin-util', + 'javelin-dom', + 'javelin-request', + 'phabricator-keyboard-shortcut', + 'phabricator-darklog', + 'phabricator-darkmessage', + ), '66a6def1' => array( 'javelin-behavior', 'javelin-dom', @@ -1429,9 +1426,6 @@ return array( 'javelin-dom', 'phabricator-notification', ), - '6882e80a' => array( - 'javelin-dom', - ), '68af71ca' => array( 'javelin-install', 'javelin-dom', @@ -2343,10 +2337,6 @@ return array( 'javelin-behavior-user-menu', 'phabricator-favicon', ), - 'darkconsole.pkg.js' => array( - 'javelin-behavior-dark-console', - 'javelin-behavior-error-log', - ), 'differential.pkg.css' => array( 'differential-core-view-css', 'differential-changeset-view-css', diff --git a/resources/celerity/packages.php b/resources/celerity/packages.php index abbf1d77e2..3cec508678 100644 --- a/resources/celerity/packages.php +++ b/resources/celerity/packages.php @@ -224,8 +224,4 @@ return array( 'javelin-behavior-maniphest-subpriority-editor', 'javelin-behavior-maniphest-list-editor', ), - 'darkconsole.pkg.js' => array( - 'javelin-behavior-dark-console', - 'javelin-behavior-error-log', - ), ); diff --git a/src/applications/console/plugin/DarkConsoleErrorLogPlugin.php b/src/applications/console/plugin/DarkConsoleErrorLogPlugin.php index 0d9604dcba..213b578c75 100644 --- a/src/applications/console/plugin/DarkConsoleErrorLogPlugin.php +++ b/src/applications/console/plugin/DarkConsoleErrorLogPlugin.php @@ -39,10 +39,13 @@ final class DarkConsoleErrorLogPlugin extends DarkConsolePlugin { $file = $row['file']; $line = $row['line']; - $tag = phutil_tag( + $tag = javelin_tag( 'a', array( - 'onclick' => jsprintf('show_details(%d)', $index), + 'sigil' => 'darkconsole-expand', + 'meta' => array( + 'expandID' => 'row-details-'.$index, + ), ), $row['str'].' at ['.basename($file).':'.$line.']'); $rows[] = array($tag); diff --git a/src/view/page/PhabricatorStandardPageView.php b/src/view/page/PhabricatorStandardPageView.php index aca98b7205..99143add5f 100644 --- a/src/view/page/PhabricatorStandardPageView.php +++ b/src/view/page/PhabricatorStandardPageView.php @@ -330,9 +330,6 @@ final class PhabricatorStandardPageView extends PhabricatorBarePageView Javelin::initBehavior( 'dark-console', $this->getConsoleConfig()); - - // Change this to initBehavior when there is some behavior to initialize - require_celerity_resource('javelin-behavior-error-log'); } if ($user) { diff --git a/webroot/rsrc/js/core/behavior-error-log.js b/webroot/rsrc/js/core/behavior-error-log.js deleted file mode 100644 index 24f3f61141..0000000000 --- a/webroot/rsrc/js/core/behavior-error-log.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @provides javelin-behavior-error-log - * @requires javelin-dom - */ - -/* exported show_details */ - -var current_details = null; - -function show_details(row) { - var node = JX.$('row-details-' + row); - - if (current_details !== null) { - JX.$('row-details-' + current_details).style.display = 'none'; - } - - node.style.display = 'block'; - current_details = row; -} diff --git a/webroot/rsrc/js/core/darkconsole/behavior-dark-console.js b/webroot/rsrc/js/core/darkconsole/behavior-dark-console.js index 13949432ff..a9f33d4594 100644 --- a/webroot/rsrc/js/core/darkconsole/behavior-dark-console.js +++ b/webroot/rsrc/js/core/darkconsole/behavior-dark-console.js @@ -404,4 +404,24 @@ JX.behavior('dark-console', function(config, statics) { } + if (!statics.expand) { + statics.expand = true; + + var current_details = null; + JX.Stratcom.listen('click', 'darkconsole-expand', function(e) { + e.kill(); + + if (current_details) { + current_details.style.display = 'none'; + current_details = null; + } + + var id = e.getNodeData('darkconsole-expand').expandID; + var node = JX.$(id); + + node.style.display = 'block'; + current_details = node; + }); + } + }); From 403dd629362dec5a60c058f4f3c04e2f330cdaf5 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 08:19:06 -0700 Subject: [PATCH 10/23] Update the "Support Resources" documentation for pacts instead of consulting Summary: Support pacts have been working well and are here to stay, so guide users toward them rather than older resources (consulting / paid prioritization). Test Plan: Read document. Twice! Differential Revision: https://secure.phabricator.com/D19219 --- src/docs/user/support.diviner | 43 +++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/src/docs/user/support.diviner b/src/docs/user/support.diviner index 9dc06b15a3..c99b272de9 100644 --- a/src/docs/user/support.diviner +++ b/src/docs/user/support.diviner @@ -9,14 +9,23 @@ Overview This document describes available support resources. -The upstream provides active, free support for a narrow range of problems -(primarily, security issues and reproducible bugs). +The upstream provides free support for a narrow range of problems (primarily, +security issues and reproducible bugs) and paid support for virtually anything. The upstream does not provide free support for general problems with installing or configuring Phabricator. You may be able to get some help with these kinds of issues from the community. +Paid Support +============ + +If you'd like upstream support, see ((pacts)). + +This is the only way to request features and the only way to get guaranteed +answers from experts quickly. + + Reporting Security Vulnerabilities ================================== @@ -31,8 +40,7 @@ Reporting Bugs The upstream will accept **reproducible** bug reports in modern, first-party production code running in reasonable environments. Before submitting a bug -report you **must update** to the latest version of Phabricator. This reduces -support costs on the upstream, please be mindful. +report you **must update** to the latest version of Phabricator. To report bugs, see @{article:Contributing Bug Reports}. @@ -52,14 +60,10 @@ If you'd like to contribute to Phabricator, start with Installation and Setup Help =========================== -Installation and setup help is available from the upstream at consulting rates. -See [[ https://secure.phabricator.com/w/consulting/ | Consulting ]] for details. - -Helping individual installs navigate unique setup problems takes our time -away from developing Phabricator, so we can not offer this service for free. - You may be able to get free help with these issues from the -[[ https://phurl.io/u/discourse | community ]]. See below for details. +[[ https://phurl.io/u/discourse | community ]]. + +You can also pay us for support. See ((pacts)). Hosting @@ -67,8 +71,8 @@ Hosting The upstream offers Phabricator as a hosted service at [[ https://phacility.com | Phacility ]]. This simplifies setting up and -operating a Phabricator instance, and gives you access to a broader range -of upstream support services. +operating a Phabricator instance, and automatically gives you access to a +broader range of upstream support services. Running this service gives us a strong financial incentive to make installing and operating Phabricator as difficult as possible. Blinded by greed, we toil @@ -79,9 +83,10 @@ ourselves can hope to navigate. Phabricator Community ===================== -We provide hosting for a -[[ https://phurl.io/u/discourse | Discussion Forum ]] -where admins and users help and answer questions from other community members. -Upstream developers may occasionally participate, but this is mostly -a user to user community. If you run into general problems, but are not -interested in paid support, this is the main place to find help. +We provide hosting for a [[ https://phurl.io/u/discourse | Discussion Forum ]] +where admininstrators and users help and answer questions from other community +members. + +Upstream developers occasionally participate, but this is mostly a user to user +community. If you run into general problems, but are not interested in paid +support, this is the main place to find help. From 49e6358fce2706206ce59b8455214e018ff3404d Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 11:20:33 -0700 Subject: [PATCH 11/23] Bulk load builtin project default profile images Summary: Depends on D19221. Ref T13106. When we fall back to default profile images for projects, bulk load them instead of doing individual queries. Test Plan: Saw local task drop from 199 queries to 151 queries with the same actual outcome. Saw custom and default profile images on the project list page. Maniphest Tasks: T13106 Differential Revision: https://secure.phabricator.com/D19222 --- .../project/query/PhabricatorProjectQuery.php | 66 +++++++++++++++---- 1 file changed, 53 insertions(+), 13 deletions(-) diff --git a/src/applications/project/query/PhabricatorProjectQuery.php b/src/applications/project/query/PhabricatorProjectQuery.php index 955eba9972..98713078fb 100644 --- a/src/applications/project/query/PhabricatorProjectQuery.php +++ b/src/applications/project/query/PhabricatorProjectQuery.php @@ -357,29 +357,69 @@ final class PhabricatorProjectQuery } protected function didFilterPage(array $projects) { + $viewer = $this->getViewer(); + if ($this->needImages) { - $file_phids = mpull($projects, 'getProfileImagePHID'); - $file_phids = array_filter($file_phids); + $need_images = $projects; + + // First, try to load custom profile images for any projects with custom + // images. + $file_phids = array(); + foreach ($need_images as $key => $project) { + $image_phid = $project->getProfileImagePHID(); + if ($image_phid) { + $file_phids[$key] = $image_phid; + } + } + if ($file_phids) { $files = id(new PhabricatorFileQuery()) ->setParentQuery($this) - ->setViewer($this->getViewer()) + ->setViewer($viewer) ->withPHIDs($file_phids) ->execute(); $files = mpull($files, null, 'getPHID'); - } else { - $files = array(); + + foreach ($file_phids as $key => $image_phid) { + $file = idx($files, $image_phid); + if (!$file) { + continue; + } + + $need_images[$key]->attachProfileImageFile($file); + unset($need_images[$key]); + } } - foreach ($projects as $project) { - $file = idx($files, $project->getProfileImagePHID()); - if (!$file) { - $builtin = PhabricatorProjectIconSet::getIconImage( - $project->getIcon()); - $file = PhabricatorFile::loadBuiltin($this->getViewer(), - 'projects/'.$builtin); + // For projects with default images, or projects where the custom image + // failed to load, load a builtin image. + if ($need_images) { + $builtin_map = array(); + $builtins = array(); + foreach ($need_images as $key => $project) { + $icon = $project->getIcon(); + + $builtin_name = PhabricatorProjectIconSet::getIconImage($icon); + $builtin_name = 'projects/'.$builtin_name; + + $builtin = id(new PhabricatorFilesOnDiskBuiltinFile()) + ->setName($builtin_name); + + $builtin_key = $builtin->getBuiltinFileKey(); + + $builtins[] = $builtin; + $builtin_map[$key] = $builtin_key; + } + + $builtin_files = PhabricatorFile::loadBuiltins( + $viewer, + $builtins); + + foreach ($need_images as $key => $project) { + $builtin_key = $builtin_map[$key]; + $builtin_file = $builtin_files[$builtin_key]; + $project->attachProfileImageFile($builtin_file); } - $project->attachProfileImageFile($file); } } From 31bd3679f0255f2b0b9daacfa3076b30cb872c56 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 11:42:53 -0700 Subject: [PATCH 12/23] Skip loading attached objects for files when we know the file is visible Summary: Depends on D19222. Ref T13106. We currently execute an edge query (and possibly an object query) when loading builtin files, but this is never necessary because we know these files are always visible. Instead, skip this logic for builtin files and profile image files; these files have global visibility and will never get a different policy result because of file attachment information. (In theory, we could additionally skip this for files with the most open visibility policy or some other trivially visible policy like the user's PHID, but we do actually care about the attachment data some of the time.) Test Plan: Saw queries drop from 151 to 145 on local test page. Checked file attachment data in Files, saw it still working correctly. Maniphest Tasks: T13106 Differential Revision: https://secure.phabricator.com/D19223 --- .../files/query/PhabricatorFileQuery.php | 86 ++++++++++++------- 1 file changed, 57 insertions(+), 29 deletions(-) diff --git a/src/applications/files/query/PhabricatorFileQuery.php b/src/applications/files/query/PhabricatorFileQuery.php index 071ee03991..83bf2d8dec 100644 --- a/src/applications/files/query/PhabricatorFileQuery.php +++ b/src/applications/files/query/PhabricatorFileQuery.php @@ -152,46 +152,74 @@ final class PhabricatorFileQuery } protected function loadPage() { - $files = $this->loadStandardPage(new PhabricatorFile()); + $files = $this->loadStandardPage($this->newResultObject()); if (!$files) { return $files; } + // Figure out which files we need to load attached objects for. In most + // cases, we need to load attached objects to perform policy checks for + // files. + + // However, in some special cases where we know files will always be + // visible, we skip this. See T8478 and T13106. + $need_objects = array(); + foreach ($files as $file) { + $always_visible = false; + + if ($file->getIsProfileImage()) { + $always_visible = true; + } + + if ($file->isBuiltin()) { + $always_visible = true; + } + + if ($always_visible) { + // We just treat these files as though they aren't attached to + // anything. This saves a query in common cases when we're loading + // profile images or builtins. We could be slightly more nuanced + // about this and distinguish between "not attached to anything" and + // "might be attached but policy checks don't need to care". + $file->attachObjectPHIDs(array()); + continue; + } + + $need_objects[] = $file; + } + $viewer = $this->getViewer(); $is_omnipotent = $viewer->isOmnipotent(); - // We need to load attached objects to perform policy checks for files. - // First, load the edges. - - $edge_type = PhabricatorFileHasObjectEdgeType::EDGECONST; - $file_phids = mpull($files, 'getPHID'); - $edges = id(new PhabricatorEdgeQuery()) - ->withSourcePHIDs($file_phids) - ->withEdgeTypes(array($edge_type)) - ->execute(); - + // If we have any files left which do need objects, load the edges now. $object_phids = array(); - foreach ($files as $file) { - $phids = array_keys($edges[$file->getPHID()][$edge_type]); - $file->attachObjectPHIDs($phids); + if ($need_objects) { + $edge_type = PhabricatorFileHasObjectEdgeType::EDGECONST; + $file_phids = mpull($need_objects, 'getPHID'); - if ($file->getIsProfileImage()) { - // If this is a profile image, don't bother loading related files. - // It will always be visible, and we can get into trouble if we try - // to load objects and end up stuck in a cycle. See T8478. - continue; - } + $edges = id(new PhabricatorEdgeQuery()) + ->withSourcePHIDs($file_phids) + ->withEdgeTypes(array($edge_type)) + ->execute(); - if ($is_omnipotent) { - // If the viewer is omnipotent, we don't need to load the associated - // objects either since they can certainly see the object. Skipping - // this can improve performance and prevent cycles. - continue; - } + foreach ($need_objects as $file) { + $phids = array_keys($edges[$file->getPHID()][$edge_type]); + $file->attachObjectPHIDs($phids); - foreach ($phids as $phid) { - $object_phids[$phid] = true; + if ($is_omnipotent) { + // If the viewer is omnipotent, we don't need to load the associated + // objects either since the viewer can certainly see the object. + // Skipping this can improve performance and prevent cycles. This + // could possibly become part of the profile/builtin code above which + // short circuits attacment policy checks in cases where we know them + // to be unnecessary. + continue; + } + + foreach ($phids as $phid) { + $object_phids[$phid] = true; + } } } @@ -203,7 +231,7 @@ final class PhabricatorFileQuery $xforms = id(new PhabricatorTransformedFile())->loadAllWhere( 'transformedPHID IN (%Ls)', - $file_phids); + mpull($files, 'getPHID')); $xform_phids = mpull($xforms, 'getOriginalPHID', 'getTransformedPHID'); foreach ($xform_phids as $derived_phid => $original_phid) { $object_phids[$original_phid] = true; From d80a53abccc7e165a54d07e96cd556850f749ce5 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 11:50:53 -0700 Subject: [PATCH 13/23] Skip loading file transform sources when we know a file is not transformed Summary: Depends on D19223. Ref T13106. When we're loading a file, we currently test if it's a transformed version of another file (usually, a thumbnail) and apply policy behavior if it is. We know that builtins and profile images are never transforms and that the policy behavior for these files doesn't matter anyway. Skip loading transforms for these files. Test Plan: Saw local queries drop from 146 to 139 with no change in behavior. Maniphest Tasks: T13106 Differential Revision: https://secure.phabricator.com/D19224 --- .../files/query/PhabricatorFileQuery.php | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/applications/files/query/PhabricatorFileQuery.php b/src/applications/files/query/PhabricatorFileQuery.php index 83bf2d8dec..9f1659a7f3 100644 --- a/src/applications/files/query/PhabricatorFileQuery.php +++ b/src/applications/files/query/PhabricatorFileQuery.php @@ -165,6 +165,7 @@ final class PhabricatorFileQuery // However, in some special cases where we know files will always be // visible, we skip this. See T8478 and T13106. $need_objects = array(); + $need_xforms = array(); foreach ($files as $file) { $always_visible = false; @@ -187,6 +188,7 @@ final class PhabricatorFileQuery } $need_objects[] = $file; + $need_xforms[] = $file; } $viewer = $this->getViewer(); @@ -226,15 +228,20 @@ final class PhabricatorFileQuery // If this file is a transform of another file, load that file too. If you // can see the original file, you can see the thumbnail. - // TODO: It might be nice to put this directly on PhabricatorFile and remove - // the PhabricatorTransformedFile table, which would be a little simpler. + // TODO: It might be nice to put this directly on PhabricatorFile and + // remove the PhabricatorTransformedFile table, which would be a little + // simpler. - $xforms = id(new PhabricatorTransformedFile())->loadAllWhere( - 'transformedPHID IN (%Ls)', - mpull($files, 'getPHID')); - $xform_phids = mpull($xforms, 'getOriginalPHID', 'getTransformedPHID'); - foreach ($xform_phids as $derived_phid => $original_phid) { - $object_phids[$original_phid] = true; + if ($need_xforms) { + $xforms = id(new PhabricatorTransformedFile())->loadAllWhere( + 'transformedPHID IN (%Ls)', + mpull($need_xforms, 'getPHID')); + $xform_phids = mpull($xforms, 'getOriginalPHID', 'getTransformedPHID'); + foreach ($xform_phids as $derived_phid => $original_phid) { + $object_phids[$original_phid] = true; + } + } else { + $xform_phids = array(); } $object_phids = array_keys($object_phids); From ce6e020d5ddb087cb881c3b491b7e55f40cdb424 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 12:12:20 -0700 Subject: [PATCH 14/23] Don't make an expensive, unused call to test if a viewer can reassign a task Summary: Depends on D19224. Ref T13106. Computing this is expensive and the value is not used. This came from D15432, but we never actually shipped that feature. Test Plan: Saw local query cost drop from 139 to 110 with no change in functionality. Grepped for removed symbols. Maniphest Tasks: T13106 Differential Revision: https://secure.phabricator.com/D19225 --- .../ManiphestTaskDetailController.php | 3 -- .../editengine/PhabricatorEditEngine.php | 53 ------------------- 2 files changed, 56 deletions(-) diff --git a/src/applications/maniphest/controller/ManiphestTaskDetailController.php b/src/applications/maniphest/controller/ManiphestTaskDetailController.php index ecfb723f97..a11cc4d85f 100644 --- a/src/applications/maniphest/controller/ManiphestTaskDetailController.php +++ b/src/applications/maniphest/controller/ManiphestTaskDetailController.php @@ -284,9 +284,6 @@ final class ManiphestTaskDetailController extends ManiphestController { $edit_config = $edit_engine->loadDefaultEditConfiguration($task); $can_create = (bool)$edit_config; - $can_reassign = $edit_engine->hasEditAccessToTransaction( - ManiphestTaskOwnerTransaction::TRANSACTIONTYPE); - if ($can_create) { $form_key = $edit_config->getIdentifier(); $edit_uri = id(new PhutilURI("/task/edit/form/{$form_key}/")) diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php index f0d2aae9ea..f8f6f371bc 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngine.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php @@ -1398,59 +1398,6 @@ abstract class PhabricatorEditEngine } - /** - * Test if the viewer could apply a certain type of change by using the - * normal "Edit" form. - * - * This method returns `true` if the user has access to an edit form and - * that edit form has a field which applied the specified transaction type, - * and that field is visible and editable for the user. - * - * For example, you can use it to test if a user is able to reassign tasks - * or not, prior to rendering dedicated UI for task reassignment. - * - * Note that this method does NOT test if the user can actually edit the - * current object, just if they have access to the related field. - * - * @param const Transaction type to test for. - * @return bool True if the user could "Edit" to apply the transaction type. - */ - final public function hasEditAccessToTransaction($xaction_type) { - $viewer = $this->getViewer(); - - $object = $this->getTargetObject(); - if (!$object) { - $object = $this->newEditableObject(); - } - - $config = $this->loadDefaultEditConfiguration($object); - if (!$config) { - return false; - } - - $fields = $this->buildEditFields($object); - - $field = null; - foreach ($fields as $form_field) { - $field_xaction_type = $form_field->getTransactionType(); - if ($field_xaction_type === $xaction_type) { - $field = $form_field; - break; - } - } - - if (!$field) { - return false; - } - - if (!$field->shouldReadValueFromSubmit()) { - return false; - } - - return true; - } - - public function newNUXButton($text) { $specs = $this->newCreateActionSpecifications(array()); $head = head($specs); From f348721aed42fb2015a7ce4ee1983e5ac343a2c5 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 12:48:20 -0700 Subject: [PATCH 15/23] When loading project membership to evaluate the "Subscribers" policy, use the ominipotent viewer Summary: See PHI448. Ref T13106. The current implementation here can end up in an infinite stack if, e.g., a project uses "Visible to: Subscribers". Test Plan: Will push. Maniphest Tasks: T13106 Differential Revision: https://secure.phabricator.com/D19226 --- .../PhabricatorSubscriptionsSubscribersPolicyRule.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php b/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php index b7644cd68d..922f8c9651 100644 --- a/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php +++ b/src/applications/subscriptions/policyrule/PhabricatorSubscriptionsSubscribersPolicyRule.php @@ -45,10 +45,13 @@ final class PhabricatorSubscriptionsSubscribersPolicyRule $this->subscribed[$viewer_phid] = array(); } - // Load the project PHIDs the user is a member of. + // Load the project PHIDs the user is a member of. We use the omnipotent + // user here because projects may themselves have "Subscribers" visibility + // policies and we don't want to get stuck in an infinite stack of + // recursive policy checks. See T13106. if (!isset($this->sourcePHIDs[$viewer_phid])) { $projects = id(new PhabricatorProjectQuery()) - ->setViewer($viewer) + ->setViewer(PhabricatorUser::getOmnipotentUser()) ->withMemberPHIDs(array($viewer_phid)) ->execute(); From cd7ba6cd7bf94e690802dc0a3a773c48e19c6a3f Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 13:05:49 -0700 Subject: [PATCH 16/23] Improve documentation around using Mail stamps with Gmail Summary: Ref T13069. See PHI54. Some of this behavior isn't entirely obvious, so give users a heads up in the documentation to help warn them about what is to come. Test Plan: Read documentation. Maniphest Tasks: T13069 Differential Revision: https://secure.phabricator.com/D19227 --- src/docs/user/userguide/mail_rules.diviner | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/docs/user/userguide/mail_rules.diviner b/src/docs/user/userguide/mail_rules.diviner index 61bc3210e9..cdbbf1919d 100644 --- a/src/docs/user/userguide/mail_rules.diviner +++ b/src/docs/user/userguide/mail_rules.diviner @@ -43,6 +43,27 @@ The most useful header for routing is generally `X-Phabricator-Stamps`. This is a list of attributes which describe the object the mail is about and the actions which the mail informs you about. +Stamps and Gmail +================ + If you use a client which can not perform header matching (like Gmail), you can change the {nav Settings > Email Format > Send Stamps} setting to include the stamps in the mail body and then match them with body rules. + +When writing filter rules against mail stamps in Gmail, you should quote any +filters you want to apply. For example, specify rules like this, with quotes: + +> "author(@alice)" + +Note that Gmail will ignore some symbols when matching mail against filtering +rules, so you can get false positives if the body of the message includes text +like `author alice` (the same words in the same order, without the special +symbols). + +You'll also get false positives if the message body includes the text of a +mail stamp explicitly in a normal text field like a summary, description, or +comment. + +There's no way to avoid these false positives other than using a different +client with support for more powerful filtering rules, but these false +positives should normally be uncommon. From af8269d2fb064acf01ce4b4b15e28d8434385a2a Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 13:56:10 -0700 Subject: [PATCH 17/23] Allow draft revisions to be commandeered Summary: See PHI457. There's no real reason not to allow this, it just wasn't clear if it was useful. See D18626. An install had a user `arc diff` and then sprint out the door to take a very long vacation before the builds finished. One failed, so the revision is stuck as a draft forever. This seems like a reasonable motivation for allowing "Commandeer". Test Plan: Successfully commandeered a draft. Differential Revision: https://secure.phabricator.com/D19228 --- .../xaction/DifferentialRevisionCommandeerTransaction.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php b/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php index 4169c3e4dc..561e57c7c4 100644 --- a/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php +++ b/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php @@ -66,11 +66,6 @@ final class DifferentialRevisionCommandeerTransaction 'been closed. You can only commandeer open revisions.')); } - if ($object->isDraft()) { - throw new Exception( - pht('You can not commandeer a draft revision.')); - } - if ($this->isViewerRevisionAuthor($object, $viewer)) { throw new Exception( pht( From 2b5c73fc3d7004e46aef0106f171195402040f03 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 14 Mar 2018 10:55:08 -0700 Subject: [PATCH 18/23] In "Analyze Query Plans" mode, collect service call stack traces in DarkConsole Summary: Ref T13106. When profiling service queries, there's no convenient way to easily get a sense of why a query was issued. Add a mode to collect traces for each query to make this more clear. This is rough, but works well enough to be useful. Test Plan: Clicked "Analyze Query Plans", got stack traces for each service call. Maniphest Tasks: T13106 Differential Revision: https://secure.phabricator.com/D19221 --- resources/celerity/map.php | 4 ++-- .../plugin/DarkConsoleServicesPlugin.php | 24 ++++++++++++++++++- webroot/rsrc/css/aphront/dark-console.css | 9 +++---- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 15388ab9a2..0b49e9f21a 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -23,7 +23,7 @@ return array( 'rsrc/audio/basic/tap.mp3' => 'fc2fd796', 'rsrc/audio/basic/ting.mp3' => '17660001', 'rsrc/css/aphront/aphront-bars.css' => '231ac33c', - 'rsrc/css/aphront/dark-console.css' => 'f7b071f1', + 'rsrc/css/aphront/dark-console.css' => '0e14e8f6', 'rsrc/css/aphront/dialog-view.css' => '6bfc244b', 'rsrc/css/aphront/list-filter-view.css' => '5d6f0526', 'rsrc/css/aphront/multi-column.css' => '84cc6640', @@ -518,7 +518,7 @@ return array( 'symbols' => array( 'almanac-css' => 'dbb9b3af', 'aphront-bars' => '231ac33c', - 'aphront-dark-console-css' => 'f7b071f1', + 'aphront-dark-console-css' => '0e14e8f6', 'aphront-dialog-view-css' => '6bfc244b', 'aphront-list-filter-view-css' => '5d6f0526', 'aphront-multi-column-view-css' => '84cc6640', diff --git a/src/applications/console/plugin/DarkConsoleServicesPlugin.php b/src/applications/console/plugin/DarkConsoleServicesPlugin.php index 7d779027da..a14ed4b541 100644 --- a/src/applications/console/plugin/DarkConsoleServicesPlugin.php +++ b/src/applications/console/plugin/DarkConsoleServicesPlugin.php @@ -29,6 +29,18 @@ final class DarkConsoleServicesPlugin extends DarkConsolePlugin { return false; } + public function didStartup() { + $should_analyze = self::isQueryAnalyzerRequested(); + + if ($should_analyze) { + PhutilServiceProfiler::getInstance() + ->setCollectStackTraces(true); + } + + return null; + } + + /** * @phutil-external-symbol class PhabricatorStartup */ @@ -266,6 +278,16 @@ final class DarkConsoleServicesPlugin extends DarkConsolePlugin { $info, $analysis, ); + + if ($row['trace']) { + $rows[] = array( + null, + null, + null, + $row['trace'], + null, + ); + } } $table = new AphrontTableView($rows); @@ -274,7 +296,7 @@ final class DarkConsoleServicesPlugin extends DarkConsolePlugin { null, 'n', 'n', - 'wide', + 'wide prewrap', '', )); $table->setHeaders( diff --git a/webroot/rsrc/css/aphront/dark-console.css b/webroot/rsrc/css/aphront/dark-console.css index 81e888ba46..c3833e75bb 100644 --- a/webroot/rsrc/css/aphront/dark-console.css +++ b/webroot/rsrc/css/aphront/dark-console.css @@ -104,6 +104,7 @@ font-size: 11px; background: #333333; color: #ffffff; + border-bottom: 0px; } .dark-console .aphront-table-view td { @@ -210,10 +211,10 @@ } .dark-console-panel-request-log-separator { - background-color: #e8e8e8; - border-bottom: 1px solid #b7b7b7; - border-top: 1px solid #b7b7b7; - height: 2px; + background-color: #e8e8e8; + border-bottom: 1px solid #b7b7b7; + border-top: 1px solid #b7b7b7; + height: 2px; } .dark-console-panel-ErrorLog { From c216fd40728bdac9ab415cbcf408ef5e11ad0e9f Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 16 Mar 2018 12:53:03 -0700 Subject: [PATCH 19/23] Allow projects to be queried by slug in "project.search" Summary: Ref T13102. See PHI461. An install is interested in querying projects by slug. I think I omitted this capability originally only because we're not consistent about what slugs are called (they are "Slugs" internally, but "Hashtags" in the UI). However, this ship has sort of already sailed because the results have a "slug" field. Just expose this as "slugs" for consistency with the existing API field and try to smooth thing over with a little documentation hint. Test Plan: Queried for projects by slug, got the desired results back. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19230 --- .../project/query/PhabricatorProjectSearchEngine.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/applications/project/query/PhabricatorProjectSearchEngine.php b/src/applications/project/query/PhabricatorProjectSearchEngine.php index 452085fa9f..e38532c419 100644 --- a/src/applications/project/query/PhabricatorProjectSearchEngine.php +++ b/src/applications/project/query/PhabricatorProjectSearchEngine.php @@ -23,6 +23,14 @@ final class PhabricatorProjectSearchEngine id(new PhabricatorSearchTextField()) ->setLabel(pht('Name')) ->setKey('name'), + id(new PhabricatorSearchStringListField()) + ->setLabel(pht('Slugs')) + ->setIsHidden(true) + ->setKey('slugs') + ->setDescription( + pht( + 'Search for projects with particular slugs. (Slugs are the same '. + 'as project hashtags.)')), id(new PhabricatorUsersSearchField()) ->setLabel(pht('Members')) ->setKey('memberPHIDs') @@ -81,6 +89,10 @@ final class PhabricatorProjectSearchEngine $query->withNameTokens($tokens); } + if ($map['slugs']) { + $query->withSlugs($map['slugs']); + } + if ($map['memberPHIDs']) { $query->withMemberPHIDs($map['memberPHIDs']); } From 667955b8aeca6fc10dd1900db068da7a96b7ef33 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 16 Mar 2018 13:03:36 -0700 Subject: [PATCH 20/23] Clarify that a PHUITagView API argument is boolean, not a value in "millimeters" Summary: See PHI454. Ref T13102. This parameter is not named as clearly as it could be. This is a buff to API humor. See also . Test Plan: Read API method, laughed aloud ("LAL") much harder because the humor was now less subtle. Subtle humor is unsuitable for this project. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19231 --- src/view/phui/PHUITagView.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/view/phui/PHUITagView.php b/src/view/phui/PHUITagView.php index 482b3f4400..aa309a4bb6 100644 --- a/src/view/phui/PHUITagView.php +++ b/src/view/phui/PHUITagView.php @@ -117,8 +117,8 @@ final class PHUITagView extends AphrontTagView { return $this; } - public function setSlimShady($mm) { - $this->slimShady = $mm; + public function setSlimShady($is_eminem) { + $this->slimShady = $is_eminem; return $this; } From fa6cd200e87823a7fd05480015a80ced233d9cd3 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 16 Mar 2018 13:18:35 -0700 Subject: [PATCH 21/23] Reduce the severity of policy fatals when building the Harbormaster "build status" element Summary: See PHI430. Ref T13102. When the "Build Status" element raises a policy exception, we currently fatal the whole page rather than raising a normal policy error. This is because the policy check happens very late in page construction, long after we've made the decision to show the page instead of a policy error, and gets treated as a rendering error. In turn, this is because the rendering is event-based rather than using a more modern Engine + EngineExtension sort of construct, so some of the actual logic runs way later than it should. Since unwinding all of this isn't trivial and the current behavior is materially bad, limit the damage here for now by just hiding the element. See T13088 for notes on handling this in a more nuanced way in the future. Test Plan: - Created a revision visible to "Public". - Ran a build against it with a build plan visible to "All Users". - Viewed revision in an incognito window. - Before patch: Policy fatal with a red "rendering phase" error box. - After patch: Mostly-functional page with a missing "Build Status" element. - Viewed revision as a user with a normal session, saw the same UI before and after the change. Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19232 --- .../event/HarbormasterUIEventListener.php | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/applications/harbormaster/event/HarbormasterUIEventListener.php b/src/applications/harbormaster/event/HarbormasterUIEventListener.php index 1227fbbe31..f5e6aee3e7 100644 --- a/src/applications/harbormaster/event/HarbormasterUIEventListener.php +++ b/src/applications/harbormaster/event/HarbormasterUIEventListener.php @@ -51,13 +51,22 @@ final class HarbormasterUIEventListener return; } - $buildable = id(new HarbormasterBuildableQuery()) - ->setViewer($viewer) - ->withManualBuildables(false) - ->withBuildablePHIDs(array($buildable_phid)) - ->needBuilds(true) - ->needTargets(true) - ->executeOne(); + try { + $buildable = id(new HarbormasterBuildableQuery()) + ->setViewer($viewer) + ->withManualBuildables(false) + ->withBuildablePHIDs(array($buildable_phid)) + ->needBuilds(true) + ->needTargets(true) + ->executeOne(); + } catch (PhabricatorPolicyException $ex) { + // TODO: See PHI430. When this query raises a policy exception, it + // fatals the whole page because it happens very late in execution, + // during final page rendering. If the viewer can't see the buildable or + // some of the builds, just hide this element for now. + return; + } + if (!$buildable) { return; } From dbc72a05bc3918e226db45f91d91c39ab1536c79 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 16 Mar 2018 15:10:26 -0700 Subject: [PATCH 22/23] Correct the behavior of "Desktop Only" in Notifications preferences Summary: See . Ref T13102. The "Desktop Only" mode for notifications currently shows both desktop and web notifications. In fact, `JX.Notification` currently has no ability to render notifications as desktop-only. Make this work. Note that many of the variables and parameters here, including `showAnyNotification`, `web_ready`, and `desktop_ready`, are named in an incorrect or misleading way. However, the new behavior appears to be correct. Test Plan: - Emitted test notifications in "No Notifications", "Web Only", "Web and Desktop", and "Desktop" modes. - Saw appropriate notifications appear in the UI. Maniphest Tasks: T13102 Differential Revision: https://secure.phabricator.com/D19233 --- resources/celerity/map.php | 52 +++++++++---------- .../aphlict/behavior-aphlict-listen.js | 3 +- webroot/rsrc/js/core/Notification.js | 13 +++++ 3 files changed, 41 insertions(+), 27 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 0b49e9f21a..f5a5a57904 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -10,7 +10,7 @@ return array( 'conpherence.pkg.css' => 'e68cf1fa', 'conpherence.pkg.js' => '15191c65', 'core.pkg.css' => 'c218ed53', - 'core.pkg.js' => '0fabde4f', + 'core.pkg.js' => '8581cd02', 'differential.pkg.css' => '113e692c', 'differential.pkg.js' => 'f6d809c0', 'diffusion.pkg.css' => 'a2d17c7d', @@ -352,7 +352,7 @@ return array( 'rsrc/image/texture/table_header_tall.png' => 'd56b434f', 'rsrc/js/application/aphlict/Aphlict.js' => 'e1d4b11a', 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => 'caade6f2', - 'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => '4cc4f460', + 'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => '599a8f5f', 'rsrc/js/application/aphlict/behavior-aphlict-status.js' => '5e2634b9', 'rsrc/js/application/aphlict/behavior-desktop-notifications-control.js' => '27ca6289', 'rsrc/js/application/calendar/behavior-day-view.js' => '4b3c4443', @@ -445,7 +445,7 @@ return array( 'rsrc/js/core/KeyboardShortcut.js' => '1ae869f2', 'rsrc/js/core/KeyboardShortcutManager.js' => 'c19dd9b9', 'rsrc/js/core/MultirowRowManager.js' => 'b5d57730', - 'rsrc/js/core/Notification.js' => '008faf9c', + 'rsrc/js/core/Notification.js' => '4f774dac', 'rsrc/js/core/Prefab.js' => '77b0ae28', 'rsrc/js/core/ShapedRequest.js' => '7cbe244b', 'rsrc/js/core/TextAreaUtils.js' => '320810c8', @@ -566,7 +566,7 @@ return array( 'javelin-aphlict' => 'e1d4b11a', 'javelin-behavior' => '61cbc29a', 'javelin-behavior-aphlict-dropdown' => 'caade6f2', - 'javelin-behavior-aphlict-listen' => '4cc4f460', + 'javelin-behavior-aphlict-listen' => '599a8f5f', 'javelin-behavior-aphlict-status' => '5e2634b9', 'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884', 'javelin-behavior-aphront-drag-and-drop-textarea' => '484a6e22', @@ -772,7 +772,7 @@ return array( 'phabricator-keyboard-shortcut-manager' => 'c19dd9b9', 'phabricator-main-menu-view' => '1802a242', 'phabricator-nav-view-css' => 'a9e3e6d5', - 'phabricator-notification' => '008faf9c', + 'phabricator-notification' => '4f774dac', 'phabricator-notification-css' => '457861ec', 'phabricator-notification-menu-css' => '10685bd4', 'phabricator-object-selector-css' => '85ee8ce6', @@ -894,13 +894,6 @@ return array( 'javelin-typeahead-preloaded-source', 'javelin-util', ), - '008faf9c' => array( - 'javelin-install', - 'javelin-dom', - 'javelin-stratcom', - 'javelin-util', - 'phabricator-notification-css', - ), '013ffff9' => array( 'javelin-install', 'javelin-util', @@ -1259,20 +1252,6 @@ return array( 'javelin-uri', 'phabricator-notification', ), - '4cc4f460' => array( - 'javelin-behavior', - 'javelin-aphlict', - 'javelin-stratcom', - 'javelin-request', - 'javelin-uri', - 'javelin-dom', - 'javelin-json', - 'javelin-router', - 'javelin-util', - 'javelin-leader', - 'javelin-sound', - 'phabricator-notification', - ), '4d863052' => array( 'javelin-dom', 'javelin-util', @@ -1289,6 +1268,13 @@ return array( 'javelin-stratcom', 'javelin-dom', ), + '4f774dac' => array( + 'javelin-install', + 'javelin-dom', + 'javelin-stratcom', + 'javelin-util', + 'phabricator-notification-css', + ), '503e17fd' => array( 'javelin-install', 'javelin-typeahead-source', @@ -1343,6 +1329,20 @@ return array( 'javelin-uri', 'phabricator-file-upload', ), + '599a8f5f' => array( + 'javelin-behavior', + 'javelin-aphlict', + 'javelin-stratcom', + 'javelin-request', + 'javelin-uri', + 'javelin-dom', + 'javelin-json', + 'javelin-router', + 'javelin-util', + 'javelin-leader', + 'javelin-sound', + 'phabricator-notification', + ), '59a7976a' => array( 'javelin-install', 'javelin-dom', diff --git a/webroot/rsrc/js/application/aphlict/behavior-aphlict-listen.js b/webroot/rsrc/js/application/aphlict/behavior-aphlict-listen.js index 24571b5981..ac058bde40 100644 --- a/webroot/rsrc/js/application/aphlict/behavior-aphlict-listen.js +++ b/webroot/rsrc/js/application/aphlict/behavior-aphlict-listen.js @@ -78,7 +78,7 @@ JX.behavior('aphlict-listen', function(config) { JX.Stratcom.invoke('notification-panel-update', null, {}); var response = e.getData(); - if (!response.showAnyNotification) { + if (!response.showAnyNotification && !response.showDesktopNotification) { return; } @@ -86,6 +86,7 @@ JX.behavior('aphlict-listen', function(config) { new JX.Notification() .setContent(JX.$H(response.content)) .setKey(response.primaryObjectPHID) + .setShowAsWebNotification(response.showAnyNotification) .setShowAsDesktopNotification(response.showDesktopNotification) .setTitle(response.title) .setBody(response.body) diff --git a/webroot/rsrc/js/core/Notification.js b/webroot/rsrc/js/core/Notification.js index 13e6cc47ae..67e1e5c910 100644 --- a/webroot/rsrc/js/core/Notification.js +++ b/webroot/rsrc/js/core/Notification.js @@ -27,6 +27,7 @@ JX.install('Notification', { _hideTimer : null, _duration : 12000, _asDesktop : false, + _asWeb : true, _key : null, _title : null, _body : null, @@ -88,6 +89,11 @@ JX.install('Notification', { return this; }, + setShowAsWebNotification: function(mode) { + this._asWeb = mode; + return this; + }, + setShowAsDesktopNotification : function(mode) { this._asDesktop = mode; return this; @@ -242,6 +248,13 @@ JX.install('Notification', { var notifications = []; for (var ii = 0; ii < self._active.length; ii++) { + + // Don't render this notification if it's not configured to show as + // a web notification. + if (!self._active[ii]._asWeb) { + continue; + } + notifications.push(self._active[ii]._getContainer()); if (!(--limit)) { break; From 2fa904921e1a37b566227e3c37e4b1bccffcb2d5 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 16 Mar 2018 15:33:57 -0700 Subject: [PATCH 23/23] Render object monograms and embedding references more gracefully when building a Remarkup table of contents Summary: Fixes T8845. Ref T13102. See PHI467. Currently, object monograms like `L1` which appear in Remarkup headers render incorrectly (with an internal placeholder "x") in the table of contents: {F5475505} Instead, render them down to just, e.g., `L1` in plain text. For `{P123}` I just rendered it to `{P123}` since it's not really clear to me what users intend. This could be adjusted if there's some reasonable thing that someone is trying to do with this. Test Plan: Wrote a Phriction document with several object references (like `L1` and `{P123}`) in headers. After patch, saw "x"-free, sensible-looking header names in the table of contents. Maniphest Tasks: T13102, T8845 Differential Revision: https://secure.phabricator.com/D19234 --- .../markup/rule/PhabricatorObjectRemarkupRule.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php b/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php index fbbfa36805..31b4e52250 100644 --- a/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php +++ b/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php @@ -279,6 +279,15 @@ abstract class PhabricatorObjectRemarkupRule extends PhutilRemarkupRule { return $matches[0]; } + // If we're rendering a table of contents, just render the raw input. + // This could perhaps be handled more gracefully but it seems unusual to + // put something like "{P123}" in a header and it's not obvious what users + // expect? See T8845. + $engine = $this->getEngine(); + if ($engine->getState('toc')) { + return $matches[0]; + } + return $this->markupObject(array( 'type' => 'embed', 'id' => $matches[1], @@ -292,6 +301,12 @@ abstract class PhabricatorObjectRemarkupRule extends PhutilRemarkupRule { return $matches[0]; } + // If we're rendering a table of contents, just render the monogram. + $engine = $this->getEngine(); + if ($engine->getState('toc')) { + return $matches[0]; + } + return $this->markupObject(array( 'type' => 'ref', 'id' => $matches[1],